@@ -1072,8 +1072,7 @@ def setupDMN(self,
10721072 collateralAdd = mnOwner .getnewaddress ("dmn" )
10731073 ipport = "127.0.0.1:" + str (p2p_port (mnRemotePos ))
10741074 ownerAdd = mnOwner .getnewaddress ("dmn_owner" )
1075- operatorAdd = mnOwner .getnewaddress ("dmn_operator" )
1076- operatorKey = mnOwner .dumpprivkey (operatorAdd )
1075+ bls_keypair = mnOwner .generateblskeypair ()
10771076 votingAdd = mnOwner .getnewaddress ("dmn_voting" )
10781077 if strType == "fund" :
10791078 # send to the owner the collateral tx cost + some dust for the ProReg and fee
@@ -1083,7 +1082,7 @@ def setupDMN(self,
10831082 assert_greater_than (mnOwner .getrawtransaction (fundingTxId , 1 )["confirmations" ], 0 )
10841083 # create and send the ProRegTx funding the collateral
10851084 proTxId = mnOwner .protx_register_fund (collateralAdd , ipport , ownerAdd ,
1086- operatorAdd , votingAdd , collateralAdd )
1085+ bls_keypair [ "public" ] , votingAdd , collateralAdd )
10871086 elif strType == "internal" :
10881087 mnOwner .getnewaddress ("dust" )
10891088 # send to the owner the collateral tx cost + some dust for the ProReg and fee
@@ -1100,13 +1099,13 @@ def setupDMN(self,
11001099 assert_greater_than (collateralTxId_n , - 1 )
11011100 assert_greater_than (json_tx ["confirmations" ], 0 )
11021101 proTxId = mnOwner .protx_register (collateralTxId , collateralTxId_n , ipport , ownerAdd ,
1103- operatorAdd , votingAdd , collateralAdd )
1102+ bls_keypair [ "public" ] , votingAdd , collateralAdd )
11041103 elif strType == "external" :
11051104 self .log .info ("Setting up ProRegTx with collateral externally-signed..." )
11061105 # send the tx from the miner
11071106 payoutAdd = mnOwner .getnewaddress ("payout" )
11081107 register_res = miner .protx_register_prepare (outpoint .hash , outpoint .n , ipport , ownerAdd ,
1109- operatorAdd , votingAdd , payoutAdd )
1108+ bls_keypair [ "public" ] , votingAdd , payoutAdd )
11101109 self .log .info ("ProTx prepared" )
11111110 message_to_sign = register_res ["signMessage" ]
11121111 collateralAdd = register_res ["collateralAddress" ]
@@ -1121,7 +1120,7 @@ def setupDMN(self,
11211120 self .stake_and_sync (self .nodes .index (miner ), 1 )
11221121 assert_greater_than (self .nodes [mnRemotePos ].getrawtransaction (proTxId , 1 )["confirmations" ], 0 )
11231122 assert proTxId in self .nodes [mnRemotePos ].protx_list (False )
1124- return proTxId , operatorKey
1123+ return proTxId , bls_keypair [ "secret" ]
11251124
11261125 def setupMasternode (self ,
11271126 mnOwner ,
@@ -1188,10 +1187,10 @@ def protx_register_fund(self, miner, controller, dmn, collateral_addr, op_rew=No
11881187 # create and send the ProRegTx funding the collateral
11891188 if op_rew is None :
11901189 dmn .proTx = controller .protx_register_fund (collateral_addr , dmn .ipport , dmn .owner ,
1191- dmn .operator , dmn .voting , dmn .payee )
1190+ dmn .operator_pk , dmn .voting , dmn .payee )
11921191 else :
11931192 dmn .proTx = controller .protx_register_fund (collateral_addr , dmn .ipport , dmn .owner ,
1194- dmn .operator , dmn .voting , dmn .payee ,
1193+ dmn .operator_pk , dmn .voting , dmn .payee ,
11951194 op_rew ["reward" ], op_rew ["address" ])
11961195 dmn .collateral = COutPoint (int (dmn .proTx , 16 ),
11971196 get_collateral_vout (controller .getrawtransaction (dmn .proTx , True )))
@@ -1213,7 +1212,7 @@ def protx_register(self, miner, controller, dmn, collateral_addr):
12131212 # create and send the ProRegTx
12141213 dmn .collateral = COutPoint (int (funding_txid , 16 ), get_collateral_vout (json_tx ))
12151214 dmn .proTx = controller .protx_register (funding_txid , dmn .collateral .n , dmn .ipport , dmn .owner ,
1216- dmn .operator , dmn .voting , dmn .payee )
1215+ dmn .operator_pk , dmn .voting , dmn .payee )
12171216
12181217 """
12191218 Create a ProReg tx, referencing a collateral signed externally (eg. HW wallets).
@@ -1232,7 +1231,7 @@ def protx_register_ext(self, miner, controller, dmn, outpoint, fSubmit):
12321231 dmn .collateral = outpoint
12331232 # Prepare the message to be signed externally by the owner of the collateral (the controller)
12341233 reg_tx = miner .protx_register_prepare ("%064x" % outpoint .hash , outpoint .n , dmn .ipport , dmn .owner ,
1235- dmn .operator , dmn .voting , dmn .payee )
1234+ dmn .operator_pk , dmn .voting , dmn .payee )
12361235 sig = controller .signmessage (reg_tx ["collateralAddress" ], reg_tx ["signMessage" ])
12371236 if fSubmit :
12381237 dmn .proTx = miner .protx_register_submit (reg_tx ["tx" ], sig )
@@ -1248,12 +1247,12 @@ def protx_register_ext(self, miner, controller, dmn, outpoint, fSubmit):
12481247 outpoint: (COutPoint) collateral outpoint to be used with "external".
12491248 It must be owned by the controller (proTx is sent from the miner).
12501249 If not provided, a new utxo is created, sending it from the miner.
1251- op_addr_and_key : (list of strings) List with two entries, operator address (0) and private key (1).
1250+ op_blskeys : (list of strings) List with two entries, operator public (0) and private (1) key .
12521251 If not provided, a new address-key pair is generated.
12531252 :return: dmn: (Masternode) the deterministic masternode object
12541253 """
12551254 def register_new_dmn (self , idx , miner_idx , controller_idx , strType ,
1256- payout_addr = None , outpoint = None , op_addr_and_key = None ):
1255+ payout_addr = None , outpoint = None , op_blskeys = None ):
12571256 # Prepare remote node
12581257 assert idx != miner_idx
12591258 assert idx != controller_idx
@@ -1265,7 +1264,7 @@ def register_new_dmn(self, idx, miner_idx, controller_idx, strType,
12651264 collateral_addr = controller_node .getnewaddress ("mncollateral-%d" % idx )
12661265 if payout_addr is None :
12671266 payout_addr = collateral_addr
1268- dmn = create_new_dmn (idx , controller_node , payout_addr , op_addr_and_key )
1267+ dmn = create_new_dmn (idx , controller_node , payout_addr , op_blskeys )
12691268
12701269 # Create ProRegTx
12711270 self .log .info ("Creating%s proRegTx for deterministic masternode idx=%d..." % (
@@ -1315,7 +1314,7 @@ def check_mn_list_on_node(self, idx, mns):
13151314 mn2 = protxs [mn .proTx ]
13161315 collateral = mn .collateral .to_json ()
13171316 assert_equal (mn .owner , mn2 ["dmnstate" ]["ownerAddress" ])
1318- assert_equal (mn .operator , mn2 ["dmnstate" ]["operatorAddress " ])
1317+ assert_equal (mn .operator_pk , mn2 ["dmnstate" ]["operatorPubKey " ])
13191318 assert_equal (mn .voting , mn2 ["dmnstate" ]["votingAddress" ])
13201319 assert_equal (mn .ipport , mn2 ["dmnstate" ]["service" ])
13211320 assert_equal (mn .payee , mn2 ["dmnstate" ]["payoutAddress" ])
@@ -1334,7 +1333,7 @@ def check_proreg_payload(self, dmn, json_tx):
13341333 assert_equal (pl ["service" ], dmn .ipport )
13351334 assert_equal (pl ["ownerAddress" ], dmn .owner )
13361335 assert_equal (pl ["votingAddress" ], dmn .voting )
1337- assert_equal (pl ["operatorAddress " ], dmn .operator )
1336+ assert_equal (pl ["operatorPubKey " ], dmn .operator_pk )
13381337 assert_equal (pl ["payoutAddress" ], dmn .payee )
13391338
13401339
0 commit comments