@@ -599,28 +599,29 @@ def wait_for_spend(self, instances: Union[ContractInstance, List[ContractInstanc
599
599
out_contract = clause_output .next_contract
600
600
new_instance = ContractInstance (out_contract )
601
601
602
- if isinstance (out_contract , (P2TR , OpaqueP2TR , StandardP2TR )):
603
- continue # nothing to do, will not track this output
604
- elif isinstance (out_contract , StandardAugmentedP2TR ):
605
- if clause_output .next_state is None :
606
- raise ValueError ("Missing data for augmented output" )
607
- new_instance .data = clause_output .next_state .encode ()
608
- new_instance .data_expanded = clause_output .next_state
609
- else :
610
- raise ValueError ("Unsupported contract type" )
602
+ if isinstance (out_contract , (StandardP2TR , StandardAugmentedP2TR )):
603
+ if isinstance (out_contract , StandardAugmentedP2TR ):
604
+ if clause_output .next_state is None :
605
+ raise ValueError ("Missing data for augmented output" )
606
+ new_instance .data = clause_output .next_state .encode ()
607
+ new_instance .data_expanded = clause_output .next_state
611
608
612
- new_instance .last_height = instance .last_height
609
+ new_instance .last_height = instance .last_height
613
610
614
- new_instance .outpoint = COutPoint (int (tx .hash , 16 ), output_index )
615
- new_instance .funding_tx = tx
616
- new_instance .status = ContractInstanceStatus .FUNDED
611
+ new_instance .outpoint = COutPoint (int (tx .hash , 16 ), output_index )
612
+ new_instance .funding_tx = tx
613
+ new_instance .status = ContractInstanceStatus .FUNDED
617
614
618
- out_contracts [output_index ] = new_instance
615
+ out_contracts [output_index ] = new_instance
619
616
620
- next_instances .append (new_instance )
617
+ next_instances .append (new_instance )
618
+ elif isinstance (out_contract , (P2TR , OpaqueP2TR )):
619
+ continue # nothing to do, will not track this output
620
+ else :
621
+ raise ValueError ("Unsupported contract type" )
621
622
instance .next = next_instances
622
623
623
- result = list (out_contracts .values ())
624
+ result = [ out_contracts [ idx ] for idx in sorted (out_contracts .keys ())]
624
625
for instance in result :
625
626
self .add_instance (instance )
626
627
return result
0 commit comments