Search content
Sort by

Showing 20 of 43 results by helgabutters
Post
Topic
Board Armory
Re: 0.96.1 testing build #1
by
helgabutters
on 18/05/2017, 21:04:45 UTC
A minor bug in sending/coin control I noticed.

If you go into "Coin Control" and deselect everything (or only select things that have a 0.00 balance), you can still successfully create a transaction if your amount sent is below your wallet balance. You are not prompted with the "Coin Selection Failure: Coin selection failed with error: spend value > usable balance" as expected.

I'm not sure the logic but it seems to just pick from any coins in the wallet, although to be fair there is only P2PKH outputs in what I'm testing.
Post
Topic
Board Armory
Re: Wrong network?
by
helgabutters
on 25/04/2015, 00:05:40 UTC
I am having this issue consistently in 0.93.1 Linux.

I leave armory running 24/7 and check on it every few days. Most of the time I'll find this error which means it hasn't been keeping the database updated so it crashes armory and I need to restart and wait for it to catch up.
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 01/02/2015, 01:56:56 UTC
1) (Supernode) "Import Lockbox" > "Done". The "Import Successful" window has the text "If the lockbox is not new and has been used before, Armory will not know about its history until you rescan the databases" which isn't true in supernode.

2) In Lockboxes, select a lockbox and then use the arrow keys up or down. The bitcoin address displayed will not update but when you go to click on almost everything you are actually using the new wallet. You need to click on the lockbox to update the displayed address.

3) "Lockbox" > Check "Simul" > "Merge Promissory Notes" doesn't provide any warning if you create a transaction and don't provide a fee.
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 31/01/2015, 05:10:13 UTC
1) In the paging control widget if you put a negative "-" in the block number and hit enter nothing happens and this is the log:

Code:
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 784, in blkEditingFinished
    self.Blk = self.ledgerDelegate.getBlockInVicinity(blk)
  File "/usr/lib/armory/CppBlockUtils.py", line 1937, in getBlockInVicinity
    def getBlockInVicinity(self, *args): return _CppBlockUtils.LedgerDelegate_getBlockInVicinity(self, *args)
OverflowError: in method 'LedgerDelegate_getBlockInVicinity', argument 2 of type 'uint32_t'

Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 784, in blkEditingFinished
    self.Blk = self.ledgerDelegate.getBlockInVicinity(blk)
  File "/usr/lib/armory/CppBlockUtils.py", line 1937, in getBlockInVicinity
    def getBlockInVicinity(self, *args): return _CppBlockUtils.LedgerDelegate_getBlockInVicinity(self, *args)
OverflowError: in method 'LedgerDelegate_getBlockInVicinity', argument 2 of type 'uint32_t'
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 784, in blkEditingFinished
    self.Blk = self.ledgerDelegate.getBlockInVicinity(blk)
  File "/usr/lib/armory/CppBlockUtils.py", line 1937, in getBlockInVicinity
    def getBlockInVicinity(self, *args): return _CppBlockUtils.LedgerDelegate_getBlockInVicinity(self, *args)
OverflowError: in method 'LedgerDelegate_getBlockInVicinity', argument 2 of type 'uint32_t'

Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 784, in blkEditingFinished
    self.Blk = self.ledgerDelegate.getBlockInVicinity(blk)
  File "/usr/lib/armory/CppBlockUtils.py", line 1937, in getBlockInVicinity
    def getBlockInVicinity(self, *args): return _CppBlockUtils.LedgerDelegate_getBlockInVicinity(self, *args)
OverflowError: in method 'LedgerDelegate_getBlockInVicinity', argument 2 of type 'uint32_t'

2) In the paging control widget if you put letters in the block number and hit enter nothing happens and this is the log:

Code:
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 783, in blkEditingFinished
    blk = int(self.edtBlock.text())
ValueError: invalid literal for int() with base 10: '320592pp'

Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 783, in blkEditingFinished
    blk = int(self.edtBlock.text())
ValueError: invalid literal for int() with base 10: '320592pp'
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 783, in blkEditingFinished
    blk = int(self.edtBlock.text())
ValueError: invalid literal for int() with base 10: '320592pp'

Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 783, in blkEditingFinished
    blk = int(self.edtBlock.text())
ValueError: invalid literal for int() with base 10: '320592pp'

3) In the paging control widget if you set the year to something old, such as 1750, you get the following error:

Code:
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 703, in linkClicked
    self.editDate()
  File "/usr/lib/armory/armorymodels.py", line 780, in editDate
    self.dateChanged()
  File "/usr/lib/armory/armorymodels.py", line 794, in dateChanged
    self.Date = int(time.mktime(ddate.timetuple()))
