Author

Topic: Cannot Open Wallet (Read 103 times)

?
Activity: -
Merit: -
October 27, 2024, 03:17:21 AM
#7
Looking for some info why armory would fail with the error.

Is this detecting as a wallet only not for armory maybe? or is this possible some detection to let you know it's part of a MS wallet?

Code:

('Error in unpackHeader:', isMSWallet('Cannot Open MS Wallets',))
(ERROR) Traceback (most recent call last):
  File "/home/BitcoinArmory/qtdialogs.py", line 12226, in clickedOkay
    self.main.execGetImportWltName()
  File "ArmoryQt.py", line 3833, in execGetImportWltName
    wlt = PyBtcWallet().readWalletFile(fn, verifyIntegrity=False)
  File "/home/BitcoinArmory/armoryengine/Timer.py", line 99, in inner
    ret = func(*args, **kwargs)
  File "/home/BitcoinArmory/armoryengine/PyBtcWallet.py", line 2106, in readWalletFile
    self.unpackHeader(wltdata)
  File "/home/BitcoinArmory/armoryengine/PyBtcWallet.py", line 1985, in unpackHeader
    self.unpackWalletFlags(binUnpacker)  # Potential issue here
  File "/home/BitcoinArmory/armoryengine/PyBtcWallet.py", line 1905, in unpackWalletFlags
    raise isMSWallet('Cannot Open MS Wallets')
isMSWallet: Cannot Open MS Wallets



I had a look at the section of code that flags this but still confused about how this detection works and what I can try next?

Code:

   def unpackWalletFlags(self, toUnpack):
      if isinstance(toUnpack, BinaryUnpacker):
         flagData = toUnpack
      else:
         flagData = BinaryUnpacker( toUnpack )

      wltflags = flagData.get(UINT64, 8)
      wltflags = int_to_bitset(wltflags, widthBytes=8)
      self.useEncryption = (wltflags[0]=='1')
      self.watchingOnly  = (wltflags[1]=='1')
      if wltflags[2]=='1':
         raise isMSWallet('Cannot Open MS Wallets')



I presume the wallet file must be MS wallet if so how do I load it correctly?

Could really use some help with this or some more info on what this isMSWallet flag is for.

Best regards!


It seems that the error is due to Armory detecting your wallet as a multisignature (MS) wallet, and for some reason, it can’t open it. I recommend checking if the version of Armory you’re using supports MS wallets. You can also try loading the wallet on a newer version. You might also try using Electrum or BlueWallet. If the issue persists, I think these wallets are compatible with multisignatures. Perhaps a simple adjustment or specific configuration could be enough to resolve it...😊
legendary
Activity: 3794
Merit: 1375
Armory Developer
August 16, 2024, 02:15:41 AM
#6
@GoatPig is there a way to contact you in a secure way?

Code:
pub   rsa4096 2015-09-05 [SCA]
      C1B7FCE34852C8BBF163638A22F033DE5B8587A2
uid           [ unknown] John Doe
sub   rsa4096 2015-09-05 [E]

You can send me GPG emails here.
hero member
Activity: 1241
Merit: 623
OGRaccoon
August 15, 2024, 09:08:09 AM
#5
Thnaks @Goatpig I tried to open it with lockbox but when loading from the file the contents look scrambled.

There is no header ====LOCKBOX either.  
 
When I try to load from file I see a chunk of what looks to be encoded or encrypted data I have redacted most of the string for security.

FILE A Loading

Code:

(ERROR) ArmoryUtils.py:1347 - Attempting to unserialize something not an ASCII block
(ERROR) AsciiSerialize.py:74 - Expected str "LOCKBOX", got "LongSuperSecureStringRemovedForSecurityFD%D%F%F%FDFMoreStringHereRemovedFFFDF%FDF%F%F%FD"
(ERROR) MultiSigDialogs.py:2454 - Error unserializing the entered text


FILE B Loading

Code:

Traceback (most recent call last):
  File "/home/BitcoinArmory/ui/MultiSigDialogs.py", line 2452, in clickedDone
    self.importedLockbox = MultiSigLockbox().unserializeAscii(txt)
  File "/home/BitcoinArmory/armoryengine/AsciiSerialize.py", line 75, in unserializeAscii
    raise UnserializeError('Unexpected BLKSTRING')
