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

This commit is contained in:
The MMGen Project 2021-09-03 20:17:25 +00:00
commit eaeeef97c0
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
10 changed files with 35 additions and 34 deletions

View file

@ -30,7 +30,7 @@ class TokenData:
token_data = TokenData()
req_solc_ver_pat = '^0.5.2'
req_solc_ver_pat = '^0.8.6'
opts_data = {
'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 Approval(address indexed tokenOwner, address indexed spender, uint tokens);
@ -138,31 +138,31 @@ contract Token is ERC20Interface, Owned, SafeMath {
balances[<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)];
}
function balanceOf(address tokenOwner) public returns (uint balance) {
function balanceOf(address tokenOwner) public override returns (uint balance) {
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[to] = safeAdd(balances[to], tokens);
emit Transfer(msg.sender, to, tokens);
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;
emit Approval(msg.sender, spender, tokens);
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);
allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(from, to, tokens);
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];
}
// Owner can transfer out any accidentally sent ERC20 tokens

0
test/ref/ethereum/bin/mm1/ERC20Interface.bin Executable file → Normal file
View file

2
test/ref/ethereum/bin/mm1/Owned.bin Executable file → Normal file
View file

@ -1 +1 @@
608060405234801561001057600080fd5b5060008054600160a060020a031916331790556101e1806100326000396000f3fe608060405234801561001057600080fd5b5060043610610068577c0100000000000000000000000000000000000000000000000000000000600035046379ba5097811461006d5780638da5cb5b14610077578063d4ee1d901461009b578063f2fde38b146100a3575b600080fd5b6100756100c9565b005b61007f610151565b60408051600160a060020a039092168252519081900360200190f35b61007f610160565b610075600480360360208110156100b957600080fd5b5035600160a060020a031661016f565b600154600160a060020a031633146100e057600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600154600160a060020a031681565b600054600160a060020a0316331461018657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fea165627a7a72305820e7f664519bd1791f866d95a52ea79ff5ee25c0090774fb96a5426dad45089cdc0029
608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101ee806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806379ba5097146100515780638da5cb5b1461005b578063d4ee1d901461008a578063f2fde38b1461009d575b600080fd5b6100596100b0565b005b60005461006e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461006e906001600160a01b031681565b6100596100ab366004610164565b61012b565b6001546001600160a01b031633146100c757600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461014257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561017657600080fd5b81356001600160a01b038116811461018d57600080fd5b939250505056fea2646970667358221220ae657b40ff88ded29197eceae8a915399ab77698660d03f48c64ec6b06bd6a7f64736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057

2
test/ref/ethereum/bin/mm1/SafeMath.bin Executable file → Normal file
View file

@ -1 +1 @@
608060405234801561001057600080fd5b506101a8806100206000396000f3fe608060405234801561001057600080fd5b5060043610610068577c01000000000000000000000000000000000000000000000000000000006000350463a293d1e8811461006d578063b5931f7c146100a2578063d05c78da146100c5578063e6cb9013146100e8575b600080fd5b6100906004803603604081101561008357600080fd5b508035906020013561010b565b60408051918252519081900360200190f35b610090600480360360408110156100b857600080fd5b5080359060200135610120565b610090600480360360408110156100db57600080fd5b5080359060200135610141565b610090600480360360408110156100fe57600080fd5b508035906020013561016c565b60008282111561011a57600080fd5b50900390565b600080821161012e57600080fd5b818381151561013957fe5b049392505050565b81810282158061015b575081838281151561015857fe5b04145b151561016657600080fd5b92915050565b8181018281101561016657600080fdfea165627a7a723058200ba26a79dc73f8668c347ba0864d0abd8f0735855f58b4d26dbe3d1ed03d68120029
608060405234801561001057600080fd5b50610236806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063a293d1e814610051578063b5931f7c14610076578063d05c78da14610089578063e6cb90131461009c575b600080fd5b61006461005f366004610134565b6100af565b60405190815260200160405180910390f35b610064610084366004610134565b6100cf565b610064610097366004610134565b6100e7565b6100646100aa366004610134565b610119565b6000828211156100be57600080fd5b6100c882846101af565b9392505050565b60008082116100dd57600080fd5b6100c8828461016e565b60006100f38284610190565b905082158061010a575081610108848361016e565b145b61011357600080fd5b92915050565b60006101258284610156565b90508281101561011357600080fd5b6000806040838503121561014757600080fd5b50508035926020909101359150565b60008219821115610169576101696101c6565b500190565b60008261018b57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156101aa576101aa6101c6565b500290565b6000828210156101c1576101c16101c6565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220787ea5f6bce767210dea641f15ebac9a6a29e9fab9c3481876098f52a53040f164736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057

2
test/ref/ethereum/bin/mm1/Token.bin Executable file → Normal file

File diff suppressed because one or more lines are too long

0
test/ref/ethereum/bin/mm2/ERC20Interface.bin Executable file → Normal file
View file

