Browse Source

test.py ethdev: update solc to v0.8.7, update precompiled contract data

The MMGen Project 3 years ago
parent
commit
eaeeef97c0

+ 14 - 14
scripts/create-token.py

@@ -30,7 +30,7 @@ class TokenData:
 
 
 token_data = TokenData()
 token_data = TokenData()
 
 
-req_solc_ver_pat = '^0.5.2'
+req_solc_ver_pat = '^0.8.6'
 
 
 opts_data = {
 opts_data = {
 	'text': {
 	'text': {
@@ -79,13 +79,13 @@ contract SafeMath {
     }
     }
 }
 }
 
 
-contract ERC20Interface {
-    function totalSupply() public returns (uint);
-    function balanceOf(address tokenOwner) public returns (uint balance);
-    function allowance(address tokenOwner, address spender) public returns (uint remaining);
-    function transfer(address to, uint tokens) public returns (bool success);
-    function approve(address spender, uint tokens) public returns (bool success);
-    function transferFrom(address from, address to, uint tokens) public returns (bool success);
+abstract contract ERC20Interface {
+    function totalSupply() public virtual returns (uint);
+    function balanceOf(address tokenOwner) public virtual returns (uint balance);
+    function allowance(address tokenOwner, address spender) public virtual returns (uint remaining);
+    function transfer(address to, uint tokens) public virtual returns (bool success);
+    function approve(address spender, uint tokens) public virtual returns (bool success);
+    function transferFrom(address from, address to, uint tokens) public virtual returns (bool success);
 
 
     event Transfer(address indexed from, address indexed to, uint tokens);
     event Transfer(address indexed from, address indexed to, uint tokens);
     event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
     event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
@@ -138,31 +138,31 @@ contract Token is ERC20Interface, Owned, SafeMath {
         balances[<OWNER_ADDR>] = _totalSupply;
         balances[<OWNER_ADDR>] = _totalSupply;
         emit Transfer(address(0), <OWNER_ADDR>, _totalSupply);
         emit Transfer(address(0), <OWNER_ADDR>, _totalSupply);
     }
     }
-    function totalSupply() public returns (uint) {
+    function totalSupply() public override returns (uint) {
         return _totalSupply  - balances[address(0)];
         return _totalSupply  - balances[address(0)];
     }
     }
-    function balanceOf(address tokenOwner) public returns (uint balance) {
+    function balanceOf(address tokenOwner) public override returns (uint balance) {
         return balances[tokenOwner];
         return balances[tokenOwner];
     }
     }
-    function transfer(address to, uint tokens) public returns (bool success) {
+    function transfer(address to, uint tokens) public override returns (bool success) {
         balances[msg.sender] = safeSub(balances[msg.sender], tokens);
         balances[msg.sender] = safeSub(balances[msg.sender], tokens);
         balances[to] = safeAdd(balances[to], tokens);
         balances[to] = safeAdd(balances[to], tokens);
         emit Transfer(msg.sender, to, tokens);
         emit Transfer(msg.sender, to, tokens);
         return true;
         return true;
     }
     }
-    function approve(address spender, uint tokens) public returns (bool success) {
+    function approve(address spender, uint tokens) public override returns (bool success) {
         allowed[msg.sender][spender] = tokens;
         allowed[msg.sender][spender] = tokens;
         emit Approval(msg.sender, spender, tokens);
         emit Approval(msg.sender, spender, tokens);
         return true;
         return true;
     }
     }
-    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
+    function transferFrom(address from, address to, uint tokens) public override returns (bool success) {
         balances[from] = safeSub(balances[from], tokens);
         balances[from] = safeSub(balances[from], tokens);
         allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
         allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
         balances[to] = safeAdd(balances[to], tokens);
         balances[to] = safeAdd(balances[to], tokens);
         emit Transfer(from, to, tokens);
         emit Transfer(from, to, tokens);
         return true;
         return true;
     }
     }
-    function allowance(address tokenOwner, address spender) public returns (uint remaining) {
+    function allowance(address tokenOwner, address spender) public override returns (uint remaining) {
         return allowed[tokenOwner][spender];
         return allowed[tokenOwner][spender];
     }
     }
     // Owner can transfer out any accidentally sent ERC20 tokens
     // Owner can transfer out any accidentally sent ERC20 tokens

+ 1 - 1
test/ref/ethereum/bin/mm1/ERC20Interface.bin

@@ -1 +1 @@
-608060405234801561001057600080fd5b5060008054600160a060020a031916331790556101e1806100326000396000f3fe608060405234801561001057600080fd5b5060043610610068577c0100000000000000000000000000000000000000000000000000000000600035046379ba5097811461006d5780638da5cb5b14610077578063d4ee1d901461009b578063f2fde38b146100a3575b600080fd5b6100756100c9565b005b61007f610151565b60408051600160a060020a039092168252519081900360200190f35b61007f610160565b610075600480360360208110156100b957600080fd5b5035600160a060020a031661016f565b600154600160a060020a031633146100e057600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600154600160a060020a031681565b600054600160a060020a0316331461018657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fea165627a7a72305820e7f664519bd1791f866d95a52ea79ff5ee25c0090774fb96a5426dad45089cdc0029
+608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101ee806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806379ba5097146100515780638da5cb5b1461005b578063d4ee1d901461008a578063f2fde38b1461009d575b600080fd5b6100596100b0565b005b60005461006e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461006e906001600160a01b031681565b6100596100ab366004610164565b61012b565b6001546001600160a01b031633146100c757600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461014257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561017657600080fd5b81356001600160a01b038116811461018d57600080fd5b939250505056fea2646970667358221220ae657b40ff88ded29197eceae8a915399ab77698660d03f48c64ec6b06bd6a7f64736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057

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

@@ -1 +1 @@
-608060405234801561001057600080fd5b506101a8806100206000396000f3fe608060405234801561001057600080fd5b5060043610610068577c01000000000000000000000000000000000000000000000000000000006000350463a293d1e8811461006d578063b5931f7c146100a2578063d05c78da146100c5578063e6cb9013146100e8575b600080fd5b6100906004803603604081101561008357600080fd5b508035906020013561010b565b60408051918252519081900360200190f35b610090600480360360408110156100b857600080fd5b5080359060200135610120565b610090600480360360408110156100db57600080fd5b5080359060200135610141565b610090600480360360408110156100fe57600080fd5b508035906020013561016c565b60008282111561011a57600080fd5b50900390565b600080821161012e57600080fd5b818381151561013957fe5b049392505050565b81810282158061015b575081838281151561015857fe5b04145b151561016657600080fd5b92915050565b8181018281101561016657600080fdfea165627a7a723058200ba26a79dc73f8668c347ba0864d0abd8f0735855f58b4d26dbe3d1ed03d68120029
+608060405234801561001057600080fd5b50610236806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063a293d1e814610051578063b5931f7c14610076578063d05c78da14610089578063e6cb90131461009c575b600080fd5b61006461005f366004610134565b6100af565b60405190815260200160405180910390f35b610064610084366004610134565b6100cf565b610064610097366004610134565b6100e7565b6100646100aa366004610134565b610119565b6000828211156100be57600080fd5b6100c882846101af565b9392505050565b60008082116100dd57600080fd5b6100c8828461016e565b60006100f38284610190565b905082158061010a575081610108848361016e565b145b61011357600080fd5b92915050565b60006101258284610156565b90508281101561011357600080fd5b6000806040838503121561014757600080fd5b50508035926020909101359150565b60008219821115610169576101696101c6565b500190565b60008261018b57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156101aa576101aa6101c6565b500290565b6000828210156101c1576101c16101c6565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220787ea5f6bce767210dea641f15ebac9a6a29e9fab9c3481876098f52a53040f164736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057

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


+ 1 - 1
test/ref/ethereum/bin/mm2/ERC20Interface.bin

@@ -1 +1 @@
-608060405234801561001057600080fd5b5060008054600160a060020a031916331790556101e1806100326000396000f3fe608060405234801561001057600080fd5b5060043610610068577c0100000000000000000000000000000000000000000000000000000000600035046379ba5097811461006d5780638da5cb5b14610077578063d4ee1d901461009b578063f2fde38b146100a3575b600080fd5b6100756100c9565b005b61007f610151565b60408051600160a060020a039092168252519081900360200190f35b61007f610160565b610075600480360360208110156100b957600080fd5b5035600160a060020a031661016f565b600154600160a060020a031633146100e057600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600154600160a060020a031681565b600054600160a060020a0316331461018657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fea165627a7a723058205c423983189f5e4a8cef05984b44684791f408081e1c0c11db5d827d9aec51900029
+608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101ee806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806379ba5097146100515780638da5cb5b1461005b578063d4ee1d901461008a578063f2fde38b1461009d575b600080fd5b6100596100b0565b005b60005461006e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461006e906001600160a01b031681565b6100596100ab366004610164565b61012b565b6001546001600160a01b031633146100c757600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461014257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561017657600080fd5b81356001600160a01b038116811461018d57600080fd5b939250505056fea264697066735822122047fa29a36759a9eb4b1e91452e0c159bd2054d3b02a8de130170a1c3cacc5ab364736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057

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

@@ -1 +1 @@
-608060405234801561001057600080fd5b506101a8806100206000396000f3fe608060405234801561001057600080fd5b5060043610610068577c01000000000000000000000000000000000000000000000000000000006000350463a293d1e8811461006d578063b5931f7c146100a2578063d05c78da146100c5578063e6cb9013146100e8575b600080fd5b6100906004803603604081101561008357600080fd5b508035906020013561010b565b60408051918252519081900360200190f35b610090600480360360408110156100b857600080fd5b5080359060200135610120565b610090600480360360408110156100db57600080fd5b5080359060200135610141565b610090600480360360408110156100fe57600080fd5b508035906020013561016c565b60008282111561011a57600080fd5b50900390565b600080821161012e57600080fd5b818381151561013957fe5b049392505050565b81810282158061015b575081838281151561015857fe5b04145b151561016657600080fd5b92915050565b8181018281101561016657600080fdfea165627a7a72305820eb50b147fd9c750227f1de52fa6c0f0287cea771f796a17e7058a0bb51246a6f0029
+608060405234801561001057600080fd5b50610236806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063a293d1e814610051578063b5931f7c14610076578063d05c78da14610089578063e6cb90131461009c575b600080fd5b61006461005f366004610134565b6100af565b60405190815260200160405180910390f35b610064610084366004610134565b6100cf565b610064610097366004610134565b6100e7565b6100646100aa366004610134565b610119565b6000828211156100be57600080fd5b6100c882846101af565b9392505050565b60008082116100dd57600080fd5b6100c8828461016e565b60006100f38284610190565b905082158061010a575081610108848361016e565b145b61011357600080fd5b92915050565b60006101258284610156565b90508281101561011357600080fd5b6000806040838503121561014757600080fd5b50508035926020909101359150565b60008219821115610169576101696101c6565b500190565b60008261018b57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156101aa576101aa6101c6565b500290565b6000828210156101c1576101c16101c6565b500390565b634e487b7160e01b600052601160045260246000fdfea264697066735822122042074ef5f18b7cea61585b0be08e9826b01811ebb4e161768017624ecf101ef564736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057

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


+ 15 - 14
test/test_py_d/ts_ethdev.py

@@ -45,7 +45,7 @@ amt2 = '888.111122223333444455'
 
 
 openethereum_key_fn = 'openethereum.devkey'
 openethereum_key_fn = 'openethereum.devkey'
 
 
-tested_solc_ver = '0.5.3'
+tested_solc_ver = '0.8.7'
 
 
 def check_solc_ver():
 def check_solc_ver():
 	cmd = 'scripts/create-token.py --check-solc-version'
 	cmd = 'scripts/create-token.py --check-solc-version'
@@ -64,11 +64,12 @@ def check_solc_ver():
 		omsg(yellow(res + '\nUsing precompiled contract data'))
 		omsg(yellow(res + '\nUsing precompiled contract data'))
 		return False
 		return False
 
 
-vbal1 = '1.2288487'
-vbal9 = '1.22627465'
-vbal2 = '99.997092733'
-vbal3 = '1.23142915'
-vbal4 = '127.0287987'
+vbal1 = '1.2288409'
+vbal9 = '1.22626295'
+vbal2 = '99.997088755'
+vbal3 = '1.23142525'
+vbal4 = '127.0287909'
+vbal5 = '1000126.14828654512345678'
 
 
 bals = {
 bals = {
 	'1': [  ('98831F3A:E:1','123.456')],
 	'1': [  ('98831F3A:E:1','123.456')],
@@ -736,21 +737,21 @@ class TestSuiteEthdev(TestSuiteBase,TestSuiteShared):
 			imsg(f'\nToken MM{num} deployed!')
 			imsg(f'\nToken MM{num} deployed!')
 		return t
 		return t
 
 
-	async def token_deploy1a(self): return await self.token_deploy(num=1,key='SafeMath',gas=200000)
-	async def token_deploy1b(self): return await self.token_deploy(num=1,key='Owned',gas=250000)
-	async def token_deploy1c(self): return await self.token_deploy(num=1,key='Token',gas=1100000,tx_fee='7G')
+	async def token_deploy1a(self): return await self.token_deploy(num=1,key='SafeMath',gas=500_000)
+	async def token_deploy1b(self): return await self.token_deploy(num=1,key='Owned',   gas=1_000_000)
+	async def token_deploy1c(self): return await self.token_deploy(num=1,key='Token',   gas=4_000_000,tx_fee='7G')
 
 
 	def tx_status2(self):
 	def tx_status2(self):
 		return self.tx_status(ext=self.proto.coin+'[0,7000]{}.regtest.sigtx',expect_str='successfully executed')
 		return self.tx_status(ext=self.proto.coin+'[0,7000]{}.regtest.sigtx',expect_str='successfully executed')
 
 
 	def bal6(self): return self.bal5()
 	def bal6(self): return self.bal5()
 
 
-	async def token_deploy2a(self): return await self.token_deploy(num=2,key='SafeMath',gas=200000)
-	async def token_deploy2b(self): return await self.token_deploy(num=2,key='Owned',gas=250000)
-	async def token_deploy2c(self): return await self.token_deploy(num=2,key='Token',gas=1100000)
+	async def token_deploy2a(self): return await self.token_deploy(num=2,key='SafeMath',gas=500_000)
+	async def token_deploy2b(self): return await self.token_deploy(num=2,key='Owned',   gas=1_000_000)
+	async def token_deploy2c(self): return await self.token_deploy(num=2,key='Token',   gas=4_000_000)
 
 
 	async def contract_deploy(self): # test create,sign,send
 	async def contract_deploy(self): # test create,sign,send
-		return await self.token_deploy(num=2,key='SafeMath',gas=1100000,mmgen_cmd='txcreate')
+		return await self.token_deploy(num=2,key='SafeMath',gas=500_000,mmgen_cmd='txcreate')
 
 
 	async def token_transfer_ops(self,op,amt=1000):
 	async def token_transfer_ops(self,op,amt=1000):
 		self.spawn('',msg_only=True)
 		self.spawn('',msg_only=True)
@@ -988,7 +989,7 @@ class TestSuiteEthdev(TestSuiteBase,TestSuiteShared):
 	def txcreate_refresh_balances(self,
 	def txcreate_refresh_balances(self,
 			bals=['2','3'],
 			bals=['2','3'],
 			args=['-B','--cached-balances','-i'],
 			args=['-B','--cached-balances','-i'],
-			total= '1000126.14829832312345678',
+			total=vbal5,
 			adj_total=True,
 			adj_total=True,
 			total_coin=None ):
 			total_coin=None ):
 
 

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