@@ -105,7 +105,19 @@ def run_test(self):
105
105
assert_raises_rpc_error (- 8 , "Invalid parameter, missing vout key" , self .nodes [0 ].createrawtransaction , [{'txid' : txid }], {})
106
106
assert_raises_rpc_error (- 8 , "Invalid parameter, missing vout key" , self .nodes [0 ].createrawtransaction , [{'txid' : txid , 'vout' : 'foo' }], {})
107
107
assert_raises_rpc_error (- 8 , "Invalid parameter, vout cannot be negative" , self .nodes [0 ].createrawtransaction , [{'txid' : txid , 'vout' : - 1 }], {})
108
- assert_raises_rpc_error (- 8 , "Invalid parameter, sequence number is out of range" , self .nodes [0 ].createrawtransaction , [{'txid' : txid , 'vout' : 0 , 'sequence' : - 1 }], {})
108
+ # sequence number out of range
109
+ for invalid_seq in [- 1 , 4294967296 ]:
110
+ inputs = [{'txid' : txid , 'vout' : 1 , 'sequence' : invalid_seq }]
111
+ outputs = {self .nodes [0 ].getnewaddress (): 1 }
112
+ assert_raises_rpc_error (- 8 , 'Invalid parameter, sequence number is out of range' ,
113
+ self .nodes [0 ].createrawtransaction , inputs , outputs )
114
+ # with valid sequence number
115
+ for valid_seq in [1000 , 4294967294 ]:
116
+ inputs = [{'txid' : txid , 'vout' : 1 , 'sequence' : valid_seq }]
117
+ outputs = {self .nodes [0 ].getnewaddress (): 1 }
118
+ rawtx = self .nodes [0 ].createrawtransaction (inputs , outputs )
119
+ decrawtx = self .nodes [0 ].decoderawtransaction (rawtx )
120
+ assert_equal (decrawtx ['vin' ][0 ]['sequence' ], valid_seq )
109
121
110
122
# Test `createrawtransaction` invalid `outputs`
111
123
address = self .nodes [0 ].getnewaddress ()
@@ -437,28 +449,6 @@ def run_test(self):
437
449
# 8. invalid parameters - supply txid and empty dict
438
450
assert_raises_rpc_error (- 1 , "not a boolean" , self .nodes [0 ].getrawtransaction , txId , {})
439
451
440
- inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000" , 'vout' : 1 , 'sequence' : 1000 }]
441
- outputs = { self .nodes [0 ].getnewaddress () : 1 }
442
- rawtx = self .nodes [0 ].createrawtransaction (inputs , outputs )
443
- decrawtx = self .nodes [0 ].decoderawtransaction (rawtx )
444
- assert_equal (decrawtx ['vin' ][0 ]['sequence' ], 1000 )
445
-
446
- # 9. invalid parameters - sequence number out of range
447
- inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000" , 'vout' : 1 , 'sequence' : - 1 }]
448
- outputs = { self .nodes [0 ].getnewaddress () : 1 }
449
- assert_raises_rpc_error (- 8 , 'Invalid parameter, sequence number is out of range' , self .nodes [0 ].createrawtransaction , inputs , outputs )
450
-
451
- # 10. invalid parameters - sequence number out of range
452
- inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000" , 'vout' : 1 , 'sequence' : 4294967296 }]
453
- outputs = { self .nodes [0 ].getnewaddress () : 1 }
454
- assert_raises_rpc_error (- 8 , 'Invalid parameter, sequence number is out of range' , self .nodes [0 ].createrawtransaction , inputs , outputs )
455
-
456
- inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000" , 'vout' : 1 , 'sequence' : 4294967294 }]
457
- outputs = { self .nodes [0 ].getnewaddress () : 1 }
458
- rawtx = self .nodes [0 ].createrawtransaction (inputs , outputs )
459
- decrawtx = self .nodes [0 ].decoderawtransaction (rawtx )
460
- assert_equal (decrawtx ['vin' ][0 ]['sequence' ], 4294967294 )
461
-
462
452
####################################
463
453
# TRANSACTION VERSION NUMBER TESTS #
464
454
####################################
0 commit comments