diff --git a/scripts/create-token.py b/scripts/create-token.py index 42ca75dd..3aa15539 100755 --- a/scripts/create-token.py +++ b/scripts/create-token.py @@ -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[] = _totalSupply; emit Transfer(address(0), , _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 diff --git a/test/ref/ethereum/bin/mm1/ERC20Interface.bin b/test/ref/ethereum/bin/mm1/ERC20Interface.bin old mode 100755 new mode 100644 diff --git a/test/ref/ethereum/bin/mm1/Owned.bin b/test/ref/ethereum/bin/mm1/Owned.bin old mode 100755 new mode 100644 index c5f8926c..d7bdfdde --- a/test/ref/ethereum/bin/mm1/Owned.bin +++ b/test/ref/ethereum/bin/mm1/Owned.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b5060008054600160a060020a031916331790556101e1806100326000396000f3fe608060405234801561001057600080fd5b5060043610610068577c0100000000000000000000000000000000000000000000000000000000600035046379ba5097811461006d5780638da5cb5b14610077578063d4ee1d901461009b578063f2fde38b146100a3575b600080fd5b6100756100c9565b005b61007f610151565b60408051600160a060020a039092168252519081900360200190f35b61007f610160565b610075600480360360208110156100b957600080fd5b5035600160a060020a031661016f565b600154600160a060020a031633146100e057600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600154600160a060020a031681565b600054600160a060020a0316331461018657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fea165627a7a72305820e7f664519bd1791f866d95a52ea79ff5ee25c0090774fb96a5426dad45089cdc0029 \ No newline at end of file +608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101ee806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806379ba5097146100515780638da5cb5b1461005b578063d4ee1d901461008a578063f2fde38b1461009d575b600080fd5b6100596100b0565b005b60005461006e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461006e906001600160a01b031681565b6100596100ab366004610164565b61012b565b6001546001600160a01b031633146100c757600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461014257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561017657600080fd5b81356001600160a01b038116811461018d57600080fd5b939250505056fea2646970667358221220ae657b40ff88ded29197eceae8a915399ab77698660d03f48c64ec6b06bd6a7f64736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057 \ No newline at end of file diff --git a/test/ref/ethereum/bin/mm1/SafeMath.bin b/test/ref/ethereum/bin/mm1/SafeMath.bin old mode 100755 new mode 100644 index 0869fe4e..a8298548 --- a/test/ref/ethereum/bin/mm1/SafeMath.bin +++ b/test/ref/ethereum/bin/mm1/SafeMath.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b506101a8806100206000396000f3fe608060405234801561001057600080fd5b5060043610610068577c01000000000000000000000000000000000000000000000000000000006000350463a293d1e8811461006d578063b5931f7c146100a2578063d05c78da146100c5578063e6cb9013146100e8575b600080fd5b6100906004803603604081101561008357600080fd5b508035906020013561010b565b60408051918252519081900360200190f35b610090600480360360408110156100b857600080fd5b5080359060200135610120565b610090600480360360408110156100db57600080fd5b5080359060200135610141565b610090600480360360408110156100fe57600080fd5b508035906020013561016c565b60008282111561011a57600080fd5b50900390565b600080821161012e57600080fd5b818381151561013957fe5b049392505050565b81810282158061015b575081838281151561015857fe5b04145b151561016657600080fd5b92915050565b8181018281101561016657600080fdfea165627a7a723058200ba26a79dc73f8668c347ba0864d0abd8f0735855f58b4d26dbe3d1ed03d68120029 \ No newline at end of file +608060405234801561001057600080fd5b50610236806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063a293d1e814610051578063b5931f7c14610076578063d05c78da14610089578063e6cb90131461009c575b600080fd5b61006461005f366004610134565b6100af565b60405190815260200160405180910390f35b610064610084366004610134565b6100cf565b610064610097366004610134565b6100e7565b6100646100aa366004610134565b610119565b6000828211156100be57600080fd5b6100c882846101af565b9392505050565b60008082116100dd57600080fd5b6100c8828461016e565b60006100f38284610190565b905082158061010a575081610108848361016e565b145b61011357600080fd5b92915050565b60006101258284610156565b90508281101561011357600080fd5b6000806040838503121561014757600080fd5b50508035926020909101359150565b60008219821115610169576101696101c6565b500190565b60008261018b57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156101aa576101aa6101c6565b500290565b6000828210156101c1576101c16101c6565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220787ea5f6bce767210dea641f15ebac9a6a29e9fab9c3481876098f52a53040f164736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057 \ No newline at end of file diff --git a/test/ref/ethereum/bin/mm1/Token.bin b/test/ref/ethereum/bin/mm1/Token.bin old mode 100755 new mode 100644 index 169863c9..08ab15b4 --- a/test/ref/ethereum/bin/mm1/Token.bin +++ b/test/ref/ethereum/bin/mm1/Token.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b5060008054600160a060020a031916331790556040805180820190915260038082527f4d4d31000000000000000000000000000000000000000000000000000000000060209092019182526100679160029161014a565b5060408051808201909152600d8082527f4d4d47656e20546f6b656e20310000000000000000000000000000000000000060209092019182526100ac9160039161014a565b506004805460ff191660121790556a52b7d2dcc80cd2e4000000600581905572a329c0648769a73afac7f9381e08fb43dbea726000818152600660209081527f83c15b9796d28cef5540f5a6b1b5d5fd40dfaff971c603dacfb5418f44d0d21b8490556040805194855251929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36101e5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018b57805160ff19168380011785556101b8565b828001600101855582156101b8579182015b828111156101b857825182559160200191906001019061019d565b506101c49291506101c8565b5090565b6101e291905b808211156101c457600081556001016101ce565b90565b6109c1806101f46000396000f3fe608060405234801561001057600080fd5b506004361061013e576000357c01000000000000000000000000000000000000000000000000000000009004806395d89b41116100ca578063d4ee1d901161008e578063d4ee1d9014610367578063dc39d06d1461036f578063dd62ed3e1461039b578063e6cb9013146103c9578063f2fde38b146103ec5761013e565b806395d89b41146102ca578063a293d1e8146102d2578063a9059cbb146102f5578063b5931f7c14610321578063d05c78da146103445761013e565b8063313ce56711610111578063313ce567146102505780633eaaf86b1461026e57806370a082311461027657806379ba50971461029c5780638da5cb5b146102a65761013e565b806306fdde0314610143578063095ea7b3146101c057806318160ddd1461020057806323b872dd1461021a575b600080fd5b61014b610412565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018557818101518382015260200161016d565b50505050905090810190601f1680156101b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ec600480360360408110156101d657600080fd5b50600160a060020a0381351690602001356104a0565b604080519115158252519081900360200190f35b610208610507565b60408051918252519081900360200190f35b6101ec6004803603606081101561023057600080fd5b50600160a060020a03813581169160208101359091169060400135610539565b610258610632565b6040805160ff9092168252519081900360200190f35b61020861063b565b6102086004803603602081101561028c57600080fd5b5035600160a060020a0316610641565b6102a461065c565b005b6102ae6106e4565b60408051600160a060020a039092168252519081900360200190f35b61014b6106f3565b610208600480360360408110156102e857600080fd5b508035906020013561074b565b6101ec6004803603604081101561030b57600080fd5b50600160a060020a038135169060200135610760565b6102086004803603604081101561033757600080fd5b5080359060200135610804565b6102086004803603604081101561035a57600080fd5b5080359060200135610825565b6102ae61084a565b6101ec6004803603604081101561038557600080fd5b50600160a060020a038135169060200135610859565b610208600480360360408110156103b157600080fd5b50600160a060020a0381358116916020013516610914565b610208600480360360408110156103df57600080fd5b508035906020013561093f565b6102a46004803603602081101561040257600080fd5b5035600160a060020a031661094f565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104985780601f1061046d57610100808354040283529160200191610498565b820191906000526020600020905b81548152906001019060200180831161047b57829003601f168201915b505050505081565b336000818152600760209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546005540390565b600160a060020a03831660009081526006602052604081205461055c908361074b565b600160a060020a0385166000908152600660209081526040808320939093556007815282822033835290522054610593908361074b565b600160a060020a0380861660009081526007602090815260408083203384528252808320949094559186168152600690915220546105d1908361093f565b600160a060020a0380851660008181526006602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b60055481565b600160a060020a031660009081526006602052604090205490565b600154600160a060020a0316331461067357600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104985780601f1061046d57610100808354040283529160200191610498565b60008282111561075a57600080fd5b50900390565b3360009081526006602052604081205461077a908361074b565b3360009081526006602052604080822092909255600160a060020a038516815220546107a6908361093f565b600160a060020a0384166000818152600660209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600080821161081257600080fd5b818381151561081d57fe5b049392505050565b81810282158061083f575081838281151561083c57fe5b04145b151561050157600080fd5b600154600160a060020a031681565b60008054600160a060020a0316331461087157600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b1580156108e157600080fd5b505af11580156108f5573d6000803e3d6000fd5b505050506040513d602081101561090b57600080fd5b50519392505050565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b8181018281101561050157600080fd5b600054600160a060020a0316331461096657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fea165627a7a7230582082e6e237008aef7305305fbae7206a1a6508eb78d43336656d8385c57126204c0029 \ No newline at end of file +608060405234801561001057600080fd5b50600080546001600160a01b03191633179055604080518082019091526003808252624d4d3160e81b602090920191825261004d91600291610126565b5060408051808201909152600d8082526c4d4d47656e20546f6b656e203160981b602090920191825261008291600391610126565b506004805460ff191660121790556a52b7d2dcc80cd2e4000000600581905572a329c0648769a73afac7f9381e08fb43dbea72600081815260066020527f83c15b9796d28cef5540f5a6b1b5d5fd40dfaff971c603dacfb5418f44d0d21b839055604051919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916101199190815260200190565b60405180910390a36101fa565b828054610132906101bf565b90600052602060002090601f016020900481019282610154576000855561019a565b82601f1061016d57805160ff191683800117855561019a565b8280016001018555821561019a579182015b8281111561019a57825182559160200191906001019061017f565b506101a69291506101aa565b5090565b5b808211156101a657600081556001016101ab565b600181811c908216806101d357607f821691505b602082108114156101f457634e487b7160e01b600052602260045260246000fd5b50919050565b610a1f806102096000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806395d89b41116100ad578063d4ee1d9011610071578063d4ee1d901461026a578063dc39d06d1461027d578063dd62ed3e14610290578063e6cb9013146102c9578063f2fde38b146102dc57600080fd5b806395d89b4114610216578063a293d1e81461021e578063a9059cbb14610231578063b5931f7c14610244578063d05c78da1461025757600080fd5b8063313ce567116100f4578063313ce567146101905780633eaaf86b146101af57806370a08231146101b857806379ba5097146101e15780638da5cb5b146101eb57600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016757806323b872dd1461017d575b600080fd5b61012e6102ef565b60405161013b91906108af565b60405180910390f35b610157610152366004610841565b61037d565b604051901515815260200161013b565b61016f6103ea565b60405190815260200161013b565b61015761018b366004610805565b610428565b60045461019d9060ff1681565b60405160ff909116815260200161013b565b61016f60055481565b61016f6101c63660046107b7565b6001600160a01b031660009081526006602052604090205490565b6101e9610526565b005b6000546101fe906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61012e6105a1565b61016f61022c36600461088d565b6105ae565b61015761023f366004610841565b6105ce565b61016f61025236600461088d565b610665565b61016f61026536600461088d565b61067d565b6001546101fe906001600160a01b031681565b61015761028b366004610841565b6106a9565b61016f61029e3660046107d2565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b61016f6102d736600461088d565b610747565b6101e96102ea3660046107b7565b610762565b600380546102fc90610974565b80601f016020809104026020016040519081016040528092919081815260200182805461032890610974565b80156103755780601f1061034a57610100808354040283529160200191610375565b820191906000526020600020905b81548152906001019060200180831161035857829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103d89086815260200190565b60405180910390a35060015b92915050565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f854600554610423919061095d565b905090565b6001600160a01b03831660009081526006602052604081205461044b90836105ae565b6001600160a01b038516600090815260066020908152604080832093909355600781528282203383529052205461048290836105ae565b6001600160a01b0380861660009081526007602090815260408083203384528252808320949094559186168152600690915220546104c09083610747565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105149086815260200190565b60405180910390a35060019392505050565b6001546001600160a01b0316331461053d57600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600280546102fc90610974565b6000828211156105bd57600080fd5b6105c7828461095d565b9392505050565b336000908152600660205260408120546105e890836105ae565b33600090815260066020526040808220929092556001600160a01b038516815220546106149083610747565b6001600160a01b0384166000818152600660205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103d89086815260200190565b600080821161067357600080fd5b6105c7828461091c565b6000610689828461093e565b90508215806106a057508161069e848361091c565b145b6103e457600080fd5b600080546001600160a01b031633146106c157600080fd5b60005460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb90604401602060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c7919061086b565b60006107538284610904565b9050828110156103e457600080fd5b6000546001600160a01b0316331461077957600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b03811681146107b257600080fd5b919050565b6000602082840312156107c957600080fd5b6105c78261079b565b600080604083850312156107e557600080fd5b6107ee8361079b565b91506107fc6020840161079b565b90509250929050565b60008060006060848603121561081a57600080fd5b6108238461079b565b92506108316020850161079b565b9150604084013590509250925092565b6000806040838503121561085457600080fd5b61085d8361079b565b946020939093013593505050565b60006020828403121561087d57600080fd5b815180151581146105c757600080fd5b600080604083850312156108a057600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156108dc578581018301518582016040015282016108c0565b818111156108ee576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610917576109176109af565b500190565b60008261093957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610958576109586109af565b500290565b60008282101561096f5761096f6109af565b500390565b600181811c9082168061098857607f821691505b602082108114156109a957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220760ff6b36b89b5b3759c4e77eb04861c9d61f294c3a73fda16c0d6b8dc82a99264736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057 \ No newline at end of file diff --git a/test/ref/ethereum/bin/mm2/ERC20Interface.bin b/test/ref/ethereum/bin/mm2/ERC20Interface.bin old mode 100755 new mode 100644 diff --git a/test/ref/ethereum/bin/mm2/Owned.bin b/test/ref/ethereum/bin/mm2/Owned.bin old mode 100755 new mode 100644 index fca64580..e05deb22 --- a/test/ref/ethereum/bin/mm2/Owned.bin +++ b/test/ref/ethereum/bin/mm2/Owned.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b5060008054600160a060020a031916331790556101e1806100326000396000f3fe608060405234801561001057600080fd5b5060043610610068577c0100000000000000000000000000000000000000000000000000000000600035046379ba5097811461006d5780638da5cb5b14610077578063d4ee1d901461009b578063f2fde38b146100a3575b600080fd5b6100756100c9565b005b61007f610151565b60408051600160a060020a039092168252519081900360200190f35b61007f610160565b610075600480360360208110156100b957600080fd5b5035600160a060020a031661016f565b600154600160a060020a031633146100e057600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600154600160a060020a031681565b600054600160a060020a0316331461018657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fea165627a7a723058205c423983189f5e4a8cef05984b44684791f408081e1c0c11db5d827d9aec51900029 \ No newline at end of file +608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101ee806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806379ba5097146100515780638da5cb5b1461005b578063d4ee1d901461008a578063f2fde38b1461009d575b600080fd5b6100596100b0565b005b60005461006e906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60015461006e906001600160a01b031681565b6100596100ab366004610164565b61012b565b6001546001600160a01b031633146100c757600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b0316331461014257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561017657600080fd5b81356001600160a01b038116811461018d57600080fd5b939250505056fea264697066735822122047fa29a36759a9eb4b1e91452e0c159bd2054d3b02a8de130170a1c3cacc5ab364736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057 \ No newline at end of file diff --git a/test/ref/ethereum/bin/mm2/SafeMath.bin b/test/ref/ethereum/bin/mm2/SafeMath.bin old mode 100755 new mode 100644 index fba8467c..61b8c4ff --- a/test/ref/ethereum/bin/mm2/SafeMath.bin +++ b/test/ref/ethereum/bin/mm2/SafeMath.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b506101a8806100206000396000f3fe608060405234801561001057600080fd5b5060043610610068577c01000000000000000000000000000000000000000000000000000000006000350463a293d1e8811461006d578063b5931f7c146100a2578063d05c78da146100c5578063e6cb9013146100e8575b600080fd5b6100906004803603604081101561008357600080fd5b508035906020013561010b565b60408051918252519081900360200190f35b610090600480360360408110156100b857600080fd5b5080359060200135610120565b610090600480360360408110156100db57600080fd5b5080359060200135610141565b610090600480360360408110156100fe57600080fd5b508035906020013561016c565b60008282111561011a57600080fd5b50900390565b600080821161012e57600080fd5b818381151561013957fe5b049392505050565b81810282158061015b575081838281151561015857fe5b04145b151561016657600080fd5b92915050565b8181018281101561016657600080fdfea165627a7a72305820eb50b147fd9c750227f1de52fa6c0f0287cea771f796a17e7058a0bb51246a6f0029 \ No newline at end of file +608060405234801561001057600080fd5b50610236806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063a293d1e814610051578063b5931f7c14610076578063d05c78da14610089578063e6cb90131461009c575b600080fd5b61006461005f366004610134565b6100af565b60405190815260200160405180910390f35b610064610084366004610134565b6100cf565b610064610097366004610134565b6100e7565b6100646100aa366004610134565b610119565b6000828211156100be57600080fd5b6100c882846101af565b9392505050565b60008082116100dd57600080fd5b6100c8828461016e565b60006100f38284610190565b905082158061010a575081610108848361016e565b145b61011357600080fd5b92915050565b60006101258284610156565b90508281101561011357600080fd5b6000806040838503121561014757600080fd5b50508035926020909101359150565b60008219821115610169576101696101c6565b500190565b60008261018b57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156101aa576101aa6101c6565b500290565b6000828210156101c1576101c16101c6565b500390565b634e487b7160e01b600052601160045260246000fdfea264697066735822122042074ef5f18b7cea61585b0be08e9826b01811ebb4e161768017624ecf101ef564736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057 \ No newline at end of file diff --git a/test/ref/ethereum/bin/mm2/Token.bin b/test/ref/ethereum/bin/mm2/Token.bin old mode 100755 new mode 100644 index da47aedf..edcd809d --- a/test/ref/ethereum/bin/mm2/Token.bin +++ b/test/ref/ethereum/bin/mm2/Token.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b5060008054600160a060020a031916331790556040805180820190915260038082527f4d4d320000000000000000000000000000000000000000000000000000000000602090920191825261006791600291610147565b5060408051808201909152600d8082527f4d4d47656e20546f6b656e20320000000000000000000000000000000000000060209092019182526100ac91600391610147565b506004805460ff1916600a179055670de0b6b3a7640000600581905572a329c0648769a73afac7f9381e08fb43dbea726000818152600660209081527f83c15b9796d28cef5540f5a6b1b5d5fd40dfaff971c603dacfb5418f44d0d21b8490556040805194855251929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36101e2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018857805160ff19168380011785556101b5565b828001600101855582156101b5579182015b828111156101b557825182559160200191906001019061019a565b506101c19291506101c5565b5090565b6101df91905b808211156101c157600081556001016101cb565b90565b6109c1806101f16000396000f3fe608060405234801561001057600080fd5b506004361061013e576000357c01000000000000000000000000000000000000000000000000000000009004806395d89b41116100ca578063d4ee1d901161008e578063d4ee1d9014610367578063dc39d06d1461036f578063dd62ed3e1461039b578063e6cb9013146103c9578063f2fde38b146103ec5761013e565b806395d89b41146102ca578063a293d1e8146102d2578063a9059cbb146102f5578063b5931f7c14610321578063d05c78da146103445761013e565b8063313ce56711610111578063313ce567146102505780633eaaf86b1461026e57806370a082311461027657806379ba50971461029c5780638da5cb5b146102a65761013e565b806306fdde0314610143578063095ea7b3146101c057806318160ddd1461020057806323b872dd1461021a575b600080fd5b61014b610412565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018557818101518382015260200161016d565b50505050905090810190601f1680156101b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ec600480360360408110156101d657600080fd5b50600160a060020a0381351690602001356104a0565b604080519115158252519081900360200190f35b610208610507565b60408051918252519081900360200190f35b6101ec6004803603606081101561023057600080fd5b50600160a060020a03813581169160208101359091169060400135610539565b610258610632565b6040805160ff9092168252519081900360200190f35b61020861063b565b6102086004803603602081101561028c57600080fd5b5035600160a060020a0316610641565b6102a461065c565b005b6102ae6106e4565b60408051600160a060020a039092168252519081900360200190f35b61014b6106f3565b610208600480360360408110156102e857600080fd5b508035906020013561074b565b6101ec6004803603604081101561030b57600080fd5b50600160a060020a038135169060200135610760565b6102086004803603604081101561033757600080fd5b5080359060200135610804565b6102086004803603604081101561035a57600080fd5b5080359060200135610825565b6102ae61084a565b6101ec6004803603604081101561038557600080fd5b50600160a060020a038135169060200135610859565b610208600480360360408110156103b157600080fd5b50600160a060020a0381358116916020013516610914565b610208600480360360408110156103df57600080fd5b508035906020013561093f565b6102a46004803603602081101561040257600080fd5b5035600160a060020a031661094f565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104985780601f1061046d57610100808354040283529160200191610498565b820191906000526020600020905b81548152906001019060200180831161047b57829003601f168201915b505050505081565b336000818152600760209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546005540390565b600160a060020a03831660009081526006602052604081205461055c908361074b565b600160a060020a0385166000908152600660209081526040808320939093556007815282822033835290522054610593908361074b565b600160a060020a0380861660009081526007602090815260408083203384528252808320949094559186168152600690915220546105d1908361093f565b600160a060020a0380851660008181526006602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60045460ff1681565b60055481565b600160a060020a031660009081526006602052604090205490565b600154600160a060020a0316331461067357600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104985780601f1061046d57610100808354040283529160200191610498565b60008282111561075a57600080fd5b50900390565b3360009081526006602052604081205461077a908361074b565b3360009081526006602052604080822092909255600160a060020a038516815220546107a6908361093f565b600160a060020a0384166000818152600660209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600080821161081257600080fd5b818381151561081d57fe5b049392505050565b81810282158061083f575081838281151561083c57fe5b04145b151561050157600080fd5b600154600160a060020a031681565b60008054600160a060020a0316331461087157600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b1580156108e157600080fd5b505af11580156108f5573d6000803e3d6000fd5b505050506040513d602081101561090b57600080fd5b50519392505050565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b8181018281101561050157600080fd5b600054600160a060020a0316331461096657600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905556fea165627a7a72305820867aa5742d594756c1fb613cb7ca7bce3f726136340f8ce08bd9b5c17a377a1f0029 \ No newline at end of file +608060405234801561001057600080fd5b50600080546001600160a01b031916331790556040805180820190915260038082526226a69960e91b602090920191825261004d91600291610123565b5060408051808201909152600d8082526c26a6a3b2b7102a37b5b2b7101960991b602090920191825261008291600391610123565b506004805460ff1916600a179055670de0b6b3a7640000600581905572a329c0648769a73afac7f9381e08fb43dbea72600081815260066020527f83c15b9796d28cef5540f5a6b1b5d5fd40dfaff971c603dacfb5418f44d0d21b839055604051919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916101169190815260200190565b60405180910390a36101f7565b82805461012f906101bc565b90600052602060002090601f0160209004810192826101515760008555610197565b82601f1061016a57805160ff1916838001178555610197565b82800160010185558215610197579182015b8281111561019757825182559160200191906001019061017c565b506101a39291506101a7565b5090565b5b808211156101a357600081556001016101a8565b600181811c908216806101d057607f821691505b602082108114156101f157634e487b7160e01b600052602260045260246000fd5b50919050565b610a1f806102066000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806395d89b41116100ad578063d4ee1d9011610071578063d4ee1d901461026a578063dc39d06d1461027d578063dd62ed3e14610290578063e6cb9013146102c9578063f2fde38b146102dc57600080fd5b806395d89b4114610216578063a293d1e81461021e578063a9059cbb14610231578063b5931f7c14610244578063d05c78da1461025757600080fd5b8063313ce567116100f4578063313ce567146101905780633eaaf86b146101af57806370a08231146101b857806379ba5097146101e15780638da5cb5b146101eb57600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016757806323b872dd1461017d575b600080fd5b61012e6102ef565b60405161013b91906108af565b60405180910390f35b610157610152366004610841565b61037d565b604051901515815260200161013b565b61016f6103ea565b60405190815260200161013b565b61015761018b366004610805565b610428565b60045461019d9060ff1681565b60405160ff909116815260200161013b565b61016f60055481565b61016f6101c63660046107b7565b6001600160a01b031660009081526006602052604090205490565b6101e9610526565b005b6000546101fe906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61012e6105a1565b61016f61022c36600461088d565b6105ae565b61015761023f366004610841565b6105ce565b61016f61025236600461088d565b610665565b61016f61026536600461088d565b61067d565b6001546101fe906001600160a01b031681565b61015761028b366004610841565b6106a9565b61016f61029e3660046107d2565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b61016f6102d736600461088d565b610747565b6101e96102ea3660046107b7565b610762565b600380546102fc90610974565b80601f016020809104026020016040519081016040528092919081815260200182805461032890610974565b80156103755780601f1061034a57610100808354040283529160200191610375565b820191906000526020600020905b81548152906001019060200180831161035857829003601f168201915b505050505081565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103d89086815260200190565b60405180910390a35060015b92915050565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f854600554610423919061095d565b905090565b6001600160a01b03831660009081526006602052604081205461044b90836105ae565b6001600160a01b038516600090815260066020908152604080832093909355600781528282203383529052205461048290836105ae565b6001600160a01b0380861660009081526007602090815260408083203384528252808320949094559186168152600690915220546104c09083610747565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105149086815260200190565b60405180910390a35060019392505050565b6001546001600160a01b0316331461053d57600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600280546102fc90610974565b6000828211156105bd57600080fd5b6105c7828461095d565b9392505050565b336000908152600660205260408120546105e890836105ae565b33600090815260066020526040808220929092556001600160a01b038516815220546106149083610747565b6001600160a01b0384166000818152600660205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103d89086815260200190565b600080821161067357600080fd5b6105c7828461091c565b6000610689828461093e565b90508215806106a057508161069e848361091c565b145b6103e457600080fd5b600080546001600160a01b031633146106c157600080fd5b60005460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb90604401602060405180830381600087803b15801561070f57600080fd5b505af1158015610723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c7919061086b565b60006107538284610904565b9050828110156103e457600080fd5b6000546001600160a01b0316331461077957600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b03811681146107b257600080fd5b919050565b6000602082840312156107c957600080fd5b6105c78261079b565b600080604083850312156107e557600080fd5b6107ee8361079b565b91506107fc6020840161079b565b90509250929050565b60008060006060848603121561081a57600080fd5b6108238461079b565b92506108316020850161079b565b9150604084013590509250925092565b6000806040838503121561085457600080fd5b61085d8361079b565b946020939093013593505050565b60006020828403121561087d57600080fd5b815180151581146105c757600080fd5b600080604083850312156108a057600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156108dc578581018301518582016040015282016108c0565b818111156108ee576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610917576109176109af565b500190565b60008261093957634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610958576109586109af565b500290565b60008282101561096f5761096f6109af565b500390565b600181811c9082168061098857607f821691505b602082108114156109a957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212206b8bd42c577ab60f33c94d98b00d0747a7e4737b4015d69f009feb4ce2c26a7764736f6c637826302e382e372d646576656c6f702e323032312e392e322b636f6d6d69742e65323864303061370057 \ No newline at end of file diff --git a/test/test_py_d/ts_ethdev.py b/test/test_py_d/ts_ethdev.py index 2c68d822..b1331230 100755 --- a/test/test_py_d/ts_ethdev.py +++ b/test/test_py_d/ts_ethdev.py @@ -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 ):