I agree it's a bit strange that it never come up until now. I am having the same float-to-int issue on
setMinimumWidth
setMinimumheight
setMinimumSize
that are present in various .py files. I'll have a look if I can find more
About installing packages system wide, it's not an issue as I'm currenly on a "lab" machine that I am using just to test Armory and see if it compiles for me. Once I am successfull, I'll do the same steps on the actual "production" machine where bitcoind is running (which use the same distro), but even this one will be dedicated to Armory so there will be no conflict with other programs.
I might later be interested in the best way to move the actual program out of the build environment (i.e. "install") so I can have a stable version in use while at the same moment being able to test further developments. But it's a bit early for that
Thank you
Hello @goatpig
I confirm I had to fix the int issue for the following calls:
setMinimumWidth
setMinimumHeight
setMinimumSize
setMaximumWidth
setMaximumHeight
setMaximumSize
QSize
This apparently was enough to let me run Armory and do some basic tests. Of course I am not sure there aren't other calls with similar problems, I'll know only once I'll be able to do a complete run of all the Armory features.
Let me know if you would like the files I updated so you can avoid hunting all the replaces yourself and can concentrate on the real work. Unfortunately I don't have a github account at the moment so I can't fork and create a pull request. Let me know what's the more useful way for you.
About the tests, I did some checks with wallets (that is, I understand, what you are working on) so it's possible you are already aware of the issues I encountered. I list them anyway for your convenience
First test, I tried to create a new wallet. I checked the flag for creating additional entropy, and got the dialog for the selection of the shuffled cards. All the boxes are black, so I just randomly clicked some until I got enough entropy and went on. I got this errror:
(ERROR) Traceback (most recent call last):
File "/home/lab/BitcoinArmory/ui/Wizards.py", line 133, in initializePage
self.createNewWalletFromWizard()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/lab/BitcoinArmory/ui/Wizards.py", line 185, in createNewWalletFromWizard
self.newWallet = PyBtcWallet().createNewWallet(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
passphrase=self.setPassphrasePage.pageFrame.getPassphrase(),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
longLabel=self.walletCreationPage.pageFrame.getDescription(),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
extraEntropy=entropy)
^^^^^^^^^^^^^^^^^^^^^
File "/home/lab/BitcoinArmory/armoryengine/PyBtcWallet.py", line 501, in createNewWallet
walletId = TheBridge.utils.createWallet(
addrPoolSize,
...<2 lines>...
shortLabel, longLabel,
extraEntropy)
File "/home/lab/BitcoinArmory/armoryengine/CppBridge.py", line 583, in createWallet
method.extraEntropy = extraEntropy
^^^^^^^^^^^^^^^^^^^
File "capnp/lib/capnp.pyx", line 1417, in capnp.lib.capnp._DynamicStructBuilder.__setattr__
File "capnp/lib/capnp.pyx", line 1410, in capnp.lib.capnp._DynamicStructBuilder._set
File "capnp/lib/capnp.pyx", line 794, in capnp.lib.capnp._setDynamicField
OverflowError: Python int too large to convert to C unsigned long
Additionally, I had the following error:
(ERROR) Traceback (most recent call last):
File "/home/lab/BitcoinArmory/ui/WalletFrames.py", line 1042, in clickedDoIt
isBackupCreated = OpenPaperBackupDialog('Single', self.parent(), self.main, self.wlt)
^^^^^^^^
AttributeError: 'WalletBackupFrame' object has no attribute 'wlt'
This might relatedto the previous though, since a wallet wan't actually created.
After that, I tried creating a wallet without asking for additional entropy, and was able to complete the task. Though, even if I asked to print a backup wallet, this didn't happened. Are there some dependencies needed for the print feature?
I'm on an offline session (and I don't have bitcoind running on this test machine) so I stopped here assuming the wallet is working.
Later, I tried restoring a paper backup I had. It's a 1.35c plain one. The restoring process was apparently successful, but even if I set a password on the walled when required (and confirmig it the third time) I got this error on console:
-WARN - 2025-02-28 - 13:16:00.807: (../../cppForSwig/Wallets/WalletFileInterface.cpp:404) No control passphrase provided, wallet file will not be encrypted
-WARN - 2025-02-28 - 13:16:16.237: (../../cppForSwig/Wallets/Accounts/AddressAccounts.cpp:349) empty inner account id, defaulting to outer account id
-ERROR - 2025-02-28 - 13:16:25.956: (../../cppForSwig/BridgeAPI/CppBridge.cpp:552) failed to register walletwith error: bdvPtr is not set
(ERROR) Traceback (most recent call last):
File "/home/lab/BitcoinArmory/ui/WalletFrames.py", line 1034, in clickedDoIt
unlockProgress = DlgProgress(self, self.main, HBar=1,
Title=self.tr("Unlocking Wallet"))
TypeError: 'module' object is not callable
The restored wallet was not shown in the wallets list at first, but when I closed and restarted Armory it was there, with "Encrypted" under the Security column.
Since the strange error, I wanted to try if the password I entered was correctly applied, so I opened the wallet properties page and clicked the "Click to Test" under "Unlock Time:" but I got the following error:
(ERROR) Traceback (most recent call last):
File "/home/lab/BitcoinArmory/qtdialogs/qtdefines.py", line 375, in mouseReleaseEvent
self.linkActivated.emit(ev)
~~~~~~~~~~~~~~~~~~~~~~~^^^^
TypeError: linkActivated(self, link: Optional[str]).emit(): argument 1 has unexpected type 'QMouseEvent'
That's all for now. Please let me know if you prefer a different way for reporting those issues.
Regards
[moderator's note: consecutive posts merged]