@@ -2807,12 +2807,15 @@ def test_sign_tx_case(jadeapi, txn_data):
2807
2807
expected_output = txn_data .get ('expected_output' )
2808
2808
expected_error = txn_data .get ('expected_error' )
2809
2809
assert expected_output or expected_error
2810
+ use_ae_signatures = inputdata .get ('use_ae_signatures' )
2811
+ use_legacy_flow = not use_ae_signatures and not args .no_legacy_flow
2810
2812
try :
2811
2813
rslt = jadeapi .sign_tx (inputdata ['network' ],
2812
2814
inputdata ['txn' ],
2813
2815
inputdata ['inputs' ],
2814
2816
inputdata ['change' ],
2815
- inputdata .get ('use_ae_signatures' ))
2817
+ use_ae_signatures ,
2818
+ use_legacy_flow )
2816
2819
assert not expected_error , f"Expected an error in { txn_data ['filename' ]} "
2817
2820
# Check returned signatures
2818
2821
_check_tx_signatures (jadeapi , txn_data , rslt )
@@ -2821,8 +2824,10 @@ def test_sign_tx_case(jadeapi, txn_data):
2821
2824
if err .message != expected_error :
2822
2825
assert False , f"Wrong error '{ err .message } ' in { txn_data ['filename' ]} "
2823
2826
2824
- for i in range (txn_data .get ('extra_responses' , 0 )):
2825
- logger .debug (jadeapi .jade .read_response ())
2827
+ if use_legacy_flow :
2828
+ # Only the legacy flow returns extra responses
2829
+ for i in range (txn_data .get ('extra_responses' , 0 )):
2830
+ logger .debug (jadeapi .jade .read_response ())
2826
2831
2827
2832
2828
2833
def test_sign_tx (jadeapi , pattern ):
@@ -2832,8 +2837,7 @@ def test_sign_tx(jadeapi, pattern):
2832
2837
test_sign_tx_case (jadeapi , txn_data )
2833
2838
2834
2839
if 'expected_legacy_output' in txn_data and 'expected_error' not in txn_data :
2835
- # Test case has legacy signing results, test them also.
2836
- # TODO: Remove this once legacy signing is removed.
2840
+ # Test case has non-Anti-exfil signing results, test them also.
2837
2841
txn_data ['input' ]['use_ae_signatures' ] = False
2838
2842
for txinput in txn_data ['input' ]['inputs' ]:
2839
2843
for k in ['ae_host_commitment' , 'ae_host_entropy' ]:
@@ -3257,12 +3261,14 @@ def test_generic_multisig_matches_ga_signatures(jadeapi):
3257
3261
change ['paths' ] = [path [- 1 :]] * 2
3258
3262
change ['multisig_name' ] = ga_2of2_multisig_name
3259
3263
3264
+ use_ae_signatures = inputdata .get ('use_ae_signatures' )
3265
+ use_legacy_flow = not use_ae_signatures and not args .no_legacy_flow
3260
3266
rslt = jadeapi .sign_tx (inputdata ['network' ],
3261
3267
inputdata ['txn' ],
3262
3268
inputdata .get ('inputs' ),
3263
3269
inputdata ['change' ],
3264
- inputdata . get ( ' use_ae_signatures' ) ,
3265
- )
3270
+ use_ae_signatures ,
3271
+ use_legacy_flow )
3266
3272
3267
3273
# Check returned signatures
3268
3274
_check_tx_signatures (jadeapi , ga_msig , rslt )
@@ -4125,6 +4131,11 @@ def kill_agent(btagent):
4125
4131
dest = "qemu" ,
4126
4132
help = "Skip tests which appear problematic on qemu hw emulator" ,
4127
4133
default = False )
4134
+ parser .add_argument ("--nolegacyflow" ,
4135
+ action = "store_true" ,
4136
+ dest = "no_legacy_flow" ,
4137
+ help = "Do not use the legacy sign_tx flow (use the AE flow instead)" ,
4138
+ default = False )
4128
4139
parser .add_argument ("--log" ,
4129
4140
action = "store" ,
4130
4141
dest = "loglevel" ,
0 commit comments