@@ -349,35 +349,32 @@ const generateTemplateScenarioTransaction = (
349349 csTransaction : TransactionType ,
350350 slotIndex : number ,
351351) : WalletTemplateScenario [ 'transaction' ] => {
352- const inputs = libauthTransaction . inputs . map ( ( input , inputIndex ) => {
353- const csInput = csTransaction . inputs [ inputIndex ] as Utxo ;
354- const libauthInput = libauthTransaction . inputs [ inputIndex ] ;
355-
352+ const zippedInputs = zip ( csTransaction . inputs , libauthTransaction . inputs ) ;
353+ const inputs = zippedInputs . map ( ( [ csInput , libauthInput ] , inputIndex ) => {
356354 return {
357- outpointIndex : input . outpointIndex ,
358- outpointTransactionHash : binToHex ( input . outpointTransactionHash ) ,
359- sequenceNumber : input . sequenceNumber ,
355+ outpointIndex : libauthInput . outpointIndex ,
356+ outpointTransactionHash : binToHex ( libauthInput . outpointTransactionHash ) ,
357+ sequenceNumber : libauthInput . sequenceNumber ,
360358 unlockingBytecode : generateTemplateScenarioBytecode ( csInput , libauthInput , inputIndex , 'p2pkh_placeholder_unlock' , slotIndex === inputIndex ) ,
361359 } as WalletTemplateScenarioInput ;
362360 } ) ;
363361
364362 const locktime = libauthTransaction . locktime ;
365363
366- const outputs = libauthTransaction . outputs . map ( ( output , index ) => {
367- const csOutput = csTransaction . outputs [ index ] ;
368-
364+ const zippedOutputs = zip ( csTransaction . outputs , libauthTransaction . outputs ) ;
365+ const outputs = zippedOutputs . map ( ( [ csOutput , libauthOutput ] ) => {
369366 if ( csOutput && contract ) {
370367 return {
371368 lockingBytecode : generateTemplateScenarioTransactionOutputLockingBytecode ( csOutput , contract ) ,
372- token : serialiseTokenDetails ( output . token ) ,
373- valueSatoshis : Number ( output . valueSatoshis ) ,
369+ token : serialiseTokenDetails ( libauthOutput . token ) ,
370+ valueSatoshis : Number ( libauthOutput . valueSatoshis ) ,
374371 } as WalletTemplateScenarioTransactionOutput ;
375372 }
376373
377374 return {
378- lockingBytecode : `${ binToHex ( output . lockingBytecode ) } ` ,
379- token : serialiseTokenDetails ( output . token ) ,
380- valueSatoshis : Number ( output . valueSatoshis ) ,
375+ lockingBytecode : `${ binToHex ( libauthOutput . lockingBytecode ) } ` ,
376+ token : serialiseTokenDetails ( libauthOutput . token ) ,
377+ valueSatoshis : Number ( libauthOutput . valueSatoshis ) ,
381378 } as WalletTemplateScenarioTransactionOutput ;
382379 } ) ;
383380
@@ -391,13 +388,12 @@ const generateTemplateScenarioSourceOutputs = (
391388 libauthTransaction : TransactionBch ,
392389 slotIndex : number ,
393390) : Array < WalletTemplateScenarioOutput < true > > => {
394- return csTransaction . inputs . map ( ( input , inputIndex ) => {
395- const libauthInput = libauthTransaction . inputs [ inputIndex ] ;
396-
391+ const zippedInputs = zip ( csTransaction . inputs , libauthTransaction . inputs ) ;
392+ return zippedInputs . map ( ( [ csInput , libauthInput ] , inputIndex ) => {
397393 return {
398- lockingBytecode : generateTemplateScenarioBytecode ( input , libauthInput , inputIndex , 'p2pkh_placeholder_lock' , inputIndex === slotIndex ) ,
399- valueSatoshis : Number ( input . satoshis ) ,
400- token : serialiseTokenDetails ( input . token ) ,
394+ lockingBytecode : generateTemplateScenarioBytecode ( csInput , libauthInput , inputIndex , 'p2pkh_placeholder_lock' , inputIndex === slotIndex ) ,
395+ valueSatoshis : Number ( csInput . satoshis ) ,
396+ token : serialiseTokenDetails ( csInput . token ) ,
401397 } ;
402398 } ) ;
403399} ;
0 commit comments