2
test/ref/ethereum/bin/mm2/Owned.bin Executable file → Normal file
View file

@ -1 +1 @@
608060405234801561001057600080fd5b5060008054600160a060020a031916331790556101e1806100326000396000f3fe608060405234801561001057600080fd5b5060043610610068577c0100000000000000000000000000000000000000000000000000000000600035046379ba5097811461006d5780638da5cb5b14610077578063d4ee1d901461009b578063f2fde38b146100a3575b600080fd5b6100756100c9565b005b61007f610151565b60408051600160a060020a039092168252519081900360200190f35b61007f610160565b610075600480360360208110156100b957600080fd5b5035600160a060020a031661016f565b600154600160a060020a031633146100e057600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600154600160a060020a031681565b600054600160a060020a0316331461018657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fea165627a7a723058205c423983189f5e4a8cef05984b44684791f408081e1c0c11db5d827d9aec51900029
608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101ee806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806379ba5097146100515780638da5cb5b1461005b578063d4ee1d901461008a578063f2fde38b1461009d575b600080fd5b6100596100b0565b005b60005461006e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461006e906001600160a01b031681565b6100596100ab366004610164565b61012b565b6001546001600160a01b031633146100c757600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461014257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561017657600080fd5b81356001600160a01b038116811461018d57600080fd5b939250505056fea264697066735822122047fa29a36759a9eb4b1e91452e0c159bd2054d3b02a8de130170a1c3cacc5ab364736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057

2
test/ref/ethereum/bin/mm2/SafeMath.bin Executable file → Normal file
View file

@ -1 +1 @@
608060405234801561001057600080fd5b506101a8806100206000396000f3fe608060405234801561001057600080fd5b5060043610610068577c01000000000000000000000000000000000000000000000000000000006000350463a293d1e8811461006d578063b5931f7c146100a2578063d05c78da146100c5578063e6cb9013146100e8575b600080fd5b6100906004803603604081101561008357600080fd5b508035906020013561010b565b60408051918252519081900360200190f35b610090600480360360408110156100b857600080fd5b5080359060200135610120565b610090600480360360408110156100db57600080fd5b5080359060200135610141565b610090600480360360408110156100fe57600080fd5b508035906020013561016c565b60008282111561011a57600080fd5b50900390565b600080821161012e57600080fd5b818381151561013957fe5b049392505050565b81810282158061015b575081838281151561015857fe5b04145b151561016657600080fd5b92915050565b8181018281101561016657600080fdfea165627a7a72305820eb50b147fd9c750227f1de52fa6c0f0287cea771f796a17e7058a0bb51246a6f0029
608060405234801561001057600080fd5b50610236806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063a293d1e814610051578063b5931f7c14610076578063d05c78da14610089578063e6cb90131461009c575b600080fd5b61006461005f366004610134565b6100af565b60405190815260200160405180910390f35b610064610084366004610134565b6100cf565b610064610097366004610134565b6100e7565b6100646100aa366004610134565b610119565b6000828211156100be57600080fd5b6100c882846101af565b9392505050565b60008082116100dd57600080fd5b6100c8828461016e565b60006100f38284610190565b905082158061010a575081610108848361016e565b145b61011357600080fd5b92915050565b60006101258284610156565b90508281101561011357600080fd5b6000806040838503121561014757600080fd5b50508035926020909101359150565b60008219821115610169576101696101c6565b500190565b60008261018b57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156101aa576101aa6101c6565b500290565b6000828210156101c1576101c16101c6565b500390565b634e487b7160e01b600052601160045260246000fdfea264697066735822122042074ef5f18b7cea61585b0be08e9826b01811ebb4e161768017624ecf101ef564736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057

2
test/ref/ethereum/bin/mm2/Token.bin Executable file → Normal file

File diff suppressed because one or more lines are too long

View file

@ -45,7 +45,7 @@ amt2 = '888.111122223333444455'
openethereum_key_fn = 'openethereum.devkey'
tested_solc_ver = '0.5.3'
tested_solc_ver = '0.8.7'
def check_solc_ver():
cmd = 'scripts/create-token.py --check-solc-version'
@ -64,11 +64,12 @@ def check_solc_ver():
omsg(yellow(res + '\nUsing precompiled contract data'))
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 = {
'1': [ ('98831F3A:E:1','123.456')],
@ -736,21 +737,21 @@ class TestSuiteEthdev(TestSuiteBase,TestSuiteShared):
imsg(f'\nToken MM{num} deployed!')
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):
return self.tx_status(ext=self.proto.coin+'[0,7000]{}.regtest.sigtx',expect_str='successfully executed')
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
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):
self.spawn('',msg_only=True)
@ -988,7 +989,7 @@ class TestSuiteEthdev(TestSuiteBase,TestSuiteShared):
def txcreate_refresh_balances(self,
bals=['2','3'],
args=['-B','--cached-balances','-i'],
total= '1000126.14829832312345678',
total=vbal5,
adj_total=True,
total_coin=None ):