@@ -135,11 +135,10 @@ def destroy_mn(self, test: BitcoinTestFramework):
135135
136136class NetInfoTest (BitcoinTestFramework ):
137137 def set_test_params (self ):
138- self .num_nodes = 3
138+ self .num_nodes = 2
139139 self .extra_args = [[
140140 "-dip3params=2:2" , f"-vbparams=v23:{ self .mocktime } :999999999999:{ V23_ACTIVATION_THRESHOLD } :10:8:6:5:0"
141141 ] for _ in range (self .num_nodes )]
142- self .extra_args [2 ] += ["-deprecatedrpc=service" ]
143142
144143 def skip_test_if_missing_module (self ):
145144 self .skip_if_no_wallet ()
@@ -177,14 +176,12 @@ def run_test(self):
177176 self .node_two : EvoNode = EvoNode (self .nodes [1 ])
178177 self .node_two .generate_collateral (self )
179178 self .node_two .register_mn (self , True , "" , DEFAULT_PORT_PLATFORM_P2P , DEFAULT_PORT_PLATFORM_HTTP )
180- # Used to check deprecated field behavior
181- self .node_simple : TestNode = self .nodes [2 ]
182179 # Test routines
183180 self .log .info ("Test input validation for masternode address fields (pre-fork)" )
184181 self .test_validation_common ()
185182 self .test_validation_legacy ()
186183 self .log .info ("Test output masternode address fields for consistency (pre-fork)" )
187- self .test_deprecation ()
184+ self .test_fields ()
188185 self .log .info ("Mine blocks to activate DEPLOYMENT_V23" )
189186 self .activate_v23 ()
190187 self .log .info ("Test input validation for masternode address fields (post-fork)" )
@@ -361,7 +358,7 @@ def test_validation_extended(self):
361358 self .node_evo .register_mn (self , False , "127.0.0.1" , DEFAULT_PORT_PLATFORM_P2P , DEFAULT_PORT_PLATFORM_HTTP ,
362359 - 8 , "Error setting coreP2PAddrs[0] to '127.0.0.1' (invalid port)" )
363360
364- def test_deprecation (self ):
361+ def test_fields (self ):
365362 # netInfo is represented with JSON in CProRegTx, CProUpServTx, CDeterministicMNState and CSimplifiedMNListEntry,
366363 # so we need to test calls that rely on these underlying implementations. Start by collecting RPC responses.
367364 self .log .info ("Collect JSON RPC responses from node" )
@@ -374,12 +371,7 @@ def test_deprecation(self):
374371 self .node_evo .set_active_state (self , True )
375372 masternode_status = self .node_evo .node .masternode ('status' )
376373
377- # Generate deprecation-disabled response to avoid having to re-create a masternode again later on
378- self .node_evo .set_active_state (self , True , ['-deprecatedrpc=service' ])
379- self .reconnect_nodes ()
380- masternode_status_depr = self .node_evo .node .masternode ('status' )
381-
382- # Stop actively running the masternode so we can issue a CProUpServTx (and enable the deprecation)
374+ # Stop actively running the masternode so we can issue a CProUpServTx
383375 self .node_evo .set_active_state (self , False )
384376 self .reconnect_nodes ()
385377
@@ -411,13 +403,6 @@ def test_deprecation(self):
411403 protx_listdiff_rpc_pl = self .node_evo .node .protx ('listdiff' , proupservtx_height_pl - 1 , proupservtx_height_pl )
412404 protx_listdiff_rpc_pl = self .extract_from_listdiff (protx_listdiff_rpc_pl , proregtx_hash )
413405
414- self .log .info ("Test RPCs return an 'addresses' field" )
415- assert "addresses" in proregtx_rpc ['proRegTx' ].keys ()
416- assert "addresses" in masternode_status ['dmnState' ].keys ()
417- assert "addresses" in proupservtx_rpc ['proUpServTx' ].keys ()
418- assert "addresses" in protx_diff_rpc ['mnList' ][0 ].keys ()
419- assert "addresses" in protx_listdiff_rpc .keys ()
420-
421406 self .log .info ("Test 'addresses' report correctly" )
422407 self .check_netinfo_fields (proregtx_rpc ['proRegTx' ]['addresses' ], self .node_evo .mn .nodePort , DEFAULT_PORT_PLATFORM_HTTP , DEFAULT_PORT_PLATFORM_P2P )
423408 self .check_netinfo_fields (masternode_status ['dmnState' ]['addresses' ], self .node_evo .mn .nodePort , DEFAULT_PORT_PLATFORM_HTTP , DEFAULT_PORT_PLATFORM_P2P )
@@ -431,37 +416,10 @@ def test_deprecation(self):
431416 assert_equal (protx_listdiff_rpc_pl ['addresses' ]['platform_https' ][0 ], f"{ DMNSTATE_DIFF_DUMMY_ADDR } :{ DEFAULT_PORT_PLATFORM_HTTP + 10 } " )
432417 assert_equal (protx_listdiff_rpc_pl ['addresses' ]['platform_p2p' ][0 ], f"{ DMNSTATE_DIFF_DUMMY_ADDR } :{ DEFAULT_PORT_PLATFORM_P2P + 10 } " )
433418
434- self .log .info ("Test RPCs by default no longer return a 'service' field" )
435- assert "service" not in proregtx_rpc ['proRegTx' ].keys ()
436- assert "service" not in masternode_status ['dmnState' ].keys ()
437- assert "service" not in proupservtx_rpc ['proUpServTx' ].keys ()
438- assert "service" not in protx_diff_rpc ['mnList' ][0 ].keys ()
439- assert "service" not in protx_listdiff_rpc .keys ()
440- # "service" in "masternode status" is exempt from the deprecation as the primary address is
441- # relevant on the host node as opposed to expressing payload information in most other RPCs.
442- assert "service" in masternode_status .keys ()
443-
444419 # Shut down masternode
445420 self .node_evo .destroy_mn (self )
446421 self .reconnect_nodes ()
447422
448- self .log .info ("Collect RPC responses from node with -deprecatedrpc=service" )
449-
450- # Re-use chain activity from earlier
451- proregtx_rpc = self .node_simple .getrawtransaction (proregtx_hash , True )
452- proupservtx_rpc = self .node_simple .getrawtransaction (proupservtx_hash , True )
453- protx_diff_rpc = self .node_simple .protx ('diff' , masternode_active_height - 1 , masternode_active_height )
454- masternode_status = masternode_status_depr # Pull in response generated from earlier
455- protx_listdiff_rpc = self .node_simple .protx ('listdiff' , proupservtx_height - 1 , proupservtx_height )
456- protx_listdiff_rpc = self .extract_from_listdiff (protx_listdiff_rpc , proregtx_hash )
457-
458- self .log .info ("Test RPCs return 'service' with -deprecatedrpc=service" )
459- assert "service" in proregtx_rpc ['proRegTx' ].keys ()
460- assert "service" in masternode_status ['dmnState' ].keys ()
461- assert "service" in proupservtx_rpc ['proUpServTx' ].keys ()
462- assert "service" in protx_diff_rpc ['mnList' ][0 ].keys ()
463- assert "service" in protx_listdiff_rpc .keys ()
464-
465423 def test_empty_fields (self ):
466424 def empty_common (grt_dict ):
467425 # Even if '[::]:0' is reported by 'service', 'addresses' should always be blank if we have nothing to report
@@ -471,7 +429,7 @@ def empty_common(grt_dict):
471429 assert_equal (grt_dict ['service' ], "[::]:0" )
472430
473431 # Validate that our masternode was registered before the fork
474- grt_proregtx = self .node_simple .getrawtransaction (self .node_two .mn .proTxHash , True )['proRegTx' ]
432+ grt_proregtx = self .node_two . node .getrawtransaction (self .node_two .mn .proTxHash , True )['proRegTx' ]
475433 assert_equal (grt_proregtx ['version' ], PROTXVER_BASIC )
476434
477435 # Test reporting on legacy address (i.e. basic BLS and earlier) nodes
@@ -487,7 +445,7 @@ def empty_common(grt_dict):
487445 self .node_two .register_mn (self , True , "" , "" , "" )
488446
489447 # Validate that masternode uses extended addresses
490- grt_proregtx = self .node_simple .getrawtransaction (self .node_two .mn .proTxHash , True )['proRegTx' ]
448+ grt_proregtx = self .node_two . node .getrawtransaction (self .node_two .mn .proTxHash , True )['proRegTx' ]
491449 assert_equal (grt_proregtx ['version' ], PROTXVER_EXTADDR )
492450
493451 # Test reporting for extended addresses
@@ -507,7 +465,7 @@ def empty_common(grt_dict):
507465 def test_shims (self ):
508466 # There are two shims there to help with migrating between legacy and extended addresses, one reads from legacy platform
509467 # fields to ensure 'addresses' is adequately populated. The other, reads from netInfo to populate platform{HTTP,P2P}Port.
510- # As the fork is now active, we can now evaluate the test cases that couldn't be evaluated in test_deprecation ().
468+ # As the fork is now active, we can now evaluate the test cases that couldn't be evaluated in test_fields ().
511469 self .log .info ("Collect JSON RPC responses from node" )
512470
513471 # Create an masternode that clearly uses extended addresses (hello IPv6!)
@@ -545,16 +503,13 @@ def test_shims(self):
545503 # platform{HTTP,P2P}Port *won't* be populated by listdiff as that *field* is now unused and it's dangerous to report "updates" to disused fields
546504 assert "platformP2PPort" not in protx_listdiff_rpc .keys ()
547505 assert "platformHTTPPort" not in protx_listdiff_rpc .keys ()
506+ # Check that 'service' correctly reports as coreP2PAddrs[0]
507+ assert_equal (proregtx_rpc ['proRegTx' ]['service' ], f"127.0.0.1:{ self .node_evo .mn .nodePort } " )
508+ assert_equal (proupservtx_rpc ['proUpServTx' ]['service' ], f"127.0.0.1:{ self .node_evo .mn .nodePort } " )
548509
549510 # Restart the client to see if (de)ser works as intended (CDeterministicMNStateDiff is a special case and we just made an update)
550511 self .node_evo .set_active_state (self , False )
551512 self .reconnect_nodes ()
552513
553- # Check that 'service' correctly reports as coreP2PAddrs[0]
554- proregtx_rpc = self .node_simple .getrawtransaction (proregtx_hash , True )
555- proupservtx_rpc = self .node_simple .getrawtransaction (proupservtx_hash , True )
556- assert_equal (proregtx_rpc ['proRegTx' ]['service' ], f"127.0.0.1:{ self .node_evo .mn .nodePort } " )
557- assert_equal (proupservtx_rpc ['proUpServTx' ]['service' ], f"127.0.0.1:{ self .node_evo .mn .nodePort } " )
558-
559514if __name__ == "__main__" :
560515 NetInfoTest ().main ()
0 commit comments