1313from test_framework .blocktools import create_block_with_mnpayments
1414from test_framework .messages import tx_from_hex
1515from test_framework .test_framework import (
16+ MASTERNODE_COLLATERAL ,
1617 BitcoinTestFramework ,
1718 MasternodeInfo ,
1819)
@@ -49,7 +50,7 @@ def start_controller_node(self):
4950
5051 def run_test (self ):
5152 self .log .info ("funding controller node" )
52- while self .nodes [0 ].getbalance () < (self .num_initial_mn + 3 ) * 1000 :
53+ while self .nodes [0 ].getbalance () < (self .num_initial_mn + 3 ) * MASTERNODE_COLLATERAL :
5354 self .generate (self .nodes [0 ], 10 , sync_fun = self .no_op ) # generate enough for collaterals
5455 self .log .info ("controller node has {} dash" .format (self .nodes [0 ].getbalance ()))
5556
@@ -228,34 +229,17 @@ def prepare_mn(self, node, idx, alias) -> MasternodeInfo:
228229 return mn
229230
230231 def create_mn_collateral (self , node , mn : MasternodeInfo ):
231- txid = node .sendtoaddress (mn .collateral_address , 1000 )
232- vout = None
233-
232+ txid = node .sendtoaddress (mn .collateral_address , mn .get_collateral_value ())
234233 self .generate (node , 1 , sync_fun = self .no_op )
235- rawtx = node .getrawtransaction (txid , 1 )
236- for txout in rawtx ['vout' ]:
237- if txout ['value' ] == Decimal (1000 ):
238- vout = txout ['n' ]
239- break
240- assert vout is not None
241-
234+ vout = mn .get_collateral_vout (node , txid )
242235 mn .set_params (collateral_txid = txid , collateral_vout = vout )
243236
244237 # register a protx MN and also fund it (using collateral inside ProRegTx)
245238 def register_fund_mn (self , node , mn : MasternodeInfo ):
246- node .sendtoaddress (mn .fundsAddr , 1000.001 )
247-
248- proTxHash = node .protx ('register_fund' if softfork_active (node , 'v19' ) else 'register_fund_legacy' , mn .collateral_address , '127.0.0.1:%d' % mn .nodePort , mn .ownerAddr , mn .pubKeyOperator , mn .votingAddr , mn .operator_reward , mn .rewards_address , mn .fundsAddr )
249- vout = None
250-
251- rawtx = node .getrawtransaction (proTxHash , 1 )
252- for txout in rawtx ['vout' ]:
253- if txout ['value' ] == Decimal (1000 ):
254- vout = txout ['n' ]
255- break
256- assert vout is not None
257-
258- mn .set_params (proTxHash = proTxHash , collateral_txid = proTxHash , collateral_vout = vout )
239+ node .sendtoaddress (mn .fundsAddr , mn .get_collateral_value () + 0.001 )
240+ txid = node .protx ('register_fund' if softfork_active (node , 'v19' ) else 'register_fund_legacy' , mn .collateral_address , '127.0.0.1:%d' % mn .nodePort , mn .ownerAddr , mn .pubKeyOperator , mn .votingAddr , mn .operator_reward , mn .rewards_address , mn .fundsAddr )
241+ vout = mn .get_collateral_vout (node , txid )
242+ mn .set_params (proTxHash = txid , collateral_txid = txid , collateral_vout = vout )
259243
260244 # create a protx MN which refers to an existing collateral
261245 def register_mn (self , node , mn : MasternodeInfo ):
@@ -275,7 +259,7 @@ def start_mn(self, mn: MasternodeInfo):
275259 self .sync_all ()
276260
277261 def spend_mn_collateral (self , mn : MasternodeInfo , with_dummy_input_output = False ):
278- return self .spend_input (mn .collateral_txid , mn .collateral_vout , 1000 , with_dummy_input_output )
262+ return self .spend_input (mn .collateral_txid , mn .collateral_vout , mn . get_collateral_value () , with_dummy_input_output )
279263
280264 def update_mn_payee (self , mn : MasternodeInfo , payee ):
281265 self .nodes [0 ].sendtoaddress (mn .fundsAddr , 0.001 )
0 commit comments