signing: Document Decred signing

pull/25/head
Saleem Rashid 7 years ago committed by Pavol Rusnak
parent 057ec1227d
commit d63e294c0b

@ -122,7 +122,10 @@ Phase1 - check inputs, previous transactions, and outputs
foreach I (idx1):
Request I STAGE_REQUEST_1_INPUT
Add I to segwit hash_prevouts, hash_sequence
Add I to Decred hash_prefix
Add I to TransactionChecksum (prevout and type)
if (Decred)
Return I
If not segwit, Calculate amount of I:
Request prevhash I, META STAGE_REQUEST_2_PREV_META
foreach prevhash I (idx2):
@ -134,7 +137,10 @@ foreach I (idx1):
Calculate hash of streamed tx, compare to prevhash I
foreach O (idx1):
Request O STAGE_REQUEST_3_OUTPUT
Add O to Decred hash_prefix
Add O to TransactionChecksum
if (Decred)
Return O
Display output
Ask for confirmation
@ -144,6 +150,9 @@ Ask for confirmation
Phase2: sign inputs, check that nothing changed
===============================================
if (Decred)
Skip to STAGE_REQUEST_DECRED_WITNESS
foreach I (idx1): // input to sign
if (idx1 is segwit)
Request I STAGE_REQUEST_SEGWIT_INPUT
@ -153,8 +162,8 @@ foreach I (idx1): // input to sign
foreach I (idx2):
Request I STAGE_REQUEST_4_INPUT
If idx1 == idx2
Remember key for signing
Fill scriptsig
Remember key for signing
Add I to StreamTransactionSign
Add I to TransactionChecksum
foreach O (idx2):
@ -182,6 +191,17 @@ foreach I (idx1): // input to sign
Check amount
Sign segwit prevhash, sequence, amount, outputs
Return witness
Phase3: sign Decred inputs
==========================
foreach I (idx1): // input to sign STAGE_REQUEST_DECRED_WITNESS
Request I
Fill scriptSig
Compute hash_witness
Sign (hash_type || hash_prefix || hash_witness)
Return witness
*/
void send_req_1_input(void)

Loading…
Cancel
Save