Browse Source

cmdtest ethdev: use single dev address for all daemons

The MMGen Project 6 days ago
parent
commit
21fb6a8195

+ 0 - 1
MANIFEST.in

@@ -17,7 +17,6 @@ include test/*/*/*.py
 include test/ref/*
 include test/ref/*/*
 include test/ref/*/*/*/*
-include test/ref/*/*/*/*/*
 include test/overlay/fakemods/mmgen/*.py
 include test/overlay/fakemods/mmgen/*/*.py
 include test/overlay/fakemods/mmgen/*/*/*/*.py

+ 26 - 7
test/cmdtest_d/ethdev.py

@@ -81,6 +81,9 @@ def get_reth_dev_keypair(cfg):
 	node = m.to_chain(idx=0, coin='eth').derive_private(0)
 	return (node.key.hex(), node.address)
 
+reth_dev_amt = 1_000_000
+reth_devkey_fn = 'reth.devkey'
+
 burn_addr  = 'deadbeef'*5
 burn_addr2 = 'beadcafe'*5
 
@@ -446,7 +449,9 @@ class CmdTestEthdev(CmdTestBase, CmdTestShared, CmdTestEthdevMethods):
 		('addrgen',                 'generating addresses'),
 		('addrimport',              'importing addresses'),
 		('addrimport_devaddr',      'importing the dev address'),
+		('addrimport_reth_devaddr', 'importing the reth dev address'),
 		('fund_devaddr',            'funding the dev address'),
+		('del_reth_devaddr',        'deleting the reth dev address'),
 		('cli_dev_balance',         'mmgen-cli eth_getBalance'),
 	),
 	'msg': (
@@ -673,8 +678,9 @@ class CmdTestEthdev(CmdTestBase, CmdTestShared, CmdTestEthdevMethods):
 		self.daemon = CoinDaemon(cfg, network_id=self.proto.coin+'_rt', test_suite=True)
 
 		if self.daemon.id == 'reth':
-			global dfl_devkey, dfl_devaddr
-			dfl_devkey, dfl_devaddr = get_reth_dev_keypair(cfg)
+			global reth_devkey, reth_devaddr
+			reth_devkey, reth_devaddr = get_reth_dev_keypair(cfg)
+			write_to_file(joinpath(self.tmpdir, reth_devkey_fn), reth_devkey+'\n')
 
 		set_vbals(self.daemon.id)
 
@@ -709,8 +715,7 @@ class CmdTestEthdev(CmdTestBase, CmdTestShared, CmdTestEthdevMethods):
 		d = self.daemon
 
 		if not self.using_solc:
-			subdir = 'reth' if d.id == 'reth' else 'geth'
-			srcdir = os.path.join(self.tr.repo_root, 'test', 'ref', 'ethereum', 'bin', subdir)
+			srcdir = os.path.join(self.tr.repo_root, 'test', 'ref', 'ethereum', 'bin')
 			from shutil import copytree
 			for _ in ('mm1', 'mm2'):
 				copytree(os.path.join(srcdir, _), os.path.join(self.tmpdir, _))
@@ -846,13 +851,14 @@ class CmdTestEthdev(CmdTestBase, CmdTestShared, CmdTestEthdevMethods):
 		return t
 
 	def cli_dev_balance(self):
+		self.mining_delay()
 		t = self.spawn(
 			'mmgen-cli',
 			[f'--coin={self.proto.coin}', '--regtest=1', 'eth_getBalance', '0x'+dfl_devaddr, 'latest'])
 		if self.daemon.id == 'geth':
 			t.expect('0x33b2e3c91ec0e9113986000')
 		elif self.daemon.id == 'reth':
-			t.expect('0xd3c21bcecceda1000000')
+			t.expect('0xd3c21bab45fb313f0000')
 		return t
 
 	async def _wallet_upgrade(self, src_fn, expect1, expect2=None):
@@ -907,6 +913,11 @@ class CmdTestEthdev(CmdTestBase, CmdTestShared, CmdTestEthdevMethods):
 	def addrimport_devaddr(self):
 		return self._addrimport_one_addr(addr=dfl_devaddr)
 
+	def addrimport_reth_devaddr(self):
+		if not self.daemon.id == 'reth':
+			return 'silent'
+		return self._addrimport_one_addr(addr=reth_devaddr)
+
 	def addrimport_burn_addr(self):
 		return self._addrimport_one_addr(addr=burn_addr)
 
@@ -991,11 +1002,14 @@ class CmdTestEthdev(CmdTestBase, CmdTestShared, CmdTestEthdevMethods):
 
 	def fund_devaddr(self):
 		"""
-		For Erigon, fund the default (Parity) dev address from the Erigon dev address
+		For Reth, fund the default (Parity) dev address from the Reth dev address
 		For the others, send a junk TX to keep block counts equal for all daemons
 		"""
 		dt = namedtuple('data', ['devkey_fn', 'dest', 'amt'])
-		d = dt(dfl_devkey_fn, burn_addr2, '1')
+		if self.daemon.id == 'reth':
+			d = dt(reth_devkey_fn, dfl_devaddr, Decimal(reth_dev_amt) - Decimal('0.01'))
+		else:
+			d = dt(dfl_devkey_fn, burn_addr2, '1')
 		t = self.txcreate(
 			args    = self.eth_opts_noquiet + [
 				f'--keys-from-file={joinpath(self.tmpdir, d.devkey_fn)}',
@@ -1010,6 +1024,11 @@ class CmdTestEthdev(CmdTestBase, CmdTestShared, CmdTestEthdevMethods):
 		self.get_file_with_ext('sigtx', delete_all=True)
 		return t
 
+	def del_reth_devaddr(self):
+		if not self.daemon.id == 'reth':
+			return 'silent'
+		return self._del_addr(reth_devaddr)
+
 	def txcreate1(self):
 		# include one invalid keypress 'X' -- see EthereumTwUnspentOutputs.key_mappings
 		menu = ['a', 'd', 'r', 'M', 'X', 'e', 'm', 'm']

+ 0 - 0
test/ref/ethereum/bin/geth/mm1/ERC20Interface.bin → test/ref/ethereum/bin/mm1/ERC20Interface.bin


+ 0 - 0
test/ref/ethereum/bin/geth/mm1/Owned.bin → test/ref/ethereum/bin/mm1/Owned.bin


+ 0 - 0
test/ref/ethereum/bin/geth/mm1/SafeMath.bin → test/ref/ethereum/bin/mm1/SafeMath.bin


+ 0 - 0
test/ref/ethereum/bin/geth/mm1/Token.bin → test/ref/ethereum/bin/mm1/Token.bin


+ 0 - 0
test/ref/ethereum/bin/geth/mm2/ERC20Interface.bin → test/ref/ethereum/bin/mm2/ERC20Interface.bin


+ 0 - 0
test/ref/ethereum/bin/geth/mm2/Owned.bin → test/ref/ethereum/bin/mm2/Owned.bin


+ 0 - 0
test/ref/ethereum/bin/geth/mm2/SafeMath.bin → test/ref/ethereum/bin/mm2/SafeMath.bin


+ 0 - 0
test/ref/ethereum/bin/geth/mm2/Token.bin → test/ref/ethereum/bin/mm2/Token.bin


+ 0 - 0
test/ref/ethereum/bin/reth/mm1/ERC20Interface.bin


+ 0 - 1
test/ref/ethereum/bin/reth/mm1/Owned.bin

@@ -1 +0,0 @@
-6080604052348015600f57600080fd5b50600080546001600160a01b031916331790556101ca806100316000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806379ba5097146100515780638da5cb5b1461005b578063d4ee1d901461008a578063f2fde38b1461009d575b600080fd5b6100596100b0565b005b60005461006e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461006e906001600160a01b031681565b6100596100ab366004610164565b61012b565b6001546001600160a01b031633146100c757600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461014257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561017657600080fd5b81356001600160a01b038116811461018d57600080fd5b939250505056fea2646970667358221220bcd3e32a06d3bc97ce1339e72449373355373643c31c80385ca5f89938aca39c64736f6c634300081a0033

+ 0 - 1
test/ref/ethereum/bin/reth/mm1/SafeMath.bin

@@ -1 +0,0 @@
-6080604052348015600f57600080fd5b506102018061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063a293d1e814610051578063b5931f7c14610076578063d05c78da14610089578063e6cb90131461009c575b600080fd5b61006461005f366004610134565b6100af565b60405190815260200160405180910390f35b610064610084366004610134565b6100cf565b610064610097366004610134565b6100e7565b6100646100aa366004610134565b610119565b6000828211156100be57600080fd5b6100c8828461016c565b9392505050565b60008082116100dd57600080fd5b6100c8828461017f565b60006100f382846101a1565b905082158061010a575081610108848361017f565b145b61011357600080fd5b92915050565b600061012582846101b8565b90508281101561011357600080fd5b6000806040838503121561014757600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b8181038181111561011357610113610156565b60008261019c57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761011357610113610156565b808201808211156101135761011361015656fea264697066735822122081e009254874ff32aa4fa09f9d8a315bf6a4e9e870bfb5d8b4e6611f659ed84964736f6c634300081a0033

File diff suppressed because it is too large
+ 0 - 0
test/ref/ethereum/bin/reth/mm1/Token.bin


+ 0 - 0
test/ref/ethereum/bin/reth/mm2/ERC20Interface.bin


+ 0 - 1
test/ref/ethereum/bin/reth/mm2/Owned.bin

@@ -1 +0,0 @@
-6080604052348015600f57600080fd5b50600080546001600160a01b031916331790556101ca806100316000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806379ba5097146100515780638da5cb5b1461005b578063d4ee1d901461008a578063f2fde38b1461009d575b600080fd5b6100596100b0565b005b60005461006e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461006e906001600160a01b031681565b6100596100ab366004610164565b61012b565b6001546001600160a01b031633146100c757600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461014257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561017657600080fd5b81356001600160a01b038116811461018d57600080fd5b939250505056fea2646970667358221220099e0ef07629964c2926acd072d60ab552ff4e436a34052b97f44c2afb36e84664736f6c634300081a0033

+ 0 - 1
test/ref/ethereum/bin/reth/mm2/SafeMath.bin

@@ -1 +0,0 @@
-6080604052348015600f57600080fd5b506102018061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063a293d1e814610051578063b5931f7c14610076578063d05c78da14610089578063e6cb90131461009c575b600080fd5b61006461005f366004610134565b6100af565b60405190815260200160405180910390f35b610064610084366004610134565b6100cf565b610064610097366004610134565b6100e7565b6100646100aa366004610134565b610119565b6000828211156100be57600080fd5b6100c8828461016c565b9392505050565b60008082116100dd57600080fd5b6100c8828461017f565b60006100f382846101a1565b905082158061010a575081610108848361017f565b145b61011357600080fd5b92915050565b600061012582846101b8565b90508281101561011357600080fd5b6000806040838503121561014757600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b8181038181111561011357610113610156565b60008261019c57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761011357610113610156565b808201808211156101135761011361015656fea264697066735822122045f0003b01e5d932310b9838629204723acd115b8e8d8a25145a9d08e21cce6164736f6c634300081a0033

File diff suppressed because it is too large
+ 0 - 0
test/ref/ethereum/bin/reth/mm2/Token.bin


Some files were not shown because too many files changed in this diff