ValueError: year out of range

Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 703, in linkClicked
    self.editDate()     
  File "/usr/lib/armory/armorymodels.py", line 780, in editDate
    self.dateChanged()
  File "/usr/lib/armory/armorymodels.py", line 794, in dateChanged
    self.Date = int(time.mktime(ddate.timetuple()))
ValueError: year out of range

4) In the paging control widget if you click on the date and in the new window select the year, put a negative "-" in the year (such as -2014) and select a date:

Code:
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 703, in linkClicked
    self.editDate()
  File "/usr/lib/armory/armorymodels.py", line 780, in editDate
    self.dateChanged()
  File "/usr/lib/armory/armorymodels.py", line 796, in dateChanged
    self.Blk = TheBDM.bdv().getClosestBlockHeightForTime(self.Date)
  File "/usr/lib/armory/CppBlockUtils.py", line 2012, in getClosestBlockHeightForTime
    def getClosestBlockHeightForTime(self, *args): return _CppBlockUtils.BlockDataViewer_getClosestBlockHeightForTime(self, *args)
OverflowError: in method 'BlockDataViewer_getClosestBlockHeightForTime', argument 2 of type 'uint32_t'

Traceback (most recent call last):
  File "/usr/lib/armory/armorymodels.py", line 703, in linkClicked
    self.editDate()     
  File "/usr/lib/armory/armorymodels.py", line 780, in editDate
    self.dateChanged()
  File "/usr/lib/armory/armorymodels.py", line 796, in dateChanged
    self.Blk = TheBDM.bdv().getClosestBlockHeightForTime(self.Date)
  File "/usr/lib/armory/CppBlockUtils.py", line 2012, in getClosestBlockHeightForTime
    def getClosestBlockHeightForTime(self, *args): return _CppBlockUtils.BlockDataViewer_getClosestBlockHeightForTime(self, *args)
OverflowError: in method 'BlockDataViewer_getClosestBlockHeightForTime', argument 2 of type 'uint32_t'

5) In the paging control widget, if you are not already scrolled to the top, click on "#" > "Block" as if you were going to edit it and then click on "Top". The widget will end up horizontally spanning across all the transactions.

https://i.imgur.com/REulQFi.png
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 31/01/2015, 04:24:43 UTC
1) Exporting transactions doesn't actually export the file until you've done it a second time. "File" > "Export Transactions" > "Export" will make a file that will be 0 bytes in size. Now do the same thing again but select a different wallet to output, the first file will now be filled in properly and the new file will be 0 bytes in size. This cycle continues with every new file that is created being 0 bytes until another export has been done. This also shows up in the error log:
 
Code:
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/qtdialogs.py", line 9589, in accept
    if self.createFile_CSV():
  File "/usr/lib/armory/qtdialogs.py", line 9723, in createFile_CSV
    combinedLedger = walletGroup.getHistoryPage(page)
  File "/usr/lib/armory/CppBlockUtils.py", line 2046, in getHistoryPage
    def getHistoryPage(self, *args): return _CppBlockUtils.WalletGroup_getHistoryPage(self, *args)
TypeError: WalletGroup_getHistoryPage() takes exactly 4 arguments (2 given)

Traceback (most recent call last):
  File "/usr/lib/armory/qtdialogs.py", line 9589, in accept
    if self.createFile_CSV():
  File "/usr/lib/armory/qtdialogs.py", line 9723, in createFile_CSV
    combinedLedger = walletGroup.getHistoryPage(page)
  File "/usr/lib/armory/CppBlockUtils.py", line 2046, in getHistoryPage
    def getHistoryPage(self, *args): return _CppBlockUtils.WalletGroup_getHistoryPage(self, *args)

2) Can't restore from fragmented backups. "Import or Restore Wallet" > "Fragmented Backup" > "Continue"

Code:
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/qtdialogs.py", line 12243, in clickedOkay
    dlg = DlgRestoreFragged(self.parent, self.main, doTest)
  File "/usr/lib/armory/qtdialogs.py", line 12921, in __init__
    doItText = tr('Test Backup' if thisIsATest else tR('Restore from Fragments'))
NameError: global name 'tR' is not defined

Traceback (most recent call last):
  File "/usr/lib/armory/qtdialogs.py", line 12243, in clickedOkay
    dlg = DlgRestoreFragged(self.parent, self.main, doTest)
  File "/usr/lib/armory/qtdialogs.py", line 12921, in __init__
    doItText = tr('Test Backup' if thisIsATest else tR('Restore from Fragments'))
NameError: global name 'tR' is not defined
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 17/01/2015, 04:22:33 UTC
1) When "Sending Bitcoin" if you put a negative value in one of the "Amount" spots and then hit "MAX" in another spot, the max value is calculated incorrectly.

http://i.imgur.com/GlIwW9N.png

2) Create a transaction that makes a new change address. While there are still 0 confirmations, "Send Bitcoins" > "Coin Control" and select the address that is change. Now try to make a transaction with that address and hit "Send". This is in the log:

(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ui/TxFrames.py", line 757, in createTxAndBroadcast
    ustx = self.validateInputsGetUSTX()
  File "/usr/lib/armory/ui/TxFrames.py", line 597, in validateInputsGetUSTX
    utxoList = self.getUsableTxOutList(totalSend)
  File "/usr/lib/armory/ui/TxFrames.py", line 833, in getUsableTxOutList
    utxos = self.wlt.getAddrTxOutList(a160)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 52, in inner
    return func(*args, **kwargs)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 502, in getAddrTxOutList
    return cppAddr.getSpendableTxOutList(IGNOREZC);
  File "/usr/lib/armory/CppBlockUtils.py", line 1926, in getSpendableTxOutList
    def getSpendableTxOutList(self, ignoreZC=True): return _CppBlockUtils.ScrAddrObj_getSpendableTxOutList(self, ignoreZC)
RuntimeError: Iterator must be created within Transaction

Traceback (most recent call last):
  File "/usr/lib/armory/ui/TxFrames.py", line 757, in createTxAndBroadcast
    ustx = self.validateInputsGetUSTX()
  File "/usr/lib/armory/ui/TxFrames.py", line 597, in validateInputsGetUSTX
    utxoList = self.getUsableTxOutList(totalSend)
  File "/usr/lib/armory/ui/TxFrames.py", line 833, in getUsableTxOutList
    utxos = self.wlt.getAddrTxOutList(a160)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 52, in inner
    return func(*args, **kwargs)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 502, in getAddrTxOutList
    return cppAddr.getSpendableTxOutList(IGNOREZC);
  File "/usr/lib/armory/CppBlockUtils.py", line 1926, in getSpendableTxOutList
    def getSpendableTxOutList(self, ignoreZC=True): return _CppBlockUtils.ScrAddrObj_getSpendableTxOutList(self, ignoreZC)
RuntimeError: Iterator must be created within Transaction

As a comparison, not using "Coin Control" you can make this transaction successfully.

3) (Supernode) "Wallet Properties" > "Delete/Remove Wallet" > "Delete private keys, make watching-only" > "Delete". When making a watching-only wallet by deleting the private keys, the wallet breaks until you restart Armory.

https://www.youtube.com/watch?v=0Qg2X6hpkys

4) (Supernode) "Lockbox" > Right-Click "Rescan Lockbox" > "Yes". When trying to rescan a lockbox it isn't successful and this is the log:

(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ui/MultiSigDialogs.py", line 1506, in showLboxContextMenu
    self.main.setWalletIsScanning(lbox)
AttributeError: 'ArmoryMainWindow' object has no attribute 'setWalletIsScanning'

Traceback (most recent call last):
  File "/usr/lib/armory/ui/MultiSigDialogs.py", line 1506, in showLboxContextMenu
    self.main.setWalletIsScanning(lbox)           
AttributeError: 'ArmoryMainWindow' object has no attribute 'setWalletIsScanning'
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 12/01/2015, 04:18:54 UTC
1) (Supernode enabled) Import an address into a wallet. View the "Wallet Properties" and now double-click on the imported address. Instead of displaying "Address Information" nothing comes up and this is the log:

2015-01-11 19:36 (ERROR) -- Traceback (most recent call last):
  File "qtdialogs.pyc", line 1968, in dblClickAddressView
  File "qtdialogs.pyc", line 3813, in __init__
IndexError: list index out of range

2) (Supernode enabled) If you try to sweep an address that doesn't have enough in it for a fee (this address only had 0.0001), you get a lot of the same error coming up.

https://www.youtube.com/watch?v=szrJoT6Gv0o

3) (Supernode enabled) If you try to sweep an address that does have enough in it (this address has 0.0002), you get a lot of the same confirmation message popping up.

https://www.youtube.com/watch?v=Ohf_pbmibgw

This is also in the log:

Exception RuntimeError: 'maximum recursion depth exceeded while calling a Python object' in  ignored
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 6129, in handleCppNotification
    wlt.doAfterScan()
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 52, in inner
    return func(*args, **kwargs)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 3145, in doAfterScan
    calls[0](*calls[1])
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 52, in inner
    return func(*args, **kwargs)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 3153, in sweepAfterRescan
    sweepToAddr = self.getNextUnusedAddress().getAddr160()
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 989, in getNextUnusedAddress
    self.advanceHighestIndex(1)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 968, in advanceHighestIndex
    self.fillAddressPool()
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 1061, in fillAddressPool
    doRegister=False)))
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 1011, in computeNextAddress
    newAddr = self.addrMap[addr160].extendAddressChain(self.kdfKey)
  File "/usr/lib/armory/armoryengine/Timer.py", line 99, in inner
    ret = func(*args, **kwargs)
  File "/usr/lib/armory/armoryengine/PyBtcAddress.py", line 777, in extendAddressChain
    newAddr = PyBtcAddress()
  File "/usr/lib/armory/armoryengine/PyBtcAddress.py", line 87, in __init__
    self.binPublicKey65        = SecureBinaryData()  # 0x04 X(BE) Y(BE)
RuntimeError: maximum recursion depth exceeded while calling a Python object

Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 6129, in handleCppNotification
    wlt.doAfterScan()                 
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 52, in inner
    return func(*args, **kwargs)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 3145, in doAfterScan
    calls[0](*calls[1])
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 52, in inner
    return func(*args, **kwargs)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 3153, in sweepAfterRescan
    sweepToAddr = self.getNextUnusedAddress().getAddr160()
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 989, in getNextUnusedAddress
    self.advanceHighestIndex(1)
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 968, in advanceHighestIndex
    self.fillAddressPool()
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 1061, in fillAddressPool
    doRegister=False)))
  File "/usr/lib/armory/armoryengine/PyBtcWallet.py", line 1011, in computeNextAddress
    newAddr = self.addrMap[addr160].extendAddressChain(self.kdfKey)
  File "/usr/lib/armory/armoryengine/Timer.py", line 99, in inner
    ret = func(*args, **kwargs)
  File "/usr/lib/armory/armoryengine/PyBtcAddress.py", line 777, in extendAddressChain
    newAddr = PyBtcAddress()
  File "/usr/lib/armory/armoryengine/PyBtcAddress.py", line 87, in __init__
    self.binPublicKey65        = SecureBinaryData()  # 0x04 X(BE) Y(BE)
RuntimeError: maximum recursion depth exceeded while calling a Python object

4) (Supernode enabled) Removing an imported address breaks the wallet it was imported into. There is a lot of output in the logs I'm not adding here but the video should show enough.

https://www.youtube.com/watch?v=zjQpUn-YZ-M
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 11/01/2015, 01:08:02 UTC
1) In "Lockboxes" > "Create Promissory Note" you can't make a promissory to just pay the transaction fee. You get an error "You cannot promise 0 BTC".

http://i.imgur.com/y0ueuPM.png

2) You can't verify any signatures. "Tools" > "Message Signing/Verification" > "Verify Bare Signature"

(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ui/toolsDialogs.py", line 313, in verifySignature
    self.displayInvalidSignatureMessage()
  File "/usr/lib/armory/ui/toolsDialogs.py", line 273, in displayInvalidSignatureMessage
    'The supplied signature is not valid!')
  File "/usr/lib/armory/qtdefines.py", line 477, in MsgBoxCustom
    dlg = dlgWarn(wtype, title, msg, wCancel, yesStr, noStr)
  File "/usr/lib/armory/qtdefines.py", line 408, in __init__
    super(dlgWarn, self).__init__(None)
TypeError: __init__() takes exactly 3 arguments (2 given)

Traceback (most recent call last):
  File "/usr/lib/armory/ui/toolsDialogs.py", line 313, in verifySignature
    self.displayInvalidSignatureMessage()
  File "/usr/lib/armory/ui/toolsDialogs.py", line 273, in displayInvalidSignatureMessage
    'The supplied signature is not valid!')
  File "/usr/lib/armory/qtdefines.py", line 477, in MsgBoxCustom
    dlg = dlgWarn(wtype, title, msg, wCancel, yesStr, noStr)
  File "/usr/lib/armory/qtdefines.py", line 408, in __init__
    super(dlgWarn, self).__init__(None)
TypeError: __init__() takes exactly 3 arguments (2 given)

2a) "Tools" > "Message Signing/Verification" > "Verify Signed Message Block"

(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ui/toolsDialogs.py", line 352, in verifySignature
    self.displayInvalidSignatureMessage()
  File "/usr/lib/armory/ui/toolsDialogs.py", line 273, in displayInvalidSignatureMessage
    'The supplied signature is not valid!')
  File "/usr/lib/armory/qtdefines.py", line 477, in MsgBoxCustom
    dlg = dlgWarn(wtype, title, msg, wCancel, yesStr, noStr)
  File "/usr/lib/armory/qtdefines.py", line 408, in __init__
    super(dlgWarn, self).__init__(None)
TypeError: __init__() takes exactly 3 arguments (2 given)

Traceback (most recent call last):
  File "/usr/lib/armory/ui/toolsDialogs.py", line 352, in verifySignature
    self.displayInvalidSignatureMessage()
  File "/usr/lib/armory/ui/toolsDialogs.py", line 273, in displayInvalidSignatureMessage
    'The supplied signature is not valid!')
  File "/usr/lib/armory/qtdefines.py", line 477, in MsgBoxCustom
    dlg = dlgWarn(wtype, title, msg, wCancel, yesStr, noStr)
  File "/usr/lib/armory/qtdefines.py", line 408, in __init__
    super(dlgWarn, self).__init__(None)
TypeError: __init__() takes exactly 3 arguments (2 given)

3) Export an unsigned transaction from one armory install that shares no wallets with another install. In the armory that has no wallets "Offline Transactions" > "Sign and/or Broadcast Transaction" > Paste the export > "Sign"

(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ui/TxFrames.py", line 1662, in signTx
    if self.wlt.hasAddr(addrStr_to_hash160(addrStr)[1]):
AttributeError: 'NoneType' object has no attribute 'hasAddr'

Traceback (most recent call last):
  File "/usr/lib/armory/ui/TxFrames.py", line 1662, in signTx
    if self.wlt.hasAddr(addrStr_to_hash160(addrStr)[1]):
AttributeError: 'NoneType' object has no attribute 'hasAddr'
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 10/01/2015, 22:34:35 UTC
where do those logs come from?

If you are using testnet then look at the following:

Windows - C:\Users\Username\AppData\Roaming\Armory\testnet3\armorylog.txt
Linux - /home/username/.armory/testnet3/armorylog.txt

(AppData is usually hidden on Windows so you'll need to "Show hidden files, folders, and drives" through the folder options)
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 10/01/2015, 21:25:25 UTC
1) Putting a " in the "Label" section of "Create Payment Request Link" blanks the output

"Receive Bitcoin" > "Create Clickable Link" and in the Label type: testing"

http://i.imgur.com/8VoGR1p.png

2) In "Recieve Bitcoin" > "Manually Enter "bitcoin:" Link", if the value following in "amount=" is not just a number and you hit "Done" you get no message/error box and the below is the log.

The link I used was "bitcoin:n2vPVmUbFBmXNa4uwX45dzCjFx4cXcd58V?amount=p32&label=fewafew"

2015-01-10 11:30 (ERROR) -- Traceback (most recent call last):
  File "qtdialogs.pyc", line 10616, in clickedOkay
  File "ArmoryQt.py", line 2490, in parseUriLink
  File "armoryengine\ArmoryUtils.pyc", line 2894, in parseBitcoinURI
  File "armoryengine\ArmoryUtils.pyc", line 1292, in str2coin
ValueError: invalid literal for int() with base 10: 'p32'

3) When "Sending Bitcoin" there is no max length for the comment like there is in the "Transactions" tab in the main window. I put the following string in the comment (alphabet + num at the end so you can see where in the string you are):
abcdefghijklmnopqrstuvwxyz1abcdefghijklmnopqrstuvwxyz2abcdefghijklmnopqrstuvwxy z3abcdefghijklmnopqrstuvwxyz4abcdefghijklmnopqrstuvwxyz5abcdefghijklmnopqrstuvw xyz6abcdefghijklmnopqrstuvwxyz7abcdefghijklmnopqrstuvwxyz8abcdefghijklmnopqrstu vwxyz9abcdefghijklmnopqrstuvwxyz10abcdefghijklmnopqrstuvwxyz11abcdefghijklmnopq rstuvwxyz12abcdefghijklmnopqrstuvwxyz13abcdefghijklmnopqrstuvwxyz14abcdefghijkl mnopqrstuvwxyz15abcdefghijklmnopqrstuvwxyz16abcdefghijklmnopqrstuvwxyz17abcdefg hijklmnopqrstuvwxyz18abcdefghijklmnopqrstuvwxyz19abcdefghijklmnopqrstuvwxyz20ab cdefghijklmnopqrstuvwxyz21abcdefghijklmnopqrstuvwxyz22abcdefghijklmnopqrstuvwxy z23abcdefghijklmnopqrstuvwxyz24abcdefghijklmnopqrstuvwxyz25abcdefghijklmnopqrst uvwxyz26abcdefghijklmnopqrstuvwxyz27abcdefghijklmnopqrstuvwxyz28abcdefghijklmno pqrstuvwxyz29abcdefghijklmnopqrstuvwxyz30abcdefghijklmnopqrstuvwxyz31abcdefghij klmnopqrstuvwxyz32abcdefghijklmnopqrstuvwxyz33abcdefghijklmnopqrstuvwxyz34abcde fghijklmnopqrstuvwxyz35abcdefghijklmnopqrstuvwxyz36abcdefghijklmnopqrstuvwxyz37 abcdefghijklmnopqrstuvwxyz38abcdefghijklmnopqrstuvwxyz39abcdefghijklmnopqrstuvw xyz40

4) Num 3 also creates a display bug. When you are looking at the "Transactions" tab in the main window, if you double-click to expand out the "Comment" section to display the full comment the navigation bar won't let you see the whole comment. There seem to be 5 spots that the navigation bar sticks to where the first four are small moves and the last one just jumps to the end.

Fourth Spot:
http://i.imgur.com/SNjxFoN.png

Fifth/Final Spot:
http://i.imgur.com/iEdPnRs.png

5) In "Receive Bitcoins" you can't double click the QR code to expand. It also seems to happen anywhere else there is a QR code that needs to be double clicked. This is the log:

2015-01-10 13:15 (ERROR) -- Traceback (most recent call last):
  File "qtdefines.pyc", line 811, in mouseDoubleClickEvent
  File "qtdefines.pyc", line 817, in __init__
TypeError: __init__() takes exactly 3 arguments (2 given)
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 10/01/2015, 19:25:38 UTC
Just to have some minor clarification, would the visual bugs above all count separately? Most of them seem to be the same general issue but just in lots of different places. If so, I have some more hunting to do Grin
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 10/01/2015, 17:18:37 UTC
1) Can't create Single-Sheet SecurePrint(TM) paper backups. "Wallet Properties" > "Backup This Wallet" > Printable Paper Backup Single-Sheet "Create Paper Backup" > "Use SecurePrint(TM)"

2015-01-10 08:31 (INFO) -- qtdialogs.pyc:7056 - Deriving SecurePrint code took 0.42 seconds
2015-01-10 08:31 (ERROR) -- Traceback (most recent call last):
  File "qtdialogs.pyc", line 7219, in redrawBackup
  File "qtdialogs.pyc", line 7397, in createPrintScene
  File "qtdialogs.pyc", line 6956, in drawColumn
  File "qtdefines.pyc", line 25, in tr
  File "encodings\utf_8.pyc", line 16, in decode
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2122' in position 26: ordinal not in range(128)

http://i.imgur.com/ePwRD38.png

2) Can't create Fragmented SecurePrint(TM) paper backups. "Wallet Properties" > "Backup This Wallet" > Printable Paper Backup Fragmented "Create Paper Backup" > "Use SecurePrint(TM)" > "Print All Fragments"

2015-01-10 08:40 (INFO) -- qtdialogs.pyc:7056 - Deriving SecurePrint code took 0.38 seconds
2015-01-10 08:40 (ERROR) -- Traceback (most recent call last):
  File "qtdialogs.pyc", line 12111, in clickPrintAll
  File "qtdialogs.pyc", line 12126, in clickPrintFrag
  File "qtdialogs.pyc", line 7164, in __init__
  File "qtdialogs.pyc", line 7215, in redrawBackup
  File "qtdialogs.pyc", line 7410, in createPrintScene
  File "qtdialogs.pyc", line 6956, in drawColumn
  File "qtdefines.pyc", line 25, in tr
  File "encodings\utf_8.pyc", line 16, in decode
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2122' in position 40: ordinal not in range(128)

2a) Same as 2 but selecting a single "View/Print"

2015-01-10 08:41 (INFO) -- qtdialogs.pyc:7056 - Deriving SecurePrint code took 0.34 seconds
2015-01-10 08:41 (ERROR) -- Traceback (most recent call last):
  File "qtdialogs.pyc", line 12086, in
  File "qtdialogs.pyc", line 12126, in clickPrintFrag
  File "qtdialogs.pyc", line 7164, in __init__
  File "qtdialogs.pyc", line 7215, in redrawBackup
  File "qtdialogs.pyc", line 7410, in createPrintScene
  File "qtdialogs.pyc", line 6956, in drawColumn
  File "qtdefines.pyc", line 25, in tr
  File "encodings\utf_8.pyc", line 16, in decode
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2122' in position 40: ordinal not in range(128)

3) When sending bitcoins and you input an invalid address (or no address) you get a not properly filled in error box.

http://i.imgur.com/RplqPH2.png
Post
Topic
Board Armory
Re: Armory 0.93 testing release! (with 0.05 BTC bug bounty)
by
helgabutters
on 10/01/2015, 02:39:28 UTC
1) Can't export Log File. On a new Linux install, Core 0.10.0 and in Supernode go to "File" > "Export Log File" > "OK"

(DEBUG) ArmoryQt.py:4038 - exportLogFile
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 4049, in exportLogFile
    if self.logFilePrivacyWarning(wCancel=True):
  File "/usr/lib/armory/ArmoryQt.py", line 4132, in logFilePrivacyWarning
    review."""), wCancel=wCancel, yesStr="&Ok")
  File "/usr/lib/armory/qtdefines.py", line 477, in MsgBoxCustom
    dlg = dlgWarn(wtype, title, msg, wCancel, yesStr, noStr)
  File "/usr/lib/armory/qtdefines.py", line 408, in __init__
    super(dlgWarn, self).__init__(None)
TypeError: __init__() takes exactly 3 arguments (2 given)

Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 4049, in exportLogFile
    if self.logFilePrivacyWarning(wCancel=True):
  File "/usr/lib/armory/ArmoryQt.py", line 4132, in logFilePrivacyWarning
    review."""), wCancel=wCancel, yesStr="&Ok")
  File "/usr/lib/armory/qtdefines.py", line 477, in MsgBoxCustom
    dlg = dlgWarn(wtype, title, msg, wCancel, yesStr, noStr)
  File "/usr/lib/armory/qtdefines.py", line 408, in __init__
    super(dlgWarn, self).__init__(None)
TypeError: __init__() takes exactly 3 arguments (2 given)

2) On Windows it correctly displays "You are using the latest version of core Bitcoin (0.10.0)" while on Linux using 0.10.0 gives "Core Bitcoin version 0.9.3 is available [Secure Downloader]"

Linux:
http://i.imgur.com/wn4jnR8.png

Windows:
http://i.imgur.com/jYTCXhh.png
Post
Topic
Board Development & Technical Discussion
Re: [ANN] Armory Multi-Sig with Simulfunding [BOUNTY 0.03 per bug]
by
helgabutters
on 07/08/2014, 18:21:16 UTC
If you are owed bounties and haven't sent me your payment address, please PM me.  I should get around to paying those out today (Weds) or Thurs.

Hope all is well. I was just wondering if there was any more update to when the bounties will be sent out.
Post
Topic
Board Armory
Re: Armory - Discussion Thread
by
helgabutters
on 19/07/2014, 02:20:59 UTC
-Ability to send from multiple wallets at once with full coin control.
-Addition column in the transactions where you can put in the cost at the time. It would be even better if this could be extended to automatically calculate the price based on the coinbase price at the time. This would help a lot for taxes.
Post
Topic
Board Armory
Re: Armory - Discussion Thread
by
helgabutters
on 18/07/2014, 22:20:11 UTC
Just a few things I thought of that I'd like to see.

-Allow other denominations besides just BTC (mbit, bit, etc)
-Enable the "Add this wallet to the ignore list" feature. I see it is there but just not enabled (unless there is some configuration I'm missing).
-If possible, a way to query specific blocks / information in the blockchain. This would be really nice to check transactions without needing to go out to a third party such as blockchain.info
-A way to view the priority of a transaction you would be sending. Idealy it would give a notice if the priority is high enough that the transaction can be sent with no fee
Post
Topic
Board Development & Technical Discussion
Re: [ANN] Armory Multi-Sig with Simulfunding [BOUNTY 0.03 per bug]
by
helgabutters
on 18/07/2014, 22:15:03 UTC
Sorry for the delay, works been rather busy the past few days so I haven't been able to put in as much time as I'd like. Also, could you give me some insight on which ones I've submitted that are definitely not bugs and a few that you aren't sure of? I'm just trying to gauge what exactly you want and what I can safely not worry about finding/reporting.

1) You can't "importprivkey" as it will always error. I tried both hex and base58

http://pastie.org/pastes/9403588/text?key=1qunxbmpxlqa8arkoitgxq

2) There is some calculation error in listaddrunspent. You can see once you hit 3 characters in the string, it will still say 3 once you've put in a fourth and continue counting up from there.

http://pastie.org/pastes/9403585/text?key=roc4hfgkcsc6k9igcmmgq

3) You get different errors depending on the number of characters in "getblock". It seems dependent on if it's even or odd.

http://pastie.org/pastes/9403583/text?key=wucl7ytepivyq4uywdq5w

4) If you have a very long wallet description, the "Delete Wallet Options" window gets overly large and it won't show the whole thing. It also can't be resized down at all (This happens on Win and Linux, haven't tested OSX)

https://www.youtube.com/watch?v=xxl08nkXNPk

5) You can't "verifysignature" as it always interprets the "-----" as an argument for armoryd (and the only compatible signature types have "-----" in them).
I've tried in just the command line and in a bash script to no avail. If this is just an issue with my understanding of the command or how to properly give the command the information, please let me know.

Address: mkT61iEMnSSFgoCJkXFqbV9SiMHKnHDktN
Message: This is to test armoryd verifysignature for mkT61
Base64 Sign

http://pastie.org/pastes/9403589/text?key=dwsxu9jjzfyrgwlooqija

Same as above but Clearsign

http://pastie.org/pastes/9403590/text?key=zcw015sdcylrwu7k1hkniq

6) For a verified signature there is an extra ' in front of "The owner of the following ..."

https://i.imgur.com/zcbMDn8.png

7) You get an "Unexpected BLKSTRING" error when trying to signasciitranscaction. I tried both right in the command line and from a file output

http://pastie.org/pastes/9403594/text?key=zu0cydlii6zwkfyqozpq

8 ) This one I'm not sure of the cause. I thought it was originally because the wallet was locked but that isn't the case. One of my wallets if I try to "getledger" or "getledgersimple" I will get an "AttributeError":

http://pastie.org/pastes/9403608/text?key=qtztvorf7wni6c8tj9jtbg

I can provide you with this wallet if you'd like, just let me know.
Post
Topic
Board Development & Technical Discussion
Re: [ANN] Armory Multi-Sig with Simulfunding [BOUNTY 0.03 per bug]
by
helgabutters
on 17/07/2014, 02:10:49 UTC
@helgabutters

#3 and #4 are actually the same bug.  And I recognize the issue... it's a rare condition that's leading to the data being saved in the settings file being read later, incorrectly.  Can you tell me what data is in the "DefaultLinkText" line of the ArmorySettings.txt file?  Either way, you can close Armory, remove that line, and then restart Armory and it will be fixed.  I'll figure out how to avoid that condition.


Ah, that makes sense.

The value for DefaultLinkText is: 66657766616566
Post
Topic
Board Development & Technical Discussion
Re: [ANN] Armory Multi-Sig with Simulfunding [BOUNTY 0.03 per bug]
by
helgabutters
on 17/07/2014, 01:07:23 UTC
1) In armoryd if you don't give backupwallet a valid file path it throws: "global name 'IOERROR' is not defined" 

Code:
armory@armory-vm:~/armoryD$ python /usr/lib/armory/armoryd.py --testnet backupwallet testes
{
    "Error": "An error occurred in backupwallet",
    "Error Type": "NameError",
    "Error Value": "global name 'IOERROR' is not defined"
}

1.1) This is also thrown when you try to save a file to a folder where you do not have proper permissions.

Code:
armory@armory-vm:/usr/lib/armory$ python armoryd.py --testnet backupwallet /root/test.za
{
    "Error": "An error occurred in backupwallet",
    "Error Type": "NameError",
    "Error Value": "global name 'IOERROR' is not defined"
}

2) In armoryd you can create a 1 of 1 lockbox. You can't do a 1 of 1 in the armoryqt so you can't edit the lockbox you created.

https://i.imgur.com/1m24oqY.png

3) In Linux: When you select "Request Payment" in the lockbox manager nothing happens and it throws this error:

Code:
2014-07-16 17:18 (ERROR) -- Traceback (most recent call last):
  File "/usr/lib/armory/ui/MultiSigDialogs.py", line 1158, in funcReqPayment
    DlgRequestPayment(self, self.main, p2shAddr).exec_()
  File "/usr/lib/armory/qtdialogs.py", line 9896, in __init__
    linkText = hex_to_binary(self.main.getSettingOrSetDefault('DefaultLinkText', defaultText))
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 1846, in hex_to_binary
    bout = h.replace(' ','')  # copies data, no references
AttributeError: 'long' object has no attribute 'replace'

4) In Linux: When you select "Create Clickabe Link" in Recieve Bitcoins > New Recieving Address nothing happens and it throws this error:

Code:
2014-07-16 17:20 (ERROR) -- Traceback (most recent call last):
  File "/usr/lib/armory/qtdialogs.py", line 2772, in openPaymentRequest
    dlg = DlgRequestPayment(self, self.main, addrStr, msg=msgTxt)
  File "/usr/lib/armory/qtdialogs.py", line 9896, in __init__
    linkText = hex_to_binary(self.main.getSettingOrSetDefault('DefaultLinkText', defaultText))
  File "/usr/lib/armory/armoryengine/ArmoryUtils.py", line 1846, in hex_to_binary
    bout = h.replace(' ','')  # copies data, no references
AttributeError: 'long' object has no attribute 'replace'


5) In armoryd you when encrypt and unlock a wallet, instead of a displaying the wallet ID the output is ""
Code:
armory@armory-vm:/usr/lib/armory$ python armoryd.py --testnet unlockwallet password1
"Wallet has been unlocked."
armory@armory-vm:/usr/lib/armory$ python armoryd.py --testnet encryptwallet password
"Wallet has been encrypted."
Post
Topic
Board Development & Technical Discussion
Re: [ANN] Armory Multi-Sig with Simulfunding [BOUNTY 0.03 per bug]
by
helgabutters
on 16/07/2014, 05:50:53 UTC
First armoryd bug!

When running "help" they all return "Error": "The function description is malformed."
http://pastie.org/pastes/9395585/text?key=fbvn2gyp5xzxicil4reag

Since this is the last release before 0.92 is there any specific date you are aiming to have it out by?