Post
Topic
Board Armory
Topic OP
Cannot Open Wallet
by
DaCryptoRaccoon
on 14/08/2024, 16:39:03 UTC
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!