Bitcoin Forum
May 23, 2024, 05:51:22 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Armory is not acknowledging a transaction I got.  (Read 1047 times)
Automatic (OP)
Full Member
***
Offline Offline

Activity: 238
Merit: 105


View Profile
February 20, 2014, 05:35:32 AM
 #1

Transaction:-
https://blockchain.info/tx/324185cc3d5e63eb3276c7d41956d0651ad14674e0452a1f5c77a5110125082e

Raw transaction:-
https://blockexplorer.com/rawtx/324185cc3d5e63eb3276c7d41956d0651ad14674e0452a1f5c77a5110125082e

Why I think there's an issue:-
Code:
"lock_time": 1392854400,
"sequence": 0

Instead of:-
Code:
"lock_time": 0,
"sequence": 0xFFFFFFFF

I tried 'rescanning databases' to no avail.

Please ask for a signed message from my on-site Bitcoin address (Check my profile) before doing any offsite trades with me.
etotheipi
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
February 20, 2014, 06:12:22 AM
 #2

Yes, Armory will not show you any tx that don't satisfy "isFinal()" conditions.  A transaction is considered not final if:

(1) Locktime+OneDay is in the future
(2) Any TxIns have non-0xFFFFFFFF sequence numbers

Why is one day added to the locktime?  Because I was being ultra-conservative, and wasn't 100% positive that I was handling the timezones correctly (which would open up an attack vector to pay someone using Armory then retract it).  Therefore it should show up by tomorrow.

I would've been smarter about it, but I didn't have the patience to go hand-craft some transactions and mess with my locale to test the timezones, just to handle a case that 99.99% of users will never hit.  Congrats on being in the top 0.01% Smiley

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
Automatic (OP)
Full Member
***
Offline Offline

Activity: 238
Merit: 105


View Profile
February 20, 2014, 06:37:28 AM
 #3

Yes, Armory will not show you any tx that don't satisfy "isFinal()" conditions.  A transaction is considered not final if:

(1) Locktime+OneDay is in the future
(2) Any TxIns have non-0xFFFFFFFF sequence numbers

Why is one day added to the locktime?  Because I was being ultra-conservative, and wasn't 100% positive that I was handling the timezones correctly (which would open up an attack vector to pay someone using Armory then retract it).  Therefore it should show up by tomorrow.

I would've been smarter about it, but I didn't have the patience to go hand-craft some transactions and mess with my locale to test the timezones, just to handle a case that 99.99% of users will never hit.  Congrats on being in the top 0.01% Smiley

So, it will appear tomorrow in my transaction list instantly with however many confirmations it has 'n all that?

Personally, I feel a single confirmation should overrule it all, shouldn't it? My understanding is if it's got a single confirmation, and, that block isn't invalidated/orphaned, then, that transaction can't be taken back, or, am I misunderstanding?

Please ask for a signed message from my on-site Bitcoin address (Check my profile) before doing any offsite trades with me.
etotheipi
Legendary
*
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
February 20, 2014, 06:50:56 AM
 #4

Personally, I feel a single confirmation should overrule it all, shouldn't it? My understanding is if it's got a single confirmation, and, that block isn't invalidated/orphaned, then, that transaction can't be taken back, or, am I misunderstanding?

You're probably correct, but I haven't spent much time thinking about it. Honestly, this isn't a common transaction type, and I just wanted to make sure it wasn't totally neglected, without opening up any holes.  If this becomes more common, I'll simply implement the logic correctly, the same way Bitcoin-Qt does. 

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
picobit
Hero Member
*****
Offline Offline

Activity: 547
Merit: 500


Decor in numeris


View Profile
February 20, 2014, 07:37:14 AM
 #5

I thought locktime transactions were non-standard, and therefore extremely hard to get into the blockchain, because locktime is used to delay when a transaction can at the most early be confirmed, and chaining an unconfirmed tx after such a tx which is prevented from confirming makes it too easy to cheat with 0-confirmation purchases.  If this is all locktime does, then once the tx is in the blockchain it should be irrelevant that it was once locked.

Perhaps Armory should ignore (or color in a strange color) any unconfirmed TX with a locktime, but treat it as any other tx once confirmed.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!