UnserializeError: Unexpected BLKSTRING
(ERROR) Traceback (most recent call last):
  File "/home/BitcoinArmory/ui/MultiSigDialogs.py", line 2450, in clickedDone
    txt = str(self.txtBoxBlock.toPlainText()).strip()
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc5' in position 0: ordinal not in range(128)

Traceback (most recent call last):
  File "/home/BitcoinArmory/ui/MultiSigDialogs.py", line 2450, in clickedDone
    txt = str(self.txtBoxBlock.toPlainText()).strip()
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc5' in position 0: ordinal not in range(128)



When I check with File command I see File A is ASCII Text with CRLF line termintors.

File B is showing as Data on early Ubunutu but as a OpenPGP Secret Key in Ubuntu 20.04 with File command.

I am sure what I have is old armory wallet encrypted but struggling to work out how to decrypt and import it.

It's been many years and I have forgotten how it was done.

@GoatPig is there a way to contact you in a secure way?

legendary
Activity: 3794
Merit: 1375
Armory Developer
August 15, 2024, 02:07:32 AM
#4
It says this is a multisig wallet, you should try to open it via the lockbox feature, not load it as a wallet.
hero member
Activity: 1241
Merit: 623
OGRaccoon
August 14, 2024, 06:44:34 PM
#3
I can't recall the extension I tried them as .wallet and .dat but I get this MSWallet issue.

I saved them without extensions and it's been many years.

I'm keen to know why there is a flag for MSWallet and what this flag relates to?
It must of been added to related to some wallet type?

I have 2 versions setup I have the early alpha versions setup (nightmare to get running and find packages) and the latest version.

Neither version accepts the wallet file but throws this IsMSWallet.

I can't actually recall how I created the files but I know I had armory at the time.

legendary
Activity: 3472
Merit: 3217
Playbet.io - Crypto Casino and Sportsbook
August 14, 2024, 05:49:01 PM
#2
What Armory version you currently using?
Are you sure you are importing the right wallet would you mind telling us what is the extension of your wallet file?

If the extension is .wallet then that is your wallet file but if it's not, you are importing the wrong wallet or a different wallet generated from other wallet software.
hero member
Activity: 1241
Merit: 623
OGRaccoon
August 14, 2024, 11:39:03 AM
#1
Looking for some info why armory would fail with the error.

Is this detecting as a wallet only not for armory maybe? or is this possible some detection to let you know it's part of a MS wallet?

Code:

('Error in unpackHeader:', isMSWallet('Cannot Open MS Wallets',))
(ERROR) Traceback (most recent call last):
  File "/home/BitcoinArmory/qtdialogs.py", line 12226, in clickedOkay
    self.main.execGetImportWltName()
  File "ArmoryQt.py", line 3833, in execGetImportWltName
    wlt = PyBtcWallet().readWalletFile(fn, verifyIntegrity=False)
  File "/home/BitcoinArmory/armoryengine/Timer.py", line 99, in inner
    ret = func(*args, **kwargs)
  File "/home/BitcoinArmory/armoryengine/PyBtcWallet.py", line 2106, in readWalletFile
    self.unpackHeader(wltdata)
  File "/home/BitcoinArmory/armoryengine/PyBtcWallet.py", line 1985, in unpackHeader
    self.unpackWalletFlags(binUnpacker)  # Potential issue here
  File "/home/BitcoinArmory/armoryengine/PyBtcWallet.py", line 1905, in unpackWalletFlags
    raise isMSWallet('Cannot Open MS Wallets')
isMSWallet: Cannot Open MS Wallets



I had a look at the section of code that flags this but still confused about how this detection works and what I can try next?

Code:

   def unpackWalletFlags(self, toUnpack):
      if isinstance(toUnpack, BinaryUnpacker):
         flagData = toUnpack
      else:
         flagData = BinaryUnpacker( toUnpack )

      wltflags = flagData.get(UINT64, 8)
      wltflags = int_to_bitset(wltflags, widthBytes=8)
      self.useEncryption = (wltflags[0]=='1')
      self.watchingOnly  = (wltflags[1]=='1')
      if wltflags[2]=='1':
         raise isMSWallet('Cannot Open MS Wallets')



I presume the wallet file must be MS wallet if so how do I load it correctly?

Could really use some help with this or some more info on what this isMSWallet flag is for.

Best regards!


Jump to: