From 922905d5cad02886145eba2721420c0858d5ddb2 Mon Sep 17 00:00:00 2001 From: pmmax Date: Sat, 2 Mar 2019 11:18:59 -0300 Subject: [PATCH] Upgraded all contracts to Solidity 0.5.4. Fixed issues #15, #17, #18, #20 --- .../SmartContracts/src/AlgoTokenV1.sol | 2 +- .../src/bin/AlgoTokenV1-sol-output.json | 6637 ++++++------- .../SmartContracts/src/bin/AlgoTokenV1.bin | 2 +- .../SmartContracts/src/bin/AlgoTokenV1.json | 18 +- .../SmartContracts/src/package-lock.json | 514 +- .../SmartContracts/src/package.json | 4 +- .../SmartContracts/src/AlgoCommon.sol | 2 +- .../SmartContracts/src/AlgoCoreTeamRole.sol | 2 +- .../SmartContracts/src/AlgoFees.sol | 19 +- .../SmartContracts/src/AlgoMiner.sol | 4 +- .../SmartContracts/src/AlgoPool.sol | 4 +- .../SmartContracts/src/AlgoSupervisorRole.sol | 2 +- .../SmartContracts/src/AlgoSystemRole.sol | 2 +- .../SmartContracts/src/ERC20TokenHolder.sol | 2 +- .../SmartContracts/src/IAlgoMiner.sol | 2 +- .../SmartContracts/src/Terminable.sol | 2 +- .../src/bin/AlgoFees-sol-output.json | 7981 ++++++++------- .../SmartContracts/src/bin/AlgoFees.bin | 2 +- .../SmartContracts/src/bin/AlgoFees.json | 8 +- .../src/bin/AlgoMiner-sol-output.json | 8784 ++++++++--------- .../SmartContracts/src/bin/AlgoMiner.bin | 2 +- .../SmartContracts/src/bin/AlgoMiner.json | 26 +- .../src/bin/AlgoPool-sol-output.json | 4904 +++++---- .../SmartContracts/src/bin/AlgoPool.bin | 2 +- .../SmartContracts/src/bin/AlgoPool.json | 4 +- .../SmartContracts/src/package-lock.json | 506 +- .../SmartContracts/src/package.json | 4 +- 27 files changed, 14438 insertions(+), 15003 deletions(-) diff --git a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/AlgoTokenV1.sol b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/AlgoTokenV1.sol index 654d73592..c670b8d33 100644 --- a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/AlgoTokenV1.sol +++ b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/AlgoTokenV1.sol @@ -1,4 +1,4 @@ -pragma solidity 0.4.24; +pragma solidity 0.5.4; import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol"; import "openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol"; diff --git a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1-sol-output.json b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1-sol-output.json index 0f9d5373d..0daf3eb06 100644 --- a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1-sol-output.json +++ b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1-sol-output.json @@ -450,32 +450,32 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b50604080518082018252600581527f416c676f7300000000000000000000000000000000000000000000000000000060208083019182528351808501909452600484527f414c474f00000000000000000000000000000000000000000000000000000000908401528151919291601291620000909160039190620002c1565b508151620000a6906004906020850190620002c1565b506005805460ff191660ff9290921691909117905550620000d290503364010000000062000103810204565b6007805460ff19169055620000fd336b033b2e3c9fd0803ce800000064010000000062000155810204565b62000366565b6200011e60068264010000000062000b226200021482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a03821615156200016b57600080fd5b60025462000188908264010000000062000ac46200026f82021704565b600255600160a060020a038216600090815260208190526040902054620001be908264010000000062000ac46200026f82021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a03811615156200022a57600080fd5b6200023f828264010000000062000289810204565b156200024a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200028257600080fd5b9392505050565b6000600160a060020a0382161515620002a157600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030457805160ff191683800117855562000334565b8280016001018555821562000334579182015b828111156200033457825182559160200191906001019062000317565b506200034292915062000346565b5090565b6200036391905b808211156200034257600081556001016200034d565b90565b610b9c80620003766000396000f3006080604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610100578063095ea7b31461018a57806318160ddd146101c257806323b872dd146101e95780632ff2e9dc14610213578063313ce5671461022857806339509351146102535780633f4ba83a1461027757806346fbf68e1461028e5780635c975abb146102af5780636ef8d66d146102c457806370a08231146102d957806382dc1ec4146102fa5780638456cb591461031b57806395d89b4114610330578063a457c2d714610345578063a9059cbb14610369578063dd62ed3e1461038d575b600080fd5b34801561010c57600080fd5b506101156103b4565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101ae600160a060020a036004351660243561044a565b604080519115158252519081900360200190f35b3480156101ce57600080fd5b506101d761046e565b60408051918252519081900360200190f35b3480156101f557600080fd5b506101ae600160a060020a0360043581169060243516604435610474565b34801561021f57600080fd5b506101d761049a565b34801561023457600080fd5b5061023d6104aa565b6040805160ff9092168252519081900360200190f35b34801561025f57600080fd5b506101ae600160a060020a03600435166024356104b3565b34801561028357600080fd5b5061028c6104d0565b005b34801561029a57600080fd5b506101ae600160a060020a0360043516610534565b3480156102bb57600080fd5b506101ae61054d565b3480156102d057600080fd5b5061028c610556565b3480156102e557600080fd5b506101d7600160a060020a0360043516610561565b34801561030657600080fd5b5061028c600160a060020a036004351661057c565b34801561032757600080fd5b5061028c61059c565b34801561033c57600080fd5b50610115610602565b34801561035157600080fd5b506101ae600160a060020a0360043516602435610663565b34801561037557600080fd5b506101ae600160a060020a0360043516602435610680565b34801561039957600080fd5b506101d7600160a060020a036004358116906024351661069d565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104405780601f1061041557610100808354040283529160200191610440565b820191906000526020600020905b81548152906001019060200180831161042357829003601f168201915b5050505050905090565b60075460009060ff161561045d57600080fd5b61046783836106c8565b9392505050565b60025490565b60075460009060ff161561048757600080fd5b610492848484610746565b949350505050565b6b033b2e3c9fd0803ce800000081565b60055460ff1690565b60075460009060ff16156104c657600080fd5b61046783836107e3565b6104d933610534565b15156104e457600080fd5b60075460ff1615156104f557600080fd5b6007805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061054760068363ffffffff61089316565b92915050565b60075460ff1690565b61055f336108ca565b565b600160a060020a031660009081526020819052604090205490565b61058533610534565b151561059057600080fd5b61059981610912565b50565b6105a533610534565b15156105b057600080fd5b60075460ff16156105c057600080fd5b6007805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104405780601f1061041557610100808354040283529160200191610440565b60075460009060ff161561067657600080fd5b610467838361095a565b60075460009060ff161561069357600080fd5b61046783836109a5565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156106df57600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a038316600090815260016020908152604080832033845290915281205482111561077657600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020546107aa908363ffffffff6109bb16565b600160a060020a03851660009081526001602090815260408083203384529091529020556107d98484846109d2565b5060019392505050565b6000600160a060020a03831615156107fa57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461082e908363ffffffff610ac416565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a03821615156108aa57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6108db60068263ffffffff610ad616565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61092360068263ffffffff610b2216565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a038316151561097157600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461082e908363ffffffff6109bb16565b60006109b23384846109d2565b50600192915050565b600080838311156109cb57600080fd5b5050900390565b600160a060020a0383166000908152602081905260409020548111156109f757600080fd5b600160a060020a0382161515610a0c57600080fd5b600160a060020a038316600090815260208190526040902054610a35908263ffffffff6109bb16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a6a908263ffffffff610ac416565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561046757600080fd5b600160a060020a0381161515610aeb57600080fd5b610af58282610893565b1515610b0057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610b3757600080fd5b610b418282610893565b15610b4b57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191660011790555600a165627a7a7230582061a190b3074a6fa0ab1f995699a75a855141c91dd51eb835ef565d0c7739360d0029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x5 DUP2 MSTORE PUSH32 0x416C676F73000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 DUP3 MSTORE DUP4 MLOAD DUP1 DUP6 ADD SWAP1 SWAP5 MSTORE PUSH1 0x4 DUP5 MSTORE PUSH32 0x414C474F00000000000000000000000000000000000000000000000000000000 SWAP1 DUP5 ADD MSTORE DUP2 MLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x12 SWAP2 PUSH3 0x90 SWAP2 PUSH1 0x3 SWAP2 SWAP1 PUSH3 0x2C1 JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0xA6 SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x2C1 JUMP JUMPDEST POP PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP PUSH3 0xD2 SWAP1 POP CALLER PUSH5 0x100000000 PUSH3 0x103 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH3 0xFD CALLER PUSH12 0x33B2E3C9FD0803CE8000000 PUSH5 0x100000000 PUSH3 0x155 DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x366 JUMP JUMPDEST PUSH3 0x11E PUSH1 0x6 DUP3 PUSH5 0x100000000 PUSH3 0xB22 PUSH3 0x214 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0x6719D08C1888103BEA251A4ED56406BD0C3E69723C8A1686E017E7BBE159B6F8 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 SLOAD PUSH3 0x188 SWAP1 DUP3 PUSH5 0x100000000 PUSH3 0xAC4 PUSH3 0x26F DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH3 0x1BE SWAP1 DUP3 PUSH5 0x100000000 PUSH3 0xAC4 PUSH3 0x26F DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE DUP4 MLOAD DUP6 DUP2 MSTORE SWAP4 MLOAD SWAP3 SWAP4 SWAP2 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x23F DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x289 DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x24A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH3 0x282 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH3 0x304 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x334 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x334 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x334 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x317 JUMP JUMPDEST POP PUSH3 0x342 SWAP3 SWAP2 POP PUSH3 0x346 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH3 0x363 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x342 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x34D JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0xB9C DUP1 PUSH3 0x376 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xFB JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0x6FDDE03 DUP2 EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0x2FF2E9DC EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x228 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x253 JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x277 JUMPI DUP1 PUSH4 0x46FBF68E EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x6EF8D66D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2D9 JUMPI DUP1 PUSH4 0x82DC1EC4 EQ PUSH2 0x2FA JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x31B JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x330 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x345 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x369 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x38D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x115 PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x14F JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x137 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x17C JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x196 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x44A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D7 PUSH2 0x46E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH1 0x44 CALLDATALOAD PUSH2 0x474 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D7 PUSH2 0x49A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23D PUSH2 0x4AA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x4B3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x283 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28C PUSH2 0x4D0 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x534 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AE PUSH2 0x54D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28C PUSH2 0x556 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D7 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x561 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x306 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28C PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x57C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28C PUSH2 0x59C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x33C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x115 PUSH2 0x602 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x351 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x663 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x375 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x680 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D7 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x69D JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x440 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x415 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x440 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x423 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x45D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x467 DUP4 DUP4 PUSH2 0x6C8 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x487 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x492 DUP5 DUP5 DUP5 PUSH2 0x746 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH12 0x33B2E3C9FD0803CE8000000 DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x4C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x467 DUP4 DUP4 PUSH2 0x7E3 JUMP JUMPDEST PUSH2 0x4D9 CALLER PUSH2 0x534 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x4F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD CALLER DUP2 MSTORE SWAP1 MLOAD PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x547 PUSH1 0x6 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x893 AND JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x55F CALLER PUSH2 0x8CA JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x585 CALLER PUSH2 0x534 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x590 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x599 DUP2 PUSH2 0x912 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x5A5 CALLER PUSH2 0x534 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x5C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD CALLER DUP2 MSTORE SWAP1 MLOAD PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x440 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x415 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x440 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x676 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x467 DUP4 DUP4 PUSH2 0x95A JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x693 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x467 DUP4 DUP4 PUSH2 0x9A5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x6DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE DUP1 MLOAD DUP7 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x776 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x7AA SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x9BB AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x7D9 DUP5 DUP5 DUP5 PUSH2 0x9D2 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x82E SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xAC4 AND JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP10 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE DUP1 MLOAD SWAP5 DUP6 MSTORE MLOAD SWAP2 SWAP4 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x8AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x8DB PUSH1 0x6 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xAD6 AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0xCD265EBAF09DF2871CC7BD4133404A235BA12EFF2041BB89D9C714A2621C7C7E SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH2 0x923 PUSH1 0x6 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xB22 AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0x6719D08C1888103BEA251A4ED56406BD0C3E69723C8A1686E017E7BBE159B6F8 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x971 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x82E SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x9BB AND JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9B2 CALLER DUP5 DUP5 PUSH2 0x9D2 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP4 GT ISZERO PUSH2 0x9CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP SWAP1 SUB SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 GT ISZERO PUSH2 0x9F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xA0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xA35 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x9BB AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0xA6A SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xAC4 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE DUP1 MLOAD DUP6 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP4 SWAP3 DUP8 AND SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP2 DUP3 SWAP1 SUB ADD SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xAEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAF5 DUP3 DUP3 PUSH2 0x893 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xB00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xB37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB41 DUP3 DUP3 PUSH2 0x893 JUMP JUMPDEST ISZERO PUSH2 0xB4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH2 0xA190 0xb3 SMOD 0x4a PUSH16 0xA0AB1F995699A75A855141C91DD51EB8 CALLDATALOAD 0xef JUMP 0x5d 0xc PUSH24 0x39360D002900000000000000000000000000000000000000 ", - "sourceMap": "409:310:0:-;;;560:156;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;398:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;467:12;;398:134;;;639:2:0;;467:12:6;;:5;;398:134;467:12;:::i;:::-;-1:-1:-1;485:16:6;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;507:9:6;:20;;-1:-1:-1;;507:20:6;;;;;;;;;;;;-1:-1:-1;260:22:2;;-1:-1:-1;271:10:2;260;;;;:22;:::i;:::-;340:7:3;:15;;-1:-1:-1;;340:15:3;;;675:33:0;681:10;519:32;675:5;;;;:33;:::i;:::-;409:310;;629:108:2;681:20;:7;693;681:11;;;;;;:20;:::i;:::-;712;;-1:-1:-1;;;;;712:20:2;;;;;;;;629:108;:::o;5541:235:5:-;-1:-1:-1;;;;;5611:12:5;;;;5603:21;;;;;;5645:12;;:23;;5662:5;5645:16;;;;;;:23;:::i;:::-;5630:12;:38;-1:-1:-1;;;;;5695:18:5;;:9;:18;;;;;;;;;;;:29;;5718:5;5695:22;;;;;;:29;:::i;:::-;-1:-1:-1;;;;;5674:18:5;;:9;:18;;;;;;;;;;;:50;;;;5735:36;;;;;;;5674:18;;:9;;5735:36;;;;;;;;;;5541:235;;:::o;244:167:1:-;-1:-1:-1;;;;;316:21:1;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:1;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:1;402:4;379:27;;;244:167::o;1272:131:4:-;1330:7;1357:5;;;1376:6;;;;1368:15;;;;;;1397:1;1272:131;-1:-1:-1;;;1272:131:4:o;725:166:1:-;809:4;-1:-1:-1;;;;;831:21:1;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:1;:11;:20;;;;;;;;;;;;;;;725:166::o;409:310:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;409:310:0;;;-1:-1:-1;409:310:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;" + "object": "60806040523480156200001157600080fd5b50604080518082018252600581527f416c676f7300000000000000000000000000000000000000000000000000000060208083019182528351808501909452600484527f414c474f00000000000000000000000000000000000000000000000000000000908401528151919291601291620000909160039190620002c1565b508151620000a6906004906020850190620002c1565b506005805460ff191660ff9290921691909117905550620000d290503364010000000062000103810204565b6007805460ff19169055620000fd336b033b2e3c9fd0803ce800000064010000000062000155810204565b62000366565b6200011e60068264010000000062000b2c6200021482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a03821615156200016b57600080fd5b60025462000188908264010000000062000ace6200026f82021704565b600255600160a060020a038216600090815260208190526040902054620001be908264010000000062000ace6200026f82021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a03811615156200022a57600080fd5b6200023f828264010000000062000289810204565b156200024a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200028257600080fd5b9392505050565b6000600160a060020a0382161515620002a157600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030457805160ff191683800117855562000334565b8280016001018555821562000334579182015b828111156200033457825182559160200191906001019062000317565b506200034292915062000346565b5090565b6200036391905b808211156200034257600081556001016200034d565b90565b610ba680620003766000396000f3fe608060405234801561001057600080fd5b5060043610610133576000357c0100000000000000000000000000000000000000000000000000000000900480635c975abb116100bf5780638456cb591161008e5780638456cb591461032357806395d89b411461032b578063a457c2d714610333578063a9059cbb1461035f578063dd62ed3e1461038b57610133565b80635c975abb146102c75780636ef8d66d146102cf57806370a08231146102d757806382dc1ec4146102fd57610133565b80632ff2e9dc116101065780632ff2e9dc14610245578063313ce5671461024d578063395093511461026b5780633f4ba83a1461029757806346fbf68e146102a157610133565b806306fdde0314610138578063095ea7b3146101b557806318160ddd146101f557806323b872dd1461020f575b600080fd5b6101406103b9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017a578181015183820152602001610162565b50505050905090810190601f1680156101a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e1600480360360408110156101cb57600080fd5b50600160a060020a03813516906020013561044f565b604080519115158252519081900360200190f35b6101fd610473565b60408051918252519081900360200190f35b6101e16004803603606081101561022557600080fd5b50600160a060020a03813581169160208101359091169060400135610479565b6101fd61049f565b6102556104af565b6040805160ff9092168252519081900360200190f35b6101e16004803603604081101561028157600080fd5b50600160a060020a0381351690602001356104b8565b61029f6104d5565b005b6101e1600480360360208110156102b757600080fd5b5035600160a060020a0316610539565b6101e1610552565b61029f61055b565b6101fd600480360360208110156102ed57600080fd5b5035600160a060020a0316610566565b61029f6004803603602081101561031357600080fd5b5035600160a060020a0316610581565b61029f6105a1565b610140610607565b6101e16004803603604081101561034957600080fd5b50600160a060020a038135169060200135610668565b6101e16004803603604081101561037557600080fd5b50600160a060020a038135169060200135610685565b6101fd600480360360408110156103a157600080fd5b50600160a060020a03813581169160200135166106a2565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104455780601f1061041a57610100808354040283529160200191610445565b820191906000526020600020905b81548152906001019060200180831161042857829003601f168201915b5050505050905090565b60075460009060ff161561046257600080fd5b61046c83836106cd565b9392505050565b60025490565b60075460009060ff161561048c57600080fd5b61049784848461074b565b949350505050565b6b033b2e3c9fd0803ce800000081565b60055460ff1690565b60075460009060ff16156104cb57600080fd5b61046c8383610814565b6104de33610539565b15156104e957600080fd5b60075460ff1615156104fa57600080fd5b6007805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061054c60068363ffffffff6108c416565b92915050565b60075460ff1690565b610564336108fb565b565b600160a060020a031660009081526020819052604090205490565b61058a33610539565b151561059557600080fd5b61059e81610943565b50565b6105aa33610539565b15156105b557600080fd5b60075460ff16156105c557600080fd5b6007805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104455780601f1061041a57610100808354040283529160200191610445565b60075460009060ff161561067b57600080fd5b61046c838361098b565b60075460009060ff161561069857600080fd5b61046c83836109d6565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156106e457600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a038316600090815260016020908152604080832033845290915281205461077f908363ffffffff6109ec16565b600160a060020a03851660009081526001602090815260408083203384529091529020556107ae848484610a01565b600160a060020a0384166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000600160a060020a038316151561082b57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461085f908363ffffffff610ace16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a03821615156108db57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61090c60068263ffffffff610ae016565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61095460068263ffffffff610b2c16565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a03831615156109a257600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461085f908363ffffffff6109ec16565b60006109e3338484610a01565b50600192915050565b6000828211156109fb57600080fd5b50900390565b600160a060020a0382161515610a1657600080fd5b600160a060020a038316600090815260208190526040902054610a3f908263ffffffff6109ec16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a74908263ffffffff610ace16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561046c57600080fd5b600160a060020a0381161515610af557600080fd5b610aff82826108c4565b1515610b0a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610b4157600080fd5b610b4b82826108c4565b15610b5557600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916600117905556fea165627a7a72305820a8673657c914c80ad8879e073b63b3c05fd0190188d56a14948896f8205677a60029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x5 DUP2 MSTORE PUSH32 0x416C676F73000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 DUP3 MSTORE DUP4 MLOAD DUP1 DUP6 ADD SWAP1 SWAP5 MSTORE PUSH1 0x4 DUP5 MSTORE PUSH32 0x414C474F00000000000000000000000000000000000000000000000000000000 SWAP1 DUP5 ADD MSTORE DUP2 MLOAD SWAP2 SWAP3 SWAP2 PUSH1 0x12 SWAP2 PUSH3 0x90 SWAP2 PUSH1 0x3 SWAP2 SWAP1 PUSH3 0x2C1 JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0xA6 SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x2C1 JUMP JUMPDEST POP PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP PUSH3 0xD2 SWAP1 POP CALLER PUSH5 0x100000000 PUSH3 0x103 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH3 0xFD CALLER PUSH12 0x33B2E3C9FD0803CE8000000 PUSH5 0x100000000 PUSH3 0x155 DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x366 JUMP JUMPDEST PUSH3 0x11E PUSH1 0x6 DUP3 PUSH5 0x100000000 PUSH3 0xB2C PUSH3 0x214 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0x6719D08C1888103BEA251A4ED56406BD0C3E69723C8A1686E017E7BBE159B6F8 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 SLOAD PUSH3 0x188 SWAP1 DUP3 PUSH5 0x100000000 PUSH3 0xACE PUSH3 0x26F DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH3 0x1BE SWAP1 DUP3 PUSH5 0x100000000 PUSH3 0xACE PUSH3 0x26F DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE DUP4 MLOAD DUP6 DUP2 MSTORE SWAP4 MLOAD SWAP3 SWAP4 SWAP2 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x23F DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x289 DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x24A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH3 0x282 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH3 0x304 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x334 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x334 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x334 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x317 JUMP JUMPDEST POP PUSH3 0x342 SWAP3 SWAP2 POP PUSH3 0x346 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH3 0x363 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x342 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x34D JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0xBA6 DUP1 PUSH3 0x376 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x133 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x5C975ABB GT PUSH2 0xBF JUMPI DUP1 PUSH4 0x8456CB59 GT PUSH2 0x8E JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x323 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x32B JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x333 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x35F JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x38B JUMPI PUSH2 0x133 JUMP JUMPDEST DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0x6EF8D66D EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2D7 JUMPI DUP1 PUSH4 0x82DC1EC4 EQ PUSH2 0x2FD JUMPI PUSH2 0x133 JUMP JUMPDEST DUP1 PUSH4 0x2FF2E9DC GT PUSH2 0x106 JUMPI DUP1 PUSH4 0x2FF2E9DC EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x24D JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x297 JUMPI DUP1 PUSH4 0x46FBF68E EQ PUSH2 0x2A1 JUMPI PUSH2 0x133 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x138 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x20F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x140 PUSH2 0x3B9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x17A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x162 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1A7 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x44F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x1FD PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x225 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x479 JUMP JUMPDEST PUSH2 0x1FD PUSH2 0x49F JUMP JUMPDEST PUSH2 0x255 PUSH2 0x4AF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x4B8 JUMP JUMPDEST PUSH2 0x29F PUSH2 0x4D5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x539 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x552 JUMP JUMPDEST PUSH2 0x29F PUSH2 0x55B JUMP JUMPDEST PUSH2 0x1FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x566 JUMP JUMPDEST PUSH2 0x29F PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x313 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x581 JUMP JUMPDEST PUSH2 0x29F PUSH2 0x5A1 JUMP JUMPDEST PUSH2 0x140 PUSH2 0x607 JUMP JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x668 JUMP JUMPDEST PUSH2 0x1E1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x375 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x685 JUMP JUMPDEST PUSH2 0x1FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0x6A2 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x445 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x41A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x445 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x428 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x462 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46C DUP4 DUP4 PUSH2 0x6CD JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x497 DUP5 DUP5 DUP5 PUSH2 0x74B JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH12 0x33B2E3C9FD0803CE8000000 DUP2 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x4CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46C DUP4 DUP4 PUSH2 0x814 JUMP JUMPDEST PUSH2 0x4DE CALLER PUSH2 0x539 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD CALLER DUP2 MSTORE SWAP1 MLOAD PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x54C PUSH1 0x6 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x8C4 AND JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x564 CALLER PUSH2 0x8FB JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x58A CALLER PUSH2 0x539 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59E DUP2 PUSH2 0x943 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x5AA CALLER PUSH2 0x539 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x5B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x5C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD CALLER DUP2 MSTORE SWAP1 MLOAD PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x445 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x41A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x445 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x67B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46C DUP4 DUP4 PUSH2 0x98B JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x698 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x46C DUP4 DUP4 PUSH2 0x9D6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE DUP1 MLOAD DUP7 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH2 0x77F SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x9EC AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x7AE DUP5 DUP5 DUP5 PUSH2 0xA01 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 SLOAD DUP2 MLOAD SWAP1 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x82B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x85F SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xACE AND JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP10 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE DUP1 MLOAD SWAP5 DUP6 MSTORE MLOAD SWAP2 SWAP4 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x8DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x90C PUSH1 0x6 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xAE0 AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0xCD265EBAF09DF2871CC7BD4133404A235BA12EFF2041BB89D9C714A2621C7C7E SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH2 0x954 PUSH1 0x6 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xB2C AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0x6719D08C1888103BEA251A4ED56406BD0C3E69723C8A1686E017E7BBE159B6F8 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x9A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x85F SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x9EC AND JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E3 CALLER DUP5 DUP5 PUSH2 0xA01 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x9FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SWAP1 SUB SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xA16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xA3F SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x9EC AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0xA74 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xACE AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE DUP1 MLOAD DUP6 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP4 SWAP3 DUP8 AND SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP2 DUP3 SWAP1 SUB ADD SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x46C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xAF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAFF DUP3 DUP3 PUSH2 0x8C4 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xB0A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xB41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB4B DUP3 DUP3 PUSH2 0x8C4 JUMP JUMPDEST ISZERO PUSH2 0xB55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xa8 PUSH8 0x3657C914C80AD887 SWAP15 SMOD EXTCODESIZE PUSH4 0xB3C05FD0 NOT ADD DUP9 0xd5 PUSH11 0x14948896F8205677A60029 ", + "sourceMap": "408:310:0:-;;;559:156;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;405:163:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;493:12;;405:163;;;638:2:0;;493:12:6;;:5;;405:163;493:12;:::i;:::-;-1:-1:-1;515:16:6;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;541:9:6;:20;;-1:-1:-1;;541:20:6;;;;;;;;;;;;-1:-1:-1;275:22:2;;-1:-1:-1;286:10:2;275;;;;:22;:::i;:::-;352:7:3;:15;;-1:-1:-1;;352:15:3;;;674:33:0;680:10;518:32;674:5;;;;:33;:::i;:::-;408:310;;685:119:2;741:21;:8;754:7;741:12;;;;;;:21;:::i;:::-;777:20;;-1:-1:-1;;;;;777:20:2;;;;;;;;685:119;:::o;6198:263:5:-;-1:-1:-1;;;;;6272:21:5;;;;6264:30;;;;;;6320:12;;:23;;6337:5;6320:16;;;;;;:23;:::i;:::-;6305:12;:38;-1:-1:-1;;;;;6374:18:5;;:9;:18;;;;;;;;;;;:29;;6397:5;6374:22;;;;;;:29;:::i;:::-;-1:-1:-1;;;;;6353:18:5;;:9;:18;;;;;;;;;;;:50;;;;6418:36;;;;;;;6353:18;;:9;;6418:36;;;;;;;;;;6198:263;;:::o;259:181:1:-;-1:-1:-1;;;;;335:21:1;;;;327:30;;;;;;376:18;380:4;386:7;376:3;;;;:18;:::i;:::-;375:19;367:28;;;;;;-1:-1:-1;;;;;406:20:1;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;406:27:1;429:4;406:27;;;259:181::o;1431:145:4:-;1489:7;1520:5;;;1543:6;;;;1535:15;;;;;;1568:1;1431:145;-1:-1:-1;;;1431:145:4:o;786:162:1:-;858:4;-1:-1:-1;;;;;882:21:1;;;;874:30;;;;;;-1:-1:-1;;;;;;921:20:1;:11;:20;;;;;;;;;;;;;;;786:162::o;408:310:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;408:310:0;;;-1:-1:-1;408:310:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;" }, "gasEstimates": { "creation": { - "codeDepositCost": "594400", + "codeDepositCost": "596400", "executionCost": "infinite", "totalCost": "infinite" }, "external": { - "INITIAL_SUPPLY()": "272", + "INITIAL_SUPPLY()": "226", "addPauser(address)": "infinite", - "allowance(address,address)": "1082", - "approve(address,uint256)": "22732", - "balanceOf(address)": "851", - "decimals()": "509", + "allowance(address,address)": "879", + "approve(address,uint256)": "22820", + "balanceOf(address)": "731", + "decimals()": "463", "decreaseAllowance(address,uint256)": "infinite", "increaseAllowance(address,uint256)": "infinite", "isPauser(address)": "infinite", "name()": "infinite", "pause()": "infinite", - "paused()": "594", + "paused()": "438", "renouncePauser()": "infinite", "symbol()": "infinite", - "totalSupply()": "428", + "totalSupply()": "471", "transfer(address,uint256)": "infinite", "transferFrom(address,address,uint256)": "infinite", "unpause()": "infinite" @@ -502,7 +502,7 @@ "unpause()": "3f4ba83a" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"decimals()\":{\"return\":\"the number of decimals of the token.\"},\"name()\":{\"return\":\"the name of the token.\"},\"pause()\":{\"details\":\"called by the owner to pause, triggers stopped state\"},\"paused()\":{\"return\":\"true if the contract is paused, false otherwise.\"},\"symbol()\":{\"return\":\"the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Total number of tokens in existence\"},\"unpause()\":{\"details\":\"called by the owner to unpause, returns to normal state\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/AlgoTokenV1.sol\":\"AlgoTokenV1\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/AlgoTokenV1.sol\":{\"keccak256\":\"0xa3ca532ba89cd9078218c7a33002166565007a192a01ab562dda1b4f64cfde7a\",\"urls\":[\"bzzr://b6dfc4d2318bf62ca3e6e8c65884e5d9bb7bf98667168794f65b4d8090f3ea75\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0x9c483b37c788ed1f3ce0c29934e5c41b9e84ff954380c04bffdf42c1e215a1a8\",\"urls\":[\"bzzr://1727e08315c67d0203510d5d50e645c80a569df7964715eddaec10bf90d70bab\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0x9cb69bde8cc3efdd07a2c372e78b664e961f505b3e4195ee27f06b358ffef996\",\"urls\":[\"bzzr://13da310cd2989e27357c2912085af0f1925047070f48be175c6b7e2b0299084f\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xaa2cf35177f37a9af9c975a973c813c5520be56ccee3a39b6c9883d4781cd072\",\"urls\":[\"bzzr://2244d517ff73299ad9b6c9dcb7d0788e5e452d8b1624d3027c1fb152135de8f4\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0xafff01f07c0aca08e5db86a0f35bcf40cbd0a5da06aeeb9964b06c0bac507866\",\"urls\":[\"bzzr://40bb6c5e5b0c7b20f56eb7bd662e2dbd295f3b8f5f0cbb23cbe5114590110729\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol\":{\"keccak256\":\"0x34ae26a75fc5dd5d3d283d0d95a080212e81734a5cab7be187778e74224d57d1\",\"urls\":[\"bzzr://8ed5c93c550934720a33a387f8272b252b5aa8c5e0e4c6e21d5e92c662632bbb\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"decimals()\":{\"return\":\"the number of decimals of the token.\"},\"name()\":{\"return\":\"the name of the token.\"},\"pause()\":{\"details\":\"called by the owner to pause, triggers stopped state\"},\"paused()\":{\"return\":\"true if the contract is paused, false otherwise.\"},\"symbol()\":{\"return\":\"the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Total number of tokens in existence\"},\"unpause()\":{\"details\":\"called by the owner to unpause, returns to normal state\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/AlgoTokenV1.sol\":\"AlgoTokenV1\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/AlgoTokenV1.sol\":{\"keccak256\":\"0xdcc3037af0c6df03d255c9499734f93c105ed0243f985fa6a75b52d96e2b5f9d\",\"urls\":[\"bzzr://2be58cc40034bf60a6bb2ef81726c354a2e8cbd63751809a8349697ba26d509d\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0x6506133e295a7199df2ac5dfc52853d9d767f68450b6d0193e9d8056b164ce86\",\"urls\":[\"bzzr://357744ad2278716087860855e31728d9f99493bb4a3567a2e39a910cb219601a\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0x3b0ed31deeba7e3c6cfbbe8092a6b427084ee390800a06acdea5c17c8185d606\",\"urls\":[\"bzzr://64665e3aefdb15dd5d2ebe3cba5103a150199e27219fc16e9d71815328e6f64f\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xba431353cb4fe70777ac026231eb5468e41aa1e81240a2b8136917acc5fff4dc\",\"urls\":[\"bzzr://80cd02a56e6e33504318124d0d645c82e615cc8a4b5829cc9d82d17635c644c8\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0xe195405e9993d575173cdb5dd408db7459a026b9a98085c1a3b676f020f46584\",\"urls\":[\"bzzr://4463a0d4f49767f59c02f2a987b90d48e0d31b3ed3424f3e743496f102f96044\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol\":{\"keccak256\":\"0x37b840977505e5f6d74bc8fa3d0217facc7913d0ecf064da3e3b26494acd37de\",\"urls\":[\"bzzr://81265bcdcca15f8a460cef608b40ca729559f2afbd6e6e7124b542d28da1c890\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -512,15 +512,16 @@ "Roles": { "abi": [], "devdoc": { + "details": "Library for managing addresses assigned to a Role.", "methods": {}, "title": "Roles" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058209944a978f76fff24cc87208ce7f37ff326fbfd8cd7d603831a39790f896d15bc0029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SWAP10 DIFFICULTY 0xa9 PUSH25 0xF76FFF24CC87208CE7F37FF326FBFD8CD7D603831A39790F89 PUSH14 0x15BC002900000000000000000000 ", - "sourceMap": "109:784:1:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058205d69966d67651bfd2b7c5e5caddd667e55aa5b27b0278c4a8cb13c82ef1921600029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0x5d PUSH10 0x966D67651BFD2B7C5E5C 0xad 0xdd PUSH7 0x7E55AA5B27B027 DUP13 0x4a DUP13 0xb1 EXTCODECOPY DUP3 0xef NOT 0x21 PUSH1 0x0 0x29 ", + "sourceMap": "108:842:1:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -536,7 +537,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing addresses assigned to a Role.\",\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -774,6 +775,7 @@ } ], "devdoc": { + "details": "Base contract which allows children to implement an emergency stop mechanism.", "methods": { "pause()": { "details": "called by the owner to pause, triggers stopped state" @@ -814,15 +816,16 @@ "SafeMath": { "abi": [], "devdoc": { + "details": "Unsigned math operations with safety checks that revert on error", "methods": {}, "title": "SafeMath" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582058bb1a821f73a50e8c797d9d6c3c6d4818e97d5b10d4a35f2486f49dbe5d83fb0029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 PC 0xbb BYTE DUP3 0x1f PUSH20 0xA50E8C797D9D6C3C6D4818E97D5B10D4A35F2486 DELEGATECALL SWAP14 0xbe 0x5d DUP4 CREATE2 STOP 0x29 ", - "sourceMap": "117:1531:4:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820009f8e16279448e3368b519ea60818fa88fd7d5cf7185ad39cac36325f88401d0029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 STOP SWAP16 DUP15 AND 0x27 SWAP5 0x48 0xe3 CALLDATASIZE DUP12 MLOAD SWAP15 0xa6 ADDMOD XOR STATICCALL DUP9 REVERT PUSH30 0x5CF7185AD39CAC36325F88401D0029000000000000000000000000000000 ", + "sourceMap": "125:1726:4:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -840,7 +843,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Unsigned math operations with safety checks that revert on error\",\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -1070,6 +1073,7 @@ } ], "devdoc": { + "details": "Implementation of the basic standard token. https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for all accounts just by listening to said events. Note that this isn't required by the specification, and other compliant implementations may not do it.", "methods": { "allowance(address,address)": { "details": "Function to check the amount of tokens that an owner allowed to a spender.", @@ -1094,14 +1098,14 @@ "return": "An uint256 representing the amount owned by the passed address." }, "decreaseAllowance(address,uint256)": { - "details": "Decrease the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To decrement allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol", + "details": "Decrease the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To decrement allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol Emits an Approval event.", "params": { "spender": "The address which will spend the funds.", "subtractedValue": "The amount of tokens to decrease the allowance by." } }, "increaseAllowance(address,uint256)": { - "details": "Increase the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol", + "details": "Increase the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol Emits an Approval event.", "params": { "addedValue": "The amount of tokens to increase the allowance by.", "spender": "The address which will spend the funds." @@ -1118,7 +1122,7 @@ } }, "transferFrom(address,address,uint256)": { - "details": "Transfer tokens from one address to another", + "details": "Transfer tokens from one address to another. Note that while this function emits an Approval event, this is not required as per the specification, and other compliant implementations may not emit the event.", "params": { "from": "address The address which you want to send tokens from", "to": "address The address which you want to transfer to", @@ -1131,23 +1135,23 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610595806100206000396000f30060806040526004361061008d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461009257806318160ddd146100ca57806323b872dd146100f1578063395093511461011b57806370a082311461013f578063a457c2d714610160578063a9059cbb14610184578063dd62ed3e146101a8575b600080fd5b34801561009e57600080fd5b506100b6600160a060020a03600435166024356101cf565b604080519115158252519081900360200190f35b3480156100d657600080fd5b506100df61024d565b60408051918252519081900360200190f35b3480156100fd57600080fd5b506100b6600160a060020a0360043581169060243516604435610253565b34801561012757600080fd5b506100b6600160a060020a03600435166024356102f0565b34801561014b57600080fd5b506100df600160a060020a03600435166103a0565b34801561016c57600080fd5b506100b6600160a060020a03600435166024356103bb565b34801561019057600080fd5b506100b6600160a060020a0360043516602435610406565b3480156101b457600080fd5b506100df600160a060020a036004358116906024351661041c565b6000600160a060020a03831615156101e657600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025490565b600160a060020a038316600090815260016020908152604080832033845290915281205482111561028357600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020546102b7908363ffffffff61044716565b600160a060020a03851660009081526001602090815260408083203384529091529020556102e684848461045e565b5060019392505050565b6000600160a060020a038316151561030757600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461033b908363ffffffff61055016565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a031660009081526020819052604090205490565b6000600160a060020a03831615156103d257600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461033b908363ffffffff61044716565b600061041333848461045e565b50600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000808383111561045757600080fd5b5050900390565b600160a060020a03831660009081526020819052604090205481111561048357600080fd5b600160a060020a038216151561049857600080fd5b600160a060020a0383166000908152602081905260409020546104c1908263ffffffff61044716565b600160a060020a0380851660009081526020819052604080822093909355908416815220546104f6908263ffffffff61055016565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561056257600080fd5b93925050505600a165627a7a72305820083071c6150a8cecebb9b0a032aec2e16a0aaadc7643557277a17d1e163e573d0029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x595 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x8D JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0x95EA7B3 DUP2 EQ PUSH2 0x92 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xCA JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0xF1 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x13F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x160 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x184 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB6 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x1CF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDF PUSH2 0x24D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB6 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH1 0x44 CALLDATALOAD PUSH2 0x253 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB6 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x2F0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x14B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDF PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x3A0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB6 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x3BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x190 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB6 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x406 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDF PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x41C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x1E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE DUP1 MLOAD DUP7 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x283 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x2B7 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x447 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x2E6 DUP5 DUP5 DUP5 PUSH2 0x45E JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x307 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x33B SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x550 AND JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP10 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE DUP1 MLOAD SWAP5 DUP6 MSTORE MLOAD SWAP2 SWAP4 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x33B SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x447 AND JUMP JUMPDEST PUSH1 0x0 PUSH2 0x413 CALLER DUP5 DUP5 PUSH2 0x45E JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP4 GT ISZERO PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP SWAP1 SUB SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 GT ISZERO PUSH2 0x483 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x498 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x4C1 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x447 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x4F6 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x550 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE DUP1 MLOAD DUP6 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP4 SWAP3 DUP8 AND SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP2 DUP3 SWAP1 SUB ADD SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x562 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 ADDMOD ADDRESS PUSH18 0xC6150A8CECEBB9B0A032AEC2E16A0AAADC76 NUMBER SSTORE PUSH19 0x77A17D1E163E573D0029000000000000000000 ", - "sourceMap": "369:6595:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;369:6595:5;;;;;;;" + "object": "608060405234801561001057600080fd5b506105dd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a5576000357c01000000000000000000000000000000000000000000000000000000009004806370a082311161007857806370a0823114610166578063a457c2d71461018c578063a9059cbb146101b8578063dd62ed3e146101e4576100a5565b8063095ea7b3146100aa57806318160ddd146100ea57806323b872dd14610104578063395093511461013a575b600080fd5b6100d6600480360360408110156100c057600080fd5b50600160a060020a038135169060200135610212565b604080519115158252519081900360200190f35b6100f2610290565b60408051918252519081900360200190f35b6100d66004803603606081101561011a57600080fd5b50600160a060020a03813581169160208101359091169060400135610296565b6100d66004803603604081101561015057600080fd5b50600160a060020a03813516906020013561035f565b6100f26004803603602081101561017c57600080fd5b5035600160a060020a031661040f565b6100d6600480360360408110156101a257600080fd5b50600160a060020a03813516906020013561042a565b6100d6600480360360408110156101ce57600080fd5b50600160a060020a038135169060200135610475565b6100f2600480360360408110156101fa57600080fd5b50600160a060020a038135811691602001351661048b565b6000600160a060020a038316151561022957600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60025490565b600160a060020a03831660009081526001602090815260408083203384529091528120546102ca908363ffffffff6104b616565b600160a060020a03851660009081526001602090815260408083203384529091529020556102f98484846104cb565b600160a060020a0384166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000600160a060020a038316151561037657600080fd5b336000908152600160209081526040808320600160a060020a03871684529091529020546103aa908363ffffffff61059816565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a031660009081526020819052604090205490565b6000600160a060020a038316151561044157600080fd5b336000908152600160209081526040808320600160a060020a03871684529091529020546103aa908363ffffffff6104b616565b60006104823384846104cb565b50600192915050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000828211156104c557600080fd5b50900390565b600160a060020a03821615156104e057600080fd5b600160a060020a038316600090815260208190526040902054610509908263ffffffff6104b616565b600160a060020a03808516600090815260208190526040808220939093559084168152205461053e908263ffffffff61059816565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828201838110156105aa57600080fd5b939250505056fea165627a7a72305820e36c0e5397edd1025b92feed31da1b82b50b4a5f0b779dcf48bc94596302fe170029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5DD DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x70A08231 GT PUSH2 0x78 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x166 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x18C JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1E4 JUMPI PUSH2 0xA5 JUMP JUMPDEST DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xAA JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEA JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x13A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x212 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xF2 PUSH2 0x290 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xD6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x296 JUMP JUMPDEST PUSH2 0xD6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x35F JUMP JUMPDEST PUSH2 0xF2 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x17C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x40F JUMP JUMPDEST PUSH2 0xD6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x42A JUMP JUMPDEST PUSH2 0xD6 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x475 JUMP JUMPDEST PUSH2 0xF2 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0x48B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x229 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE DUP1 MLOAD DUP7 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH2 0x2CA SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x4B6 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x2F9 DUP5 DUP5 DUP5 PUSH2 0x4CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 SLOAD DUP2 MLOAD SWAP1 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x376 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x3AA SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x598 AND JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP10 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE DUP1 MLOAD SWAP5 DUP6 MSTORE MLOAD SWAP2 SWAP4 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x441 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x3AA SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x4B6 AND JUMP JUMPDEST PUSH1 0x0 PUSH2 0x482 CALLER DUP5 DUP5 PUSH2 0x4CB JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SWAP1 SUB SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x509 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x4B6 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x53E SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x598 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE DUP1 MLOAD DUP6 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP4 SWAP3 DUP8 AND SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP2 DUP3 SWAP1 SUB ADD SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x5AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xe3 PUSH13 0xE5397EDD1025B92FEED31DA1B DUP3 0xb5 SIGNEXTEND 0x4a 0x5f SIGNEXTEND PUSH24 0x9DCF48BC94596302FE170029000000000000000000000000 ", + "sourceMap": "649:6947:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;649:6947:5;;;;;;;" }, "gasEstimates": { "creation": { - "codeDepositCost": "285800", - "executionCost": "324", - "totalCost": "286124" + "codeDepositCost": "300200", + "executionCost": "337", + "totalCost": "300537" }, "external": { - "allowance(address,address)": "862", - "approve(address,uint256)": "22436", - "balanceOf(address)": "697", + "allowance(address,address)": "835", + "approve(address,uint256)": "22501", + "balanceOf(address)": "664", "decreaseAllowance(address,uint256)": "infinite", "increaseAllowance(address,uint256)": "infinite", - "totalSupply()": "406", + "totalSupply()": "426", "transfer(address,uint256)": "infinite", "transferFrom(address,address,uint256)": "infinite" }, @@ -1169,7 +1173,7 @@ "transferFrom(address,address,uint256)": "23b872dd" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Decrease the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To decrement allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"subtractedValue\":\"The amount of tokens to decrease the allowance by.\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Increase the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol\",\"params\":{\"addedValue\":\"The amount of tokens to increase the allowance by.\",\"spender\":\"The address which will spend the funds.\"}},\"totalSupply()\":{\"details\":\"Total number of tokens in existence\"},\"transfer(address,uint256)\":{\"details\":\"Transfer token for a specified address\",\"params\":{\"to\":\"The address to transfer to.\",\"value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another\",\"params\":{\"from\":\"address The address which you want to send tokens from\",\"to\":\"address The address which you want to transfer to\",\"value\":\"uint256 the amount of tokens to be transferred\"}}},\"title\":\"Standard ERC20 token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xaa2cf35177f37a9af9c975a973c813c5520be56ccee3a39b6c9883d4781cd072\",\"urls\":[\"bzzr://2244d517ff73299ad9b6c9dcb7d0788e5e452d8b1624d3027c1fb152135de8f4\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Implementation of the basic standard token. https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for all accounts just by listening to said events. Note that this isn't required by the specification, and other compliant implementations may not do it.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"approve(address,uint256)\":{\"details\":\"Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"}},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Decrease the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To decrement allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol Emits an Approval event.\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"subtractedValue\":\"The amount of tokens to decrease the allowance by.\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Increase the amount of tokens that an owner allowed to a spender. approve should be called when allowed_[_spender] == 0. To increment allowed value is better to use this function to avoid 2 calls (and wait until the first transaction is mined) From MonolithDAO Token.sol Emits an Approval event.\",\"params\":{\"addedValue\":\"The amount of tokens to increase the allowance by.\",\"spender\":\"The address which will spend the funds.\"}},\"totalSupply()\":{\"details\":\"Total number of tokens in existence\"},\"transfer(address,uint256)\":{\"details\":\"Transfer token for a specified address\",\"params\":{\"to\":\"The address to transfer to.\",\"value\":\"The amount to be transferred.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfer tokens from one address to another. Note that while this function emits an Approval event, this is not required as per the specification, and other compliant implementations may not emit the event.\",\"params\":{\"from\":\"address The address which you want to send tokens from\",\"to\":\"address The address which you want to transfer to\",\"value\":\"uint256 the amount of tokens to be transferred\"}}},\"title\":\"Standard ERC20 token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xba431353cb4fe70777ac026231eb5468e41aa1e81240a2b8136917acc5fff4dc\",\"urls\":[\"bzzr://80cd02a56e6e33504318124d0d645c82e615cc8a4b5829cc9d82d17635c644c8\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -1414,6 +1418,7 @@ } ], "devdoc": { + "details": "The decimals are only for visualization purposes. All the operations are done using the smallest and indivisible token unit, just as on Ethereum all the operations are done in wei.", "methods": { "decimals()": { "return": "the number of decimals of the token." @@ -1799,6 +1804,7 @@ } ], "devdoc": { + "details": "ERC20 modified with pausable transfers.*", "methods": { "allowance(address,address)": { "details": "Function to check the amount of tokens that an owner allowed to a spender.", @@ -1833,28 +1839,28 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "608060405261001633640100000000610025810204565b6004805460ff19169055610102565b61003d60038264010000000061090761007482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a038116151561008957600080fd5b61009c82826401000000006100cb810204565b156100a657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156100e257600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610981806101116000396000f3006080604052600436106100cf5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b381146100d457806318160ddd1461010c57806323b872dd14610133578063395093511461015d5780633f4ba83a1461018157806346fbf68e146101985780635c975abb146101b95780636ef8d66d146101ce57806370a08231146101e357806382dc1ec4146102045780638456cb5914610225578063a457c2d71461023a578063a9059cbb1461025e578063dd62ed3e14610282575b600080fd5b3480156100e057600080fd5b506100f8600160a060020a03600435166024356102a9565b604080519115158252519081900360200190f35b34801561011857600080fd5b506101216102cd565b60408051918252519081900360200190f35b34801561013f57600080fd5b506100f8600160a060020a03600435811690602435166044356102d3565b34801561016957600080fd5b506100f8600160a060020a03600435166024356102f9565b34801561018d57600080fd5b50610196610316565b005b3480156101a457600080fd5b506100f8600160a060020a036004351661037a565b3480156101c557600080fd5b506100f8610393565b3480156101da57600080fd5b5061019661039c565b3480156101ef57600080fd5b50610121600160a060020a03600435166103a7565b34801561021057600080fd5b50610196600160a060020a03600435166103c2565b34801561023157600080fd5b506101966103e2565b34801561024657600080fd5b506100f8600160a060020a0360043516602435610448565b34801561026a57600080fd5b506100f8600160a060020a0360043516602435610465565b34801561028e57600080fd5b50610121600160a060020a0360043581169060243516610482565b60045460009060ff16156102bc57600080fd5b6102c683836104ad565b9392505050565b60025490565b60045460009060ff16156102e657600080fd5b6102f184848461052b565b949350505050565b60045460009060ff161561030c57600080fd5b6102c683836105c8565b61031f3361037a565b151561032a57600080fd5b60045460ff16151561033b57600080fd5b6004805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061038d60038363ffffffff61067816565b92915050565b60045460ff1690565b6103a5336106af565b565b600160a060020a031660009081526020819052604090205490565b6103cb3361037a565b15156103d657600080fd5b6103df816106f7565b50565b6103eb3361037a565b15156103f657600080fd5b60045460ff161561040657600080fd5b6004805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60045460009060ff161561045b57600080fd5b6102c6838361073f565b60045460009060ff161561047857600080fd5b6102c6838361078a565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156104c457600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a038316600090815260016020908152604080832033845290915281205482111561055b57600080fd5b600160a060020a038416600090815260016020908152604080832033845290915290205461058f908363ffffffff6107a016565b600160a060020a03851660009081526001602090815260408083203384529091529020556105be8484846107b7565b5060019392505050565b6000600160a060020a03831615156105df57600080fd5b336000908152600160209081526040808320600160a060020a0387168452909152902054610613908363ffffffff6108a916565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a038216151561068f57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106c060038263ffffffff6108bb16565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61070860038263ffffffff61090716565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a038316151561075657600080fd5b336000908152600160209081526040808320600160a060020a0387168452909152902054610613908363ffffffff6107a016565b60006107973384846107b7565b50600192915050565b600080838311156107b057600080fd5b5050900390565b600160a060020a0383166000908152602081905260409020548111156107dc57600080fd5b600160a060020a03821615156107f157600080fd5b600160a060020a03831660009081526020819052604090205461081a908263ffffffff6107a016565b600160a060020a03808516600090815260208190526040808220939093559084168152205461084f908263ffffffff6108a916565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828201838110156102c657600080fd5b600160a060020a03811615156108d057600080fd5b6108da8282610678565b15156108e557600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a038116151561091c57600080fd5b6109268282610678565b1561093057600080fd5b600160a060020a0316600090815260209190915260409020805460ff191660011790555600a165627a7a72305820ec68135419984dd2cdc693df9167b633b80c03b7d2dd774f775b3d32098439b90029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0x16 CALLER PUSH5 0x100000000 PUSH2 0x25 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x102 JUMP JUMPDEST PUSH2 0x3D PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH2 0x907 PUSH2 0x74 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0x6719D08C1888103BEA251A4ED56406BD0C3E69723C8A1686E017E7BBE159B6F8 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9C DUP3 DUP3 PUSH5 0x100000000 PUSH2 0xCB DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH2 0xA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xE2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x981 DUP1 PUSH2 0x111 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0x95EA7B3 DUP2 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x133 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x15D JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x181 JUMPI DUP1 PUSH4 0x46FBF68E EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x1B9 JUMPI DUP1 PUSH4 0x6EF8D66D EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x82DC1EC4 EQ PUSH2 0x204 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x225 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x282 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x2A9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x2CD JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH1 0x44 CALLDATALOAD PUSH2 0x2D3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x2F9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x196 PUSH2 0x316 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x37A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH2 0x393 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x196 PUSH2 0x39C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x3A7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x210 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x196 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x3C2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x231 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x196 PUSH2 0x3E2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x448 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x26A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF8 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x465 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x482 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x2BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 DUP4 DUP4 PUSH2 0x4AD JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x2E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F1 DUP5 DUP5 DUP5 PUSH2 0x52B JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x30C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 DUP4 DUP4 PUSH2 0x5C8 JUMP JUMPDEST PUSH2 0x31F CALLER PUSH2 0x37A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x32A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD CALLER DUP2 MSTORE SWAP1 MLOAD PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x38D PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x678 AND JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x3A5 CALLER PUSH2 0x6AF JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x3CB CALLER PUSH2 0x37A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x3D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3DF DUP2 PUSH2 0x6F7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x3EB CALLER PUSH2 0x37A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x3F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD CALLER DUP2 MSTORE SWAP1 MLOAD PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x45B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 DUP4 DUP4 PUSH2 0x73F JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C6 DUP4 DUP4 PUSH2 0x78A JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x4C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE DUP1 MLOAD DUP7 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD DUP3 GT ISZERO PUSH2 0x55B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x58F SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x7A0 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x5BE DUP5 DUP5 DUP5 PUSH2 0x7B7 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x5DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x613 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x8A9 AND JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP10 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE DUP1 MLOAD SWAP5 DUP6 MSTORE MLOAD SWAP2 SWAP4 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x68F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x6C0 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x8BB AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0xCD265EBAF09DF2871CC7BD4133404A235BA12EFF2041BB89D9C714A2621C7C7E SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH2 0x708 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x907 AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0x6719D08C1888103BEA251A4ED56406BD0C3E69723C8A1686E017E7BBE159B6F8 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x756 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x613 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x7A0 AND JUMP JUMPDEST PUSH1 0x0 PUSH2 0x797 CALLER DUP5 DUP5 PUSH2 0x7B7 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP4 GT ISZERO PUSH2 0x7B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP SWAP1 SUB SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 GT ISZERO PUSH2 0x7DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x7F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x81A SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x7A0 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x84F SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x8A9 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE DUP1 MLOAD DUP6 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP4 SWAP3 DUP8 AND SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP2 DUP3 SWAP1 SUB ADD SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x2C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x8D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8DA DUP3 DUP3 PUSH2 0x678 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x8E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x91C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x926 DUP3 DUP3 PUSH2 0x678 JUMP JUMPDEST ISZERO PUSH2 0x930 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xec PUSH9 0x135419984DD2CDC693 0xdf SWAP2 PUSH8 0xB633B80C03B7D2DD PUSH24 0x4F775B3D32098439B9002900000000000000000000000000 ", - "sourceMap": "170:951:7:-;;;260:22:2;271:10;260;;;;:22;:::i;:::-;340:7:3;:15;;-1:-1:-1;;340:15:3;;;170:951:7;;629:108:2;681:20;:7;693;681:11;;;;;;:20;:::i;:::-;712;;-1:-1:-1;;;;;712:20:2;;;;;;;;629:108;:::o;244:167:1:-;-1:-1:-1;;;;;316:21:1;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:1;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:1;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:1;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:1;:11;:20;;;;;;;;;;;;;;;725:166::o;170:951:7:-;;;;;;;" + "object": "608060405261001633640100000000610025810204565b6004805460ff19169055610102565b61003d60038264010000000061094561007482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a038116151561008957600080fd5b61009c82826401000000006100cb810204565b156100a657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156100e257600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6109bf806101116000396000f3fe608060405234801561001057600080fd5b5060043610610107576000357c0100000000000000000000000000000000000000000000000000000000900480636ef8d66d116100a95780638456cb59116100835780638456cb5914610254578063a457c2d71461025c578063a9059cbb14610288578063dd62ed3e146102b457610107565b80636ef8d66d1461020057806370a082311461020857806382dc1ec41461022e57610107565b806339509351116100e5578063395093511461019c5780633f4ba83a146101c857806346fbf68e146101d25780635c975abb146101f857610107565b8063095ea7b31461010c57806318160ddd1461014c57806323b872dd14610166575b600080fd5b6101386004803603604081101561012257600080fd5b50600160a060020a0381351690602001356102e2565b604080519115158252519081900360200190f35b610154610306565b60408051918252519081900360200190f35b6101386004803603606081101561017c57600080fd5b50600160a060020a0381358116916020810135909116906040013561030c565b610138600480360360408110156101b257600080fd5b50600160a060020a038135169060200135610332565b6101d061034f565b005b610138600480360360208110156101e857600080fd5b5035600160a060020a03166103b3565b6101386103cc565b6101d06103d5565b6101546004803603602081101561021e57600080fd5b5035600160a060020a03166103e0565b6101d06004803603602081101561024457600080fd5b5035600160a060020a03166103fb565b6101d061041b565b6101386004803603604081101561027257600080fd5b50600160a060020a038135169060200135610481565b6101386004803603604081101561029e57600080fd5b50600160a060020a03813516906020013561049e565b610154600480360360408110156102ca57600080fd5b50600160a060020a03813581169160200135166104bb565b60045460009060ff16156102f557600080fd5b6102ff83836104e6565b9392505050565b60025490565b60045460009060ff161561031f57600080fd5b61032a848484610564565b949350505050565b60045460009060ff161561034557600080fd5b6102ff838361062d565b610358336103b3565b151561036357600080fd5b60045460ff16151561037457600080fd5b6004805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b60006103c660038363ffffffff6106dd16565b92915050565b60045460ff1690565b6103de33610714565b565b600160a060020a031660009081526020819052604090205490565b610404336103b3565b151561040f57600080fd5b6104188161075c565b50565b610424336103b3565b151561042f57600080fd5b60045460ff161561043f57600080fd5b6004805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60045460009060ff161561049457600080fd5b6102ff83836107a4565b60045460009060ff16156104b157600080fd5b6102ff83836107ef565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156104fd57600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a0383166000908152600160209081526040808320338452909152812054610598908363ffffffff61080516565b600160a060020a03851660009081526001602090815260408083203384529091529020556105c784848461081a565b600160a060020a0384166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000600160a060020a038316151561064457600080fd5b336000908152600160209081526040808320600160a060020a0387168452909152902054610678908363ffffffff6108e716565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a03821615156106f457600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61072560038263ffffffff6108f916565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61076d60038263ffffffff61094516565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a03831615156107bb57600080fd5b336000908152600160209081526040808320600160a060020a0387168452909152902054610678908363ffffffff61080516565b60006107fc33848461081a565b50600192915050565b60008282111561081457600080fd5b50900390565b600160a060020a038216151561082f57600080fd5b600160a060020a038316600090815260208190526040902054610858908263ffffffff61080516565b600160a060020a03808516600090815260208190526040808220939093559084168152205461088d908263ffffffff6108e716565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828201838110156102ff57600080fd5b600160a060020a038116151561090e57600080fd5b61091882826106dd565b151561092357600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a038116151561095a57600080fd5b61096482826106dd565b1561096e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916600117905556fea165627a7a723058209b9f6d57f3339392d2370056a1b0d3f8b34a52c54183a75740f4e2c02a5001f60029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0x16 CALLER PUSH5 0x100000000 PUSH2 0x25 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x102 JUMP JUMPDEST PUSH2 0x3D PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH2 0x945 PUSH2 0x74 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0x6719D08C1888103BEA251A4ED56406BD0C3E69723C8A1686E017E7BBE159B6F8 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9C DUP3 DUP3 PUSH5 0x100000000 PUSH2 0xCB DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH2 0xA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xE2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x9BF DUP1 PUSH2 0x111 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x107 JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x6EF8D66D GT PUSH2 0xA9 JUMPI DUP1 PUSH4 0x8456CB59 GT PUSH2 0x83 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x254 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x25C JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x288 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2B4 JUMPI PUSH2 0x107 JUMP JUMPDEST DUP1 PUSH4 0x6EF8D66D EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x208 JUMPI DUP1 PUSH4 0x82DC1EC4 EQ PUSH2 0x22E JUMPI PUSH2 0x107 JUMP JUMPDEST DUP1 PUSH4 0x39509351 GT PUSH2 0xE5 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x3F4BA83A EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x46FBF68E EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x1F8 JUMPI PUSH2 0x107 JUMP JUMPDEST DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x14C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x166 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x2E2 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x154 PUSH2 0x306 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x17C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x30C JUMP JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x332 JUMP JUMPDEST PUSH2 0x1D0 PUSH2 0x34F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x3B3 JUMP JUMPDEST PUSH2 0x138 PUSH2 0x3CC JUMP JUMPDEST PUSH2 0x1D0 PUSH2 0x3D5 JUMP JUMPDEST PUSH2 0x154 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x21E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x3E0 JUMP JUMPDEST PUSH2 0x1D0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x3FB JUMP JUMPDEST PUSH2 0x1D0 PUSH2 0x41B JUMP JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x272 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x481 JUMP JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x29E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x49E JUMP JUMPDEST PUSH2 0x154 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x2CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0x4BB JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FF DUP4 DUP4 PUSH2 0x4E6 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x31F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x32A DUP5 DUP5 DUP5 PUSH2 0x564 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x345 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FF DUP4 DUP4 PUSH2 0x62D JUMP JUMPDEST PUSH2 0x358 CALLER PUSH2 0x3B3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x363 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD CALLER DUP2 MSTORE SWAP1 MLOAD PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3C6 PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x6DD AND JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x3DE CALLER PUSH2 0x714 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x404 CALLER PUSH2 0x3B3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x40F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x418 DUP2 PUSH2 0x75C JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x424 CALLER PUSH2 0x3B3 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x42F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x43F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD CALLER DUP2 MSTORE SWAP1 MLOAD PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x494 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FF DUP4 DUP4 PUSH2 0x7A4 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND ISZERO PUSH2 0x4B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FF DUP4 DUP4 PUSH2 0x7EF JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x4FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP9 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP7 SWAP1 SSTORE DUP1 MLOAD DUP7 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH2 0x598 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x805 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SSTORE PUSH2 0x5C7 DUP5 DUP5 DUP5 PUSH2 0x81A JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 SLOAD DUP2 MLOAD SWAP1 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x644 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x678 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x8E7 AND JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP10 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE DUP1 MLOAD SWAP5 DUP6 MSTORE MLOAD SWAP2 SWAP4 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x6F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x725 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x8F9 AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0xCD265EBAF09DF2871CC7BD4133404A235BA12EFF2041BB89D9C714A2621C7C7E SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH2 0x76D PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x945 AND JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND SWAP1 PUSH32 0x6719D08C1888103BEA251A4ED56406BD0C3E69723C8A1686E017E7BBE159B6F8 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH2 0x7BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH2 0x678 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x805 AND JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7FC CALLER DUP5 DUP5 PUSH2 0x81A JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 GT ISZERO PUSH2 0x814 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SWAP1 SUB SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x858 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x805 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x88D SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x8E7 AND JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE DUP1 MLOAD DUP6 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP4 SWAP3 DUP8 AND SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP2 DUP3 SWAP1 SUB ADD SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 ADD DUP4 DUP2 LT ISZERO PUSH2 0x2FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x90E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x918 DUP3 DUP3 PUSH2 0x6DD JUMP JUMPDEST ISZERO ISZERO PUSH2 0x923 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x95A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x964 DUP3 DUP3 PUSH2 0x6DD JUMP JUMPDEST ISZERO PUSH2 0x96E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 SWAP12 SWAP16 PUSH14 0x57F3339392D2370056A1B0D3F8B3 0x4a MSTORE 0xc5 COINBASE DUP4 0xa7 JUMPI BLOCKHASH DELEGATECALL 0xe2 0xc0 0x2a POP ADD 0xf6 STOP 0x29 ", + "sourceMap": "169:856:7:-;;;275:22:2;286:10;275;;;;:22;:::i;:::-;352:7:3;:15;;-1:-1:-1;;352:15:3;;;169:856:7;;685:119:2;741:21;:8;754:7;741:12;;;;;;:21;:::i;:::-;777:20;;-1:-1:-1;;;;;777:20:2;;;;;;;;685:119;:::o;259:181:1:-;-1:-1:-1;;;;;335:21:1;;;;327:30;;;;;;376:18;380:4;386:7;376:3;;;;:18;:::i;:::-;375:19;367:28;;;;;;-1:-1:-1;;;;;406:20:1;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;406:27:1;429:4;406:27;;;259:181::o;786:162::-;858:4;-1:-1:-1;;;;;882:21:1;;;;874:30;;;;;;-1:-1:-1;;;;;;921:20:1;:11;:20;;;;;;;;;;;;;;;786:162::o;169:856:7:-;;;;;;;" }, "gasEstimates": { "creation": { - "codeDepositCost": "486600", + "codeDepositCost": "499000", "executionCost": "infinite", "totalCost": "infinite" }, "external": { "addPauser(address)": "infinite", - "allowance(address,address)": "994", - "approve(address,uint256)": "22710", - "balanceOf(address)": "785", + "allowance(address,address)": "857", + "approve(address,uint256)": "22798", + "balanceOf(address)": "709", "decreaseAllowance(address,uint256)": "infinite", "increaseAllowance(address,uint256)": "infinite", "isPauser(address)": "infinite", "pause()": "infinite", - "paused()": "528", + "paused()": "504", "renouncePauser()": "infinite", - "totalSupply()": "406", + "totalSupply()": "449", "transfer(address,uint256)": "infinite", "transferFrom(address,address,uint256)": "infinite", "unpause()": "infinite" @@ -1877,7 +1883,7 @@ "unpause()": "3f4ba83a" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"pause()\":{\"details\":\"called by the owner to pause, triggers stopped state\"},\"paused()\":{\"return\":\"true if the contract is paused, false otherwise.\"},\"totalSupply()\":{\"details\":\"Total number of tokens in existence\"},\"unpause()\":{\"details\":\"called by the owner to unpause, returns to normal state\"}},\"title\":\"Pausable token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol\":\"ERC20Pausable\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0x9c483b37c788ed1f3ce0c29934e5c41b9e84ff954380c04bffdf42c1e215a1a8\",\"urls\":[\"bzzr://1727e08315c67d0203510d5d50e645c80a569df7964715eddaec10bf90d70bab\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0x9cb69bde8cc3efdd07a2c372e78b664e961f505b3e4195ee27f06b358ffef996\",\"urls\":[\"bzzr://13da310cd2989e27357c2912085af0f1925047070f48be175c6b7e2b0299084f\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xaa2cf35177f37a9af9c975a973c813c5520be56ccee3a39b6c9883d4781cd072\",\"urls\":[\"bzzr://2244d517ff73299ad9b6c9dcb7d0788e5e452d8b1624d3027c1fb152135de8f4\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol\":{\"keccak256\":\"0x34ae26a75fc5dd5d3d283d0d95a080212e81734a5cab7be187778e74224d57d1\",\"urls\":[\"bzzr://8ed5c93c550934720a33a387f8272b252b5aa8c5e0e4c6e21d5e92c662632bbb\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC20 modified with pausable transfers.*\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Function to check the amount of tokens that an owner allowed to a spender.\",\"params\":{\"owner\":\"address The address which owns the funds.\",\"spender\":\"address The address which will spend the funds.\"},\"return\":\"A uint256 specifying the amount of tokens still available for the spender.\"},\"balanceOf(address)\":{\"details\":\"Gets the balance of the specified address.\",\"params\":{\"owner\":\"The address to query the balance of.\"},\"return\":\"An uint256 representing the amount owned by the passed address.\"},\"pause()\":{\"details\":\"called by the owner to pause, triggers stopped state\"},\"paused()\":{\"return\":\"true if the contract is paused, false otherwise.\"},\"totalSupply()\":{\"details\":\"Total number of tokens in existence\"},\"unpause()\":{\"details\":\"called by the owner to unpause, returns to normal state\"}},\"title\":\"Pausable token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol\":\"ERC20Pausable\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0x6506133e295a7199df2ac5dfc52853d9d767f68450b6d0193e9d8056b164ce86\",\"urls\":[\"bzzr://357744ad2278716087860855e31728d9f99493bb4a3567a2e39a910cb219601a\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0x3b0ed31deeba7e3c6cfbbe8092a6b427084ee390800a06acdea5c17c8185d606\",\"urls\":[\"bzzr://64665e3aefdb15dd5d2ebe3cba5103a150199e27219fc16e9d71815328e6f64f\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xba431353cb4fe70777ac026231eb5468e41aa1e81240a2b8136917acc5fff4dc\",\"urls\":[\"bzzr://80cd02a56e6e33504318124d0d645c82e615cc8a4b5829cc9d82d17635c644c8\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol\":{\"keccak256\":\"0x37b840977505e5f6d74bc8fa3d0217facc7913d0ecf064da3e3b26494acd37de\",\"urls\":[\"bzzr://81265bcdcca15f8a460cef608b40ca729559f2afbd6e6e7124b542d28da1c890\"]},\"d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -2061,6 +2067,7 @@ } ], "devdoc": { + "details": "see https://github.com/ethereum/EIPs/issues/20", "methods": {}, "title": "ERC20 interface" }, @@ -2104,11 +2111,11 @@ "id": 1, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:0" + "src": "0:22:0" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol", @@ -2116,8 +2123,8 @@ "id": 2, "nodeType": "ImportDirective", "scope": 38, - "sourceUnit": 948, - "src": "27:188:0", + "sourceUnit": 936, + "src": "26:188:0", "symbolAliases": [], "unitAlias": "" }, @@ -2127,8 +2134,8 @@ "id": 3, "nodeType": "ImportDirective", "scope": 38, - "sourceUnit": 1050, - "src": "217:188:0", + "sourceUnit": 1038, + "src": "216:188:0", "symbolAliases": [], "unitAlias": "" }, @@ -2141,16 +2148,16 @@ "id": 4, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 889, - "src": "433:5:0", + "referencedDeclaration": 877, + "src": "432:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$889", + "typeIdentifier": "t_contract$_ERC20_$877", "typeString": "contract ERC20" } }, "id": 5, "nodeType": "InheritanceSpecifier", - "src": "433:5:0" + "src": "432:5:0" }, { "arguments": null, @@ -2159,16 +2166,16 @@ "id": 6, "name": "ERC20Detailed", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 947, - "src": "440:13:0", + "referencedDeclaration": 935, + "src": "439:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Detailed_$947", + "typeIdentifier": "t_contract$_ERC20Detailed_$935", "typeString": "contract ERC20Detailed" } }, "id": 7, "nodeType": "InheritanceSpecifier", - "src": "440:13:0" + "src": "439:13:0" }, { "arguments": null, @@ -2177,25 +2184,25 @@ "id": 8, "name": "ERC20Pausable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1049, - "src": "455:13:0", + "referencedDeclaration": 1037, + "src": "454:13:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Pausable_$1049", + "typeIdentifier": "t_contract$_ERC20Pausable_$1037", "typeString": "contract ERC20Pausable" } }, "id": 9, "nodeType": "InheritanceSpecifier", - "src": "455:13:0" + "src": "454:13:0" } ], "contractDependencies": [ 234, 317, - 889, - 947, - 1049, - 1118 + 877, + 935, + 1037, + 1106 ], "contractKind": "contract", "documentation": null, @@ -2203,12 +2210,12 @@ "id": 37, "linearizedBaseContracts": [ 37, - 1049, + 1037, 317, 234, - 947, - 889, - 1118 + 935, + 877, + 1106 ], "name": "AlgoTokenV1", "nodeType": "ContractDefinition", @@ -2219,7 +2226,7 @@ "name": "INITIAL_SUPPLY", "nodeType": "VariableDeclaration", "scope": 37, - "src": "478:73:0", + "src": "477:73:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2230,7 +2237,7 @@ "id": 10, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "478:7:0", + "src": "477:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2257,7 +2264,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "519:10:0", + "src": "518:10:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000000_by_1", @@ -2291,7 +2298,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "533:2:0", + "src": "532:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -2314,7 +2321,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "547:2:0", + "src": "546:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -2336,7 +2343,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "539:7:0", + "src": "538:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -2351,13 +2358,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "539:11:0", + "src": "538:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "533:17:0", + "src": "532:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2371,13 +2378,13 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "532:19:0", + "src": "531:19:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "519:32:0", + "src": "518:32:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2389,7 +2396,7 @@ "body": { "id": 35, "nodeType": "Block", - "src": "664:52:0", + "src": "663:52:0", "statements": [ { "expression": { @@ -2403,8 +2410,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "681:3:0", + "referencedDeclaration": 1121, + "src": "680:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2418,10 +2425,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "681:10:0", + "src": "680:10:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, { @@ -2431,7 +2438,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 19, - "src": "693:14:0", + "src": "692:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2441,8 +2448,8 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, { "typeIdentifier": "t_uint256", @@ -2453,8 +2460,8 @@ "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "675:5:0", + "referencedDeclaration": 792, + "src": "674:5:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" @@ -2468,7 +2475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "675:33:0", + "src": "674:33:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2476,15 +2483,14 @@ }, "id": 34, "nodeType": "ExpressionStatement", - "src": "675:33:0" + "src": "674:33:0" } ] }, "documentation": null, "id": 36, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [ { "arguments": [], @@ -2495,15 +2501,15 @@ "name": "ERC20Pausable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1049, - "src": "583:13:0", + "referencedDeclaration": 1037, + "src": "582:13:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Pausable_$1049_$", + "typeIdentifier": "t_type$_t_contract$_ERC20Pausable_$1037_$", "typeString": "type(contract ERC20Pausable)" } }, "nodeType": "ModifierInvocation", - "src": "583:15:0" + "src": "582:15:0" }, { "arguments": [ @@ -2517,7 +2523,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "622:7:0", + "src": "621:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f431b25e990e179f4656b6db11d387ab1d3ba961e80647281b655f4c6f523207", @@ -2535,7 +2541,7 @@ "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "631:6:0", + "src": "630:6:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_fef8132823c3ac25abf2126d6030ba0dd95564834b498fa7005f7c43e8b10551", @@ -2553,7 +2559,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "639:2:0", + "src": "638:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -2569,15 +2575,15 @@ "name": "ERC20Detailed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "608:13:0", + "referencedDeclaration": 935, + "src": "607:13:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$947_$", + "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$935_$", "typeString": "type(contract ERC20Detailed)" } }, "nodeType": "ModifierInvocation", - "src": "608:34:0" + "src": "607:34:0" } ], "name": "", @@ -2586,27 +2592,26 @@ "id": 20, "nodeType": "ParameterList", "parameters": [], - "src": "571:2:0" + "src": "570:2:0" }, - "payable": false, "returnParameters": { "id": 28, "nodeType": "ParameterList", "parameters": [], - "src": "664:0:0" + "src": "663:0:0" }, "scope": 37, - "src": "560:156:0", + "src": "559:156:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 38, - "src": "409:310:0" + "src": "408:310:0" } ], - "src": "0:721:0" + "src": "0:720:0" }, "id": 0 }, @@ -2626,11 +2631,11 @@ "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:1" + "src": "0:23:1" }, { "baseContracts": [], @@ -2655,7 +2660,7 @@ "name": "bearer", "nodeType": "VariableDeclaration", "scope": 44, - "src": "145:32:1", + "src": "150:32:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2668,14 +2673,14 @@ "id": 40, "name": "address", "nodeType": "ElementaryTypeName", - "src": "154:7:1", + "src": "159:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "145:25:1", + "src": "150:25:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -2684,7 +2689,7 @@ "id": 41, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "165:4:1", + "src": "170:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2698,14 +2703,14 @@ "name": "Role", "nodeType": "StructDefinition", "scope": 131, - "src": "127:55:1", + "src": "128:61:1", "visibility": "public" }, { "body": { "id": 75, "nodeType": "Block", - "src": "302:109:1", + "src": "317:123:1", "statements": [ { "expression": { @@ -2729,7 +2734,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "316:7:1", + "src": "335:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2750,7 +2755,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "335:1:1", + "src": "354:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2772,7 +2777,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "327:7:1", + "src": "346:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2787,13 +2792,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "327:10:1", + "src": "346:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "316:21:1", + "src": "335:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2811,11 +2816,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "308:7:1", + "referencedDeclaration": 1124, + "src": "327:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2829,7 +2834,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "308:30:1", + "src": "327:30:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2837,7 +2842,7 @@ }, "id": 58, "nodeType": "ExpressionStatement", - "src": "308:30:1" + "src": "327:30:1" }, { "expression": { @@ -2853,7 +2858,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "352:19:1", + "src": "375:19:1", "subExpression": { "argumentTypes": null, "arguments": [ @@ -2864,7 +2869,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46, - "src": "357:4:1", + "src": "380:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role storage pointer" @@ -2877,7 +2882,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "363:7:1", + "src": "386:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2900,7 +2905,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "353:3:1", + "src": "376:3:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$44_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" @@ -2914,7 +2919,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "353:18:1", + "src": "376:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2937,11 +2942,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "344:7:1", + "referencedDeclaration": 1124, + "src": "367:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2955,7 +2960,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "344:28:1", + "src": "367:28:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2963,7 +2968,7 @@ }, "id": 66, "nodeType": "ExpressionStatement", - "src": "344:28:1" + "src": "367:28:1" }, { "expression": { @@ -2984,7 +2989,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46, - "src": "379:4:1", + "src": "406:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role storage pointer" @@ -2998,7 +3003,7 @@ "memberName": "bearer", "nodeType": "MemberAccess", "referencedDeclaration": 43, - "src": "379:11:1", + "src": "406:11:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -3012,7 +3017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "391:7:1", + "src": "418:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3023,7 +3028,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "379:20:1", + "src": "406:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3041,7 +3046,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "402:4:1", + "src": "429:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3049,7 +3054,7 @@ }, "value": "true" }, - "src": "379:27:1", + "src": "406:27:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3057,15 +3062,14 @@ }, "id": 74, "nodeType": "ExpressionStatement", - "src": "379:27:1" + "src": "406:27:1" } ] }, "documentation": "@dev give an account access to this role", "id": 76, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", @@ -3079,7 +3083,7 @@ "name": "role", "nodeType": "VariableDeclaration", "scope": 76, - "src": "257:17:1", + "src": "272:17:1", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -3092,7 +3096,7 @@ "name": "Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 44, - "src": "257:4:1", + "src": "272:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role" @@ -3107,7 +3111,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 76, - "src": "276:15:1", + "src": "291:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3118,7 +3122,8 @@ "id": 47, "name": "address", "nodeType": "ElementaryTypeName", - "src": "276:7:1", + "src": "291:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3128,17 +3133,16 @@ "visibility": "internal" } ], - "src": "256:36:1" + "src": "271:36:1" }, - "payable": false, "returnParameters": { "id": 50, "nodeType": "ParameterList", "parameters": [], - "src": "302:0:1" + "src": "317:0:1" }, "scope": 131, - "src": "244:167:1", + "src": "259:181:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -3147,7 +3151,7 @@ "body": { "id": 106, "nodeType": "Block", - "src": "538:109:1", + "src": "575:123:1", "statements": [ { "expression": { @@ -3171,7 +3175,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, - "src": "552:7:1", + "src": "593:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3192,7 +3196,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "571:1:1", + "src": "612:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3214,7 +3218,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "563:7:1", + "src": "604:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -3229,13 +3233,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "563:10:1", + "src": "604:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "552:21:1", + "src": "593:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3253,11 +3257,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "544:7:1", + "referencedDeclaration": 1124, + "src": "585:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3271,7 +3275,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "544:30:1", + "src": "585:30:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3279,7 +3283,7 @@ }, "id": 90, "nodeType": "ExpressionStatement", - "src": "544:30:1" + "src": "585:30:1" }, { "expression": { @@ -3295,7 +3299,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "592:4:1", + "src": "637:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role storage pointer" @@ -3308,7 +3312,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, - "src": "598:7:1", + "src": "643:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3331,7 +3335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "588:3:1", + "src": "633:3:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$44_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" @@ -3345,7 +3349,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "588:18:1", + "src": "633:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3363,11 +3367,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "580:7:1", + "referencedDeclaration": 1124, + "src": "625:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3381,7 +3385,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "580:27:1", + "src": "625:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3389,7 +3393,7 @@ }, "id": 97, "nodeType": "ExpressionStatement", - "src": "580:27:1" + "src": "625:27:1" }, { "expression": { @@ -3410,7 +3414,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 78, - "src": "614:4:1", + "src": "663:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role storage pointer" @@ -3424,7 +3428,7 @@ "memberName": "bearer", "nodeType": "MemberAccess", "referencedDeclaration": 43, - "src": "614:11:1", + "src": "663:11:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -3438,7 +3442,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 80, - "src": "626:7:1", + "src": "675:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3449,7 +3453,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "614:20:1", + "src": "663:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3467,7 +3471,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "637:5:1", + "src": "686:5:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3475,7 +3479,7 @@ }, "value": "false" }, - "src": "614:28:1", + "src": "663:28:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3483,15 +3487,14 @@ }, "id": 105, "nodeType": "ExpressionStatement", - "src": "614:28:1" + "src": "663:28:1" } ] }, "documentation": "@dev remove an account's access to this role", "id": 107, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "remove", "nodeType": "FunctionDefinition", @@ -3505,7 +3508,7 @@ "name": "role", "nodeType": "VariableDeclaration", "scope": 107, - "src": "493:17:1", + "src": "530:17:1", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -3518,7 +3521,7 @@ "name": "Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 44, - "src": "493:4:1", + "src": "530:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role" @@ -3533,7 +3536,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 107, - "src": "512:15:1", + "src": "549:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3544,7 +3547,8 @@ "id": 79, "name": "address", "nodeType": "ElementaryTypeName", - "src": "512:7:1", + "src": "549:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3554,17 +3558,16 @@ "visibility": "internal" } ], - "src": "492:36:1" + "src": "529:36:1" }, - "payable": false, "returnParameters": { "id": 82, "nodeType": "ParameterList", "parameters": [], - "src": "538:0:1" + "src": "575:0:1" }, "scope": 131, - "src": "477:170:1", + "src": "514:184:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -3573,7 +3576,7 @@ "body": { "id": 129, "nodeType": "Block", - "src": "817:74:1", + "src": "864:84:1", "statements": [ { "expression": { @@ -3597,7 +3600,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 111, - "src": "831:7:1", + "src": "882:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3618,7 +3621,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "850:1:1", + "src": "901:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3640,7 +3643,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "842:7:1", + "src": "893:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -3655,13 +3658,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "842:10:1", + "src": "893:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "831:21:1", + "src": "882:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3679,11 +3682,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "823:7:1", + "referencedDeclaration": 1124, + "src": "874:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3697,7 +3700,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "823:30:1", + "src": "874:30:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3705,7 +3708,7 @@ }, "id": 123, "nodeType": "ExpressionStatement", - "src": "823:30:1" + "src": "874:30:1" }, { "expression": { @@ -3719,7 +3722,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 109, - "src": "866:4:1", + "src": "921:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role storage pointer" @@ -3733,7 +3736,7 @@ "memberName": "bearer", "nodeType": "MemberAccess", "referencedDeclaration": 43, - "src": "866:11:1", + "src": "921:11:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -3747,7 +3750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 111, - "src": "878:7:1", + "src": "933:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3758,7 +3761,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "866:20:1", + "src": "921:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3767,15 +3770,14 @@ "functionReturnParameters": 115, "id": 128, "nodeType": "Return", - "src": "859:27:1" + "src": "914:27:1" } ] }, "documentation": "@dev check if an account has this role\n@return bool", "id": 130, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "has", "nodeType": "FunctionDefinition", @@ -3789,7 +3791,7 @@ "name": "role", "nodeType": "VariableDeclaration", "scope": 130, - "src": "738:17:1", + "src": "799:17:1", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { @@ -3802,7 +3804,7 @@ "name": "Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 44, - "src": "738:4:1", + "src": "799:4:1", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role" @@ -3817,7 +3819,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 130, - "src": "757:15:1", + "src": "818:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3828,7 +3830,8 @@ "id": 110, "name": "address", "nodeType": "ElementaryTypeName", - "src": "757:7:1", + "src": "818:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3838,9 +3841,8 @@ "visibility": "internal" } ], - "src": "737:36:1" + "src": "798:36:1" }, - "payable": false, "returnParameters": { "id": 115, "nodeType": "ParameterList", @@ -3851,7 +3853,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 130, - "src": "809:4:1", + "src": "858:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3862,7 +3864,7 @@ "id": 113, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "809:4:1", + "src": "858:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3872,20 +3874,20 @@ "visibility": "internal" } ], - "src": "808:6:1" + "src": "857:6:1" }, "scope": 131, - "src": "725:166:1", + "src": "786:162:1", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], "scope": 132, - "src": "109:784:1" + "src": "108:842:1" } ], - "src": "0:894:1" + "src": "0:951:1" }, "id": 1 }, @@ -3905,11 +3907,11 @@ "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:2" + "src": "0:23:2" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", @@ -3918,7 +3920,7 @@ "nodeType": "ImportDirective", "scope": 235, "sourceUnit": 132, - "src": "26:22:2", + "src": "25:22:2", "symbolAliases": [], "unitAlias": "" }, @@ -3943,21 +3945,21 @@ "name": "Roles", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 131, - "src": "80:5:2", + "src": "81:5:2", "typeDescriptions": { "typeIdentifier": "t_contract$_Roles_$131", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "74:27:2", + "src": "75:27:2", "typeName": { "contractScope": null, "id": 136, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 44, - "src": "90:10:2", + "src": "91:10:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role" @@ -3981,7 +3983,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 141, - "src": "123:23:2", + "src": "126:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3992,7 +3994,8 @@ "id": 138, "name": "address", "nodeType": "ElementaryTypeName", - "src": "123:7:2", + "src": "126:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4002,9 +4005,9 @@ "visibility": "internal" } ], - "src": "122:25:2" + "src": "125:25:2" }, - "src": "105:43:2" + "src": "108:43:2" }, { "anonymous": false, @@ -4023,7 +4026,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 145, - "src": "171:23:2", + "src": "176:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4034,7 +4037,8 @@ "id": 142, "name": "address", "nodeType": "ElementaryTypeName", - "src": "171:7:2", + "src": "176:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4044,17 +4048,17 @@ "visibility": "internal" } ], - "src": "170:25:2" + "src": "175:25:2" }, - "src": "151:45:2" + "src": "156:45:2" }, { "constant": false, "id": 147, - "name": "pausers", + "name": "_pausers", "nodeType": "VariableDeclaration", "scope": 234, - "src": "200:26:2", + "src": "207:27:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4067,7 +4071,7 @@ "name": "Roles.Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 44, - "src": "200:10:2", + "src": "207:10:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage_ptr", "typeString": "struct Roles.Role" @@ -4080,7 +4084,7 @@ "body": { "id": 155, "nodeType": "Block", - "src": "254:33:2", + "src": "265:39:2", "statements": [ { "expression": { @@ -4094,8 +4098,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "271:3:2", + "referencedDeclaration": 1121, + "src": "286:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4109,18 +4113,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "271:10:2", + "src": "286:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 150, @@ -4128,7 +4132,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "260:10:2", + "src": "275:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -4142,7 +4146,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "260:22:2", + "src": "275:22:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4150,15 +4154,14 @@ }, "id": 154, "nodeType": "ExpressionStatement", - "src": "260:22:2" + "src": "275:22:2" } ] }, "documentation": null, "id": 156, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", @@ -4166,17 +4169,16 @@ "id": 148, "nodeType": "ParameterList", "parameters": [], - "src": "242:2:2" + "src": "253:2:2" }, - "payable": false, "returnParameters": { "id": 149, "nodeType": "ParameterList", "parameters": [], - "src": "254:0:2" + "src": "265:0:2" }, "scope": 234, - "src": "231:56:2", + "src": "241:63:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -4185,7 +4187,7 @@ "body": { "id": 166, "nodeType": "Block", - "src": "313:47:2", + "src": "332:57:2", "statements": [ { "expression": { @@ -4202,8 +4204,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "336:3:2", + "referencedDeclaration": 1121, + "src": "359:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4217,18 +4219,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "336:10:2", + "src": "359:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 159, @@ -4236,7 +4238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 180, - "src": "327:8:2", + "src": "350:8:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" @@ -4250,7 +4252,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "327:20:2", + "src": "350:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4268,11 +4270,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "319:7:2", + "referencedDeclaration": 1124, + "src": "342:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4286,7 +4288,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "319:29:2", + "src": "342:29:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4294,12 +4296,12 @@ }, "id": 164, "nodeType": "ExpressionStatement", - "src": "319:29:2" + "src": "342:29:2" }, { "id": 165, "nodeType": "PlaceholderStatement", - "src": "354:1:2" + "src": "381:1:2" } ] }, @@ -4311,16 +4313,16 @@ "id": 157, "nodeType": "ParameterList", "parameters": [], - "src": "310:2:2" + "src": "329:2:2" }, - "src": "291:69:2", + "src": "310:79:2", "visibility": "internal" }, { "body": { "id": 179, "nodeType": "Block", - "src": "426:38:2", + "src": "457:45:2", "statements": [ { "expression": { @@ -4333,7 +4335,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 169, - "src": "451:7:2", + "src": "487:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4350,11 +4352,11 @@ "expression": { "argumentTypes": null, "id": 174, - "name": "pausers", + "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "439:7:2", + "src": "474:8:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage", "typeString": "struct Roles.Role storage ref" @@ -4368,7 +4370,7 @@ "memberName": "has", "nodeType": "MemberAccess", "referencedDeclaration": 130, - "src": "439:11:2", + "src": "474:12:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$44_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$44_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" @@ -4382,7 +4384,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "439:20:2", + "src": "474:21:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4391,15 +4393,14 @@ "functionReturnParameters": 173, "id": 178, "nodeType": "Return", - "src": "432:27:2" + "src": "467:28:2" } ] }, "documentation": null, "id": 180, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isPauser", "nodeType": "FunctionDefinition", @@ -4413,7 +4414,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 180, - "src": "382:15:2", + "src": "413:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4424,7 +4425,8 @@ "id": 168, "name": "address", "nodeType": "ElementaryTypeName", - "src": "382:7:2", + "src": "413:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4434,9 +4436,8 @@ "visibility": "internal" } ], - "src": "381:17:2" + "src": "412:17:2" }, - "payable": false, "returnParameters": { "id": 173, "nodeType": "ParameterList", @@ -4447,7 +4448,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 180, - "src": "420:4:2", + "src": "451:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4458,7 +4459,7 @@ "id": 171, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "420:4:2", + "src": "451:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4468,10 +4469,10 @@ "visibility": "internal" } ], - "src": "419:6:2" + "src": "450:6:2" }, "scope": 234, - "src": "364:100:2", + "src": "395:107:2", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -4480,7 +4481,7 @@ "body": { "id": 191, "nodeType": "Block", - "src": "522:30:2", + "src": "562:36:2", "statements": [ { "expression": { @@ -4493,7 +4494,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 182, - "src": "539:7:2", + "src": "583:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4512,7 +4513,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "528:10:2", + "src": "572:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -4526,7 +4527,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "528:19:2", + "src": "572:19:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4534,15 +4535,14 @@ }, "id": 190, "nodeType": "ExpressionStatement", - "src": "528:19:2" + "src": "572:19:2" } ] }, "documentation": null, "id": 192, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -4554,14 +4554,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "511:10:2", + "src": "551:10:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "511:10:2" + "src": "551:10:2" } ], "name": "addPauser", @@ -4576,7 +4576,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 192, - "src": "487:15:2", + "src": "527:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4587,7 +4587,8 @@ "id": 181, "name": "address", "nodeType": "ElementaryTypeName", - "src": "487:7:2", + "src": "527:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4597,17 +4598,16 @@ "visibility": "internal" } ], - "src": "486:17:2" + "src": "526:17:2" }, - "payable": false, "returnParameters": { "id": 186, "nodeType": "ParameterList", "parameters": [], - "src": "522:0:2" + "src": "562:0:2" }, "scope": 234, - "src": "468:84:2", + "src": "508:90:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4616,7 +4616,7 @@ "body": { "id": 200, "nodeType": "Block", - "src": "589:36:2", + "src": "637:42:2", "statements": [ { "expression": { @@ -4630,8 +4630,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "609:3:2", + "referencedDeclaration": 1121, + "src": "661:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -4645,18 +4645,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "609:10:2", + "src": "661:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 195, @@ -4664,7 +4664,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 233, - "src": "595:13:2", + "src": "647:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -4678,7 +4678,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "595:25:2", + "src": "647:25:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4686,15 +4686,14 @@ }, "id": 199, "nodeType": "ExpressionStatement", - "src": "595:25:2" + "src": "647:25:2" } ] }, "documentation": null, "id": 201, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "renouncePauser", "nodeType": "FunctionDefinition", @@ -4702,17 +4701,16 @@ "id": 193, "nodeType": "ParameterList", "parameters": [], - "src": "579:2:2" + "src": "627:2:2" }, - "payable": false, "returnParameters": { "id": 194, "nodeType": "ParameterList", "parameters": [], - "src": "589:0:2" + "src": "637:0:2" }, "scope": 234, - "src": "556:69:2", + "src": "604:75:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4721,7 +4719,7 @@ "body": { "id": 216, "nodeType": "Block", - "src": "675:62:2", + "src": "731:73:2", "statements": [ { "expression": { @@ -4734,7 +4732,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 203, - "src": "693:7:2", + "src": "754:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4751,11 +4749,11 @@ "expression": { "argumentTypes": null, "id": 206, - "name": "pausers", + "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "681:7:2", + "src": "741:8:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage", "typeString": "struct Roles.Role storage ref" @@ -4769,7 +4767,7 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 76, - "src": "681:11:2", + "src": "741:12:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$44_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$44_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" @@ -4783,7 +4781,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "681:20:2", + "src": "741:21:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4791,7 +4789,7 @@ }, "id": 211, "nodeType": "ExpressionStatement", - "src": "681:20:2" + "src": "741:21:2" }, { "eventCall": { @@ -4804,7 +4802,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 203, - "src": "724:7:2", + "src": "789:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4823,7 +4821,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 141, - "src": "712:11:2", + "src": "777:11:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -4837,7 +4835,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "712:20:2", + "src": "777:20:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4845,15 +4843,14 @@ }, "id": 215, "nodeType": "EmitStatement", - "src": "707:25:2" + "src": "772:25:2" } ] }, "documentation": null, "id": 217, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_addPauser", "nodeType": "FunctionDefinition", @@ -4867,7 +4864,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 217, - "src": "649:15:2", + "src": "705:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4878,7 +4875,8 @@ "id": 202, "name": "address", "nodeType": "ElementaryTypeName", - "src": "649:7:2", + "src": "705:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4888,17 +4886,16 @@ "visibility": "internal" } ], - "src": "648:17:2" + "src": "704:17:2" }, - "payable": false, "returnParameters": { "id": 205, "nodeType": "ParameterList", "parameters": [], - "src": "675:0:2" + "src": "731:0:2" }, "scope": 234, - "src": "629:108:2", + "src": "685:119:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -4907,7 +4904,7 @@ "body": { "id": 232, "nodeType": "Block", - "src": "790:67:2", + "src": "859:78:2", "statements": [ { "expression": { @@ -4920,7 +4917,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, - "src": "811:7:2", + "src": "885:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4937,11 +4934,11 @@ "expression": { "argumentTypes": null, "id": 222, - "name": "pausers", + "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 147, - "src": "796:7:2", + "src": "869:8:2", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$44_storage", "typeString": "struct Roles.Role storage ref" @@ -4955,7 +4952,7 @@ "memberName": "remove", "nodeType": "MemberAccess", "referencedDeclaration": 107, - "src": "796:14:2", + "src": "869:15:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$44_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$44_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" @@ -4969,7 +4966,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "796:23:2", + "src": "869:24:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4977,7 +4974,7 @@ }, "id": 227, "nodeType": "ExpressionStatement", - "src": "796:23:2" + "src": "869:24:2" }, { "eventCall": { @@ -4990,7 +4987,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 219, - "src": "844:7:2", + "src": "922:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5009,7 +5006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 145, - "src": "830:13:2", + "src": "908:13:2", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -5023,7 +5020,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "830:22:2", + "src": "908:22:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5031,15 +5028,14 @@ }, "id": 231, "nodeType": "EmitStatement", - "src": "825:27:2" + "src": "903:27:2" } ] }, "documentation": null, "id": 233, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_removePauser", "nodeType": "FunctionDefinition", @@ -5053,7 +5049,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 233, - "src": "764:15:2", + "src": "833:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5064,7 +5060,8 @@ "id": 218, "name": "address", "nodeType": "ElementaryTypeName", - "src": "764:7:2", + "src": "833:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5074,27 +5071,26 @@ "visibility": "internal" } ], - "src": "763:17:2" + "src": "832:17:2" }, - "payable": false, "returnParameters": { "id": 221, "nodeType": "ParameterList", "parameters": [], - "src": "790:0:2" + "src": "859:0:2" }, "scope": 234, - "src": "741:116:2", + "src": "810:127:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 235, - "src": "50:809:2" + "src": "49:890:2" } ], - "src": "0:860:2" + "src": "0:940:2" }, "id": 2 }, @@ -5114,11 +5110,11 @@ "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:3" + "src": "0:23:3" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/roles/PauserRole.sol", @@ -5127,7 +5123,7 @@ "nodeType": "ImportDirective", "scope": 318, "sourceUnit": 235, - "src": "26:40:3", + "src": "25:40:3", "symbolAliases": [], "unitAlias": "" }, @@ -5141,7 +5137,7 @@ "name": "PauserRole", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 234, - "src": "202:10:3", + "src": "201:10:3", "typeDescriptions": { "typeIdentifier": "t_contract$_PauserRole_$234", "typeString": "contract PauserRole" @@ -5149,7 +5145,7 @@ }, "id": 239, "nodeType": "InheritanceSpecifier", - "src": "202:10:3" + "src": "201:10:3" } ], "contractDependencies": [ @@ -5183,7 +5179,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 243, - "src": "230:15:3", + "src": "231:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5194,7 +5190,8 @@ "id": 240, "name": "address", "nodeType": "ElementaryTypeName", - "src": "230:7:3", + "src": "231:7:3", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5204,9 +5201,9 @@ "visibility": "internal" } ], - "src": "229:17:3" + "src": "230:17:3" }, - "src": "217:30:3" + "src": "218:30:3" }, { "anonymous": false, @@ -5225,7 +5222,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 247, - "src": "265:15:3", + "src": "268:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5236,7 +5233,8 @@ "id": 244, "name": "address", "nodeType": "ElementaryTypeName", - "src": "265:7:3", + "src": "268:7:3", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5246,9 +5244,9 @@ "visibility": "internal" } ], - "src": "264:17:3" + "src": "267:17:3" }, - "src": "250:32:3" + "src": "253:32:3" }, { "constant": false, @@ -5256,7 +5254,7 @@ "name": "_paused", "nodeType": "VariableDeclaration", "scope": 317, - "src": "286:20:3", + "src": "291:20:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5267,7 +5265,7 @@ "id": 248, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "286:4:3", + "src": "291:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5280,7 +5278,7 @@ "body": { "id": 256, "nodeType": "Block", - "src": "334:26:3", + "src": "342:32:3", "statements": [ { "expression": { @@ -5297,7 +5295,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 249, - "src": "340:7:3", + "src": "352:7:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5315,7 +5313,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "350:5:3", + "src": "362:5:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5323,7 +5321,7 @@ }, "value": "false" }, - "src": "340:15:3", + "src": "352:15:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5331,15 +5329,14 @@ }, "id": 255, "nodeType": "ExpressionStatement", - "src": "340:15:3" + "src": "352:15:3" } ] }, "documentation": null, "id": 257, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", @@ -5347,17 +5344,16 @@ "id": 250, "nodeType": "ParameterList", "parameters": [], - "src": "322:2:3" + "src": "330:2:3" }, - "payable": false, "returnParameters": { "id": 251, "nodeType": "ParameterList", "parameters": [], - "src": "334:0:3" + "src": "342:0:3" }, "scope": 317, - "src": "311:49:3", + "src": "318:56:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -5366,7 +5362,7 @@ "body": { "id": 264, "nodeType": "Block", - "src": "482:25:3", + "src": "505:31:3", "statements": [ { "expression": { @@ -5376,7 +5372,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 249, - "src": "495:7:3", + "src": "522:7:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5385,15 +5381,14 @@ "functionReturnParameters": 261, "id": 263, "nodeType": "Return", - "src": "488:14:3" + "src": "515:14:3" } ] }, "documentation": "@return true if the contract is paused, false otherwise.", "id": 265, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "paused", "nodeType": "FunctionDefinition", @@ -5401,9 +5396,8 @@ "id": 258, "nodeType": "ParameterList", "parameters": [], - "src": "453:2:3" + "src": "475:2:3" }, - "payable": false, "returnParameters": { "id": 261, "nodeType": "ParameterList", @@ -5414,7 +5408,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 265, - "src": "476:4:3", + "src": "499:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5425,7 +5419,7 @@ "id": 259, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "476:4:3", + "src": "499:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5435,10 +5429,10 @@ "visibility": "internal" } ], - "src": "475:6:3" + "src": "498:6:3" }, "scope": 317, - "src": "438:69:3", + "src": "460:76:3", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5447,7 +5441,7 @@ "body": { "id": 273, "nodeType": "Block", - "src": "633:35:3", + "src": "670:45:3", "statements": [ { "expression": { @@ -5463,7 +5457,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "647:8:3", + "src": "688:8:3", "subExpression": { "argumentTypes": null, "id": 268, @@ -5471,7 +5465,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 249, - "src": "648:7:3", + "src": "689:7:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5494,11 +5488,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "639:7:3", + "referencedDeclaration": 1124, + "src": "680:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5512,7 +5506,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "639:17:3", + "src": "680:17:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5520,12 +5514,12 @@ }, "id": 271, "nodeType": "ExpressionStatement", - "src": "639:17:3" + "src": "680:17:3" }, { "id": 272, "nodeType": "PlaceholderStatement", - "src": "662:1:3" + "src": "707:1:3" } ] }, @@ -5537,16 +5531,16 @@ "id": 266, "nodeType": "ParameterList", "parameters": [], - "src": "630:2:3" + "src": "667:2:3" }, - "src": "608:60:3", + "src": "645:70:3", "visibility": "internal" }, { "body": { "id": 281, "nodeType": "Block", - "src": "787:34:3", + "src": "842:44:3", "statements": [ { "expression": { @@ -5559,7 +5553,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 249, - "src": "801:7:3", + "src": "860:7:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5577,11 +5571,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "793:7:3", + "referencedDeclaration": 1124, + "src": "852:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5595,7 +5589,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "793:16:3", + "src": "852:16:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5603,12 +5597,12 @@ }, "id": 279, "nodeType": "ExpressionStatement", - "src": "793:16:3" + "src": "852:16:3" }, { "id": 280, "nodeType": "PlaceholderStatement", - "src": "815:1:3" + "src": "878:1:3" } ] }, @@ -5620,16 +5614,16 @@ "id": 275, "nodeType": "ParameterList", "parameters": [], - "src": "784:2:3" + "src": "839:2:3" }, - "src": "765:56:3", + "src": "820:66:3", "visibility": "internal" }, { "body": { "id": 298, "nodeType": "Block", - "src": "949:54:3", + "src": "1022:64:3", "statements": [ { "expression": { @@ -5646,7 +5640,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 249, - "src": "955:7:3", + "src": "1032:7:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5664,7 +5658,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "965:4:3", + "src": "1042:4:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5672,7 +5666,7 @@ }, "value": "true" }, - "src": "955:14:3", + "src": "1032:14:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5680,7 +5674,7 @@ }, "id": 292, "nodeType": "ExpressionStatement", - "src": "955:14:3" + "src": "1032:14:3" }, { "eventCall": { @@ -5694,8 +5688,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "987:3:3", + "referencedDeclaration": 1121, + "src": "1068:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5709,18 +5703,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "987:10:3", + "src": "1068:10:3", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 293, @@ -5728,7 +5722,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 243, - "src": "980:6:3", + "src": "1061:6:3", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -5742,7 +5736,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "980:18:3", + "src": "1061:18:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5750,15 +5744,14 @@ }, "id": 297, "nodeType": "EmitStatement", - "src": "975:23:3" + "src": "1056:23:3" } ] }, "documentation": "@dev called by the owner to pause, triggers stopped state", "id": 299, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -5770,14 +5763,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "924:10:3", + "src": "997:10:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "924:10:3" + "src": "997:10:3" }, { "arguments": null, @@ -5789,14 +5782,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 274, - "src": "935:13:3", + "src": "1008:13:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "935:13:3" + "src": "1008:13:3" } ], "name": "pause", @@ -5805,17 +5798,16 @@ "id": 283, "nodeType": "ParameterList", "parameters": [], - "src": "914:2:3" + "src": "987:2:3" }, - "payable": false, "returnParameters": { "id": 288, "nodeType": "ParameterList", "parameters": [], - "src": "949:0:3" + "src": "1022:0:3" }, "scope": 317, - "src": "900:103:3", + "src": "973:113:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5824,7 +5816,7 @@ "body": { "id": 315, "nodeType": "Block", - "src": "1133:57:3", + "src": "1224:67:3", "statements": [ { "expression": { @@ -5841,7 +5833,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 249, - "src": "1139:7:3", + "src": "1234:7:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5859,7 +5851,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1149:5:3", + "src": "1244:5:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5867,7 +5859,7 @@ }, "value": "false" }, - "src": "1139:15:3", + "src": "1234:15:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5875,7 +5867,7 @@ }, "id": 309, "nodeType": "ExpressionStatement", - "src": "1139:15:3" + "src": "1234:15:3" }, { "eventCall": { @@ -5889,8 +5881,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "1174:3:3", + "referencedDeclaration": 1121, + "src": "1273:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5904,18 +5896,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1174:10:3", + "src": "1273:10:3", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 310, @@ -5923,7 +5915,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 247, - "src": "1165:8:3", + "src": "1264:8:3", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -5937,7 +5929,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1165:20:3", + "src": "1264:20:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5945,15 +5937,14 @@ }, "id": 314, "nodeType": "EmitStatement", - "src": "1160:25:3" + "src": "1259:25:3" } ] }, "documentation": "@dev called by the owner to unpause, returns to normal state", "id": 316, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -5965,14 +5956,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 167, - "src": "1111:10:3", + "src": "1202:10:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1111:10:3" + "src": "1202:10:3" }, { "arguments": null, @@ -5984,14 +5975,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 282, - "src": "1122:10:3", + "src": "1213:10:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1122:10:3" + "src": "1213:10:3" } ], "name": "unpause", @@ -6000,27 +5991,26 @@ "id": 300, "nodeType": "ParameterList", "parameters": [], - "src": "1101:2:3" + "src": "1192:2:3" }, - "payable": false, "returnParameters": { "id": 305, "nodeType": "ParameterList", "parameters": [], - "src": "1133:0:3" + "src": "1224:0:3" }, "scope": 317, - "src": "1085:105:3", + "src": "1176:115:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 318, - "src": "181:1011:3" + "src": "180:1113:3" } ], - "src": "0:1193:3" + "src": "0:1294:3" }, "id": 3 }, @@ -6040,17 +6030,17 @@ "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:23:4" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", + "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", "fullyImplemented": true, "id": 445, "linearizedBaseContracts": [ @@ -6063,7 +6053,7 @@ "body": { "id": 351, "nodeType": "Block", - "src": "271:314:4", + "src": "296:354:4", "statements": [ { "condition": { @@ -6084,7 +6074,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 321, - "src": "486:1:4", + "src": "527:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6102,7 +6092,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "491:1:4", + "src": "532:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6110,7 +6100,7 @@ }, "value": "0" }, - "src": "486:6:4", + "src": "527:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6119,11 +6109,11 @@ "falseBody": null, "id": 334, "nodeType": "IfStatement", - "src": "482:35:4", + "src": "523:45:4", "trueBody": { "id": 333, "nodeType": "Block", - "src": "494:23:4", + "src": "535:33:4", "statements": [ { "expression": { @@ -6136,7 +6126,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "509:1:4", + "src": "556:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6147,7 +6137,7 @@ "functionReturnParameters": 327, "id": 332, "nodeType": "Return", - "src": "502:8:4" + "src": "549:8:4" } ] } @@ -6162,8 +6152,8 @@ "id": 336, "name": "c", "nodeType": "VariableDeclaration", - "scope": 352, - "src": "523:9:4", + "scope": 351, + "src": "578:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6174,7 +6164,7 @@ "id": 335, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "523:7:4", + "src": "578:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6203,7 +6193,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 321, - "src": "535:1:4", + "src": "590:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6218,20 +6208,20 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 323, - "src": "539:1:4", + "src": "594:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "535:5:4", + "src": "590:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "523:17:4" + "src": "578:17:4" }, { "expression": { @@ -6266,7 +6256,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 336, - "src": "554:1:4", + "src": "613:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6281,13 +6271,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 321, - "src": "558:1:4", + "src": "617:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "554:5:4", + "src": "613:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6302,13 +6292,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 323, - "src": "563:1:4", + "src": "622:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "554:10:4", + "src": "613:10:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6326,11 +6316,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "546:7:4", + "referencedDeclaration": 1124, + "src": "605:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6344,7 +6334,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "546:19:4", + "src": "605:19:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6352,7 +6342,7 @@ }, "id": 348, "nodeType": "ExpressionStatement", - "src": "546:19:4" + "src": "605:19:4" }, { "expression": { @@ -6362,7 +6352,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 336, - "src": "579:1:4", + "src": "642:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6371,15 +6361,14 @@ "functionReturnParameters": 327, "id": 350, "nodeType": "Return", - "src": "572:8:4" + "src": "635:8:4" } ] }, - "documentation": "@dev Multiplies two numbers, reverts on overflow.", + "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", "id": 352, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", @@ -6393,7 +6382,7 @@ "name": "a", "nodeType": "VariableDeclaration", "scope": 352, - "src": "217:9:4", + "src": "242:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6404,7 +6393,7 @@ "id": 320, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "217:7:4", + "src": "242:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6419,7 +6408,7 @@ "name": "b", "nodeType": "VariableDeclaration", "scope": 352, - "src": "228:9:4", + "src": "253:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6430,7 +6419,7 @@ "id": 322, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "228:7:4", + "src": "253:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6440,9 +6429,8 @@ "visibility": "internal" } ], - "src": "216:22:4" + "src": "241:22:4" }, - "payable": false, "returnParameters": { "id": 327, "nodeType": "ParameterList", @@ -6453,7 +6441,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 352, - "src": "262:7:4", + "src": "287:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6464,7 +6452,7 @@ "id": 325, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "262:7:4", + "src": "287:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6474,10 +6462,10 @@ "visibility": "internal" } ], - "src": "261:9:4" + "src": "286:9:4" }, "scope": 445, - "src": "204:381:4", + "src": "229:421:4", "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -6486,7 +6474,7 @@ "body": { "id": 375, "nodeType": "Block", - "src": "762:203:4", + "src": "845:229:4", "statements": [ { "expression": { @@ -6510,7 +6498,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 356, - "src": "776:1:4", + "src": "929:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6528,7 +6516,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "780:1:4", + "src": "933:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6536,7 +6524,7 @@ }, "value": "0" }, - "src": "776:5:4", + "src": "929:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6554,11 +6542,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "768:7:4", + "referencedDeclaration": 1124, + "src": "921:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6572,7 +6560,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "768:14:4", + "src": "921:14:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6580,7 +6568,7 @@ }, "id": 366, "nodeType": "ExpressionStatement", - "src": "768:14:4" + "src": "921:14:4" }, { "assignments": [ @@ -6592,8 +6580,8 @@ "id": 368, "name": "c", "nodeType": "VariableDeclaration", - "scope": 376, - "src": "846:9:4", + "scope": 375, + "src": "945:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6604,7 +6592,7 @@ "id": 367, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "846:7:4", + "src": "945:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6633,7 +6621,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 354, - "src": "858:1:4", + "src": "957:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6648,20 +6636,20 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 356, - "src": "862:1:4", + "src": "961:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "858:5:4", + "src": "957:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "846:17:4" + "src": "945:17:4" }, { "expression": { @@ -6671,7 +6659,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 368, - "src": "959:1:4", + "src": "1066:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6680,15 +6668,14 @@ "functionReturnParameters": 360, "id": 374, "nodeType": "Return", - "src": "952:8:4" + "src": "1059:8:4" } ] }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", + "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", "id": 376, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", @@ -6702,7 +6689,7 @@ "name": "a", "nodeType": "VariableDeclaration", "scope": 376, - "src": "708:9:4", + "src": "791:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6713,7 +6700,7 @@ "id": 353, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "708:7:4", + "src": "791:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6728,7 +6715,7 @@ "name": "b", "nodeType": "VariableDeclaration", "scope": 376, - "src": "719:9:4", + "src": "802:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6739,7 +6726,7 @@ "id": 355, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "719:7:4", + "src": "802:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6749,9 +6736,8 @@ "visibility": "internal" } ], - "src": "707:22:4" + "src": "790:22:4" }, - "payable": false, "returnParameters": { "id": 360, "nodeType": "ParameterList", @@ -6762,7 +6748,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 376, - "src": "753:7:4", + "src": "836:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6773,7 +6759,7 @@ "id": 358, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "753:7:4", + "src": "836:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6783,10 +6769,10 @@ "visibility": "internal" } ], - "src": "752:9:4" + "src": "835:9:4" }, "scope": 445, - "src": "695:270:4", + "src": "778:296:4", "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -6795,7 +6781,7 @@ "body": { "id": 399, "nodeType": "Block", - "src": "1145:64:4", + "src": "1272:78:4", "statements": [ { "expression": { @@ -6819,7 +6805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 380, - "src": "1159:1:4", + "src": "1290:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6834,13 +6820,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 378, - "src": "1164:1:4", + "src": "1295:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1159:6:4", + "src": "1290:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6858,11 +6844,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "1151:7:4", + "referencedDeclaration": 1124, + "src": "1282:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6876,7 +6862,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1151:15:4", + "src": "1282:15:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6884,7 +6870,7 @@ }, "id": 390, "nodeType": "ExpressionStatement", - "src": "1151:15:4" + "src": "1282:15:4" }, { "assignments": [ @@ -6896,8 +6882,8 @@ "id": 392, "name": "c", "nodeType": "VariableDeclaration", - "scope": 400, - "src": "1172:9:4", + "scope": 399, + "src": "1307:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6908,7 +6894,7 @@ "id": 391, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1172:7:4", + "src": "1307:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6937,7 +6923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 378, - "src": "1184:1:4", + "src": "1319:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6952,20 +6938,20 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 380, - "src": "1188:1:4", + "src": "1323:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1184:5:4", + "src": "1319:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1172:17:4" + "src": "1307:17:4" }, { "expression": { @@ -6975,7 +6961,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 392, - "src": "1203:1:4", + "src": "1342:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6984,15 +6970,14 @@ "functionReturnParameters": 384, "id": 398, "nodeType": "Return", - "src": "1196:8:4" + "src": "1335:8:4" } ] }, - "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", + "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", "id": 400, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", @@ -7006,7 +6991,7 @@ "name": "a", "nodeType": "VariableDeclaration", "scope": 400, - "src": "1091:9:4", + "src": "1218:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7017,7 +7002,7 @@ "id": 377, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1091:7:4", + "src": "1218:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7032,7 +7017,7 @@ "name": "b", "nodeType": "VariableDeclaration", "scope": 400, - "src": "1102:9:4", + "src": "1229:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7043,7 +7028,7 @@ "id": 379, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1102:7:4", + "src": "1229:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7053,9 +7038,8 @@ "visibility": "internal" } ], - "src": "1090:22:4" + "src": "1217:22:4" }, - "payable": false, "returnParameters": { "id": 384, "nodeType": "ParameterList", @@ -7066,7 +7050,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 400, - "src": "1136:7:4", + "src": "1263:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7077,7 +7061,7 @@ "id": 382, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1136:7:4", + "src": "1263:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7087,10 +7071,10 @@ "visibility": "internal" } ], - "src": "1135:9:4" + "src": "1262:9:4" }, "scope": 445, - "src": "1078:131:4", + "src": "1205:145:4", "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -7099,7 +7083,7 @@ "body": { "id": 423, "nodeType": "Block", - "src": "1339:64:4", + "src": "1498:78:4", "statements": [ { "assignments": [ @@ -7111,8 +7095,8 @@ "id": 410, "name": "c", "nodeType": "VariableDeclaration", - "scope": 424, - "src": "1345:9:4", + "scope": 423, + "src": "1508:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7123,7 +7107,7 @@ "id": 409, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1345:7:4", + "src": "1508:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7152,7 +7136,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "1357:1:4", + "src": "1520:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7167,20 +7151,20 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, - "src": "1361:1:4", + "src": "1524:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1357:5:4", + "src": "1520:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1345:17:4" + "src": "1508:17:4" }, { "expression": { @@ -7204,7 +7188,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 410, - "src": "1376:1:4", + "src": "1543:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7219,13 +7203,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, - "src": "1381:1:4", + "src": "1548:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1376:6:4", + "src": "1543:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7243,11 +7227,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "1368:7:4", + "referencedDeclaration": 1124, + "src": "1535:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7261,7 +7245,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1368:15:4", + "src": "1535:15:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7269,7 +7253,7 @@ }, "id": 420, "nodeType": "ExpressionStatement", - "src": "1368:15:4" + "src": "1535:15:4" }, { "expression": { @@ -7279,7 +7263,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 410, - "src": "1397:1:4", + "src": "1568:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7288,15 +7272,14 @@ "functionReturnParameters": 408, "id": 422, "nodeType": "Return", - "src": "1390:8:4" + "src": "1561:8:4" } ] }, - "documentation": "@dev Adds two numbers, reverts on overflow.", + "documentation": "@dev Adds two unsigned integers, reverts on overflow.", "id": 424, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", @@ -7310,7 +7293,7 @@ "name": "a", "nodeType": "VariableDeclaration", "scope": 424, - "src": "1285:9:4", + "src": "1444:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7321,7 +7304,7 @@ "id": 401, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1285:7:4", + "src": "1444:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7336,7 +7319,7 @@ "name": "b", "nodeType": "VariableDeclaration", "scope": 424, - "src": "1296:9:4", + "src": "1455:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7347,7 +7330,7 @@ "id": 403, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1296:7:4", + "src": "1455:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7357,9 +7340,8 @@ "visibility": "internal" } ], - "src": "1284:22:4" + "src": "1443:22:4" }, - "payable": false, "returnParameters": { "id": 408, "nodeType": "ParameterList", @@ -7370,7 +7352,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 424, - "src": "1330:7:4", + "src": "1489:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7381,7 +7363,7 @@ "id": 406, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1330:7:4", + "src": "1489:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7391,10 +7373,10 @@ "visibility": "internal" } ], - "src": "1329:9:4" + "src": "1488:9:4" }, "scope": 445, - "src": "1272:131:4", + "src": "1431:145:4", "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -7403,7 +7385,7 @@ "body": { "id": 443, "nodeType": "Block", - "src": "1602:44:4", + "src": "1795:54:4", "statements": [ { "expression": { @@ -7427,7 +7409,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 428, - "src": "1616:1:4", + "src": "1813:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7445,7 +7427,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1621:1:4", + "src": "1818:1:4", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7453,7 +7435,7 @@ }, "value": "0" }, - "src": "1616:6:4", + "src": "1813:6:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7471,11 +7453,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "1608:7:4", + "referencedDeclaration": 1124, + "src": "1805:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7489,7 +7471,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1608:15:4", + "src": "1805:15:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7497,7 +7479,7 @@ }, "id": 438, "nodeType": "ExpressionStatement", - "src": "1608:15:4" + "src": "1805:15:4" }, { "expression": { @@ -7518,7 +7500,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 426, - "src": "1636:1:4", + "src": "1837:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7533,13 +7515,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 428, - "src": "1640:1:4", + "src": "1841:1:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1636:5:4", + "src": "1837:5:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7548,15 +7530,14 @@ "functionReturnParameters": 432, "id": 442, "nodeType": "Return", - "src": "1629:12:4" + "src": "1830:12:4" } ] }, - "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", + "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", "id": 444, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", @@ -7570,7 +7551,7 @@ "name": "a", "nodeType": "VariableDeclaration", "scope": 444, - "src": "1548:9:4", + "src": "1741:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7581,7 +7562,7 @@ "id": 425, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1548:7:4", + "src": "1741:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7596,7 +7577,7 @@ "name": "b", "nodeType": "VariableDeclaration", "scope": 444, - "src": "1559:9:4", + "src": "1752:9:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7607,7 +7588,7 @@ "id": 427, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1559:7:4", + "src": "1752:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7617,9 +7598,8 @@ "visibility": "internal" } ], - "src": "1547:22:4" + "src": "1740:22:4" }, - "payable": false, "returnParameters": { "id": 432, "nodeType": "ParameterList", @@ -7630,7 +7610,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 444, - "src": "1593:7:4", + "src": "1786:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7641,7 +7621,7 @@ "id": 430, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1593:7:4", + "src": "1786:7:4", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7651,20 +7631,20 @@ "visibility": "internal" } ], - "src": "1592:9:4" + "src": "1785:9:4" }, "scope": 445, - "src": "1535:111:4", + "src": "1728:121:4", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], "scope": 446, - "src": "117:1531:4" + "src": "125:1726:4" } ], - "src": "0:1649:4" + "src": "0:1852:4" }, "id": 4 }, @@ -7673,10 +7653,10 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 889 + 877 ] }, - "id": 890, + "id": 878, "nodeType": "SourceUnit", "nodes": [ { @@ -7684,20 +7664,20 @@ "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:5" + "src": "0:23:5" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", "id": 448, "nodeType": "ImportDirective", - "scope": 890, - "sourceUnit": 1119, - "src": "26:22:5", + "scope": 878, + "sourceUnit": 1107, + "src": "25:22:5", "symbolAliases": [], "unitAlias": "" }, @@ -7706,9 +7686,9 @@ "file": "../../math/SafeMath.sol", "id": 449, "nodeType": "ImportDirective", - "scope": 890, + "scope": 878, "sourceUnit": 446, - "src": "49:33:5", + "src": "48:33:5", "symbolAliases": [], "unitAlias": "" }, @@ -7721,28 +7701,28 @@ "id": 450, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1118, - "src": "387:6:5", + "referencedDeclaration": 1106, + "src": "667:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1118", + "typeIdentifier": "t_contract$_IERC20_$1106", "typeString": "contract IERC20" } }, "id": 451, "nodeType": "InheritanceSpecifier", - "src": "387:6:5" + "src": "667:6:5" } ], "contractDependencies": [ - 1118 + 1106 ], "contractKind": "contract", - "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\nhttps://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\nOriginally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\nhttps://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md\nOriginally based on code by FirstBlood:\nhttps://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol\n * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for\nall accounts just by listening to said events. Note that this isn't required by the specification, and other\ncompliant implementations may not do it.", "fullyImplemented": true, - "id": 889, + "id": 877, "linearizedBaseContracts": [ - 889, - 1118 + 877, + 1106 ], "name": "ERC20", "nodeType": "ContractDefinition", @@ -7755,19 +7735,19 @@ "name": "SafeMath", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 445, - "src": "404:8:5", + "src": "686:8:5", "typeDescriptions": { "typeIdentifier": "t_contract$_SafeMath_$445", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", - "src": "398:27:5", + "src": "680:27:5", "typeName": { "id": 453, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "417:7:5", + "src": "699:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7779,8 +7759,8 @@ "id": 458, "name": "_balances", "nodeType": "VariableDeclaration", - "scope": 889, - "src": "429:46:5", + "scope": 877, + "src": "713:46:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7793,14 +7773,14 @@ "id": 455, "name": "address", "nodeType": "ElementaryTypeName", - "src": "438:7:5", + "src": "722:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "429:28:5", + "src": "713:28:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -7809,7 +7789,7 @@ "id": 456, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "449:7:5", + "src": "733:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7824,8 +7804,8 @@ "id": 464, "name": "_allowed", "nodeType": "VariableDeclaration", - "scope": 889, - "src": "480:66:5", + "scope": 877, + "src": "766:66:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7838,14 +7818,14 @@ "id": 459, "name": "address", "nodeType": "ElementaryTypeName", - "src": "489:7:5", + "src": "775:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "480:49:5", + "src": "766:49:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" @@ -7856,14 +7836,14 @@ "id": 460, "name": "address", "nodeType": "ElementaryTypeName", - "src": "509:7:5", + "src": "795:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "500:28:5", + "src": "786:28:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -7872,7 +7852,7 @@ "id": 461, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "520:7:5", + "src": "806:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7888,8 +7868,8 @@ "id": 466, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 889, - "src": "551:28:5", + "scope": 877, + "src": "839:28:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -7900,7 +7880,7 @@ "id": 465, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "551:7:5", + "src": "839:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7913,7 +7893,7 @@ "body": { "id": 473, "nodeType": "Block", - "src": "693:30:5", + "src": "989:36:5", "statements": [ { "expression": { @@ -7923,7 +7903,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 466, - "src": "706:12:5", + "src": "1006:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7932,15 +7912,14 @@ "functionReturnParameters": 470, "id": 472, "nodeType": "Return", - "src": "699:19:5" + "src": "999:19:5" } ] }, "documentation": "@dev Total number of tokens in existence", "id": 474, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", @@ -7948,9 +7927,8 @@ "id": 467, "nodeType": "ParameterList", "parameters": [], - "src": "660:2:5" + "src": "956:2:5" }, - "payable": false, "returnParameters": { "id": 470, "nodeType": "ParameterList", @@ -7961,7 +7939,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 474, - "src": "684:7:5", + "src": "980:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7972,7 +7950,7 @@ "id": 468, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "684:7:5", + "src": "980:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7982,19 +7960,19 @@ "visibility": "internal" } ], - "src": "683:9:5" + "src": "979:9:5" }, - "scope": 889, - "src": "640:83:5", + "scope": 877, + "src": "936:89:5", "stateMutability": "view", - "superFunction": 1056, + "superFunction": 1073, "visibility": "public" }, { "body": { "id": 485, "nodeType": "Block", - "src": "984:34:5", + "src": "1298:40:5", "statements": [ { "expression": { @@ -8006,7 +7984,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "997:9:5", + "src": "1315:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -8020,7 +7998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 476, - "src": "1007:5:5", + "src": "1325:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8031,7 +8009,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "997:16:5", + "src": "1315:16:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8040,15 +8018,14 @@ "functionReturnParameters": 480, "id": 484, "nodeType": "Return", - "src": "990:23:5" + "src": "1308:23:5" } ] }, "documentation": "@dev Gets the balance of the specified address.\n@param owner The address to query the balance of.\n@return An uint256 representing the amount owned by the passed address.", "id": 486, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", @@ -8062,7 +8039,7 @@ "name": "owner", "nodeType": "VariableDeclaration", "scope": 486, - "src": "939:13:5", + "src": "1253:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8073,7 +8050,8 @@ "id": 475, "name": "address", "nodeType": "ElementaryTypeName", - "src": "939:7:5", + "src": "1253:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8083,9 +8061,8 @@ "visibility": "internal" } ], - "src": "938:15:5" + "src": "1252:15:5" }, - "payable": false, "returnParameters": { "id": 480, "nodeType": "ParameterList", @@ -8096,7 +8073,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 486, - "src": "975:7:5", + "src": "1289:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8107,7 +8084,7 @@ "id": 478, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "975:7:5", + "src": "1289:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8117,19 +8094,19 @@ "visibility": "internal" } ], - "src": "974:9:5" + "src": "1288:9:5" }, - "scope": 889, - "src": "920:98:5", + "scope": 877, + "src": "1234:104:5", "stateMutability": "view", - "superFunction": 1063, + "superFunction": 1080, "visibility": "public" }, { "body": { "id": 501, "nodeType": "Block", - "src": "1443:42:5", + "src": "1750:48:5", "statements": [ { "expression": { @@ -8143,7 +8120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "1456:8:5", + "src": "1767:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" @@ -8157,7 +8134,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 488, - "src": "1465:5:5", + "src": "1776:5:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8168,7 +8145,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1456:15:5", + "src": "1767:15:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -8182,7 +8159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 490, - "src": "1472:7:5", + "src": "1783:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8193,7 +8170,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1456:24:5", + "src": "1767:24:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8202,15 +8179,14 @@ "functionReturnParameters": 494, "id": 500, "nodeType": "Return", - "src": "1449:31:5" + "src": "1760:31:5" } ] }, "documentation": "@dev Function to check the amount of tokens that an owner allowed to a spender.\n@param owner address The address which owns the funds.\n@param spender address The address which will spend the funds.\n@return A uint256 specifying the amount of tokens still available for the spender.", "id": 502, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", @@ -8224,7 +8200,7 @@ "name": "owner", "nodeType": "VariableDeclaration", "scope": 502, - "src": "1359:13:5", + "src": "1688:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8235,7 +8211,8 @@ "id": 487, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1359:7:5", + "src": "1688:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8250,7 +8227,7 @@ "name": "spender", "nodeType": "VariableDeclaration", "scope": 502, - "src": "1378:15:5", + "src": "1703:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8261,7 +8238,8 @@ "id": 489, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1378:7:5", + "src": "1703:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8271,9 +8249,8 @@ "visibility": "internal" } ], - "src": "1353:45:5" + "src": "1687:32:5" }, - "payable": false, "returnParameters": { "id": 494, "nodeType": "ParameterList", @@ -8284,7 +8261,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 502, - "src": "1432:7:5", + "src": "1741:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8295,7 +8272,7 @@ "id": 492, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1432:7:5", + "src": "1741:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8305,19 +8282,19 @@ "visibility": "internal" } ], - "src": "1431:9:5" + "src": "1740:9:5" }, - "scope": 889, - "src": "1335:150:5", + "scope": 877, + "src": "1669:129:5", "stateMutability": "view", - "superFunction": 1072, + "superFunction": 1089, "visibility": "public" }, { "body": { "id": 520, "nodeType": "Block", - "src": "1704:60:5", + "src": "2029:70:5", "statements": [ { "expression": { @@ -8331,8 +8308,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "1720:3:5", + "referencedDeclaration": 1121, + "src": "2049:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -8346,10 +8323,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1720:10:5", + "src": "2049:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, { @@ -8359,7 +8336,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 504, - "src": "1732:2:5", + "src": "2061:2:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8372,7 +8349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 506, - "src": "1736:5:5", + "src": "2065:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8382,8 +8359,8 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, { "typeIdentifier": "t_address", @@ -8398,8 +8375,8 @@ "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 759, - "src": "1710:9:5", + "referencedDeclaration": 750, + "src": "2039:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" @@ -8413,7 +8390,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1710:32:5", + "src": "2039:32:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8421,7 +8398,7 @@ }, "id": 517, "nodeType": "ExpressionStatement", - "src": "1710:32:5" + "src": "2039:32:5" }, { "expression": { @@ -8434,7 +8411,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1755:4:5", + "src": "2088:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8445,15 +8422,14 @@ "functionReturnParameters": 510, "id": 519, "nodeType": "Return", - "src": "1748:11:5" + "src": "2081:11:5" } ] }, "documentation": "@dev Transfer token for a specified address\n@param to The address to transfer to.\n@param value The amount to be transferred.", "id": 521, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", @@ -8467,7 +8443,7 @@ "name": "to", "nodeType": "VariableDeclaration", "scope": 521, - "src": "1655:10:5", + "src": "1980:10:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8478,7 +8454,8 @@ "id": 503, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1655:7:5", + "src": "1980:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8493,7 +8470,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 521, - "src": "1667:13:5", + "src": "1992:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8504,7 +8481,7 @@ "id": 505, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1667:7:5", + "src": "1992:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8514,9 +8491,8 @@ "visibility": "internal" } ], - "src": "1654:27:5" + "src": "1979:27:5" }, - "payable": false, "returnParameters": { "id": 510, "nodeType": "ParameterList", @@ -8527,7 +8503,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 521, - "src": "1698:4:5", + "src": "2023:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8538,7 +8514,7 @@ "id": 508, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1698:4:5", + "src": "2023:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8548,19 +8524,19 @@ "visibility": "internal" } ], - "src": "1697:6:5" + "src": "2022:6:5" }, - "scope": 889, - "src": "1637:127:5", + "scope": 877, + "src": "1962:137:5", "stateMutability": "nonpayable", - "superFunction": 1081, + "superFunction": 1048, "visibility": "public" }, { "body": { "id": 556, "nodeType": "Block", - "src": "2451:149:5", + "src": "2806:167:5", "statements": [ { "expression": { @@ -8584,7 +8560,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, - "src": "2465:7:5", + "src": "2824:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8605,7 +8581,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2484:1:5", + "src": "2843:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8627,7 +8603,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2476:7:5", + "src": "2835:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -8642,13 +8618,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2476:10:5", + "src": "2835:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "2465:21:5", + "src": "2824:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8666,11 +8642,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "2457:7:5", + "referencedDeclaration": 1124, + "src": "2816:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8684,7 +8660,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2457:30:5", + "src": "2816:30:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8692,7 +8668,7 @@ }, "id": 537, "nodeType": "ExpressionStatement", - "src": "2457:30:5" + "src": "2816:30:5" }, { "expression": { @@ -8713,7 +8689,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "2494:8:5", + "src": "2857:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" @@ -8728,8 +8704,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "2503:3:5", + "referencedDeclaration": 1121, + "src": "2866:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -8743,10 +8719,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2503:10:5", + "src": "2866:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -8754,7 +8730,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2494:20:5", + "src": "2857:20:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -8768,7 +8744,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, - "src": "2515:7:5", + "src": "2878:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8779,7 +8755,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2494:29:5", + "src": "2857:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8794,13 +8770,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 525, - "src": "2526:5:5", + "src": "2889:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2494:37:5", + "src": "2857:37:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8808,7 +8784,7 @@ }, "id": 546, "nodeType": "ExpressionStatement", - "src": "2494:37:5" + "src": "2857:37:5" }, { "eventCall": { @@ -8822,8 +8798,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "2551:3:5", + "referencedDeclaration": 1121, + "src": "2918:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -8837,10 +8813,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2551:10:5", + "src": "2918:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, { @@ -8850,7 +8826,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 523, - "src": "2563:7:5", + "src": "2930:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8863,7 +8839,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 525, - "src": "2572:5:5", + "src": "2939:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8873,8 +8849,8 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, { "typeIdentifier": "t_address", @@ -8889,8 +8865,8 @@ "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1117, - "src": "2542:8:5", + "referencedDeclaration": 1105, + "src": "2909:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" @@ -8904,7 +8880,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2542:36:5", + "src": "2909:36:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8912,7 +8888,7 @@ }, "id": 553, "nodeType": "EmitStatement", - "src": "2537:41:5" + "src": "2904:41:5" }, { "expression": { @@ -8925,7 +8901,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2591:4:5", + "src": "2962:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8936,15 +8912,14 @@ "functionReturnParameters": 529, "id": 555, "nodeType": "Return", - "src": "2584:11:5" + "src": "2955:11:5" } ] }, "documentation": "@dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.\nBeware that changing an allowance with this method brings the risk that someone may use both the old\nand the new allowance by unfortunate transaction ordering. One possible solution to mitigate this\nrace condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n@param spender The address which will spend the funds.\n@param value The amount of tokens to be spent.", "id": 557, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", @@ -8958,7 +8933,7 @@ "name": "spender", "nodeType": "VariableDeclaration", "scope": 557, - "src": "2397:15:5", + "src": "2752:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8969,7 +8944,8 @@ "id": 522, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2397:7:5", + "src": "2752:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8984,7 +8960,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 557, - "src": "2414:13:5", + "src": "2769:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8995,7 +8971,7 @@ "id": 524, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2414:7:5", + "src": "2769:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9005,9 +8981,8 @@ "visibility": "internal" } ], - "src": "2396:32:5" + "src": "2751:32:5" }, - "payable": false, "returnParameters": { "id": 529, "nodeType": "ParameterList", @@ -9018,7 +8993,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 557, - "src": "2445:4:5", + "src": "2800:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9029,7 +9004,7 @@ "id": 527, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2445:4:5", + "src": "2800:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9039,183 +9014,24 @@ "visibility": "internal" } ], - "src": "2444:6:5" + "src": "2799:6:5" }, - "scope": 889, - "src": "2380:220:5", + "scope": 877, + "src": "2735:238:5", "stateMutability": "nonpayable", - "superFunction": 1090, + "superFunction": 1057, "visibility": "public" }, { "body": { - "id": 604, + "id": 605, "nodeType": "Block", - "src": "2983:177:5", + "src": "3521:209:5", "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 569, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "2997:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 570, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "3006:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 572, - "indexExpression": { - "argumentTypes": null, - "id": 571, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 559, - "src": "3015:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3006:14:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 575, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 573, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "3021:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3021:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3006:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2997:35:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 568, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1136, - 1137 - ], - "referencedDeclaration": 1136, - "src": "2989:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2989:44:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 578, - "nodeType": "ExpressionStatement", - "src": "2989:44:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 594, + "id": 583, "isConstant": false, "isLValue": false, "isPure": false, @@ -9226,26 +9042,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 579, + "id": 568, "name": "_allowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "3040:8:5", + "src": "3531:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 583, + "id": 572, "indexExpression": { "argumentTypes": null, - "id": 580, + "id": 569, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 559, - "src": "3049:4:5", + "src": "3540:4:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9256,29 +9072,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3040:14:5", + "src": "3531:14:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 584, + "id": 573, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 581, + "id": 570, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "3055:3:5", + "referencedDeclaration": 1121, + "src": "3546:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 582, + "id": 571, "isConstant": false, "isLValue": false, "isPure": false, @@ -9286,10 +9102,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3055:10:5", + "src": "3546:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -9297,7 +9113,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3040:26:5", + "src": "3531:26:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9310,12 +9126,12 @@ "arguments": [ { "argumentTypes": null, - "id": 592, + "id": 581, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 563, - "src": "3100:5:5", + "src": "3591:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9335,26 +9151,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 585, + "id": 574, "name": "_allowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "3069:8:5", + "src": "3560:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 587, + "id": 576, "indexExpression": { "argumentTypes": null, - "id": 586, + "id": 575, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 559, - "src": "3078:4:5", + "src": "3569:4:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9365,29 +9181,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3069:14:5", + "src": "3560:14:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 590, + "id": 579, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 588, + "id": 577, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "3084:3:5", + "referencedDeclaration": 1121, + "src": "3575:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 589, + "id": 578, "isConstant": false, "isLValue": false, "isPure": false, @@ -9395,10 +9211,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3084:10:5", + "src": "3575:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -9406,13 +9222,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3069:26:5", + "src": "3560:26:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 591, + "id": 580, "isConstant": false, "isLValue": false, "isPure": false, @@ -9420,13 +9236,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 400, - "src": "3069:30:5", + "src": "3560:30:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 593, + "id": 582, "isConstant": false, "isLValue": false, "isPure": false, @@ -9434,21 +9250,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3069:37:5", + "src": "3560:37:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3040:66:5", + "src": "3531:66:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 595, + "id": 584, "nodeType": "ExpressionStatement", - "src": "3040:66:5" + "src": "3531:66:5" }, { "expression": { @@ -9456,12 +9272,12 @@ "arguments": [ { "argumentTypes": null, - "id": 597, + "id": 586, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 559, - "src": "3122:4:5", + "src": "3617:4:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9469,12 +9285,12 @@ }, { "argumentTypes": null, - "id": 598, + "id": 587, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 561, - "src": "3128:2:5", + "src": "3623:2:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9482,12 +9298,12 @@ }, { "argumentTypes": null, - "id": 599, + "id": 588, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 563, - "src": "3132:5:5", + "src": "3627:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9509,18 +9325,18 @@ "typeString": "uint256" } ], - "id": 596, + "id": 585, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 759, - "src": "3112:9:5", + "referencedDeclaration": 750, + "src": "3607:9:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 600, + "id": 589, "isConstant": false, "isLValue": false, "isPure": false, @@ -9528,28 +9344,202 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3112:26:5", + "src": "3607:26:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 601, + "id": 590, "nodeType": "ExpressionStatement", - "src": "3112:26:5" + "src": "3607:26:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 592, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 559, + "src": "3657:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 593, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "3663:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3663:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 595, + "name": "_allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "3675:8:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 597, + "indexExpression": { + "argumentTypes": null, + "id": 596, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 559, + "src": "3684:4:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3675:14:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 600, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 598, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "3690:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3690:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3675:26:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 591, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "3648:8:5", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3648:54:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 602, + "nodeType": "EmitStatement", + "src": "3643:59:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 602, + "id": 603, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3151:4:5", + "src": "3719:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9558,17 +9548,16 @@ "value": "true" }, "functionReturnParameters": 567, - "id": 603, + "id": 604, "nodeType": "Return", - "src": "3144:11:5" + "src": "3712:11:5" } ] }, - "documentation": "@dev Transfer tokens from one address to another\n@param from address The address which you want to send tokens from\n@param to address The address which you want to transfer to\n@param value uint256 the amount of tokens to be transferred", - "id": 605, + "documentation": "@dev Transfer tokens from one address to another.\nNote that while this function emits an Approval event, this is not required as per the specification,\nand other compliant implementations may not emit the event.\n@param from address The address which you want to send tokens from\n@param to address The address which you want to transfer to\n@param value uint256 the amount of tokens to be transferred", + "id": 606, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", @@ -9581,8 +9570,8 @@ "id": 559, "name": "from", "nodeType": "VariableDeclaration", - "scope": 605, - "src": "2899:12:5", + "scope": 606, + "src": "3458:12:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9593,7 +9582,8 @@ "id": 558, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2899:7:5", + "src": "3458:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9607,8 +9597,8 @@ "id": 561, "name": "to", "nodeType": "VariableDeclaration", - "scope": 605, - "src": "2917:10:5", + "scope": 606, + "src": "3472:10:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9619,7 +9609,8 @@ "id": 560, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2917:7:5", + "src": "3472:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9633,8 +9624,8 @@ "id": 563, "name": "value", "nodeType": "VariableDeclaration", - "scope": 605, - "src": "2933:13:5", + "scope": 606, + "src": "3484:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9645,7 +9636,7 @@ "id": 562, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2933:7:5", + "src": "3484:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9655,9 +9646,8 @@ "visibility": "internal" } ], - "src": "2893:57:5" + "src": "3457:41:5" }, - "payable": false, "returnParameters": { "id": 567, "nodeType": "ParameterList", @@ -9667,8 +9657,8 @@ "id": 566, "name": "", "nodeType": "VariableDeclaration", - "scope": 605, - "src": "2975:4:5", + "scope": 606, + "src": "3515:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9679,7 +9669,7 @@ "id": 565, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2975:4:5", + "src": "3515:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9689,19 +9679,19 @@ "visibility": "internal" } ], - "src": "2974:6:5" + "src": "3514:6:5" }, - "scope": 889, - "src": "2872:288:5", + "scope": 877, + "src": "3436:294:5", "stateMutability": "nonpayable", - "superFunction": 1101, + "superFunction": 1068, "visibility": "public" }, { "body": { "id": 654, "nodeType": "Block", - "src": "3719:222:5", + "src": "4319:231:5", "statements": [ { "expression": { @@ -9713,19 +9703,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 619, + "id": 620, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 615, + "id": 616, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "3733:7:5", + "referencedDeclaration": 608, + "src": "4337:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9739,14 +9729,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 617, + "id": 618, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3752:1:5", + "src": "4356:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9762,20 +9752,20 @@ "typeString": "int_const 0" } ], - "id": 616, + "id": 617, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3744:7:5", + "src": "4348:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 618, + "id": 619, "isConstant": false, "isLValue": false, "isPure": true, @@ -9783,13 +9773,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3744:10:5", + "src": "4348:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "3733:21:5", + "src": "4337:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9803,21 +9793,21 @@ "typeString": "bool" } ], - "id": 614, + "id": 615, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "3725:7:5", + "referencedDeclaration": 1124, + "src": "4329:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 620, + "id": 621, "isConstant": false, "isLValue": false, "isPure": false, @@ -9825,15 +9815,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3725:30:5", + "src": "4329:30:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 621, + "id": 622, "nodeType": "ExpressionStatement", - "src": "3725:30:5" + "src": "4329:30:5" }, { "expression": { @@ -9849,34 +9839,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 622, + "id": 623, "name": "_allowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "3762:8:5", + "src": "4370:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 626, + "id": 627, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 623, + "id": 624, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "3771:3:5", + "referencedDeclaration": 1121, + "src": "4379:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 624, + "id": 625, "isConstant": false, "isLValue": false, "isPure": false, @@ -9884,10 +9874,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3771:10:5", + "src": "4379:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -9895,21 +9885,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3762:20:5", + "src": "4370:20:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 627, + "id": 628, "indexExpression": { "argumentTypes": null, - "id": 625, + "id": 626, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "3783:7:5", + "referencedDeclaration": 608, + "src": "4391:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9920,7 +9910,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3762:29:5", + "src": "4370:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9930,157 +9920,140 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "components": [ + "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 635, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 609, - "src": "3836:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 628, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "3802:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 631, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 629, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "3811:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3811:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3802:20:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 633, - "indexExpression": { - "argumentTypes": null, - "id": 632, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "3823:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3802:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 424, - "src": "3802:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3802:45:5", + "name": "addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 610, + "src": "4436:10:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 629, + "name": "_allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "4402:8:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 632, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 630, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "4411:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4411:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4402:20:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 634, + "indexExpression": { + "argumentTypes": null, + "id": 633, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 608, + "src": "4423:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4402:29:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 424, + "src": "4402:33:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, "id": 637, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3794:54:5", + "names": [], + "nodeType": "FunctionCall", + "src": "4402:45:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3762:86:5", + "src": "4370:77:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10088,7 +10061,7 @@ }, "id": 639, "nodeType": "ExpressionStatement", - "src": "3762:86:5" + "src": "4370:77:5" }, { "eventCall": { @@ -10102,8 +10075,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "3868:3:5", + "referencedDeclaration": 1121, + "src": "4471:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -10117,10 +10090,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3868:10:5", + "src": "4471:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, { @@ -10129,8 +10102,8 @@ "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "3880:7:5", + "referencedDeclaration": 608, + "src": "4483:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10147,7 +10120,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "3889:8:5", + "src": "4492:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" @@ -10162,8 +10135,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "3898:3:5", + "referencedDeclaration": 1121, + "src": "4501:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -10177,10 +10150,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3898:10:5", + "src": "4501:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -10188,7 +10161,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3889:20:5", + "src": "4492:20:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -10201,8 +10174,8 @@ "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "3910:7:5", + "referencedDeclaration": 608, + "src": "4513:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10213,7 +10186,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3889:29:5", + "src": "4492:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10223,8 +10196,8 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, { "typeIdentifier": "t_address", @@ -10239,8 +10212,8 @@ "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1117, - "src": "3859:8:5", + "referencedDeclaration": 1105, + "src": "4462:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" @@ -10254,7 +10227,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3859:60:5", + "src": "4462:60:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10262,7 +10235,7 @@ }, "id": 651, "nodeType": "EmitStatement", - "src": "3854:65:5" + "src": "4457:65:5" }, { "expression": { @@ -10275,7 +10248,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3932:4:5", + "src": "4539:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10283,32 +10256,31 @@ }, "value": "true" }, - "functionReturnParameters": 613, + "functionReturnParameters": 614, "id": 653, "nodeType": "Return", - "src": "3925:11:5" + "src": "4532:11:5" } ] }, - "documentation": "@dev Increase the amount of tokens that an owner allowed to a spender.\napprove should be called when allowed_[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param spender The address which will spend the funds.\n@param addedValue The amount of tokens to increase the allowance by.", + "documentation": "@dev Increase the amount of tokens that an owner allowed to a spender.\napprove should be called when allowed_[_spender] == 0. To increment\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\nEmits an Approval event.\n@param spender The address which will spend the funds.\n@param addedValue The amount of tokens to increase the allowance by.", "id": 655, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "increaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 610, + "id": 611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 607, + "id": 608, "name": "spender", "nodeType": "VariableDeclaration", "scope": 655, - "src": "3643:15:5", + "src": "4260:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10316,10 +10288,11 @@ "typeString": "address" }, "typeName": { - "id": 606, + "id": 607, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3643:7:5", + "src": "4260:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10330,11 +10303,11 @@ }, { "constant": false, - "id": 609, + "id": 610, "name": "addedValue", "nodeType": "VariableDeclaration", "scope": 655, - "src": "3664:18:5", + "src": "4277:18:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10342,10 +10315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 608, + "id": 609, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3664:7:5", + "src": "4277:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10355,20 +10328,19 @@ "visibility": "internal" } ], - "src": "3637:49:5" + "src": "4259:37:5" }, - "payable": false, "returnParameters": { - "id": 613, + "id": 614, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 612, + "id": 613, "name": "", "nodeType": "VariableDeclaration", "scope": 655, - "src": "3711:4:5", + "src": "4313:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10376,10 +10348,10 @@ "typeString": "bool" }, "typeName": { - "id": 611, + "id": 612, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3711:4:5", + "src": "4313:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10389,19 +10361,19 @@ "visibility": "internal" } ], - "src": "3710:6:5" + "src": "4312:6:5" }, - "scope": 889, - "src": "3611:330:5", + "scope": 877, + "src": "4233:317:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 704, + "id": 703, "nodeType": "Block", - "src": "4510:227:5", + "src": "5149:236:5", "statements": [ { "expression": { @@ -10425,7 +10397,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "4524:7:5", + "src": "5167:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10446,7 +10418,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4543:1:5", + "src": "5186:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10468,7 +10440,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4535:7:5", + "src": "5178:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -10483,13 +10455,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4535:10:5", + "src": "5178:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "4524:21:5", + "src": "5167:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10507,11 +10479,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "4516:7:5", + "referencedDeclaration": 1124, + "src": "5159:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -10525,7 +10497,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4516:30:5", + "src": "5159:30:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10533,12 +10505,12 @@ }, "id": 671, "nodeType": "ExpressionStatement", - "src": "4516:30:5" + "src": "5159:30:5" }, { "expression": { "argumentTypes": null, - "id": 688, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -10554,7 +10526,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4553:8:5", + "src": "5200:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" @@ -10569,8 +10541,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "4562:3:5", + "referencedDeclaration": 1121, + "src": "5209:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -10584,10 +10556,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4562:10:5", + "src": "5209:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -10595,7 +10567,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4553:20:5", + "src": "5200:20:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -10609,7 +10581,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "4574:7:5", + "src": "5221:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10620,7 +10592,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4553:29:5", + "src": "5200:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10630,165 +10602,148 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "components": [ + "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 685, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 659, - "src": "4627:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 678, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4593:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 681, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 679, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "4602:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4602:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4593:20:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 683, - "indexExpression": { - "argumentTypes": null, - "id": 682, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "4614:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4593:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 400, - "src": "4593:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4593:50:5", + "id": 685, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 659, + "src": "5266:15:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 687, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 678, + "name": "_allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "5232:8:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 681, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 679, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "5241:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5241:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5232:20:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 683, + "indexExpression": { + "argumentTypes": null, + "id": 682, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 657, + "src": "5253:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5232:29:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 400, + "src": "5232:33:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 686, "isConstant": false, - "isInlineArray": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4585:59:5", + "names": [], + "nodeType": "FunctionCall", + "src": "5232:50:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4553:91:5", + "src": "5200:82:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 689, + "id": 688, "nodeType": "ExpressionStatement", - "src": "4553:91:5" + "src": "5200:82:5" }, { "eventCall": { @@ -10798,18 +10753,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 691, + "id": 690, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "4664:3:5", + "referencedDeclaration": 1121, + "src": "5306:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 692, + "id": 691, "isConstant": false, "isLValue": false, "isPure": false, @@ -10817,20 +10772,20 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4664:10:5", + "src": "5306:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, { "argumentTypes": null, - "id": 693, + "id": 692, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "4676:7:5", + "src": "5318:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10842,34 +10797,34 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 694, + "id": 693, "name": "_allowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4685:8:5", + "src": "5327:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 697, + "id": 696, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 695, + "id": 694, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "4694:3:5", + "referencedDeclaration": 1121, + "src": "5336:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 696, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, @@ -10877,10 +10832,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4694:10:5", + "src": "5336:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -10888,21 +10843,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4685:20:5", + "src": "5327:20:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 699, + "id": 698, "indexExpression": { "argumentTypes": null, - "id": 698, + "id": 697, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "4706:7:5", + "src": "5348:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10913,7 +10868,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4685:29:5", + "src": "5327:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10923,8 +10878,8 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, { "typeIdentifier": "t_address", @@ -10935,18 +10890,18 @@ "typeString": "uint256" } ], - "id": 690, + "id": 689, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1117, - "src": "4655:8:5", + "referencedDeclaration": 1105, + "src": "5297:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 700, + "id": 699, "isConstant": false, "isLValue": false, "isPure": false, @@ -10954,28 +10909,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4655:60:5", + "src": "5297:60:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 701, + "id": 700, "nodeType": "EmitStatement", - "src": "4650:65:5" + "src": "5292:65:5" }, { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 702, + "id": 701, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4728:4:5", + "src": "5374:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10984,17 +10939,16 @@ "value": "true" }, "functionReturnParameters": 663, - "id": 703, + "id": 702, "nodeType": "Return", - "src": "4721:11:5" + "src": "5367:11:5" } ] }, - "documentation": "@dev Decrease the amount of tokens that an owner allowed to a spender.\napprove should be called when allowed_[_spender] == 0. To decrement\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\n@param spender The address which will spend the funds.\n@param subtractedValue The amount of tokens to decrease the allowance by.", - "id": 705, + "documentation": "@dev Decrease the amount of tokens that an owner allowed to a spender.\napprove should be called when allowed_[_spender] == 0. To decrement\nallowed value is better to use this function to avoid 2 calls (and wait until\nthe first transaction is mined)\nFrom MonolithDAO Token.sol\nEmits an Approval event.\n@param spender The address which will spend the funds.\n@param subtractedValue The amount of tokens to decrease the allowance by.", + "id": 704, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "decreaseAllowance", "nodeType": "FunctionDefinition", @@ -11007,8 +10961,8 @@ "id": 657, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 705, - "src": "4429:15:5", + "scope": 704, + "src": "5085:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11019,7 +10973,8 @@ "id": 656, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4429:7:5", + "src": "5085:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11033,8 +10988,8 @@ "id": 659, "name": "subtractedValue", "nodeType": "VariableDeclaration", - "scope": 705, - "src": "4450:23:5", + "scope": 704, + "src": "5102:23:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11045,7 +11000,7 @@ "id": 658, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4450:7:5", + "src": "5102:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11055,9 +11010,8 @@ "visibility": "internal" } ], - "src": "4423:54:5" + "src": "5084:42:5" }, - "payable": false, "returnParameters": { "id": 663, "nodeType": "ParameterList", @@ -11067,8 +11021,8 @@ "id": 662, "name": "", "nodeType": "VariableDeclaration", - "scope": 705, - "src": "4502:4:5", + "scope": 704, + "src": "5143:4:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11079,7 +11033,7 @@ "id": 661, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4502:4:5", + "src": "5143:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11089,136 +11043,20 @@ "visibility": "internal" } ], - "src": "4501:6:5" + "src": "5142:6:5" }, - "scope": 889, - "src": "4397:340:5", + "scope": 877, + "src": "5058:327:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 758, + "id": 749, "nodeType": "Block", - "src": "5006:208:5", + "src": "5668:187:5", "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 715, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "5020:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 716, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "5029:9:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 718, - "indexExpression": { - "argumentTypes": null, - "id": 717, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "5039:4:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5029:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5020:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 714, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1136, - 1137 - ], - "referencedDeclaration": 1136, - "src": "5012:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5012:33:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 721, - "nodeType": "ExpressionStatement", - "src": "5012:33:5" - }, { "expression": { "argumentTypes": null, @@ -11229,19 +11067,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 727, + "id": 718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 723, + "id": 714, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "5059:2:5", + "referencedDeclaration": 708, + "src": "5686:2:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11255,14 +11093,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 725, + "id": 716, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5073:1:5", + "src": "5700:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11278,20 +11116,20 @@ "typeString": "int_const 0" } ], - "id": 724, + "id": 715, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5065:7:5", + "src": "5692:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 726, + "id": 717, "isConstant": false, "isLValue": false, "isPure": true, @@ -11299,13 +11137,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5065:10:5", + "src": "5692:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "5059:16:5", + "src": "5686:16:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11319,21 +11157,21 @@ "typeString": "bool" } ], - "id": 722, + "id": 713, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "5051:7:5", + "referencedDeclaration": 1124, + "src": "5678:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 728, + "id": 719, "isConstant": false, "isLValue": false, "isPure": false, @@ -11341,20 +11179,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5051:25:5", + "src": "5678:25:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 729, + "id": 720, "nodeType": "ExpressionStatement", - "src": "5051:25:5" + "src": "5678:25:5" }, { "expression": { "argumentTypes": null, - "id": 739, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, @@ -11363,26 +11201,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 730, + "id": 721, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "5083:9:5", + "src": "5714:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 732, + "id": 723, "indexExpression": { "argumentTypes": null, - "id": 731, + "id": 722, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "5093:4:5", + "referencedDeclaration": 706, + "src": "5724:4:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11393,7 +11231,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5083:15:5", + "src": "5714:15:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11406,12 +11244,12 @@ "arguments": [ { "argumentTypes": null, - "id": 737, + "id": 728, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "5121:5:5", + "referencedDeclaration": 710, + "src": "5752:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11429,26 +11267,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 733, + "id": 724, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "5101:9:5", + "src": "5732:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 735, + "id": 726, "indexExpression": { "argumentTypes": null, - "id": 734, + "id": 725, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "5111:4:5", + "referencedDeclaration": 706, + "src": "5742:4:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11459,13 +11297,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5101:15:5", + "src": "5732:15:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 736, + "id": 727, "isConstant": false, "isLValue": false, "isPure": false, @@ -11473,13 +11311,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 400, - "src": "5101:19:5", + "src": "5732:19:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 738, + "id": 729, "isConstant": false, "isLValue": false, "isPure": false, @@ -11487,26 +11325,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5101:26:5", + "src": "5732:26:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5083:44:5", + "src": "5714:44:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 740, + "id": 731, "nodeType": "ExpressionStatement", - "src": "5083:44:5" + "src": "5714:44:5" }, { "expression": { "argumentTypes": null, - "id": 750, + "id": 741, "isConstant": false, "isLValue": false, "isPure": false, @@ -11515,26 +11353,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 741, + "id": 732, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "5133:9:5", + "src": "5768:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 743, + "id": 734, "indexExpression": { "argumentTypes": null, - "id": 742, + "id": 733, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "5143:2:5", + "referencedDeclaration": 708, + "src": "5778:2:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11545,7 +11383,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5133:13:5", + "src": "5768:13:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11558,12 +11396,12 @@ "arguments": [ { "argumentTypes": null, - "id": 748, + "id": 739, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "5167:5:5", + "referencedDeclaration": 710, + "src": "5802:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11581,26 +11419,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 744, + "id": 735, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "5149:9:5", + "src": "5784:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 746, + "id": 737, "indexExpression": { "argumentTypes": null, - "id": 745, + "id": 736, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "5159:2:5", + "referencedDeclaration": 708, + "src": "5794:2:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11611,13 +11449,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5149:13:5", + "src": "5784:13:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 747, + "id": 738, "isConstant": false, "isLValue": false, "isPure": false, @@ -11625,13 +11463,13 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 424, - "src": "5149:17:5", + "src": "5784:17:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 749, + "id": 740, "isConstant": false, "isLValue": false, "isPure": false, @@ -11639,21 +11477,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5149:24:5", + "src": "5784:24:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5133:40:5", + "src": "5768:40:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 751, + "id": 742, "nodeType": "ExpressionStatement", - "src": "5133:40:5" + "src": "5768:40:5" }, { "eventCall": { @@ -11661,12 +11499,12 @@ "arguments": [ { "argumentTypes": null, - "id": 753, + "id": 744, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "5193:4:5", + "referencedDeclaration": 706, + "src": "5832:4:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11674,12 +11512,12 @@ }, { "argumentTypes": null, - "id": 754, + "id": 745, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 709, - "src": "5199:2:5", + "referencedDeclaration": 708, + "src": "5838:2:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11687,12 +11525,12 @@ }, { "argumentTypes": null, - "id": 755, + "id": 746, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "5203:5:5", + "referencedDeclaration": 710, + "src": "5842:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11714,18 +11552,18 @@ "typeString": "uint256" } ], - "id": 752, + "id": 743, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "5184:8:5", + "referencedDeclaration": 1097, + "src": "5823:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 756, + "id": 747, "isConstant": false, "isLValue": false, "isPure": false, @@ -11733,37 +11571,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5184:25:5", + "src": "5823:25:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 757, + "id": 748, "nodeType": "EmitStatement", - "src": "5179:30:5" + "src": "5818:30:5" } ] }, "documentation": "@dev Transfer token for a specified addresses\n@param from The address to transfer from.\n@param to The address to transfer to.\n@param value The amount to be transferred.", - "id": 759, + "id": 750, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 712, + "id": 711, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 707, + "id": 706, "name": "from", "nodeType": "VariableDeclaration", - "scope": 759, - "src": "4956:12:5", + "scope": 750, + "src": "5618:12:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11771,10 +11608,11 @@ "typeString": "address" }, "typeName": { - "id": 706, + "id": 705, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4956:7:5", + "src": "5618:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11785,11 +11623,11 @@ }, { "constant": false, - "id": 709, + "id": 708, "name": "to", "nodeType": "VariableDeclaration", - "scope": 759, - "src": "4970:10:5", + "scope": 750, + "src": "5632:10:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11797,10 +11635,11 @@ "typeString": "address" }, "typeName": { - "id": 708, + "id": 707, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4970:7:5", + "src": "5632:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11811,11 +11650,11 @@ }, { "constant": false, - "id": 711, + "id": 710, "name": "value", "nodeType": "VariableDeclaration", - "scope": 759, - "src": "4982:13:5", + "scope": 750, + "src": "5644:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11823,10 +11662,10 @@ "typeString": "uint256" }, "typeName": { - "id": 710, + "id": 709, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4982:7:5", + "src": "5644:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11836,26 +11675,25 @@ "visibility": "internal" } ], - "src": "4955:41:5" + "src": "5617:41:5" }, - "payable": false, "returnParameters": { - "id": 713, + "id": 712, "nodeType": "ParameterList", "parameters": [], - "src": "5006:0:5" + "src": "5668:0:5" }, - "scope": 889, - "src": "4937:277:5", + "scope": 877, + "src": "5599:256:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 798, + "id": 791, "nodeType": "Block", - "src": "5597:179:5", + "src": "6254:207:5", "statements": [ { "expression": { @@ -11867,19 +11705,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 769, + "id": 762, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 767, + "id": 758, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "5611:7:5", + "referencedDeclaration": 752, + "src": "6272:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11889,23 +11727,61 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "hexValue": "30", - "id": 768, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6291:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6283:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 761, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "number", + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "5622:1:5", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "6283:10:5", "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } }, - "src": "5611:12:5", + "src": "6272:21:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11919,21 +11795,21 @@ "typeString": "bool" } ], - "id": 766, + "id": 757, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1136, - 1137 + 1124, + 1125 ], - "referencedDeclaration": 1136, - "src": "5603:7:5", + "referencedDeclaration": 1124, + "src": "6264:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 770, + "id": 763, "isConstant": false, "isLValue": false, "isPure": false, @@ -11941,32 +11817,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5603:21:5", + "src": "6264:30:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 771, + "id": 764, "nodeType": "ExpressionStatement", - "src": "5603:21:5" + "src": "6264:30:5" }, { "expression": { "argumentTypes": null, - "id": 777, + "id": 770, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 772, + "id": 765, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 466, - "src": "5630:12:5", + "src": "6305:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11979,12 +11855,12 @@ "arguments": [ { "argumentTypes": null, - "id": 775, + "id": 768, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "5662:5:5", + "referencedDeclaration": 754, + "src": "6337:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12000,18 +11876,18 @@ ], "expression": { "argumentTypes": null, - "id": 773, + "id": 766, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 466, - "src": "5645:12:5", + "src": "6320:12:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 774, + "id": 767, "isConstant": false, "isLValue": false, "isPure": false, @@ -12019,13 +11895,13 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 424, - "src": "5645:16:5", + "src": "6320:16:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 776, + "id": 769, "isConstant": false, "isLValue": false, "isPure": false, @@ -12033,26 +11909,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5645:23:5", + "src": "6320:23:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5630:38:5", + "src": "6305:38:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 778, + "id": 771, "nodeType": "ExpressionStatement", - "src": "5630:38:5" + "src": "6305:38:5" }, { "expression": { "argumentTypes": null, - "id": 788, + "id": 781, "isConstant": false, "isLValue": false, "isPure": false, @@ -12061,26 +11937,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 779, + "id": 772, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "5674:9:5", + "src": "6353:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 781, + "id": 774, "indexExpression": { "argumentTypes": null, - "id": 780, + "id": 773, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "5684:7:5", + "referencedDeclaration": 752, + "src": "6363:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12091,7 +11967,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5674:18:5", + "src": "6353:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12104,12 +11980,12 @@ "arguments": [ { "argumentTypes": null, - "id": 786, + "id": 779, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "5718:5:5", + "referencedDeclaration": 754, + "src": "6397:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12127,26 +12003,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 782, + "id": 775, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "5695:9:5", + "src": "6374:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 784, + "id": 777, "indexExpression": { "argumentTypes": null, - "id": 783, + "id": 776, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "5705:7:5", + "referencedDeclaration": 752, + "src": "6384:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12157,13 +12033,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5695:18:5", + "src": "6374:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 785, + "id": 778, "isConstant": false, "isLValue": false, "isPure": false, @@ -12171,13 +12047,13 @@ "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 424, - "src": "5695:22:5", + "src": "6374:22:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 787, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, @@ -12185,21 +12061,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5695:29:5", + "src": "6374:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5674:50:5", + "src": "6353:50:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 789, + "id": 782, "nodeType": "ExpressionStatement", - "src": "5674:50:5" + "src": "6353:50:5" }, { "eventCall": { @@ -12211,14 +12087,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 792, + "id": 785, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5752:1:5", + "src": "6435:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12234,20 +12110,20 @@ "typeString": "int_const 0" } ], - "id": 791, + "id": 784, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5744:7:5", + "src": "6427:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 793, + "id": 786, "isConstant": false, "isLValue": false, "isPure": true, @@ -12255,20 +12131,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5744:10:5", + "src": "6427:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, { "argumentTypes": null, - "id": 794, + "id": 787, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "5756:7:5", + "referencedDeclaration": 752, + "src": "6439:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12276,12 +12152,12 @@ }, { "argumentTypes": null, - "id": 795, + "id": 788, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "5765:5:5", + "referencedDeclaration": 754, + "src": "6448:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12291,8 +12167,8 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, { "typeIdentifier": "t_address", @@ -12303,18 +12179,18 @@ "typeString": "uint256" } ], - "id": 790, + "id": 783, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "5735:8:5", + "referencedDeclaration": 1097, + "src": "6418:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 796, + "id": 789, "isConstant": false, "isLValue": false, "isPure": false, @@ -12322,37 +12198,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5735:36:5", + "src": "6418:36:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 797, + "id": 790, "nodeType": "EmitStatement", - "src": "5730:41:5" + "src": "6413:41:5" } ] }, "documentation": "@dev Internal function that mints an amount of the token and assigns it to\nan account. This encapsulates the modification of balances such that the\nproper events are emitted.\n@param account The account that will receive the created tokens.\n@param value The amount that will be created.", - "id": 799, + "id": 792, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 764, + "id": 755, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 761, + "id": 752, "name": "account", "nodeType": "VariableDeclaration", - "scope": 799, - "src": "5556:15:5", + "scope": 792, + "src": "6213:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12360,10 +12235,11 @@ "typeString": "address" }, "typeName": { - "id": 760, + "id": 751, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5556:7:5", + "src": "6213:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12374,11 +12250,11 @@ }, { "constant": false, - "id": 763, + "id": 754, "name": "value", "nodeType": "VariableDeclaration", - "scope": 799, - "src": "5573:13:5", + "scope": 792, + "src": "6230:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12386,10 +12262,10 @@ "typeString": "uint256" }, "typeName": { - "id": 762, + "id": 753, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5573:7:5", + "src": "6230:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12399,26 +12275,25 @@ "visibility": "internal" } ], - "src": "5555:32:5" + "src": "6212:32:5" }, - "payable": false, "returnParameters": { - "id": 765, + "id": 756, "nodeType": "ParameterList", "parameters": [], - "src": "5597:0:5" + "src": "6254:0:5" }, - "scope": 889, - "src": "5541:235:5", + "scope": 877, + "src": "6198:263:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 846, + "id": 833, "nodeType": "Block", - "src": "6044:222:5", + "src": "6743:207:5", "statements": [ { "expression": { @@ -12430,281 +12305,203 @@ "typeIdentifier": "t_address", "typeString": "address" }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 800, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 794, + "src": "6761:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6780:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6772:7:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6772:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "6761:21:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 799, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1124, + 1125 + ], + "referencedDeclaration": 1124, + "src": "6753:7:5", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6753:30:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 806, + "nodeType": "ExpressionStatement", + "src": "6753:30:5" + }, + { + "expression": { + "argumentTypes": null, + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 807, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "6794:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 810, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 796, + "src": "6826:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 808, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 466, + "src": "6809:12:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, "id": 809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 807, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "6058:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6069:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6058:12:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 806, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1136, - 1137 - ], - "referencedDeclaration": 1136, - "src": "6050:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6050:21:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 811, - "nodeType": "ExpressionStatement", - "src": "6050:21:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 813, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 803, - "src": "6085:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 814, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "6094:9:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 816, - "indexExpression": { - "argumentTypes": null, - "id": 815, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "6104:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6094:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6085:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 812, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1136, - 1137 - ], - "referencedDeclaration": 1136, - "src": "6077:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6077:36:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 819, - "nodeType": "ExpressionStatement", - "src": "6077:36:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 820, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 466, - "src": "6120:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 823, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 803, - "src": "6152:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 821, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 466, - "src": "6135:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 400, - "src": "6135:16:5", + "src": "6809:16:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 824, + "id": 811, "isConstant": false, "isLValue": false, "isPure": false, @@ -12712,26 +12509,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6135:23:5", + "src": "6809:23:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6120:38:5", + "src": "6794:38:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 826, + "id": 813, "nodeType": "ExpressionStatement", - "src": "6120:38:5" + "src": "6794:38:5" }, { "expression": { "argumentTypes": null, - "id": 836, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, @@ -12740,26 +12537,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 827, + "id": 814, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "6164:9:5", + "src": "6842:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 829, + "id": 816, "indexExpression": { "argumentTypes": null, - "id": 828, + "id": 815, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "6174:7:5", + "referencedDeclaration": 794, + "src": "6852:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12770,7 +12567,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6164:18:5", + "src": "6842:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12783,12 +12580,12 @@ "arguments": [ { "argumentTypes": null, - "id": 834, + "id": 821, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 803, - "src": "6208:5:5", + "referencedDeclaration": 796, + "src": "6886:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12806,26 +12603,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 830, + "id": 817, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 458, - "src": "6185:9:5", + "src": "6863:9:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 832, + "id": 819, "indexExpression": { "argumentTypes": null, - "id": 831, + "id": 818, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "6195:7:5", + "referencedDeclaration": 794, + "src": "6873:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12836,13 +12633,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6185:18:5", + "src": "6863:18:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 833, + "id": 820, "isConstant": false, "isLValue": false, "isPure": false, @@ -12850,13 +12647,13 @@ "memberName": "sub", "nodeType": "MemberAccess", "referencedDeclaration": 400, - "src": "6185:22:5", + "src": "6863:22:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 835, + "id": 822, "isConstant": false, "isLValue": false, "isPure": false, @@ -12864,21 +12661,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6185:29:5", + "src": "6863:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6164:50:5", + "src": "6842:50:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 837, + "id": 824, "nodeType": "ExpressionStatement", - "src": "6164:50:5" + "src": "6842:50:5" }, { "eventCall": { @@ -12886,12 +12683,12 @@ "arguments": [ { "argumentTypes": null, - "id": 839, + "id": 826, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 801, - "src": "6234:7:5", + "referencedDeclaration": 794, + "src": "6916:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12903,14 +12700,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 841, + "id": 828, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6251:1:5", + "src": "6933:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12926,20 +12723,20 @@ "typeString": "int_const 0" } ], - "id": 840, + "id": 827, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6243:7:5", + "src": "6925:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 842, + "id": 829, "isConstant": false, "isLValue": false, "isPure": true, @@ -12947,20 +12744,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6243:10:5", + "src": "6925:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, { "argumentTypes": null, - "id": 843, + "id": 830, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 803, - "src": "6255:5:5", + "referencedDeclaration": 796, + "src": "6937:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12974,26 +12771,26 @@ "typeString": "address" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 838, + "id": 825, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1109, - "src": "6225:8:5", + "referencedDeclaration": 1097, + "src": "6907:8:5", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 844, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -13001,37 +12798,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6225:36:5", + "src": "6907:36:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 845, + "id": 832, "nodeType": "EmitStatement", - "src": "6220:41:5" + "src": "6902:41:5" } ] }, "documentation": "@dev Internal function that burns an amount of the token of a given\naccount.\n@param account The account whose tokens will be burnt.\n@param value The amount that will be burnt.", - "id": 847, + "id": 834, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 804, + "id": 797, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 801, + "id": 794, "name": "account", "nodeType": "VariableDeclaration", - "scope": 847, - "src": "6003:15:5", + "scope": 834, + "src": "6702:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13039,10 +12835,11 @@ "typeString": "address" }, "typeName": { - "id": 800, + "id": 793, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6003:7:5", + "src": "6702:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13053,11 +12850,11 @@ }, { "constant": false, - "id": 803, + "id": 796, "name": "value", "nodeType": "VariableDeclaration", - "scope": 847, - "src": "6020:13:5", + "scope": 834, + "src": "6719:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13065,10 +12862,10 @@ "typeString": "uint256" }, "typeName": { - "id": 802, + "id": 795, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6020:7:5", + "src": "6719:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13078,190 +12875,30 @@ "visibility": "internal" } ], - "src": "6002:32:5" + "src": "6701:32:5" }, - "payable": false, "returnParameters": { - "id": 805, + "id": 798, "nodeType": "ParameterList", "parameters": [], - "src": "6044:0:5" + "src": "6743:0:5" }, - "scope": 889, - "src": "5988:278:5", + "scope": 877, + "src": "6687:263:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 887, + "id": 875, "nodeType": "Block", - "src": "6632:330:5", + "src": "7399:195:5", "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 855, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "6646:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 856, - "name": "_allowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "6655:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 858, - "indexExpression": { - "argumentTypes": null, - "id": 857, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 849, - "src": "6664:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6655:17:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 861, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 859, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "6673:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6673:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6655:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6646:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 854, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1136, - 1137 - ], - "referencedDeclaration": 1136, - "src": "6638:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6638:47:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 864, - "nodeType": "ExpressionStatement", - "src": "6638:47:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 880, + "id": 856, "isConstant": false, "isLValue": false, "isPure": false, @@ -13272,26 +12909,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 865, + "id": 841, "name": "_allowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "6851:8:5", + "src": "7409:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 869, + "id": 845, "indexExpression": { "argumentTypes": null, - "id": 866, + "id": 842, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 849, - "src": "6860:7:5", + "referencedDeclaration": 836, + "src": "7418:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13302,29 +12939,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6851:17:5", + "src": "7409:17:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 870, + "id": 846, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 867, + "id": 843, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "6869:3:5", + "referencedDeclaration": 1121, + "src": "7427:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 868, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, @@ -13332,10 +12969,10 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6869:10:5", + "src": "7427:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "isConstant": false, @@ -13343,7 +12980,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6851:29:5", + "src": "7409:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13356,12 +12993,12 @@ "arguments": [ { "argumentTypes": null, - "id": 878, + "id": 854, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "6924:5:5", + "referencedDeclaration": 838, + "src": "7475:5:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13381,26 +13018,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 871, + "id": 847, "name": "_allowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "6883:8:5", + "src": "7441:8:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 873, + "id": 849, "indexExpression": { "argumentTypes": null, - "id": 872, + "id": 848, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 849, - "src": "6892:7:5", + "referencedDeclaration": 836, + "src": "7450:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13411,29 +13048,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6883:17:5", + "src": "7441:17:5", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 876, + "id": 852, "indexExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 874, + "id": 850, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, - "src": "6901:3:5", + "referencedDeclaration": 1121, + "src": "7459:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 875, + "id": 851, "isConstant": false, "isLValue": false, "isPure": false, @@ -13441,7 +13078,204 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "6901:10:5", + "src": "7459:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7441:29:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 400, + "src": "7441:33:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7441:40:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7409:72:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 857, + "nodeType": "ExpressionStatement", + "src": "7409:72:5" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 859, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 836, + "src": "7497:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 860, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "7506:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 858, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "7491:5:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7491:21:5", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 862, + "nodeType": "ExpressionStatement", + "src": "7491:21:5" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 864, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 836, + "src": "7536:7:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 865, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "7545:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7545:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 867, + "name": "_allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "7557:8:5", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 869, + "indexExpression": { + "argumentTypes": null, + "id": 868, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 836, + "src": "7566:7:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13452,75 +13286,48 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6883:29:5", + "src": "7557:17:5", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 872, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 870, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "7575:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7575:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "id": 877, "isConstant": false, - "isLValue": false, + "isLValue": true, "isPure": false, "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 400, - "src": "6883:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6883:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6851:79:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 881, - "nodeType": "ExpressionStatement", - "src": "6851:79:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 883, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 849, - "src": "6942:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 884, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "6951:5:5", + "nodeType": "IndexAccess", + "src": "7557:29:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13533,23 +13340,27 @@ "typeIdentifier": "t_address", "typeString": "address" }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 882, - "name": "_burn", + "id": 863, + "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 847, - "src": "6936:5:5", + "referencedDeclaration": 1105, + "src": "7527:8:5", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" } }, - "id": 885, + "id": 873, "isConstant": false, "isLValue": false, "isPure": false, @@ -13557,37 +13368,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6936:21:5", + "src": "7527:60:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 886, - "nodeType": "ExpressionStatement", - "src": "6936:21:5" + "id": 874, + "nodeType": "EmitStatement", + "src": "7522:65:5" } ] }, - "documentation": "@dev Internal function that burns an amount of the token of a given\naccount, deducting from the sender's allowance for said account. Uses the\ninternal burn function.\n@param account The account whose tokens will be burnt.\n@param value The amount that will be burnt.", - "id": 888, + "documentation": "@dev Internal function that burns an amount of the token of a given\naccount, deducting from the sender's allowance for said account. Uses the\ninternal burn function.\nEmits an Approval event (reflecting the reduced allowance).\n@param account The account whose tokens will be burnt.\n@param value The amount that will be burnt.", + "id": 876, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_burnFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 852, + "id": 839, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 849, + "id": 836, "name": "account", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "6591:15:5", + "scope": 876, + "src": "7358:15:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13595,10 +13405,11 @@ "typeString": "address" }, "typeName": { - "id": 848, + "id": 835, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6591:7:5", + "src": "7358:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13609,11 +13420,11 @@ }, { "constant": false, - "id": 851, + "id": 838, "name": "value", "nodeType": "VariableDeclaration", - "scope": 888, - "src": "6608:13:5", + "scope": 876, + "src": "7375:13:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13621,10 +13432,10 @@ "typeString": "uint256" }, "typeName": { - "id": 850, + "id": 837, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6608:7:5", + "src": "7375:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13634,27 +13445,26 @@ "visibility": "internal" } ], - "src": "6590:32:5" + "src": "7357:32:5" }, - "payable": false, "returnParameters": { - "id": 853, + "id": 840, "nodeType": "ParameterList", "parameters": [], - "src": "6632:0:5" + "src": "7399:0:5" }, - "scope": 889, - "src": "6572:390:5", + "scope": 877, + "src": "7339:255:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 890, - "src": "369:6595:5" + "scope": 878, + "src": "649:6947:5" } ], - "src": "0:6965:5" + "src": "0:7597:5" }, "id": 5 }, @@ -13663,31 +13473,31 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol", "exportedSymbols": { "ERC20Detailed": [ - 947 + 935 ] }, - "id": 948, + "id": 936, "nodeType": "SourceUnit", "nodes": [ { - "id": 891, + "id": 879, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:6" + "src": "0:23:6" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 892, + "id": 880, "nodeType": "ImportDirective", - "scope": 948, - "sourceUnit": 1119, - "src": "26:22:6", + "scope": 936, + "sourceUnit": 1107, + "src": "25:22:6", "symbolAliases": [], "unitAlias": "" }, @@ -13697,42 +13507,42 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 893, + "id": 881, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1118, - "src": "309:6:6", + "referencedDeclaration": 1106, + "src": "308:6:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1118", + "typeIdentifier": "t_contract$_IERC20_$1106", "typeString": "contract IERC20" } }, - "id": 894, + "id": 882, "nodeType": "InheritanceSpecifier", - "src": "309:6:6" + "src": "308:6:6" } ], "contractDependencies": [ - 1118 + 1106 ], "contractKind": "contract", "documentation": "@title ERC20Detailed token\n@dev The decimals are only for visualization purposes.\nAll the operations are done using the smallest and indivisible token unit,\njust as on Ethereum all the operations are done in wei.", "fullyImplemented": false, - "id": 947, + "id": 935, "linearizedBaseContracts": [ - 947, - 1118 + 935, + 1106 ], "name": "ERC20Detailed", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 896, + "id": 884, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "320:20:6", + "scope": 935, + "src": "321:20:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -13740,10 +13550,10 @@ "typeString": "string" }, "typeName": { - "id": 895, + "id": 883, "name": "string", "nodeType": "ElementaryTypeName", - "src": "320:6:6", + "src": "321:6:6", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -13754,11 +13564,11 @@ }, { "constant": false, - "id": 898, + "id": 886, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "344:22:6", + "scope": 935, + "src": "347:22:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -13766,10 +13576,10 @@ "typeString": "string" }, "typeName": { - "id": 897, + "id": 885, "name": "string", "nodeType": "ElementaryTypeName", - "src": "344:6:6", + "src": "347:6:6", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -13780,11 +13590,11 @@ }, { "constant": false, - "id": 900, + "id": 888, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "370:23:6", + "scope": 935, + "src": "375:23:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -13792,10 +13602,10 @@ "typeString": "uint8" }, "typeName": { - "id": 899, + "id": 887, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "370:5:6", + "src": "375:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13806,26 +13616,26 @@ }, { "body": { - "id": 921, + "id": 909, "nodeType": "Block", - "src": "461:71:6", + "src": "483:85:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 911, + "id": 899, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 909, + "id": 897, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "467:5:6", + "referencedDeclaration": 884, + "src": "493:5:6", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -13835,43 +13645,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 910, + "id": 898, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "475:4:6", + "referencedDeclaration": 890, + "src": "501:4:6", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "467:12:6", + "src": "493:12:6", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 912, + "id": 900, "nodeType": "ExpressionStatement", - "src": "467:12:6" + "src": "493:12:6" }, { "expression": { "argumentTypes": null, - "id": 915, + "id": 903, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 913, + "id": 901, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "485:7:6", + "referencedDeclaration": 886, + "src": "515:7:6", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -13881,43 +13691,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 914, + "id": 902, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 904, - "src": "495:6:6", + "referencedDeclaration": 892, + "src": "525:6:6", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "485:16:6", + "src": "515:16:6", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 916, + "id": 904, "nodeType": "ExpressionStatement", - "src": "485:16:6" + "src": "515:16:6" }, { "expression": { "argumentTypes": null, - "id": 919, + "id": 907, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 917, + "id": 905, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "507:9:6", + "referencedDeclaration": 888, + "src": "541:9:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13927,59 +13737,58 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 918, + "id": 906, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 906, - "src": "519:8:6", + "referencedDeclaration": 894, + "src": "553:8:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "507:20:6", + "src": "541:20:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 920, + "id": 908, "nodeType": "ExpressionStatement", - "src": "507:20:6" + "src": "541:20:6" } ] }, "documentation": null, - "id": 922, + "id": 910, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 907, + "id": 895, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 902, + "id": 890, "name": "name", "nodeType": "VariableDeclaration", - "scope": 922, - "src": "410:11:6", + "scope": 910, + "src": "418:18:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { - "id": 901, + "id": 889, "name": "string", "nodeType": "ElementaryTypeName", - "src": "410:6:6", + "src": "418:6:6", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -13990,22 +13799,22 @@ }, { "constant": false, - "id": 904, + "id": 892, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 922, - "src": "423:13:6", + "scope": 910, + "src": "438:20:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { - "id": 903, + "id": 891, "name": "string", "nodeType": "ElementaryTypeName", - "src": "423:6:6", + "src": "438:6:6", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -14016,11 +13825,11 @@ }, { "constant": false, - "id": 906, + "id": 894, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 922, - "src": "438:14:6", + "scope": 910, + "src": "460:14:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14028,10 +13837,10 @@ "typeString": "uint8" }, "typeName": { - "id": 905, + "id": 893, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "438:5:6", + "src": "460:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14041,85 +13850,82 @@ "visibility": "internal" } ], - "src": "409:44:6" + "src": "417:58:6" }, - "payable": false, "returnParameters": { - "id": 908, + "id": 896, "nodeType": "ParameterList", "parameters": [], - "src": "461:0:6" + "src": "483:0:6" }, - "scope": 947, - "src": "398:134:6", + "scope": 935, + "src": "405:163:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 929, + "id": 917, "nodeType": "Block", - "src": "628:23:6", + "src": "680:29:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 927, + "id": 915, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 896, - "src": "641:5:6", + "referencedDeclaration": 884, + "src": "697:5:6", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 926, - "id": 928, + "functionReturnParameters": 914, + "id": 916, "nodeType": "Return", - "src": "634:12:6" + "src": "690:12:6" } ] }, "documentation": "@return the name of the token.", - "id": 930, + "id": 918, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 923, + "id": 911, "nodeType": "ParameterList", "parameters": [], - "src": "597:2:6" + "src": "641:2:6" }, - "payable": false, "returnParameters": { - "id": 926, + "id": 914, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 925, + "id": 913, "name": "", "nodeType": "VariableDeclaration", - "scope": 930, - "src": "620:6:6", + "scope": 918, + "src": "665:13:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { - "id": 924, + "id": 912, "name": "string", "nodeType": "ElementaryTypeName", - "src": "620:6:6", + "src": "665:6:6", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -14129,78 +13935,76 @@ "visibility": "internal" } ], - "src": "619:8:6" + "src": "664:15:6" }, - "scope": 947, - "src": "584:67:6", + "scope": 935, + "src": "628:81:6", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 937, + "id": 925, "nodeType": "Block", - "src": "751:25:6", + "src": "825:31:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 935, + "id": 923, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 898, - "src": "764:7:6", + "referencedDeclaration": 886, + "src": "842:7:6", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 934, - "id": 936, + "functionReturnParameters": 922, + "id": 924, "nodeType": "Return", - "src": "757:14:6" + "src": "835:14:6" } ] }, "documentation": "@return the symbol of the token.", - "id": 938, + "id": 926, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 931, + "id": 919, "nodeType": "ParameterList", "parameters": [], - "src": "720:2:6" + "src": "786:2:6" }, - "payable": false, "returnParameters": { - "id": 934, + "id": 922, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 933, + "id": 921, "name": "", "nodeType": "VariableDeclaration", - "scope": 938, - "src": "743:6:6", + "scope": 926, + "src": "810:13:6", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { - "id": 932, + "id": 920, "name": "string", "nodeType": "ElementaryTypeName", - "src": "743:6:6", + "src": "810:6:6", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -14210,67 +14014,65 @@ "visibility": "internal" } ], - "src": "742:8:6" + "src": "809:15:6" }, - "scope": 947, - "src": "705:71:6", + "scope": 935, + "src": "771:85:6", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 945, + "id": 933, "nodeType": "Block", - "src": "889:27:6", + "src": "978:33:6", "statements": [ { "expression": { "argumentTypes": null, - "id": 943, + "id": 931, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "902:9:6", + "referencedDeclaration": 888, + "src": "995:9:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 942, - "id": 944, + "functionReturnParameters": 930, + "id": 932, "nodeType": "Return", - "src": "895:16:6" + "src": "988:16:6" } ] }, "documentation": "@return the number of decimals of the token.", - "id": 946, + "id": 934, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "decimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 939, + "id": 927, "nodeType": "ParameterList", "parameters": [], - "src": "859:2:6" + "src": "947:2:6" }, - "payable": false, "returnParameters": { - "id": 942, + "id": 930, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 941, + "id": 929, "name": "", "nodeType": "VariableDeclaration", - "scope": 946, - "src": "882:5:6", + "scope": 934, + "src": "971:5:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14278,10 +14080,10 @@ "typeString": "uint8" }, "typeName": { - "id": 940, + "id": 928, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "882:5:6", + "src": "971:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14291,20 +14093,20 @@ "visibility": "internal" } ], - "src": "881:7:6" + "src": "970:7:6" }, - "scope": 947, - "src": "842:74:6", + "scope": 935, + "src": "930:81:6", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 948, - "src": "283:635:6" + "scope": 936, + "src": "282:731:6" } ], - "src": "0:919:6" + "src": "0:1014:6" }, "id": 6 }, @@ -14313,42 +14115,42 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol", "exportedSymbols": { "ERC20Pausable": [ - 1049 + 1037 ] }, - "id": 1050, + "id": 1038, "nodeType": "SourceUnit", "nodes": [ { - "id": 949, + "id": 937, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:23:7" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "id": 950, + "id": 938, "nodeType": "ImportDirective", - "scope": 1050, - "sourceUnit": 890, - "src": "26:21:7", + "scope": 1038, + "sourceUnit": 878, + "src": "25:21:7", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/lifecycle/Pausable.sol", "file": "../../lifecycle/Pausable.sol", - "id": 951, + "id": 939, "nodeType": "ImportDirective", - "scope": 1050, + "scope": 1038, "sourceUnit": 318, - "src": "48:38:7", + "src": "47:38:7", "symbolAliases": [], "unitAlias": "" }, @@ -14358,64 +14160,64 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 952, + "id": 940, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 889, - "src": "196:5:7", + "referencedDeclaration": 877, + "src": "195:5:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$889", + "typeIdentifier": "t_contract$_ERC20_$877", "typeString": "contract ERC20" } }, - "id": 953, + "id": 941, "nodeType": "InheritanceSpecifier", - "src": "196:5:7" + "src": "195:5:7" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 954, + "id": 942, "name": "Pausable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 317, - "src": "203:8:7", + "src": "202:8:7", "typeDescriptions": { "typeIdentifier": "t_contract$_Pausable_$317", "typeString": "contract Pausable" } }, - "id": 955, + "id": 943, "nodeType": "InheritanceSpecifier", - "src": "203:8:7" + "src": "202:8:7" } ], "contractDependencies": [ 234, 317, - 889, - 1118 + 877, + 1106 ], "contractKind": "contract", "documentation": "@title Pausable token\n@dev ERC20 modified with pausable transfers.*", "fullyImplemented": true, - "id": 1049, + "id": 1037, "linearizedBaseContracts": [ - 1049, + 1037, 317, 234, - 889, - 1118 + 877, + 1106 ], "name": "ERC20Pausable", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 972, + "id": 960, "nodeType": "Block", - "src": "324:43:7", + "src": "298:49:7", "statements": [ { "expression": { @@ -14423,12 +14225,12 @@ "arguments": [ { "argumentTypes": null, - "id": 968, + "id": 956, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 957, - "src": "352:2:7", + "referencedDeclaration": 945, + "src": "330:2:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14436,12 +14238,12 @@ }, { "argumentTypes": null, - "id": 969, + "id": 957, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "356:5:7", + "referencedDeclaration": 947, + "src": "334:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14461,18 +14263,18 @@ ], "expression": { "argumentTypes": null, - "id": 966, + "id": 954, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "337:5:7", + "referencedDeclaration": 1150, + "src": "315:5:7", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC20Pausable_$1049", + "typeIdentifier": "t_super$_ERC20Pausable_$1037", "typeString": "contract super ERC20Pausable" } }, - "id": 967, + "id": 955, "isConstant": false, "isLValue": false, "isPure": false, @@ -14480,13 +14282,13 @@ "memberName": "transfer", "nodeType": "MemberAccess", "referencedDeclaration": 521, - "src": "337:14:7", + "src": "315:14:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 970, + "id": 958, "isConstant": false, "isLValue": false, "isPure": false, @@ -14494,58 +14296,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "337:25:7", + "src": "315:25:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 965, - "id": 971, + "functionReturnParameters": 953, + "id": 959, "nodeType": "Return", - "src": "330:32:7" + "src": "308:32:7" } ] }, "documentation": null, - "id": 973, + "id": 961, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 962, + "id": 950, "modifierName": { "argumentTypes": null, - "id": 961, + "id": 949, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 274, - "src": "289:13:7", + "src": "269:13:7", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "289:13:7" + "src": "269:13:7" } ], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 960, + "id": 948, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 957, + "id": 945, "name": "to", "nodeType": "VariableDeclaration", - "scope": 973, - "src": "240:10:7", + "scope": 961, + "src": "235:10:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14553,10 +14354,11 @@ "typeString": "address" }, "typeName": { - "id": 956, + "id": 944, "name": "address", "nodeType": "ElementaryTypeName", - "src": "240:7:7", + "src": "235:7:7", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14567,11 +14369,11 @@ }, { "constant": false, - "id": 959, + "id": 947, "name": "value", "nodeType": "VariableDeclaration", - "scope": 973, - "src": "256:13:7", + "scope": 961, + "src": "247:13:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14579,10 +14381,10 @@ "typeString": "uint256" }, "typeName": { - "id": 958, + "id": 946, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "256:7:7", + "src": "247:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14592,20 +14394,19 @@ "visibility": "internal" } ], - "src": "234:39:7" + "src": "234:27:7" }, - "payable": false, "returnParameters": { - "id": 965, + "id": 953, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 964, + "id": 952, "name": "", "nodeType": "VariableDeclaration", - "scope": 973, - "src": "316:4:7", + "scope": 961, + "src": "292:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14613,10 +14414,10 @@ "typeString": "bool" }, "typeName": { - "id": 963, + "id": 951, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "316:4:7", + "src": "292:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14626,19 +14427,19 @@ "visibility": "internal" } ], - "src": "315:6:7" + "src": "291:6:7" }, - "scope": 1049, - "src": "217:150:7", + "scope": 1037, + "src": "217:130:7", "stateMutability": "nonpayable", "superFunction": 521, "visibility": "public" }, { "body": { - "id": 993, + "id": 981, "nodeType": "Block", - "src": "500:53:7", + "src": "452:59:7", "statements": [ { "expression": { @@ -14646,12 +14447,12 @@ "arguments": [ { "argumentTypes": null, - "id": 988, + "id": 976, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "532:4:7", + "referencedDeclaration": 963, + "src": "488:4:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14659,12 +14460,12 @@ }, { "argumentTypes": null, - "id": 989, + "id": 977, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 977, - "src": "538:2:7", + "referencedDeclaration": 965, + "src": "494:2:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14672,12 +14473,12 @@ }, { "argumentTypes": null, - "id": 990, + "id": 978, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 979, - "src": "542:5:7", + "referencedDeclaration": 967, + "src": "498:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14701,32 +14502,32 @@ ], "expression": { "argumentTypes": null, - "id": 986, + "id": 974, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "513:5:7", + "referencedDeclaration": 1150, + "src": "469:5:7", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC20Pausable_$1049", + "typeIdentifier": "t_super$_ERC20Pausable_$1037", "typeString": "contract super ERC20Pausable" } }, - "id": 987, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 605, - "src": "513:18:7", + "referencedDeclaration": 606, + "src": "469:18:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) returns (bool)" } }, - "id": 991, + "id": 979, "isConstant": false, "isLValue": false, "isPure": false, @@ -14734,58 +14535,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "513:35:7", + "src": "469:35:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 985, - "id": 992, + "functionReturnParameters": 973, + "id": 980, "nodeType": "Return", - "src": "506:42:7" + "src": "462:42:7" } ] }, "documentation": null, - "id": 994, + "id": 982, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 982, + "id": 970, "modifierName": { "argumentTypes": null, - "id": 981, + "id": 969, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 274, - "src": "465:13:7", + "src": "423:13:7", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "465:13:7" + "src": "423:13:7" } ], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 980, + "id": 968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 975, + "id": 963, "name": "from", "nodeType": "VariableDeclaration", - "scope": 994, - "src": "398:12:7", + "scope": 982, + "src": "375:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14793,10 +14593,11 @@ "typeString": "address" }, "typeName": { - "id": 974, + "id": 962, "name": "address", "nodeType": "ElementaryTypeName", - "src": "398:7:7", + "src": "375:7:7", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14807,11 +14608,11 @@ }, { "constant": false, - "id": 977, + "id": 965, "name": "to", "nodeType": "VariableDeclaration", - "scope": 994, - "src": "416:10:7", + "scope": 982, + "src": "389:10:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14819,10 +14620,11 @@ "typeString": "address" }, "typeName": { - "id": 976, + "id": 964, "name": "address", "nodeType": "ElementaryTypeName", - "src": "416:7:7", + "src": "389:7:7", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14833,11 +14635,11 @@ }, { "constant": false, - "id": 979, + "id": 967, "name": "value", "nodeType": "VariableDeclaration", - "scope": 994, - "src": "432:13:7", + "scope": 982, + "src": "401:13:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14845,10 +14647,10 @@ "typeString": "uint256" }, "typeName": { - "id": 978, + "id": 966, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "432:7:7", + "src": "401:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14858,20 +14660,19 @@ "visibility": "internal" } ], - "src": "392:57:7" + "src": "374:41:7" }, - "payable": false, "returnParameters": { - "id": 985, + "id": 973, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 984, + "id": 972, "name": "", "nodeType": "VariableDeclaration", - "scope": 994, - "src": "492:4:7", + "scope": 982, + "src": "446:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14879,10 +14680,10 @@ "typeString": "bool" }, "typeName": { - "id": 983, + "id": 971, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "492:4:7", + "src": "446:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14892,19 +14693,19 @@ "visibility": "internal" } ], - "src": "491:6:7" + "src": "445:6:7" }, - "scope": 1049, - "src": "371:182:7", + "scope": 1037, + "src": "353:158:7", "stateMutability": "nonpayable", - "superFunction": 605, + "superFunction": 606, "visibility": "public" }, { "body": { - "id": 1011, + "id": 999, "nodeType": "Block", - "src": "668:47:7", + "src": "602:53:7", "statements": [ { "expression": { @@ -14912,12 +14713,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1007, + "id": 995, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 996, - "src": "695:7:7", + "referencedDeclaration": 984, + "src": "633:7:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14925,12 +14726,12 @@ }, { "argumentTypes": null, - "id": 1008, + "id": 996, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "704:5:7", + "referencedDeclaration": 986, + "src": "642:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14950,18 +14751,18 @@ ], "expression": { "argumentTypes": null, - "id": 1005, + "id": 993, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "681:5:7", + "referencedDeclaration": 1150, + "src": "619:5:7", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC20Pausable_$1049", + "typeIdentifier": "t_super$_ERC20Pausable_$1037", "typeString": "contract super ERC20Pausable" } }, - "id": 1006, + "id": 994, "isConstant": false, "isLValue": false, "isPure": false, @@ -14969,13 +14770,13 @@ "memberName": "approve", "nodeType": "MemberAccess", "referencedDeclaration": 557, - "src": "681:13:7", + "src": "619:13:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 1009, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -14983,58 +14784,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "681:29:7", + "src": "619:29:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1004, - "id": 1010, + "functionReturnParameters": 992, + "id": 998, "nodeType": "Return", - "src": "674:36:7" + "src": "612:36:7" } ] }, "documentation": null, - "id": 1012, + "id": 1000, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1001, + "id": 989, "modifierName": { "argumentTypes": null, - "id": 1000, + "id": 988, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 274, - "src": "633:13:7", + "src": "573:13:7", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "633:13:7" + "src": "573:13:7" } ], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 999, + "id": 987, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 996, + "id": 984, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "579:15:7", + "scope": 1000, + "src": "534:15:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15042,10 +14842,11 @@ "typeString": "address" }, "typeName": { - "id": 995, + "id": 983, "name": "address", "nodeType": "ElementaryTypeName", - "src": "579:7:7", + "src": "534:7:7", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15056,11 +14857,11 @@ }, { "constant": false, - "id": 998, + "id": 986, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "600:13:7", + "scope": 1000, + "src": "551:13:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15068,10 +14869,10 @@ "typeString": "uint256" }, "typeName": { - "id": 997, + "id": 985, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "600:7:7", + "src": "551:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15081,20 +14882,19 @@ "visibility": "internal" } ], - "src": "573:44:7" + "src": "533:32:7" }, - "payable": false, "returnParameters": { - "id": 1004, + "id": 992, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1003, + "id": 991, "name": "", "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "660:4:7", + "scope": 1000, + "src": "596:4:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15102,10 +14902,10 @@ "typeString": "bool" }, "typeName": { - "id": 1002, + "id": 990, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "660:4:7", + "src": "596:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15115,19 +14915,19 @@ "visibility": "internal" } ], - "src": "659:6:7" + "src": "595:6:7" }, - "scope": 1049, - "src": "557:158:7", + "scope": 1037, + "src": "517:138:7", "stateMutability": "nonpayable", "superFunction": 557, "visibility": "public" }, { "body": { - "id": 1029, + "id": 1017, "nodeType": "Block", - "src": "850:62:7", + "src": "766:68:7", "statements": [ { "expression": { @@ -15135,12 +14935,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1025, + "id": 1013, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1014, - "src": "887:7:7", + "referencedDeclaration": 1002, + "src": "807:7:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15148,12 +14948,12 @@ }, { "argumentTypes": null, - "id": 1026, + "id": 1014, "name": "addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1016, - "src": "896:10:7", + "referencedDeclaration": 1004, + "src": "816:10:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15173,18 +14973,18 @@ ], "expression": { "argumentTypes": null, - "id": 1023, + "id": 1011, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "863:5:7", + "referencedDeclaration": 1150, + "src": "783:5:7", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC20Pausable_$1049", + "typeIdentifier": "t_super$_ERC20Pausable_$1037", "typeString": "contract super ERC20Pausable" } }, - "id": 1024, + "id": 1012, "isConstant": false, "isLValue": false, "isPure": false, @@ -15192,13 +14992,13 @@ "memberName": "increaseAllowance", "nodeType": "MemberAccess", "referencedDeclaration": 655, - "src": "863:23:7", + "src": "783:23:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 1027, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, @@ -15206,58 +15006,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "863:44:7", + "src": "783:44:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1022, - "id": 1028, + "functionReturnParameters": 1010, + "id": 1016, "nodeType": "Return", - "src": "856:51:7" + "src": "776:51:7" } ] }, "documentation": null, - "id": 1030, + "id": 1018, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1019, + "id": 1007, "modifierName": { "argumentTypes": null, - "id": 1018, + "id": 1006, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 274, - "src": "807:13:7", + "src": "729:13:7", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "807:13:7" + "src": "729:13:7" } ], "name": "increaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1017, + "id": 1005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1014, + "id": 1002, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "751:15:7", + "scope": 1018, + "src": "688:15:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15265,10 +15064,11 @@ "typeString": "address" }, "typeName": { - "id": 1013, + "id": 1001, "name": "address", "nodeType": "ElementaryTypeName", - "src": "751:7:7", + "src": "688:7:7", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15279,11 +15079,11 @@ }, { "constant": false, - "id": 1016, + "id": 1004, "name": "addedValue", "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "772:15:7", + "scope": 1018, + "src": "705:15:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15291,10 +15091,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1015, + "id": 1003, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "772:4:7", + "src": "705:4:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15304,20 +15104,19 @@ "visibility": "internal" } ], - "src": "745:46:7" + "src": "687:34:7" }, - "payable": false, "returnParameters": { - "id": 1022, + "id": 1010, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1021, + "id": 1009, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1030, - "src": "834:12:7", + "scope": 1018, + "src": "752:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15325,10 +15124,10 @@ "typeString": "bool" }, "typeName": { - "id": 1020, + "id": 1008, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "834:4:7", + "src": "752:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15338,19 +15137,19 @@ "visibility": "internal" } ], - "src": "833:14:7" + "src": "751:14:7" }, - "scope": 1049, - "src": "719:193:7", + "scope": 1037, + "src": "661:173:7", "stateMutability": "nonpayable", "superFunction": 655, "visibility": "public" }, { "body": { - "id": 1047, + "id": 1035, "nodeType": "Block", - "src": "1052:67:7", + "src": "950:73:7", "statements": [ { "expression": { @@ -15358,12 +15157,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1043, + "id": 1031, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "1089:7:7", + "referencedDeclaration": 1020, + "src": "991:7:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15371,12 +15170,12 @@ }, { "argumentTypes": null, - "id": 1044, + "id": 1032, "name": "subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "1098:15:7", + "referencedDeclaration": 1022, + "src": "1000:15:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15396,32 +15195,32 @@ ], "expression": { "argumentTypes": null, - "id": 1041, + "id": 1029, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "1065:5:7", + "referencedDeclaration": 1150, + "src": "967:5:7", "typeDescriptions": { - "typeIdentifier": "t_super$_ERC20Pausable_$1049", + "typeIdentifier": "t_super$_ERC20Pausable_$1037", "typeString": "contract super ERC20Pausable" } }, - "id": 1042, + "id": 1030, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "decreaseAllowance", "nodeType": "MemberAccess", - "referencedDeclaration": 705, - "src": "1065:23:7", + "referencedDeclaration": 704, + "src": "967:23:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) returns (bool)" } }, - "id": 1045, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, @@ -15429,58 +15228,57 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1065:49:7", + "src": "967:49:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1040, - "id": 1046, + "functionReturnParameters": 1028, + "id": 1034, "nodeType": "Return", - "src": "1058:56:7" + "src": "960:56:7" } ] }, "documentation": null, - "id": 1048, + "id": 1036, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 1037, + "id": 1025, "modifierName": { "argumentTypes": null, - "id": 1036, + "id": 1024, "name": "whenNotPaused", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 274, - "src": "1009:13:7", + "src": "913:13:7", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1009:13:7" + "src": "913:13:7" } ], "name": "decreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1035, + "id": 1023, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1032, + "id": 1020, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "948:15:7", + "scope": 1036, + "src": "867:15:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15488,10 +15286,11 @@ "typeString": "address" }, "typeName": { - "id": 1031, + "id": 1019, "name": "address", "nodeType": "ElementaryTypeName", - "src": "948:7:7", + "src": "867:7:7", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15502,11 +15301,11 @@ }, { "constant": false, - "id": 1034, + "id": 1022, "name": "subtractedValue", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "969:20:7", + "scope": 1036, + "src": "884:20:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15514,10 +15313,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1033, + "id": 1021, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "969:4:7", + "src": "884:4:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15527,20 +15326,19 @@ "visibility": "internal" } ], - "src": "942:51:7" + "src": "866:39:7" }, - "payable": false, "returnParameters": { - "id": 1040, + "id": 1028, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1039, + "id": 1027, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1048, - "src": "1036:12:7", + "scope": 1036, + "src": "936:12:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15548,10 +15346,10 @@ "typeString": "bool" }, "typeName": { - "id": 1038, + "id": 1026, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1036:4:7", + "src": "936:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15561,20 +15359,20 @@ "visibility": "internal" } ], - "src": "1035:14:7" + "src": "935:14:7" }, - "scope": 1049, - "src": "916:203:7", + "scope": 1037, + "src": "840:183:7", "stateMutability": "nonpayable", - "superFunction": 705, + "superFunction": 704, "visibility": "public" } ], - "scope": 1050, - "src": "170:951:7" + "scope": 1038, + "src": "169:856:7" } ], - "src": "0:1122:7" + "src": "0:1026:7" }, "id": 7 }, @@ -15583,22 +15381,22 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 1118 + 1106 ] }, - "id": 1119, + "id": 1107, "nodeType": "SourceUnit", "nodes": [ { - "id": 1051, + "id": 1039, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:23:8" }, { "baseContracts": [], @@ -15606,9 +15404,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 1118, + "id": 1106, "linearizedBaseContracts": [ - 1118 + 1106 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -15616,272 +15414,23 @@ { "body": null, "documentation": null, - "id": 1056, + "id": 1048, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1052, - "nodeType": "ParameterList", - "parameters": [], - "src": "156:2:8" - }, - "payable": false, - "returnParameters": { - "id": 1055, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1054, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1056, - "src": "182:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1053, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "181:9:8" - }, - "scope": 1118, - "src": "136:55:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1063, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1058, - "name": "who", - "nodeType": "VariableDeclaration", - "scope": 1063, - "src": "214:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1057, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "214:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "213:13:8" - }, - "payable": false, - "returnParameters": { - "id": 1062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1061, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1063, - "src": "250:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1060, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "250:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "249:9:8" - }, - "scope": 1118, - "src": "195:64:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1072, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1065, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1072, - "src": "282:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "282:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1067, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 1072, - "src": "297:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "297:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "281:32:8" - }, - "payable": false, - "returnParameters": { - "id": 1071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1070, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1072, - "src": "341:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "341:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "340:9:8" - }, - "scope": 1118, - "src": "263:87:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1081, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1077, + "id": 1044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1074, + "id": 1041, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1081, - "src": "372:10:8", + "scope": 1048, + "src": "155:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15889,10 +15438,11 @@ "typeString": "address" }, "typeName": { - "id": 1073, + "id": 1040, "name": "address", "nodeType": "ElementaryTypeName", - "src": "372:7:8", + "src": "155:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15903,11 +15453,11 @@ }, { "constant": false, - "id": 1076, + "id": 1043, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1081, - "src": "384:13:8", + "scope": 1048, + "src": "167:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15915,10 +15465,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1075, + "id": 1042, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "384:7:8", + "src": "167:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15928,20 +15478,19 @@ "visibility": "internal" } ], - "src": "371:27:8" + "src": "154:27:8" }, - "payable": false, "returnParameters": { - "id": 1080, + "id": 1047, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1079, + "id": 1046, "name": "", "nodeType": "VariableDeclaration", - "scope": 1081, - "src": "417:4:8", + "scope": 1048, + "src": "200:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15949,10 +15498,10 @@ "typeString": "bool" }, "typeName": { - "id": 1078, + "id": 1045, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "417:4:8", + "src": "200:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15962,10 +15511,10 @@ "visibility": "internal" } ], - "src": "416:6:8" + "src": "199:6:8" }, - "scope": 1118, - "src": "354:69:8", + "scope": 1106, + "src": "137:69:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -15973,24 +15522,23 @@ { "body": null, "documentation": null, - "id": 1090, + "id": 1057, "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1086, + "id": 1053, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1083, + "id": 1050, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1090, - "src": "444:15:8", + "scope": 1057, + "src": "229:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15998,10 +15546,11 @@ "typeString": "address" }, "typeName": { - "id": 1082, + "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "444:7:8", + "src": "229:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16012,11 +15561,11 @@ }, { "constant": false, - "id": 1085, + "id": 1052, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1090, - "src": "461:13:8", + "scope": 1057, + "src": "246:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16024,10 +15573,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1084, + "id": 1051, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "461:7:8", + "src": "246:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16037,20 +15586,19 @@ "visibility": "internal" } ], - "src": "443:32:8" + "src": "228:32:8" }, - "payable": false, "returnParameters": { - "id": 1089, + "id": 1056, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1088, + "id": 1055, "name": "", "nodeType": "VariableDeclaration", - "scope": 1090, - "src": "498:4:8", + "scope": 1057, + "src": "279:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16058,10 +15606,10 @@ "typeString": "bool" }, "typeName": { - "id": 1087, + "id": 1054, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "498:4:8", + "src": "279:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16071,10 +15619,10 @@ "visibility": "internal" } ], - "src": "497:6:8" + "src": "278:6:8" }, - "scope": 1118, - "src": "427:77:8", + "scope": 1106, + "src": "212:73:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -16082,24 +15630,23 @@ { "body": null, "documentation": null, - "id": 1101, + "id": 1068, "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1097, + "id": 1064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1092, + "id": 1059, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1101, - "src": "530:12:8", + "scope": 1068, + "src": "313:12:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16107,10 +15654,11 @@ "typeString": "address" }, "typeName": { - "id": 1091, + "id": 1058, "name": "address", "nodeType": "ElementaryTypeName", - "src": "530:7:8", + "src": "313:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16121,11 +15669,11 @@ }, { "constant": false, - "id": 1094, + "id": 1061, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1101, - "src": "544:10:8", + "scope": 1068, + "src": "327:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16133,10 +15681,11 @@ "typeString": "address" }, "typeName": { - "id": 1093, + "id": 1060, "name": "address", "nodeType": "ElementaryTypeName", - "src": "544:7:8", + "src": "327:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16147,11 +15696,11 @@ }, { "constant": false, - "id": 1096, + "id": 1063, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1101, - "src": "556:13:8", + "scope": 1068, + "src": "339:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16159,10 +15708,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1095, + "id": 1062, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "556:7:8", + "src": "339:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16172,162 +15721,408 @@ "visibility": "internal" } ], - "src": "529:41:8" + "src": "312:41:8" }, - "payable": false, "returnParameters": { - "id": 1100, + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1066, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1068, + "src": "372:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1065, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "372:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "371:6:8" + }, + "scope": 1106, + "src": "291:87:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1073, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1069, + "nodeType": "ParameterList", + "parameters": [], + "src": "404:2:8" + }, + "returnParameters": { + "id": 1072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1071, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "430:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "430:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "429:9:8" + }, + "scope": 1106, + "src": "384:55:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1080, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1075, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "464:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1074, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "464:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "463:13:8" + }, + "returnParameters": { + "id": 1079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1078, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1080, + "src": "500:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1077, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "500:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "499:9:8" + }, + "scope": 1106, + "src": "445:64:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1089, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1082, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "534:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "534:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1084, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "549:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1083, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "549:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "533:32:8" + }, + "returnParameters": { + "id": 1088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1087, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "589:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1086, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "589:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "588:9:8" + }, + "scope": 1106, + "src": "515:83:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "anonymous": false, + "documentation": null, + "id": 1097, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1096, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1091, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1097, + "src": "619:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1090, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "619:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1093, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1097, + "src": "641:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "641:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1095, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1097, + "src": "661:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1094, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "661:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "618:57:8" + }, + "src": "604:72:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1105, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 1104, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1099, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1101, - "src": "593:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1098, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "593:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "592:6:8" - }, - "scope": 1118, - "src": "508:91:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 1109, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 1108, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1103, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "623:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "623:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1105, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "649:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "649:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1107, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1109, - "src": "673:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "673:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "617:73:8" - }, - "src": "603:88:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 1117, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 1116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1111, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "715:21:8", + "scope": 1105, + "src": "697:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16335,10 +16130,11 @@ "typeString": "address" }, "typeName": { - "id": 1110, + "id": 1098, "name": "address", "nodeType": "ElementaryTypeName", - "src": "715:7:8", + "src": "697:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16349,12 +16145,12 @@ }, { "constant": false, - "id": 1113, + "id": 1101, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "742:23:8", + "scope": 1105, + "src": "720:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16362,10 +16158,11 @@ "typeString": "address" }, "typeName": { - "id": 1112, + "id": 1100, "name": "address", "nodeType": "ElementaryTypeName", - "src": "742:7:8", + "src": "720:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16376,12 +16173,12 @@ }, { "constant": false, - "id": 1115, + "id": 1103, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1117, - "src": "771:13:8", + "scope": 1105, + "src": "745:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16389,10 +16186,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1114, + "id": 1102, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "771:7:8", + "src": "745:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16402,16 +16199,16 @@ "visibility": "internal" } ], - "src": "709:79:8" + "src": "696:63:8" }, - "src": "695:94:8" + "src": "682:78:8" } ], - "scope": 1119, - "src": "115:676:8" + "scope": 1107, + "src": "114:648:8" } ], - "src": "0:792:8" + "src": "0:763:8" }, "id": 8 } diff --git a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1.bin b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1.bin index a78738611..0bcdf427e 100644 --- a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1.bin +++ b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604080518082018252600581527f416c676f7300000000000000000000000000000000000000000000000000000060208083019182528351808501909452600484527f414c474f00000000000000000000000000000000000000000000000000000000908401528151919291601291620000909160039190620002c1565b508151620000a6906004906020850190620002c1565b506005805460ff191660ff9290921691909117905550620000d290503364010000000062000103810204565b6007805460ff19169055620000fd336b033b2e3c9fd0803ce800000064010000000062000155810204565b62000366565b6200011e60068264010000000062000b226200021482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a03821615156200016b57600080fd5b60025462000188908264010000000062000ac46200026f82021704565b600255600160a060020a038216600090815260208190526040902054620001be908264010000000062000ac46200026f82021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a03811615156200022a57600080fd5b6200023f828264010000000062000289810204565b156200024a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200028257600080fd5b9392505050565b6000600160a060020a0382161515620002a157600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030457805160ff191683800117855562000334565b8280016001018555821562000334579182015b828111156200033457825182559160200191906001019062000317565b506200034292915062000346565b5090565b6200036391905b808211156200034257600081556001016200034d565b90565b610b9c80620003766000396000f3006080604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610100578063095ea7b31461018a57806318160ddd146101c257806323b872dd146101e95780632ff2e9dc14610213578063313ce5671461022857806339509351146102535780633f4ba83a1461027757806346fbf68e1461028e5780635c975abb146102af5780636ef8d66d146102c457806370a08231146102d957806382dc1ec4146102fa5780638456cb591461031b57806395d89b4114610330578063a457c2d714610345578063a9059cbb14610369578063dd62ed3e1461038d575b600080fd5b34801561010c57600080fd5b506101156103b4565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101ae600160a060020a036004351660243561044a565b604080519115158252519081900360200190f35b3480156101ce57600080fd5b506101d761046e565b60408051918252519081900360200190f35b3480156101f557600080fd5b506101ae600160a060020a0360043581169060243516604435610474565b34801561021f57600080fd5b506101d761049a565b34801561023457600080fd5b5061023d6104aa565b6040805160ff9092168252519081900360200190f35b34801561025f57600080fd5b506101ae600160a060020a03600435166024356104b3565b34801561028357600080fd5b5061028c6104d0565b005b34801561029a57600080fd5b506101ae600160a060020a0360043516610534565b3480156102bb57600080fd5b506101ae61054d565b3480156102d057600080fd5b5061028c610556565b3480156102e557600080fd5b506101d7600160a060020a0360043516610561565b34801561030657600080fd5b5061028c600160a060020a036004351661057c565b34801561032757600080fd5b5061028c61059c565b34801561033c57600080fd5b50610115610602565b34801561035157600080fd5b506101ae600160a060020a0360043516602435610663565b34801561037557600080fd5b506101ae600160a060020a0360043516602435610680565b34801561039957600080fd5b506101d7600160a060020a036004358116906024351661069d565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104405780601f1061041557610100808354040283529160200191610440565b820191906000526020600020905b81548152906001019060200180831161042357829003601f168201915b5050505050905090565b60075460009060ff161561045d57600080fd5b61046783836106c8565b9392505050565b60025490565b60075460009060ff161561048757600080fd5b610492848484610746565b949350505050565b6b033b2e3c9fd0803ce800000081565b60055460ff1690565b60075460009060ff16156104c657600080fd5b61046783836107e3565b6104d933610534565b15156104e457600080fd5b60075460ff1615156104f557600080fd5b6007805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061054760068363ffffffff61089316565b92915050565b60075460ff1690565b61055f336108ca565b565b600160a060020a031660009081526020819052604090205490565b61058533610534565b151561059057600080fd5b61059981610912565b50565b6105a533610534565b15156105b057600080fd5b60075460ff16156105c057600080fd5b6007805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104405780601f1061041557610100808354040283529160200191610440565b60075460009060ff161561067657600080fd5b610467838361095a565b60075460009060ff161561069357600080fd5b61046783836109a5565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156106df57600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a038316600090815260016020908152604080832033845290915281205482111561077657600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020546107aa908363ffffffff6109bb16565b600160a060020a03851660009081526001602090815260408083203384529091529020556107d98484846109d2565b5060019392505050565b6000600160a060020a03831615156107fa57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461082e908363ffffffff610ac416565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a03821615156108aa57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6108db60068263ffffffff610ad616565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61092360068263ffffffff610b2216565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a038316151561097157600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461082e908363ffffffff6109bb16565b60006109b23384846109d2565b50600192915050565b600080838311156109cb57600080fd5b5050900390565b600160a060020a0383166000908152602081905260409020548111156109f757600080fd5b600160a060020a0382161515610a0c57600080fd5b600160a060020a038316600090815260208190526040902054610a35908263ffffffff6109bb16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a6a908263ffffffff610ac416565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561046757600080fd5b600160a060020a0381161515610aeb57600080fd5b610af58282610893565b1515610b0057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610b3757600080fd5b610b418282610893565b15610b4b57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191660011790555600a165627a7a7230582061a190b3074a6fa0ab1f995699a75a855141c91dd51eb835ef565d0c7739360d0029 \ No newline at end of file +60806040523480156200001157600080fd5b50604080518082018252600581527f416c676f7300000000000000000000000000000000000000000000000000000060208083019182528351808501909452600484527f414c474f00000000000000000000000000000000000000000000000000000000908401528151919291601291620000909160039190620002c1565b508151620000a6906004906020850190620002c1565b506005805460ff191660ff9290921691909117905550620000d290503364010000000062000103810204565b6007805460ff19169055620000fd336b033b2e3c9fd0803ce800000064010000000062000155810204565b62000366565b6200011e60068264010000000062000b2c6200021482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a03821615156200016b57600080fd5b60025462000188908264010000000062000ace6200026f82021704565b600255600160a060020a038216600090815260208190526040902054620001be908264010000000062000ace6200026f82021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a03811615156200022a57600080fd5b6200023f828264010000000062000289810204565b156200024a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200028257600080fd5b9392505050565b6000600160a060020a0382161515620002a157600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030457805160ff191683800117855562000334565b8280016001018555821562000334579182015b828111156200033457825182559160200191906001019062000317565b506200034292915062000346565b5090565b6200036391905b808211156200034257600081556001016200034d565b90565b610ba680620003766000396000f3fe608060405234801561001057600080fd5b5060043610610133576000357c0100000000000000000000000000000000000000000000000000000000900480635c975abb116100bf5780638456cb591161008e5780638456cb591461032357806395d89b411461032b578063a457c2d714610333578063a9059cbb1461035f578063dd62ed3e1461038b57610133565b80635c975abb146102c75780636ef8d66d146102cf57806370a08231146102d757806382dc1ec4146102fd57610133565b80632ff2e9dc116101065780632ff2e9dc14610245578063313ce5671461024d578063395093511461026b5780633f4ba83a1461029757806346fbf68e146102a157610133565b806306fdde0314610138578063095ea7b3146101b557806318160ddd146101f557806323b872dd1461020f575b600080fd5b6101406103b9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017a578181015183820152602001610162565b50505050905090810190601f1680156101a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e1600480360360408110156101cb57600080fd5b50600160a060020a03813516906020013561044f565b604080519115158252519081900360200190f35b6101fd610473565b60408051918252519081900360200190f35b6101e16004803603606081101561022557600080fd5b50600160a060020a03813581169160208101359091169060400135610479565b6101fd61049f565b6102556104af565b6040805160ff9092168252519081900360200190f35b6101e16004803603604081101561028157600080fd5b50600160a060020a0381351690602001356104b8565b61029f6104d5565b005b6101e1600480360360208110156102b757600080fd5b5035600160a060020a0316610539565b6101e1610552565b61029f61055b565b6101fd600480360360208110156102ed57600080fd5b5035600160a060020a0316610566565b61029f6004803603602081101561031357600080fd5b5035600160a060020a0316610581565b61029f6105a1565b610140610607565b6101e16004803603604081101561034957600080fd5b50600160a060020a038135169060200135610668565b6101e16004803603604081101561037557600080fd5b50600160a060020a038135169060200135610685565b6101fd600480360360408110156103a157600080fd5b50600160a060020a03813581169160200135166106a2565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104455780601f1061041a57610100808354040283529160200191610445565b820191906000526020600020905b81548152906001019060200180831161042857829003601f168201915b5050505050905090565b60075460009060ff161561046257600080fd5b61046c83836106cd565b9392505050565b60025490565b60075460009060ff161561048c57600080fd5b61049784848461074b565b949350505050565b6b033b2e3c9fd0803ce800000081565b60055460ff1690565b60075460009060ff16156104cb57600080fd5b61046c8383610814565b6104de33610539565b15156104e957600080fd5b60075460ff1615156104fa57600080fd5b6007805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061054c60068363ffffffff6108c416565b92915050565b60075460ff1690565b610564336108fb565b565b600160a060020a031660009081526020819052604090205490565b61058a33610539565b151561059557600080fd5b61059e81610943565b50565b6105aa33610539565b15156105b557600080fd5b60075460ff16156105c557600080fd5b6007805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104455780601f1061041a57610100808354040283529160200191610445565b60075460009060ff161561067b57600080fd5b61046c838361098b565b60075460009060ff161561069857600080fd5b61046c83836109d6565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156106e457600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a038316600090815260016020908152604080832033845290915281205461077f908363ffffffff6109ec16565b600160a060020a03851660009081526001602090815260408083203384529091529020556107ae848484610a01565b600160a060020a0384166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000600160a060020a038316151561082b57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461085f908363ffffffff610ace16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a03821615156108db57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61090c60068263ffffffff610ae016565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61095460068263ffffffff610b2c16565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a03831615156109a257600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461085f908363ffffffff6109ec16565b60006109e3338484610a01565b50600192915050565b6000828211156109fb57600080fd5b50900390565b600160a060020a0382161515610a1657600080fd5b600160a060020a038316600090815260208190526040902054610a3f908263ffffffff6109ec16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a74908263ffffffff610ace16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561046c57600080fd5b600160a060020a0381161515610af557600080fd5b610aff82826108c4565b1515610b0a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610b4157600080fd5b610b4b82826108c4565b15610b5557600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916600117905556fea165627a7a72305820a8673657c914c80ad8879e073b63b3c05fd0190188d56a14948896f8205677a60029 \ No newline at end of file diff --git a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1.json b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1.json index 35d25c374..7ffc522e5 100644 --- a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1.json +++ b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/bin/AlgoTokenV1.json @@ -404,7 +404,7 @@ "type": "event" } ], - "bytecode": "60806040523480156200001157600080fd5b50604080518082018252600581527f416c676f7300000000000000000000000000000000000000000000000000000060208083019182528351808501909452600484527f414c474f00000000000000000000000000000000000000000000000000000000908401528151919291601291620000909160039190620002c1565b508151620000a6906004906020850190620002c1565b506005805460ff191660ff9290921691909117905550620000d290503364010000000062000103810204565b6007805460ff19169055620000fd336b033b2e3c9fd0803ce800000064010000000062000155810204565b62000366565b6200011e60068264010000000062000b226200021482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a03821615156200016b57600080fd5b60025462000188908264010000000062000ac46200026f82021704565b600255600160a060020a038216600090815260208190526040902054620001be908264010000000062000ac46200026f82021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a03811615156200022a57600080fd5b6200023f828264010000000062000289810204565b156200024a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200028257600080fd5b9392505050565b6000600160a060020a0382161515620002a157600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030457805160ff191683800117855562000334565b8280016001018555821562000334579182015b828111156200033457825182559160200191906001019062000317565b506200034292915062000346565b5090565b6200036391905b808211156200034257600081556001016200034d565b90565b610b9c80620003766000396000f3006080604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610100578063095ea7b31461018a57806318160ddd146101c257806323b872dd146101e95780632ff2e9dc14610213578063313ce5671461022857806339509351146102535780633f4ba83a1461027757806346fbf68e1461028e5780635c975abb146102af5780636ef8d66d146102c457806370a08231146102d957806382dc1ec4146102fa5780638456cb591461031b57806395d89b4114610330578063a457c2d714610345578063a9059cbb14610369578063dd62ed3e1461038d575b600080fd5b34801561010c57600080fd5b506101156103b4565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101ae600160a060020a036004351660243561044a565b604080519115158252519081900360200190f35b3480156101ce57600080fd5b506101d761046e565b60408051918252519081900360200190f35b3480156101f557600080fd5b506101ae600160a060020a0360043581169060243516604435610474565b34801561021f57600080fd5b506101d761049a565b34801561023457600080fd5b5061023d6104aa565b6040805160ff9092168252519081900360200190f35b34801561025f57600080fd5b506101ae600160a060020a03600435166024356104b3565b34801561028357600080fd5b5061028c6104d0565b005b34801561029a57600080fd5b506101ae600160a060020a0360043516610534565b3480156102bb57600080fd5b506101ae61054d565b3480156102d057600080fd5b5061028c610556565b3480156102e557600080fd5b506101d7600160a060020a0360043516610561565b34801561030657600080fd5b5061028c600160a060020a036004351661057c565b34801561032757600080fd5b5061028c61059c565b34801561033c57600080fd5b50610115610602565b34801561035157600080fd5b506101ae600160a060020a0360043516602435610663565b34801561037557600080fd5b506101ae600160a060020a0360043516602435610680565b34801561039957600080fd5b506101d7600160a060020a036004358116906024351661069d565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104405780601f1061041557610100808354040283529160200191610440565b820191906000526020600020905b81548152906001019060200180831161042357829003601f168201915b5050505050905090565b60075460009060ff161561045d57600080fd5b61046783836106c8565b9392505050565b60025490565b60075460009060ff161561048757600080fd5b610492848484610746565b949350505050565b6b033b2e3c9fd0803ce800000081565b60055460ff1690565b60075460009060ff16156104c657600080fd5b61046783836107e3565b6104d933610534565b15156104e457600080fd5b60075460ff1615156104f557600080fd5b6007805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061054760068363ffffffff61089316565b92915050565b60075460ff1690565b61055f336108ca565b565b600160a060020a031660009081526020819052604090205490565b61058533610534565b151561059057600080fd5b61059981610912565b50565b6105a533610534565b15156105b057600080fd5b60075460ff16156105c057600080fd5b6007805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104405780601f1061041557610100808354040283529160200191610440565b60075460009060ff161561067657600080fd5b610467838361095a565b60075460009060ff161561069357600080fd5b61046783836109a5565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156106df57600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a038316600090815260016020908152604080832033845290915281205482111561077657600080fd5b600160a060020a03841660009081526001602090815260408083203384529091529020546107aa908363ffffffff6109bb16565b600160a060020a03851660009081526001602090815260408083203384529091529020556107d98484846109d2565b5060019392505050565b6000600160a060020a03831615156107fa57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461082e908363ffffffff610ac416565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a03821615156108aa57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6108db60068263ffffffff610ad616565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61092360068263ffffffff610b2216565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a038316151561097157600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461082e908363ffffffff6109bb16565b60006109b23384846109d2565b50600192915050565b600080838311156109cb57600080fd5b5050900390565b600160a060020a0383166000908152602081905260409020548111156109f757600080fd5b600160a060020a0382161515610a0c57600080fd5b600160a060020a038316600090815260208190526040902054610a35908263ffffffff6109bb16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a6a908263ffffffff610ac416565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561046757600080fd5b600160a060020a0381161515610aeb57600080fd5b610af58282610893565b1515610b0057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610b3757600080fd5b610b418282610893565b15610b4b57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191660011790555600a165627a7a7230582061a190b3074a6fa0ab1f995699a75a855141c91dd51eb835ef565d0c7739360d0029", + "bytecode": "60806040523480156200001157600080fd5b50604080518082018252600581527f416c676f7300000000000000000000000000000000000000000000000000000060208083019182528351808501909452600484527f414c474f00000000000000000000000000000000000000000000000000000000908401528151919291601291620000909160039190620002c1565b508151620000a6906004906020850190620002c1565b506005805460ff191660ff9290921691909117905550620000d290503364010000000062000103810204565b6007805460ff19169055620000fd336b033b2e3c9fd0803ce800000064010000000062000155810204565b62000366565b6200011e60068264010000000062000b2c6200021482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a03821615156200016b57600080fd5b60025462000188908264010000000062000ace6200026f82021704565b600255600160a060020a038216600090815260208190526040902054620001be908264010000000062000ace6200026f82021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a03811615156200022a57600080fd5b6200023f828264010000000062000289810204565b156200024a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200028257600080fd5b9392505050565b6000600160a060020a0382161515620002a157600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030457805160ff191683800117855562000334565b8280016001018555821562000334579182015b828111156200033457825182559160200191906001019062000317565b506200034292915062000346565b5090565b6200036391905b808211156200034257600081556001016200034d565b90565b610ba680620003766000396000f3fe608060405234801561001057600080fd5b5060043610610133576000357c0100000000000000000000000000000000000000000000000000000000900480635c975abb116100bf5780638456cb591161008e5780638456cb591461032357806395d89b411461032b578063a457c2d714610333578063a9059cbb1461035f578063dd62ed3e1461038b57610133565b80635c975abb146102c75780636ef8d66d146102cf57806370a08231146102d757806382dc1ec4146102fd57610133565b80632ff2e9dc116101065780632ff2e9dc14610245578063313ce5671461024d578063395093511461026b5780633f4ba83a1461029757806346fbf68e146102a157610133565b806306fdde0314610138578063095ea7b3146101b557806318160ddd146101f557806323b872dd1461020f575b600080fd5b6101406103b9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017a578181015183820152602001610162565b50505050905090810190601f1680156101a75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e1600480360360408110156101cb57600080fd5b50600160a060020a03813516906020013561044f565b604080519115158252519081900360200190f35b6101fd610473565b60408051918252519081900360200190f35b6101e16004803603606081101561022557600080fd5b50600160a060020a03813581169160208101359091169060400135610479565b6101fd61049f565b6102556104af565b6040805160ff9092168252519081900360200190f35b6101e16004803603604081101561028157600080fd5b50600160a060020a0381351690602001356104b8565b61029f6104d5565b005b6101e1600480360360208110156102b757600080fd5b5035600160a060020a0316610539565b6101e1610552565b61029f61055b565b6101fd600480360360208110156102ed57600080fd5b5035600160a060020a0316610566565b61029f6004803603602081101561031357600080fd5b5035600160a060020a0316610581565b61029f6105a1565b610140610607565b6101e16004803603604081101561034957600080fd5b50600160a060020a038135169060200135610668565b6101e16004803603604081101561037557600080fd5b50600160a060020a038135169060200135610685565b6101fd600480360360408110156103a157600080fd5b50600160a060020a03813581169160200135166106a2565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104455780601f1061041a57610100808354040283529160200191610445565b820191906000526020600020905b81548152906001019060200180831161042857829003601f168201915b5050505050905090565b60075460009060ff161561046257600080fd5b61046c83836106cd565b9392505050565b60025490565b60075460009060ff161561048c57600080fd5b61049784848461074b565b949350505050565b6b033b2e3c9fd0803ce800000081565b60055460ff1690565b60075460009060ff16156104cb57600080fd5b61046c8383610814565b6104de33610539565b15156104e957600080fd5b60075460ff1615156104fa57600080fd5b6007805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061054c60068363ffffffff6108c416565b92915050565b60075460ff1690565b610564336108fb565b565b600160a060020a031660009081526020819052604090205490565b61058a33610539565b151561059557600080fd5b61059e81610943565b50565b6105aa33610539565b15156105b557600080fd5b60075460ff16156105c557600080fd5b6007805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104455780601f1061041a57610100808354040283529160200191610445565b60075460009060ff161561067b57600080fd5b61046c838361098b565b60075460009060ff161561069857600080fd5b61046c83836109d6565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156106e457600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a038316600090815260016020908152604080832033845290915281205461077f908363ffffffff6109ec16565b600160a060020a03851660009081526001602090815260408083203384529091529020556107ae848484610a01565b600160a060020a0384166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000600160a060020a038316151561082b57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461085f908363ffffffff610ace16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a03821615156108db57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61090c60068263ffffffff610ae016565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61095460068263ffffffff610b2c16565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a03831615156109a257600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461085f908363ffffffff6109ec16565b60006109e3338484610a01565b50600192915050565b6000828211156109fb57600080fd5b50900390565b600160a060020a0382161515610a1657600080fd5b600160a060020a038316600090815260208190526040902054610a3f908263ffffffff6109ec16565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a74908263ffffffff610ace16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561046c57600080fd5b600160a060020a0381161515610af557600080fd5b610aff82826108c4565b1515610b0a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610b4157600080fd5b610b4b82826108c4565b15610b5557600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916600117905556fea165627a7a72305820a8673657c914c80ad8879e073b63b3c05fd0190188d56a14948896f8205677a60029", "functionHashes": { "INITIAL_SUPPLY()": "2ff2e9dc", "addPauser(address)": "82dc1ec4", @@ -427,26 +427,26 @@ }, "gasEstimates": { "creation": { - "codeDepositCost": "594400", + "codeDepositCost": "596400", "executionCost": "infinite", "totalCost": "infinite" }, "external": { - "INITIAL_SUPPLY()": "272", + "INITIAL_SUPPLY()": "226", "addPauser(address)": "infinite", - "allowance(address,address)": "1082", - "approve(address,uint256)": "22732", - "balanceOf(address)": "851", - "decimals()": "509", + "allowance(address,address)": "879", + "approve(address,uint256)": "22820", + "balanceOf(address)": "731", + "decimals()": "463", "decreaseAllowance(address,uint256)": "infinite", "increaseAllowance(address,uint256)": "infinite", "isPauser(address)": "infinite", "name()": "infinite", "pause()": "infinite", - "paused()": "594", + "paused()": "438", "renouncePauser()": "infinite", "symbol()": "infinite", - "totalSupply()": "428", + "totalSupply()": "471", "transfer(address,uint256)": "infinite", "transferFrom(address,address,uint256)": "infinite", "unpause()": "infinite" diff --git a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/package-lock.json b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/package-lock.json index 4273dd66c..58a232dee 100644 --- a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/package-lock.json +++ b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/package-lock.json @@ -5,15 +5,23 @@ "requires": true, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -23,23 +31,18 @@ "concat-map": "0.0.1" } }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" } }, @@ -48,36 +51,61 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, + "command-exists": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "is-arrayish": "^0.2.1" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "locate-path": "^2.0.0" } }, "fs-extra": { "version": "0.30.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "requires": { "graceful-fs": "^4.1.2", @@ -97,6 +125,11 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -115,11 +148,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -139,40 +167,40 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "^1.0.0" - } - }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "jsonfile": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { "graceful-fs": "^4.1.6" } }, + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + }, "klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", @@ -189,28 +217,42 @@ "invert-kv": "^1.0.0" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + } }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -219,15 +261,17 @@ "brace-expansion": "^1.1.7" } }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "nan": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", + "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -244,85 +288,70 @@ } }, "openzeppelin-solidity": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.0.0.tgz", - "integrity": "sha512-SolpxQFArtiYnlSNg3dZ9sz0WVlKtPqSOcJkXRllaZp4+Lpfqz3vxF0yoh7g75TszKPyadqoJmU7+GM/vwh9SA==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.1.3.tgz", + "integrity": "sha512-Zz595xw6w4ZrNU3JJJTlPd8bHFbHv5OkJlkqsM2i+NBs6CzImoHI3dZ+nmhkfR+p52cGXKmayAGbnfdCum1SMg==" }, "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "lcid": "^1.0.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "error-ex": "^1.2.0" + "p-try": "^1.0.0" } }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { + "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "require-directory": { "version": "2.1.1", @@ -330,9 +359,9 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "require-main-filename": { "version": "1.0.1", @@ -340,13 +369,18 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", @@ -357,98 +391,122 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, "solc": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.24.tgz", - "integrity": "sha512-2xd7Cf1HeVwrIb6Bu1cwY2/TaLRodrppCq3l7rhLimFQgmxptXhTC3+/wesVLpB09F1A2kZgvbMOgH7wvhFnBQ==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.4.tgz", + "integrity": "sha512-Jz3yz2mct0AYzR83/jBgxDqrLXTHhYUg2G2PVJbMMt5Vu+8e3Of1Mn3nvjPw5mh46jrzt8l4fBN7vHqG5ZF0cw==", "requires": { + "command-exists": "^1.2.8", "fs-extra": "^0.30.0", + "keccak": "^1.0.2", "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" } }, - "spdx-correct": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", - "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==" - }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "is-utf8": "^0.2.0" + "os-tmpdir": "~1.0.2" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "isexe": "^2.0.0" } }, "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "wrappy": { @@ -461,34 +519,36 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, "yargs": { - "version": "4.8.1", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "requires": { - "cliui": "^3.2.0", + "cliui": "^4.0.0", "decamelize": "^1.1.1", + "find-up": "^2.1.0", "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", + "os-locale": "^2.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" + "yargs-parser": "^9.0.2" } }, "yargs-parser": { - "version": "2.4.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" + "camelcase": "^4.1.0" } } } diff --git a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/package.json b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/package.json index 2d72520d7..4233f45c1 100644 --- a/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/package.json +++ b/labs/algo-erc20-token/src/AdvancedAlgos.AlgoToken.AlgoErc20Token/SmartContracts/src/package.json @@ -9,7 +9,7 @@ "author": "", "license": "ISC", "dependencies": { - "openzeppelin-solidity": "^2.0.0", - "solc": "^0.4.24" + "openzeppelin-solidity": "^2.1.3", + "solc": "^0.5.4" } } diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol index 72a9392ea..8345392c8 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol @@ -1,4 +1,4 @@ -pragma solidity 0.4.24; +pragma solidity 0.5.4; contract AlgoCommon { diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol index 7c147587d..1fdc24fa8 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.24; +pragma solidity 0.5.4; import "openzeppelin-solidity/contracts/access/Roles.sol"; diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol index 26773a58a..893907ca8 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol @@ -1,4 +1,4 @@ -pragma solidity 0.4.24; +pragma solidity 0.5.4; import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol"; import "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol"; @@ -39,7 +39,7 @@ contract AlgoFees is ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole { uint8 minerCategory = algoMiner.getCategory(); - require(minerCategory >= 0 && minerCategory <= 5); + require(minerCategory <= 5); _minersByAddress[minerAddress] = _miners.length; _miners.push(minerAddress); @@ -51,8 +51,7 @@ contract AlgoFees is ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole { if(_miners.length == 2) { // Just remove the only registered miner... - delete _miners[1]; - _miners.length = 1; + _miners.pop(); delete _minersByAddress[minerAddress]; } else { @@ -62,8 +61,7 @@ contract AlgoFees is ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole { _miners[_minersByAddress[minerAddress]] = _miners[_miners.length - 1]; } - delete _miners[_miners.length - 1]; - _miners.length--; + _miners.pop(); delete _minersByAddress[minerAddress]; } } @@ -77,8 +75,9 @@ contract AlgoFees is ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole { // Count how many ENABLED miners we have for each category... uint256[6] memory miners; + uint256 minerCount = _miners.length; - for(uint256 i = 1; i < _miners.length; i++) { + for(uint256 i = 1; i < minerCount; i++) { IAlgoMiner algoMiner = IAlgoMiner(_miners[i]); if(!algoMiner.isMining()) continue; @@ -118,12 +117,12 @@ contract AlgoFees is ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole { feePerMiner[5] = currentFeesBalance * CAT_5_VALUE_PROPORTION / totalProportion; // Transfer the fees to ENABLED miners... - for(i = 1; i < _miners.length; i++) { - algoMiner = IAlgoMiner(_miners[i]); + for(uint256 i = 1; i < minerCount; i++) { + IAlgoMiner algoMiner = IAlgoMiner(_miners[i]); if(!algoMiner.isMining()) continue; - minerCategory = algoMiner.getCategory(); + uint8 minerCategory = algoMiner.getCategory(); _token.safeTransfer(algoMiner.getMiner(), feePerMiner[minerCategory]); } diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol index 3a70d76f9..ad0f595d7 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol @@ -1,4 +1,4 @@ -pragma solidity 0.4.24; +pragma solidity 0.5.4; import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol"; import "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol"; @@ -45,7 +45,7 @@ contract AlgoMiner is AlgoCommon, ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeam AlgoSupervisorRole() public { - require(category >= 0 && category <= 5); + require(category <= 5); require(minerAccountAddress != address(0)); if(minerType == MinerType.PoolBased) { diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol index 523febd74..7902be9ce 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol @@ -1,4 +1,4 @@ -pragma solidity 0.4.24; +pragma solidity 0.5.4; import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol"; import "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol"; @@ -35,7 +35,7 @@ contract AlgoPool is AlgoCommon, ERC20TokenHolder, AlgoCoreTeamRole { uint8 minerCategory = algoMiner.getCategory(); - require(minerCategory >= 0 && minerCategory <= 5); + require(minerCategory <= 5); uint256 value = getCapacityByCategory(minerCategory); diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol index 5e6d5d7c1..53a60e63b 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.24; +pragma solidity 0.5.4; import "openzeppelin-solidity/contracts/access/Roles.sol"; diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol index 5cf39703c..95cdc21e8 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.24; +pragma solidity 0.5.4; import "openzeppelin-solidity/contracts/access/Roles.sol"; diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol index 21d79497f..c24ee8c2e 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol @@ -1,4 +1,4 @@ -pragma solidity 0.4.24; +pragma solidity 0.5.4; import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol"; import "openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol"; diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol index 4d737f9f5..3129f26d6 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol @@ -1,4 +1,4 @@ -pragma solidity 0.4.24; +pragma solidity 0.5.4; contract IAlgoMiner { function isAlgoMiner() public pure returns (bool); diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol index 1e773f3f3..30bfa1e64 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol @@ -1,4 +1,4 @@ -pragma solidity 0.4.24; +pragma solidity 0.5.4; contract Terminable { diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees-sol-output.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees-sol-output.json index 324b8aec5..f23b82c36 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees-sol-output.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees-sol-output.json @@ -259,21 +259,21 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a7230582095e26f90cc3199aca464eb563533fc93a77d60dc52f6506d09a60413c4ab2d960029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 PUSH3 0x10D0 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE PUSH3 0x6C SWAP1 PUSH5 0x100000000 PUSH3 0xC7 DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x80 CALLER PUSH5 0x100000000 PUSH3 0xE5 DUP2 MUL DIV JUMP JUMPDEST POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT AND SWAP1 SSTORE PUSH3 0x193 JUMP JUMPDEST PUSH3 0xE2 PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH3 0xE06 PUSH3 0x100 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0xE2 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0xE06 PUSH3 0x100 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x116 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x12B DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x15B DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x136 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xF2D DUP1 PUSH3 0x1A3 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA0 JUMPI PUSH4 0xFFFFFFFF PUSH1 0xE0 PUSH1 0x2 EXP PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0xA5 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0xBC JUMPI DUP1 PUSH4 0x341CCFCB EQ PUSH2 0xDD JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0xFE JUMPI DUP1 PUSH4 0x3D19AB13 EQ PUSH2 0x133 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x81F909F3 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x1CA JUMPI DUP1 PUSH4 0xBB52C137 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x206 JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x21B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0x230 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x24E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x26E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x10A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11F PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x457 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14B PUSH1 0x4 CALLDATALOAD PUSH2 0x470 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x173 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x11F PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x49F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x4B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x4CF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0x686 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F4 PUSH2 0xBD1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x212 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0xBDC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBA PUSH2 0xBE5 JUMP JUMPDEST PUSH2 0x239 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24C PUSH2 0xBEE JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x257 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x262 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26B DUP2 PUSH2 0xCB5 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A2 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x3E8 GT PUSH2 0x2BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 SWAP2 POP DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x1777FB4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x335 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x34B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x358 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x396 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3AA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 PUSH1 0xFF DUP3 AND LT DUP1 ISZERO SWAP1 PUSH2 0x3DC JUMPI POP PUSH1 0x5 DUP2 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x3E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP5 SWAP1 SSTORE PUSH1 0x1 DUP5 ADD DUP4 SSTORE SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B SWAP1 SWAP2 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46A PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xCC6 AND JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 PUSH1 0x1 ADD DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x484 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x46A PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xCC6 AND JUMP JUMPDEST PUSH2 0x4BB CALLER PUSH2 0x457 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26B DUP2 PUSH2 0xCFD JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x500 CALLER PUSH2 0x49F JUMP JUMPDEST ISZERO ISZERO PUSH2 0x50B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 LT PUSH2 0x51A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x2 EQ ISZERO PUSH2 0x586 JUMPI PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x534 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE PUSH1 0x1 PUSH2 0x567 PUSH1 0x4 DUP3 PUSH2 0xEA0 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE PUSH2 0x26B JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD EQ PUSH2 0x620 JUMPI PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 NOT DUP2 ADD SWAP1 DUP2 LT PUSH2 0x5B9 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 DUP2 AND DUP5 MSTORE PUSH1 0x5 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x4 DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP3 SWAP2 DUP2 LT PUSH2 0x5F1 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND MUL OR SWAP1 SSTORE POP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 NOT DUP2 ADD SWAP1 DUP2 LT PUSH2 0x632 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP1 PUSH2 0x66B SWAP1 PUSH1 0x0 NOT DUP4 ADD PUSH2 0xEA0 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x690 PUSH2 0xEC4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x69E PUSH2 0xEC4 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x6C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6CF CALLER PUSH2 0x457 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x6DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 LT PUSH2 0x6E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x74F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x763 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x779 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP7 POP PUSH1 0x0 DUP8 GT PUSH2 0x78A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SWAP5 POP JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0x939 JUMPI PUSH1 0x4 DUP1 SLOAD DUP7 SWAP1 DUP2 LT PUSH2 0x7A7 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP4 POP DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x19A74AB3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x805 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x819 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x83C JUMPI PUSH2 0x92E JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x87A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x88E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x8A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP3 POP PUSH1 0xFF DUP4 AND ISZERO ISZERO PUSH2 0x8C6 JUMPI DUP6 PUSH1 0x0 JUMPDEST PUSH1 0x20 MUL ADD DUP1 MLOAD PUSH1 0x1 ADD SWAP1 MSTORE PUSH2 0x92E JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x8DA JUMPI DUP6 PUSH1 0x1 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x8EE JUMPI DUP6 PUSH1 0x2 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x902 JUMPI DUP6 PUSH1 0x3 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x916 JUMPI DUP6 PUSH1 0x4 PUSH2 0x8B6 JUMP JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x92E JUMPI PUSH1 0xA0 DUP7 ADD DUP1 MLOAD PUSH1 0x1 ADD SWAP1 MSTORE JUMPDEST PUSH1 0x1 SWAP1 SWAP5 ADD SWAP4 PUSH2 0x78F JUMP JUMPDEST PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0x80 DUP8 ADD MLOAD PUSH1 0x60 DUP9 ADD MLOAD PUSH1 0x40 DUP10 ADD MLOAD PUSH1 0x20 DUP11 ADD MLOAD DUP11 MLOAD PUSH1 0xA SWAP1 SWAP2 MUL ADD PUSH1 0x14 SWAP1 SWAP2 MUL ADD PUSH1 0x1E SWAP1 SWAP2 MUL ADD PUSH1 0x28 SWAP1 SWAP2 MUL ADD PUSH1 0x32 SWAP1 SWAP2 MUL ADD SWAP2 POP DUP2 DUP8 DUP2 ISZERO ISZERO PUSH2 0x97F JUMPI INVALID JUMPDEST DIV DUP2 MSTORE DUP2 PUSH1 0xA DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x990 JUMPI INVALID JUMPDEST DIV PUSH1 0x20 DUP3 ADD MSTORE DUP2 PUSH1 0x14 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9A4 JUMPI INVALID JUMPDEST DIV PUSH1 0x40 DUP3 ADD MSTORE DUP2 PUSH1 0x1E DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9B8 JUMPI INVALID JUMPDEST DIV PUSH1 0x60 DUP3 ADD MSTORE DUP2 PUSH1 0x28 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9CC JUMPI INVALID JUMPDEST DIV PUSH1 0x80 DUP3 ADD MSTORE DUP2 PUSH1 0x32 DUP9 MUL DUP2 ISZERO ISZERO PUSH2 0x9E0 JUMPI INVALID JUMPDEST DIV PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x1 SWAP5 POP JUMPDEST PUSH1 0x4 SLOAD DUP6 LT ISZERO PUSH2 0xBC8 JUMPI PUSH1 0x4 DUP1 SLOAD DUP7 SWAP1 DUP2 LT PUSH2 0xA03 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP4 POP DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x19A74AB3 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA75 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xA98 JUMPI PUSH2 0xBBD JUMP JUMPDEST DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xAEA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x302C11CA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP5 POP PUSH2 0xBBD SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP8 AND SWAP2 PUSH4 0x302C11CA SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB78 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD DUP3 PUSH1 0xFF DUP7 AND PUSH1 0x6 DUP2 LT PUSH2 0xB9F JUMPI INVALID JUMPDEST PUSH1 0x20 MUL ADD MLOAD PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xD0E AND JUMP JUMPDEST PUSH1 0x1 SWAP1 SWAP5 ADD SWAP4 PUSH2 0x9EB JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 NOT ADD JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x24C CALLER PUSH2 0xDAD JUMP JUMPDEST PUSH2 0x24C CALLER PUSH2 0xDBE JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xC7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xCAD JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xCAD SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xD0E AND JUMP JUMPDEST PUSH2 0x26B PUSH2 0xDCF JUMP JUMPDEST PUSH2 0x26B PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE06 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xCDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x26B PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE06 AND JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD85 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xDA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x26B PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE54 AND JUMP JUMPDEST PUSH2 0x26B PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE54 AND JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH21 0xFF0000000000000000000000000000000000000000 NOT AND PUSH21 0x10000000000000000000000000000000000000000 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xE1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE25 DUP3 DUP3 PUSH2 0xCC6 JUMP JUMPDEST ISZERO PUSH2 0xE2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xE69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE73 DUP3 DUP3 PUSH2 0xCC6 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xE7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST DUP2 SLOAD DUP2 DUP4 SSTORE DUP2 DUP2 GT ISZERO PUSH2 0xDA8 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH2 0xDA8 SWAP2 DUP2 ADD SWAP1 DUP4 ADD PUSH2 0xEE3 JUMP JUMPDEST PUSH1 0xC0 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 SWAP1 PUSH1 0x20 DUP3 MUL DUP1 CODESIZE DUP4 CODECOPY POP SWAP2 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBD9 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xEFD JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xEE9 JUMP JUMPDEST POP SWAP1 JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 SWAP6 0xe2 PUSH16 0x90CC3199ACA464EB563533FC93A77D60 0xdc MSTORE 0xf6 POP PUSH14 0x9A60413C4AB2D96002900000000 ", - "sourceMap": "556:4772:1:-;;;1118:235;8:9:-1;5:2;;;30:1;27;20:12;5:2;1118:235:1;;;;;;;;;;;;;156:8:5;:21;;167:10;-1:-1:-1;;;;;;156:21:5;;;;;-1:-1:-1;;;;;;188:19:5;;;;-1:-1:-1;636:29:3;;;;;-1:-1:-1;;;;;636:29:3;;;;;364:22:2;;:10;;;;:22;:::i;:::-;368:24:0;381:10;368:12;;;;:24;:::i;:::-;-1:-1:-1;1273:7:1;27:10:-1;;39:1;23:18;;45:23;;1294:1:1;1273:24;;;;;;;;-1:-1:-1;;;;;;1273:24:1;;;556:4772;;800:92:2;857:27;:14;876:7;857:18;;;;;;:27;:::i;:::-;800:92;:::o;824:96:0:-;883:29;:16;904:7;883:20;;;;;;:29;:::i;244:167:6:-;-1:-1:-1;;;;;316:21:6;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:6;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:6;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:6;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:6;:11;:20;;;;;;;;;;;;;;;725:166::o;556:4772:1:-;;;;;;;" + "object": "60806040523480156200001157600080fd5b5060405160208062001070833981018060405260208110156200003357600080fd5b50516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200007d90640100000000620000d8810204565b6200009133640100000000620000f6810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a0319169055620001a4565b620000f360028264010000000062000dd76200011182021704565b50565b620000f360038264010000000062000dd76200011182021704565b600160a060020a03811615156200012757600080fd5b6200013c82826401000000006200016c810204565b156200014757600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200018457600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610ebc80620001b46000396000f3fe608060405234801561001057600080fd5b50600436106100b85760003560e060020a9004806374be75921161007557806374be7592146101ac57806381f909f3146101d257806399f4b251146101f8578063bb52c13714610200578063d43acc791461021a578063e9d6185914610222576100b8565b80630c08bf88146100bd5780632e6b6849146100c7578063341ccfcb146100ed57806334cdcf26146101135780633d19ab131461014d578063608d3d3d14610186575b600080fd5b6100c561022a565b005b6100c5600480360360208110156100dd57600080fd5b5035600160a060020a0316610248565b6100c56004803603602081101561010357600080fd5b5035600160a060020a0316610268565b6101396004803603602081101561012957600080fd5b5035600160a060020a031661043c565b604080519115158252519081900360200190f35b61016a6004803603602081101561016357600080fd5b5035610455565b60408051600160a060020a039092168252519081900360200190f35b6101396004803603602081101561019c57600080fd5b5035600160a060020a0316610484565b6100c5600480360360208110156101c257600080fd5b5035600160a060020a0316610497565b6100c5600480360360208110156101e857600080fd5b5035600160a060020a03166104b4565b6100c5610656565b610208610ba4565b60408051918252519081900360200190f35b6100c5610bae565b6100c5610bb7565b61023333610484565b151561023e57600080fd5b610246610bc0565b565b61025133610484565b151561025c57600080fd5b61026581610c86565b50565b60005474010000000000000000000000000000000000000000900460ff161561029057600080fd5b61029933610484565b15156102a457600080fd5b6004546103e8116102b457600080fd5b600160a060020a038116600090815260056020526040902054156102d757600080fd5b600081905080600160a060020a0316631777fb4b6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561031857600080fd5b505afa15801561032c573d6000803e3d6000fd5b505050506040513d602081101561034257600080fd5b5051151561034f57600080fd5b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561038d57600080fd5b505afa1580156103a1573d6000803e3d6000fd5b505050506040513d60208110156103b757600080fd5b50519050600560ff821611156103cc57600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061044f60028363ffffffff610c9716565b92915050565b600060048260010181548110151561046957fe5b600091825260209091200154600160a060020a031692915050565b600061044f60038363ffffffff610c9716565b6104a03361043c565b15156104ab57600080fd5b61026581610cce565b60005474010000000000000000000000000000000000000000900460ff16156104dc57600080fd5b6104e533610484565b15156104f057600080fd5b6004546001106104ff57600080fd5b60045460021415610564576004805480151561051757fe5b600082815260208082208301600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055909201909255600160a060020a0383168252600590526040812055610265565b600454600160a060020a038216600090815260056020526040902054146105fe5760048054600019810190811061059757fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105cf57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b6004805480151561060b57fe5b600082815260208082208301600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055909201909255600160a060020a038316825260059052604081205550565b60005474010000000000000000000000000000000000000000900460ff161561067e57600080fd5b6106873361043c565b151561069257600080fd5b6004546001106106a157600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b15801561070557600080fd5b505afa158015610719573d6000803e3d6000fd5b505050506040513d602081101561072f57600080fd5b505190506000811161074057600080fd5b610748610e71565b60045460015b8181101561090157600060048281548110151561076757fe5b60009182526020918290200154604080517f19a74ab30000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216935083926319a74ab392600480840193829003018186803b1580156107cc57600080fd5b505afa1580156107e0573d6000803e3d6000fd5b505050506040513d60208110156107f657600080fd5b5051151561080457506108f9565b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d602081101561086c57600080fd5b5051905060ff8116151561088e578460005b60200201805160010190526108f6565b8060ff16600114156108a25784600161087e565b8060ff16600214156108b65784600261087e565b8060ff16600314156108ca5784600361087e565b8060ff16600414156108de5784600461087e565b8060ff16600514156108f65760a08501805160010190525b50505b60010161074e565b5060a082015160808301516060840151604085015160208601518651600a90910201601490910201601e90910201602890910201603290910201610943610e71565b818581151561094e57fe5b04815281600a860281151561095f57fe5b046020820152816014860281151561097357fe5b04604082015281601e860281151561098757fe5b046060820152816028860281151561099b57fe5b04608082015281603286028115156109af57fe5b0460a082015260015b83811015610b9c5760006004828154811015156109d157fe5b60009182526020918290200154604080517f19a74ab30000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216935083926319a74ab392600480840193829003018186803b158015610a3657600080fd5b505afa158015610a4a573d6000803e3d6000fd5b505050506040513d6020811015610a6057600080fd5b50511515610a6e5750610b94565b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610aac57600080fd5b505afa158015610ac0573d6000803e3d6000fd5b505050506040513d6020811015610ad657600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919250610b9191600160a060020a0385169163302c11ca916004808301926020929190829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d6020811015610b6257600080fd5b50518560ff841660068110610b7357fe5b6020020151600154600160a060020a0316919063ffffffff610cdf16565b50505b6001016109b8565b505050505050565b6004546000190190565b61024633610d7e565b61024633610d8f565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b505190506000811115610c7e57600054600154610c7e91600160a060020a0391821691168363ffffffff610cdf16565b610265610da0565b61026560038263ffffffff610dd716565b6000600160a060020a0382161515610cae57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026560028263ffffffff610dd716565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d4257600080fd5b505af1158015610d56573d6000803e3d6000fd5b505050506040513d6020811015610d6c57600080fd5b50511515610d7957600080fd5b505050565b61026560038263ffffffff610e2516565b61026560028263ffffffff610e2516565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610dec57600080fd5b610df68282610c97565b15610e0057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e3a57600080fd5b610e448282610c97565b1515610e4f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b60c060405190810160405280600690602082028038833950919291505056fea165627a7a72305820d93c57fe9a496ba0db433cb631bbbbe57a53bb63720b63023ea0e465cf5c1d200029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP1 PUSH3 0x1070 DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH3 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE PUSH3 0x7D SWAP1 PUSH5 0x100000000 PUSH3 0xD8 DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x91 CALLER PUSH5 0x100000000 PUSH3 0xF6 DUP2 MUL DIV JUMP JUMPDEST POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT AND SWAP1 SSTORE PUSH3 0x1A4 JUMP JUMPDEST PUSH3 0xF3 PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH3 0xDD7 PUSH3 0x111 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0xF3 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0xDD7 PUSH3 0x111 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x13C DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x16C DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x147 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x184 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0xEBC DUP1 PUSH3 0x1B4 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB8 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 PUSH1 0x2 EXP SWAP1 DIV DUP1 PUSH4 0x74BE7592 GT PUSH2 0x75 JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0x81F909F3 EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x1F8 JUMPI DUP1 PUSH4 0xBB52C137 EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x21A JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x222 JUMPI PUSH2 0xB8 JUMP JUMPDEST DUP1 PUSH4 0xC08BF88 EQ PUSH2 0xBD JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x341CCFCB EQ PUSH2 0xED JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0x113 JUMPI DUP1 PUSH4 0x3D19AB13 EQ PUSH2 0x14D JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x186 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC5 PUSH2 0x22A JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xDD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x248 JUMP JUMPDEST PUSH2 0xC5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x268 JUMP JUMPDEST PUSH2 0x139 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x129 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x43C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x16A PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x455 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x139 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x19C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x484 JUMP JUMPDEST PUSH2 0xC5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x497 JUMP JUMPDEST PUSH2 0xC5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x4B4 JUMP JUMPDEST PUSH2 0xC5 PUSH2 0x656 JUMP JUMPDEST PUSH2 0x208 PUSH2 0xBA4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH2 0xBAE JUMP JUMPDEST PUSH2 0xC5 PUSH2 0xBB7 JUMP JUMPDEST PUSH2 0x233 CALLER PUSH2 0x484 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x23E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x246 PUSH2 0xBC0 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x251 CALLER PUSH2 0x484 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x265 DUP2 PUSH2 0xC86 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x290 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x299 CALLER PUSH2 0x484 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x3E8 GT PUSH2 0x2B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x1777FB4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x32C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x342 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x34F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x38D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x5 PUSH1 0xFF DUP3 AND GT ISZERO PUSH2 0x3CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP5 SWAP1 SSTORE PUSH1 0x1 DUP5 ADD DUP4 SSTORE SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x8A35ACFBC15FF81A39AE7D344FD709F28E8600B4AA8C65C6B64BFE7FE36BD19B SWAP1 SWAP2 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44F PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xC97 AND JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 DUP3 PUSH1 0x1 ADD DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x469 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x44F PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xC97 AND JUMP JUMPDEST PUSH2 0x4A0 CALLER PUSH2 0x43C JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x265 DUP2 PUSH2 0xCCE JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E5 CALLER PUSH2 0x484 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 LT PUSH2 0x4FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x2 EQ ISZERO PUSH2 0x564 JUMPI PUSH1 0x4 DUP1 SLOAD DUP1 ISZERO ISZERO PUSH2 0x517 JUMPI INVALID JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 DUP4 ADD PUSH1 0x0 NOT SWAP1 DUP2 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE SWAP1 SWAP3 ADD SWAP1 SWAP3 SSTORE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND DUP3 MSTORE PUSH1 0x5 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE PUSH2 0x265 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD EQ PUSH2 0x5FE JUMPI PUSH1 0x4 DUP1 SLOAD PUSH1 0x0 NOT DUP2 ADD SWAP1 DUP2 LT PUSH2 0x597 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 DUP2 AND DUP5 MSTORE PUSH1 0x5 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP3 KECCAK256 SLOAD PUSH1 0x4 DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP3 SWAP2 DUP2 LT PUSH2 0x5CF JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB MUL NOT AND SWAP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND MUL OR SWAP1 SSTORE POP JUMPDEST PUSH1 0x4 DUP1 SLOAD DUP1 ISZERO ISZERO PUSH2 0x60B JUMPI INVALID JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 DUP4 ADD PUSH1 0x0 NOT SWAP1 DUP2 ADD DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE SWAP1 SWAP3 ADD SWAP1 SWAP3 SSTORE PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND DUP3 MSTORE PUSH1 0x5 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SSTORE POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x67E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x687 CALLER PUSH2 0x43C JUMP JUMPDEST ISZERO ISZERO PUSH2 0x692 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 LT PUSH2 0x6A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x705 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x719 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x72F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x740 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x748 PUSH2 0xE71 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x1 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x901 JUMPI PUSH1 0x0 PUSH1 0x4 DUP3 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x767 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x19A74AB300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND SWAP4 POP DUP4 SWAP3 PUSH4 0x19A74AB3 SWAP3 PUSH1 0x4 DUP1 DUP5 ADD SWAP4 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7E0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x7F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x804 JUMPI POP PUSH2 0x8F9 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x842 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x856 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x86C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0xFF DUP2 AND ISZERO ISZERO PUSH2 0x88E JUMPI DUP5 PUSH1 0x0 JUMPDEST PUSH1 0x20 MUL ADD DUP1 MLOAD PUSH1 0x1 ADD SWAP1 MSTORE PUSH2 0x8F6 JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x8A2 JUMPI DUP5 PUSH1 0x1 PUSH2 0x87E JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x8B6 JUMPI DUP5 PUSH1 0x2 PUSH2 0x87E JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x8CA JUMPI DUP5 PUSH1 0x3 PUSH2 0x87E JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x8DE JUMPI DUP5 PUSH1 0x4 PUSH2 0x87E JUMP JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x8F6 JUMPI PUSH1 0xA0 DUP6 ADD DUP1 MLOAD PUSH1 0x1 ADD SWAP1 MSTORE JUMPDEST POP POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x74E JUMP JUMPDEST POP PUSH1 0xA0 DUP3 ADD MLOAD PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x20 DUP7 ADD MLOAD DUP7 MLOAD PUSH1 0xA SWAP1 SWAP2 MUL ADD PUSH1 0x14 SWAP1 SWAP2 MUL ADD PUSH1 0x1E SWAP1 SWAP2 MUL ADD PUSH1 0x28 SWAP1 SWAP2 MUL ADD PUSH1 0x32 SWAP1 SWAP2 MUL ADD PUSH2 0x943 PUSH2 0xE71 JUMP JUMPDEST DUP2 DUP6 DUP2 ISZERO ISZERO PUSH2 0x94E JUMPI INVALID JUMPDEST DIV DUP2 MSTORE DUP2 PUSH1 0xA DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x95F JUMPI INVALID JUMPDEST DIV PUSH1 0x20 DUP3 ADD MSTORE DUP2 PUSH1 0x14 DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x973 JUMPI INVALID JUMPDEST DIV PUSH1 0x40 DUP3 ADD MSTORE DUP2 PUSH1 0x1E DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x987 JUMPI INVALID JUMPDEST DIV PUSH1 0x60 DUP3 ADD MSTORE DUP2 PUSH1 0x28 DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x99B JUMPI INVALID JUMPDEST DIV PUSH1 0x80 DUP3 ADD MSTORE DUP2 PUSH1 0x32 DUP7 MUL DUP2 ISZERO ISZERO PUSH2 0x9AF JUMPI INVALID JUMPDEST DIV PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0x1 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB9C JUMPI PUSH1 0x0 PUSH1 0x4 DUP3 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x9D1 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP2 DUP3 SWAP1 KECCAK256 ADD SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x19A74AB300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND SWAP4 POP DUP4 SWAP3 PUSH4 0x19A74AB3 SWAP3 PUSH1 0x4 DUP1 DUP5 ADD SWAP4 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA4A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xA6E JUMPI POP PUSH2 0xB94 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xAAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xAC0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xAD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x302C11CA00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH2 0xB91 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP6 AND SWAP2 PUSH4 0x302C11CA SWAP2 PUSH1 0x4 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xB4C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD DUP6 PUSH1 0xFF DUP5 AND PUSH1 0x6 DUP2 LT PUSH2 0xB73 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL ADD MLOAD PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xCDF AND JUMP JUMPDEST POP POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x9B8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH2 0x246 CALLER PUSH2 0xD7E JUMP JUMPDEST PUSH2 0x246 CALLER PUSH2 0xD8F JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC38 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xC4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xC7E JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xC7E SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xCDF AND JUMP JUMPDEST PUSH2 0x265 PUSH2 0xDA0 JUMP JUMPDEST PUSH2 0x265 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xDD7 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xCAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x265 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xDD7 AND JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD56 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xD79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x265 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE25 AND JUMP JUMPDEST PUSH2 0x265 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xE25 AND JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH21 0xFF0000000000000000000000000000000000000000 NOT AND PUSH21 0x10000000000000000000000000000000000000000 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xDEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDF6 DUP3 DUP3 PUSH2 0xC97 JUMP JUMPDEST ISZERO PUSH2 0xE00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xE3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE44 DUP3 DUP3 PUSH2 0xC97 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xE4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0xC0 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 SWAP1 PUSH1 0x20 DUP3 MUL DUP1 CODESIZE DUP4 CODECOPY POP SWAP2 SWAP3 SWAP2 POP POP JUMP INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xd9 EXTCODECOPY JUMPI INVALID SWAP11 0x49 PUSH12 0xA0DB433CB631BBBBE57A53BB PUSH4 0x720B6302 RETURNDATACOPY LOG0 0xe4 PUSH6 0xCF5C1D200029 ", + "sourceMap": "555:4724:1:-;;;1117:235;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:235:1;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1117:235:1;155:8:5;:21;;166:10;-1:-1:-1;;;;;;155:21:5;;;;;-1:-1:-1;;;;;;187:19:5;;;;-1:-1:-1;635:29:3;;;;;-1:-1:-1;;;;;635:29:3;;;;;362:22:2;;:10;;;;:22;:::i;:::-;366:24:0;379:10;366:12;;;;:24;:::i;:::-;-1:-1:-1;1272:7:1;27:10:-1;;39:1;23:18;;45:23;;1293:1:1;1272:24;;;;;;;;-1:-1:-1;;;;;;1272:24:1;;;555:4724;;798:92:2;855:27;:14;874:7;855:18;;;;;;:27;:::i;:::-;798:92;:::o;822:96:0:-;881:29;:16;902:7;881:20;;;;;;:29;:::i;259:181:6:-;-1:-1:-1;;;;;335:21:6;;;;327:30;;;;;;376:18;380:4;386:7;376:3;;;;:18;:::i;:::-;375:19;367:28;;;;;;-1:-1:-1;;;;;406:20:6;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;406:27:6;429:4;406:27;;;259:181::o;786:162::-;858:4;-1:-1:-1;;;;;882:21:6;;;;874:30;;;;;;-1:-1:-1;;;;;;921:20:6;:11;:20;;;;;;;;;;;;;;;786:162::o;555:4724:1:-;;;;;;;" }, "gasEstimates": { "creation": { - "codeDepositCost": "777000", + "codeDepositCost": "754400", "executionCost": "infinite", "totalCost": "infinite" }, "external": { "addCoreTeam(address)": "infinite", "addSystem(address)": "infinite", - "getMinerByIndex(uint256)": "1002", - "getMinerCount()": "655", + "getMinerByIndex(uint256)": "1058", + "getMinerCount()": "541", "isCoreTeam(address)": "infinite", "isSystem(address)": "infinite", "mine()": "infinite", @@ -299,7 +299,7 @@ "unregisterMiner(address)": "81f909f3" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"registerMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSystem\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getMinerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"unregisterMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"mine\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMinerCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol\":\"AlgoFees\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol\":{\"keccak256\":\"0x6c460b19697e0bbddcd6e319f2e8b5be033832eaf4d00e01a7ca7c95a514dd8c\",\"urls\":[\"bzzr://b99c4032a4291fdae1b1b51bee962ebfdc45ca26504858e297e8e85c20154308\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol\":{\"keccak256\":\"0x6fffe504e6805d95ca42269cc995a3de9401a12bc037068b056c186ce8569d8d\",\"urls\":[\"bzzr://a0923a2d2b1e4992f552ce49638b19d6d8328950c1d5dc1395f0d625daf21c68\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x1b1359f75f7d5a943ab06caea36824f0a6448c5ffa1a32ed7e26cee81cf3683a\",\"urls\":[\"bzzr://26177d59d0c84fa4e632538fbd44802f219e6501b0828533badcf80701cea0f5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"registerMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSystem\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getMinerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"unregisterMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"mine\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMinerCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol\":\"AlgoFees\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0x8252ea038586ac8cf89aea6810c1a75d84c2eba48d6b0ecc5f1783929de398a3\",\"urls\":[\"bzzr://3bd6a88368eeb6abb70573d16d481bc20bc22b6c0d3e60702c59c9fab4202528\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol\":{\"keccak256\":\"0xada03dabc0c81fb1b879cfda742a7fe400938abe063e428159942358791bfa57\",\"urls\":[\"bzzr://6f74f234fe2c3b555ad1d8e34e7f2205b388aa3c2b353f2f429322879d0ed21a\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol\":{\"keccak256\":\"0x79678e2992aafe0c33260767eba0b3c95474a2f0902154841f4ac62012528e67\",\"urls\":[\"bzzr://a4efbd6113fb5941933b0e94b0135d2ea7150a538ec80b9b5288a85506337f94\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x2c964fd13fcc46f0326055bd50569f2bfb32ea7963780763d77b85ed51320205\",\"urls\":[\"bzzr://3fd83f4de7769670f420f04909921357a8ace3b9e0eb08b7c9df0ee57741d347\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x861339f0f02c28b332f5d8dc165127fa1a402bbbfd7c3923acca26a6139e4f2b\",\"urls\":[\"bzzr://87e5728ff1289cbcc9669fae3a5b994b3a4e0788a2673595adcac700eea8c411\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x8704856f4ea109e3df4805b3b3dd7d9b9026e94f80c42c6d750356d46036a530\",\"urls\":[\"bzzr://18db91d498a487cbc7085490ff2bf017849f88bb4032ea7d840bab3561c45cf4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x05fcee7431cd35cd312e14e7f316a44ca3ccc5fb3b859aefc15c1a5db94add7e\",\"urls\":[\"bzzr://5ba67fb83aa7806883a335d53a27dcf1f53b75fa38dedd57893cc84633aa4d4c\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -561,15 +561,16 @@ "Roles": { "abi": [], "devdoc": { + "details": "Library for managing addresses assigned to a Role.", "methods": {}, "title": "Roles" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ba9d82b11504517181f938ed511f09c0a22046ef39e2e32460a2175b508e16a80029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xba SWAP14 DUP3 0xb1 ISZERO DIV MLOAD PUSH18 0x81F938ED511F09C0A22046EF39E2E32460A2 OR JUMPDEST POP DUP15 AND 0xa8 STOP 0x29 ", - "sourceMap": "109:784:6:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582072caac54fe9b00b8b816307b2a5ded8de356c5be6012002ca36f81b18422d8260029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH19 0xCAAC54FE9B00B8B816307B2A5DED8DE356C5BE PUSH1 0x12 STOP 0x2c LOG3 PUSH16 0x81B18422D82600290000000000000000 ", + "sourceMap": "108:842:6:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -585,7 +586,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing addresses assigned to a Role.\",\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -595,15 +596,16 @@ "SafeMath": { "abi": [], "devdoc": { + "details": "Unsigned math operations with safety checks that revert on error", "methods": {}, "title": "SafeMath" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820da2bd0dd3588878574232c2d13f92e16f4b0e8ad94ede9adb0d087f862d4f8cf0029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xda 0x2b 0xd0 0xdd CALLDATALOAD DUP9 DUP8 DUP6 PUSH21 0x232C2D13F92E16F4B0E8AD94EDE9ADB0D087F862D4 0xf8 0xcf STOP 0x29 ", - "sourceMap": "117:1531:7:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820c8fdc9a15986ffb647c7551d6f3c5b251c8209308e82491b559a3ee6cc289f670029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc8 REVERT 0xc9 LOG1 MSIZE DUP7 SELFDESTRUCT 0xb6 0x47 0xc7 SSTORE SAR PUSH16 0x3C5B251C8209308E82491B559A3EE6CC 0x28 SWAP16 PUSH8 0x29000000000000 ", + "sourceMap": "125:1726:7:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -621,7 +623,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Unsigned math operations with safety checks that revert on error\",\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -805,6 +807,7 @@ } ], "devdoc": { + "details": "see https://github.com/ethereum/EIPs/issues/20", "methods": {}, "title": "ERC20 interface" }, @@ -835,15 +838,16 @@ "SafeERC20": { "abi": [], "devdoc": { + "details": "Wrappers around ERC20 operations that throw on failure. To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "methods": {}, "title": "SafeERC20" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820c0f55d8db2bd761049fa5ba6b6c207a4d595b758946aba3715580373517606710029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc0 0xf5 0x5d DUP14 0xb2 0xbd PUSH23 0x1049FA5BA6B6C207A4D595B758946ABA37155803735176 MOD PUSH18 0x2900000000000000000000000000000000 ", - "sourceMap": "353:1296:9:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820f19c7b62e065f91bc3f26e33372ab3fae2852e0b472cd6bb775c347272d9d5120029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 CALL SWAP13 PUSH28 0x62E065F91BC3F26E33372AB3FAE2852E0B472CD6BB775C347272D9D5 SLT STOP 0x29 ", + "sourceMap": "352:1248:9:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -861,7 +865,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeERC20\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure. To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"methods\":{},\"title\":\"SafeERC20\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x05fcee7431cd35cd312e14e7f316a44ca3ccc5fb3b859aefc15c1a5db94add7e\",\"urls\":[\"bzzr://5ba67fb83aa7806883a335d53a27dcf1f53b75fa38dedd57893cc84633aa4d4c\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -884,12 +888,11 @@ "id": 1, "literals": [ "solidity", - "^", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:0" + "src": "0:22:0" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", @@ -897,8 +900,8 @@ "id": 2, "nodeType": "ImportDirective", "scope": 87, - "sourceUnit": 915, - "src": "28:189:0", + "sourceUnit": 900, + "src": "26:189:0", "symbolAliases": [], "unitAlias": "" }, @@ -922,24 +925,24 @@ "id": 3, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 914, - "src": "260:5:0", + "referencedDeclaration": 899, + "src": "258:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$914", + "typeIdentifier": "t_contract$_Roles_$899", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "254:27:0", + "src": "252:27:0", "typeName": { "contractScope": null, "id": 4, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 827, - "src": "270:10:0", + "referencedDeclaration": 812, + "src": "268:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" } } @@ -950,11 +953,11 @@ "name": "_coreTeamMembers", "nodeType": "VariableDeclaration", "scope": 86, - "src": "289:35:0", + "src": "287:35:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage", + "typeIdentifier": "t_struct$_Role_$812_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -962,10 +965,10 @@ "id": 6, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 827, - "src": "289:10:0", + "referencedDeclaration": 812, + "src": "287:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -976,7 +979,7 @@ "body": { "id": 15, "nodeType": "Block", - "src": "357:43:0", + "src": "355:43:0", "statements": [ { "expression": { @@ -990,8 +993,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "381:3:0", + "referencedDeclaration": 1256, + "src": "379:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -1005,18 +1008,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "381:10:0", + "src": "379:10:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 10, @@ -1024,7 +1027,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, - "src": "368:12:0", + "src": "366:12:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -1038,7 +1041,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "368:24:0", + "src": "366:24:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1046,15 +1049,14 @@ }, "id": 14, "nodeType": "ExpressionStatement", - "src": "368:24:0" + "src": "366:24:0" } ] }, "documentation": null, "id": 16, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", @@ -1062,17 +1064,16 @@ "id": 8, "nodeType": "ParameterList", "parameters": [], - "src": "345:2:0" + "src": "343:2:0" }, - "payable": false, "returnParameters": { "id": 9, "nodeType": "ParameterList", "parameters": [], - "src": "357:0:0" + "src": "355:0:0" }, "scope": 86, - "src": "333:67:0", + "src": "331:67:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -1081,7 +1082,7 @@ "body": { "id": 26, "nodeType": "Block", - "src": "432:62:0", + "src": "430:62:0", "statements": [ { "expression": { @@ -1098,8 +1099,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "462:3:0", + "referencedDeclaration": 1256, + "src": "460:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -1113,18 +1114,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "462:10:0", + "src": "460:10:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 19, @@ -1132,7 +1133,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 40, - "src": "451:10:0", + "src": "449:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" @@ -1146,7 +1147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "451:22:0", + "src": "449:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1164,11 +1165,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "443:7:0", + "referencedDeclaration": 1259, + "src": "441:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -1182,7 +1183,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "443:31:0", + "src": "441:31:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1190,12 +1191,12 @@ }, "id": 24, "nodeType": "ExpressionStatement", - "src": "443:31:0" + "src": "441:31:0" }, { "id": 25, "nodeType": "PlaceholderStatement", - "src": "485:1:0" + "src": "483:1:0" } ] }, @@ -1207,16 +1208,16 @@ "id": 17, "nodeType": "ParameterList", "parameters": [], - "src": "429:2:0" + "src": "427:2:0" }, - "src": "408:86:0", + "src": "406:86:0", "visibility": "internal" }, { "body": { "id": 39, "nodeType": "Block", - "src": "566:55:0", + "src": "564:55:0", "statements": [ { "expression": { @@ -1229,7 +1230,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 29, - "src": "605:7:0", + "src": "603:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1250,9 +1251,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, - "src": "584:16:0", + "src": "582:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage", + "typeIdentifier": "t_struct$_Role_$812_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1263,10 +1264,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 913, - "src": "584:20:0", + "referencedDeclaration": 898, + "src": "582:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$827_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$812_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$812_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -1278,7 +1279,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "584:29:0", + "src": "582:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1287,15 +1288,14 @@ "functionReturnParameters": 33, "id": 38, "nodeType": "Return", - "src": "577:36:0" + "src": "575:36:0" } ] }, "documentation": null, "id": 40, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isCoreTeam", "nodeType": "FunctionDefinition", @@ -1309,7 +1309,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 40, - "src": "522:15:0", + "src": "520:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1320,7 +1320,8 @@ "id": 28, "name": "address", "nodeType": "ElementaryTypeName", - "src": "522:7:0", + "src": "520:7:0", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1330,9 +1331,8 @@ "visibility": "internal" } ], - "src": "521:17:0" + "src": "519:17:0" }, - "payable": false, "returnParameters": { "id": 33, "nodeType": "ParameterList", @@ -1343,7 +1343,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 40, - "src": "560:4:0", + "src": "558:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1354,7 +1354,7 @@ "id": 31, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "560:4:0", + "src": "558:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1364,10 +1364,10 @@ "visibility": "internal" } ], - "src": "559:6:0" + "src": "557:6:0" }, "scope": 86, - "src": "502:119:0", + "src": "500:119:0", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1376,7 +1376,7 @@ "body": { "id": 51, "nodeType": "Block", - "src": "687:40:0", + "src": "685:40:0", "statements": [ { "expression": { @@ -1389,7 +1389,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 42, - "src": "711:7:0", + "src": "709:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1408,7 +1408,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, - "src": "698:12:0", + "src": "696:12:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -1422,7 +1422,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "698:21:0", + "src": "696:21:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1430,15 +1430,14 @@ }, "id": 50, "nodeType": "ExpressionStatement", - "src": "698:21:0" + "src": "696:21:0" } ] }, "documentation": null, "id": 52, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -1450,14 +1449,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "674:12:0", + "src": "672:12:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "674:12:0" + "src": "672:12:0" } ], "name": "addCoreTeam", @@ -1472,7 +1471,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 52, - "src": "650:15:0", + "src": "648:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1483,7 +1482,8 @@ "id": 41, "name": "address", "nodeType": "ElementaryTypeName", - "src": "650:7:0", + "src": "648:7:0", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1493,17 +1493,16 @@ "visibility": "internal" } ], - "src": "649:17:0" + "src": "647:17:0" }, - "payable": false, "returnParameters": { "id": 46, "nodeType": "ParameterList", "parameters": [], - "src": "687:0:0" + "src": "685:0:0" }, "scope": 86, - "src": "629:98:0", + "src": "627:98:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1512,7 +1511,7 @@ "body": { "id": 60, "nodeType": "Block", - "src": "770:46:0", + "src": "768:46:0", "statements": [ { "expression": { @@ -1526,8 +1525,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "797:3:0", + "referencedDeclaration": 1256, + "src": "795:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -1541,18 +1540,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "797:10:0", + "src": "795:10:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 55, @@ -1560,7 +1559,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, - "src": "781:15:0", + "src": "779:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -1574,7 +1573,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "781:27:0", + "src": "779:27:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1582,15 +1581,14 @@ }, "id": 59, "nodeType": "ExpressionStatement", - "src": "781:27:0" + "src": "779:27:0" } ] }, "documentation": null, "id": 61, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "renounceCoreTeam", "nodeType": "FunctionDefinition", @@ -1598,17 +1596,16 @@ "id": 53, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:0" + "src": "758:2:0" }, - "payable": false, "returnParameters": { "id": 54, "nodeType": "ParameterList", "parameters": [], - "src": "770:0:0" + "src": "768:0:0" }, "scope": 86, - "src": "735:81:0", + "src": "733:81:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1617,7 +1614,7 @@ "body": { "id": 72, "nodeType": "Block", - "src": "872:48:0", + "src": "870:48:0", "statements": [ { "expression": { @@ -1630,7 +1627,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 63, - "src": "904:7:0", + "src": "902:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1651,9 +1648,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, - "src": "883:16:0", + "src": "881:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage", + "typeIdentifier": "t_struct$_Role_$812_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1664,10 +1661,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 859, - "src": "883:20:0", + "referencedDeclaration": 844, + "src": "881:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$812_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$812_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -1679,7 +1676,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "883:29:0", + "src": "881:29:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1687,15 +1684,14 @@ }, "id": 71, "nodeType": "ExpressionStatement", - "src": "883:29:0" + "src": "881:29:0" } ] }, "documentation": null, "id": 73, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_addCoreTeam", "nodeType": "FunctionDefinition", @@ -1709,7 +1705,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 73, - "src": "846:15:0", + "src": "844:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1720,7 +1716,8 @@ "id": 62, "name": "address", "nodeType": "ElementaryTypeName", - "src": "846:7:0", + "src": "844:7:0", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1730,17 +1727,16 @@ "visibility": "internal" } ], - "src": "845:17:0" + "src": "843:17:0" }, - "payable": false, "returnParameters": { "id": 65, "nodeType": "ParameterList", "parameters": [], - "src": "872:0:0" + "src": "870:0:0" }, "scope": 86, - "src": "824:96:0", + "src": "822:96:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -1749,7 +1745,7 @@ "body": { "id": 84, "nodeType": "Block", - "src": "979:51:0", + "src": "977:51:0", "statements": [ { "expression": { @@ -1762,7 +1758,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 75, - "src": "1014:7:0", + "src": "1012:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1783,9 +1779,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 7, - "src": "990:16:0", + "src": "988:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage", + "typeIdentifier": "t_struct$_Role_$812_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1796,10 +1792,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 890, - "src": "990:23:0", + "referencedDeclaration": 875, + "src": "988:23:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$812_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$812_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -1811,7 +1807,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "990:32:0", + "src": "988:32:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -1819,15 +1815,14 @@ }, "id": 83, "nodeType": "ExpressionStatement", - "src": "990:32:0" + "src": "988:32:0" } ] }, "documentation": null, "id": 85, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_removeCoreTeam", "nodeType": "FunctionDefinition", @@ -1841,7 +1836,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 85, - "src": "953:15:0", + "src": "951:15:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1852,7 +1847,8 @@ "id": 74, "name": "address", "nodeType": "ElementaryTypeName", - "src": "953:7:0", + "src": "951:7:0", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1862,27 +1858,26 @@ "visibility": "internal" } ], - "src": "952:17:0" + "src": "950:17:0" }, - "payable": false, "returnParameters": { "id": 77, "nodeType": "ParameterList", "parameters": [], - "src": "979:0:0" + "src": "977:0:0" }, "scope": 86, - "src": "928:102:0", + "src": "926:102:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 87, - "src": "221:812:0" + "src": "219:812:0" } ], - "src": "0:1035:0" + "src": "0:1033:0" }, "id": 0 }, @@ -1891,30 +1886,30 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoFees.sol", "exportedSymbols": { "AlgoFees": [ - 606 + 591 ] }, - "id": 607, + "id": 592, "nodeType": "SourceUnit", "nodes": [ { "id": 88, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:1" + "src": "0:22:1" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "id": 89, "nodeType": "ImportDirective", - "scope": 607, - "sourceUnit": 1112, - "src": "27:195:1", + "scope": 592, + "sourceUnit": 1097, + "src": "26:195:1", "symbolAliases": [], "unitAlias": "" }, @@ -1923,9 +1918,9 @@ "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "id": 90, "nodeType": "ImportDirective", - "scope": 607, - "sourceUnit": 1256, - "src": "224:198:1", + "scope": 592, + "sourceUnit": 1242, + "src": "223:198:1", "symbolAliases": [], "unitAlias": "" }, @@ -1934,9 +1929,9 @@ "file": "./IAlgoMiner.sol", "id": 91, "nodeType": "ImportDirective", - "scope": 607, - "sourceUnit": 784, - "src": "426:26:1", + "scope": 592, + "sourceUnit": 769, + "src": "425:26:1", "symbolAliases": [], "unitAlias": "" }, @@ -1945,9 +1940,9 @@ "file": "./ERC20TokenHolder.sol", "id": 92, "nodeType": "ImportDirective", - "scope": 607, - "sourceUnit": 751, - "src": "454:32:1", + "scope": 592, + "sourceUnit": 736, + "src": "453:32:1", "symbolAliases": [], "unitAlias": "" }, @@ -1956,9 +1951,9 @@ "file": "./AlgoSystemRole.sol", "id": 93, "nodeType": "ImportDirective", - "scope": 607, - "sourceUnit": 694, - "src": "488:30:1", + "scope": 592, + "sourceUnit": 679, + "src": "487:30:1", "symbolAliases": [], "unitAlias": "" }, @@ -1967,9 +1962,9 @@ "file": "./AlgoCoreTeamRole.sol", "id": 94, "nodeType": "ImportDirective", - "scope": 607, + "scope": 592, "sourceUnit": 87, - "src": "520:32:1", + "src": "519:32:1", "symbolAliases": [], "unitAlias": "" }, @@ -1982,16 +1977,16 @@ "id": 95, "name": "ERC20TokenHolder", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 750, - "src": "577:16:1", + "referencedDeclaration": 735, + "src": "576:16:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$750", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$735", "typeString": "contract ERC20TokenHolder" } }, "id": 96, "nodeType": "InheritanceSpecifier", - "src": "577:16:1" + "src": "576:16:1" }, { "arguments": null, @@ -2000,16 +1995,16 @@ "id": 97, "name": "AlgoSystemRole", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 693, - "src": "595:14:1", + "referencedDeclaration": 678, + "src": "594:14:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_AlgoSystemRole_$693", + "typeIdentifier": "t_contract$_AlgoSystemRole_$678", "typeString": "contract AlgoSystemRole" } }, "id": 98, "nodeType": "InheritanceSpecifier", - "src": "595:14:1" + "src": "594:14:1" }, { "arguments": null, @@ -2019,7 +2014,7 @@ "name": "AlgoCoreTeamRole", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 86, - "src": "611:16:1", + "src": "610:16:1", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoCoreTeamRole_$86", "typeString": "contract AlgoCoreTeamRole" @@ -2027,25 +2022,25 @@ }, "id": 100, "nodeType": "InheritanceSpecifier", - "src": "611:16:1" + "src": "610:16:1" } ], "contractDependencies": [ - 86, - 750, - 693, - 820 + 735, + 805, + 678, + 86 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 606, + "id": 591, "linearizedBaseContracts": [ - 606, + 591, 86, - 693, - 750, - 820 + 678, + 735, + 805 ], "name": "AlgoFees", "nodeType": "ContractDefinition", @@ -2057,24 +2052,24 @@ "id": 101, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1255, - "src": "641:9:1", + "referencedDeclaration": 1241, + "src": "640:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1255", + "typeIdentifier": "t_contract$_SafeERC20_$1241", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "635:27:1", + "src": "634:27:1", "typeName": { "contractScope": null, "id": 102, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1111, - "src": "655:6:1", + "referencedDeclaration": 1096, + "src": "654:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } } @@ -2084,8 +2079,8 @@ "id": 106, "name": "CAT_0_VALUE_PROPORTION", "nodeType": "VariableDeclaration", - "scope": 606, - "src": "670:51:1", + "scope": 591, + "src": "669:51:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2096,7 +2091,7 @@ "id": 104, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "670:7:1", + "src": "669:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2112,7 +2107,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "720:1:1", + "src": "719:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2127,8 +2122,8 @@ "id": 109, "name": "CAT_1_VALUE_PROPORTION", "nodeType": "VariableDeclaration", - "scope": 606, - "src": "728:52:1", + "scope": 591, + "src": "727:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2139,7 +2134,7 @@ "id": 107, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "728:7:1", + "src": "727:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2155,7 +2150,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "778:2:1", + "src": "777:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -2170,8 +2165,8 @@ "id": 112, "name": "CAT_2_VALUE_PROPORTION", "nodeType": "VariableDeclaration", - "scope": 606, - "src": "787:52:1", + "scope": 591, + "src": "786:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2182,7 +2177,7 @@ "id": 110, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "787:7:1", + "src": "786:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2198,7 +2193,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "837:2:1", + "src": "836:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", @@ -2213,8 +2208,8 @@ "id": 115, "name": "CAT_3_VALUE_PROPORTION", "nodeType": "VariableDeclaration", - "scope": 606, - "src": "846:52:1", + "scope": 591, + "src": "845:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2225,7 +2220,7 @@ "id": 113, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "846:7:1", + "src": "845:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2241,7 +2236,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "896:2:1", + "src": "895:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_30_by_1", @@ -2256,8 +2251,8 @@ "id": 118, "name": "CAT_4_VALUE_PROPORTION", "nodeType": "VariableDeclaration", - "scope": 606, - "src": "905:52:1", + "scope": 591, + "src": "904:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2268,7 +2263,7 @@ "id": 116, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "905:7:1", + "src": "904:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2284,7 +2279,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "955:2:1", + "src": "954:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_40_by_1", @@ -2299,8 +2294,8 @@ "id": 121, "name": "CAT_5_VALUE_PROPORTION", "nodeType": "VariableDeclaration", - "scope": 606, - "src": "964:52:1", + "scope": 591, + "src": "963:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2311,7 +2306,7 @@ "id": 119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "964:7:1", + "src": "963:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2327,7 +2322,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1014:2:1", + "src": "1013:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", @@ -2342,8 +2337,8 @@ "id": 124, "name": "_miners", "nodeType": "VariableDeclaration", - "scope": 606, - "src": "1025:25:1", + "scope": 591, + "src": "1024:25:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2355,7 +2350,8 @@ "id": 122, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1025:7:1", + "src": "1024:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2364,7 +2360,7 @@ "id": 123, "length": null, "nodeType": "ArrayTypeName", - "src": "1025:9:1", + "src": "1024:9:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2378,8 +2374,8 @@ "id": 128, "name": "_minersByAddress", "nodeType": "VariableDeclaration", - "scope": 606, - "src": "1057:52:1", + "scope": 591, + "src": "1056:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2392,14 +2388,14 @@ "id": 125, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1065:7:1", + "src": "1064:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1057:27:1", + "src": "1056:27:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -2408,7 +2404,7 @@ "id": 126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1076:7:1", + "src": "1075:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2422,7 +2418,7 @@ "body": { "id": 148, "nodeType": "Block", - "src": "1262:91:1", + "src": "1261:91:1", "statements": [ { "expression": { @@ -2441,7 +2437,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1294:1:1", + "src": "1293:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2463,7 +2459,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1286:7:1", + "src": "1285:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2478,18 +2474,18 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1286:10:1", + "src": "1285:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "expression": { @@ -2499,7 +2495,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1273:7:1", + "src": "1272:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -2513,7 +2509,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1273:12:1", + "src": "1272:12:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" @@ -2527,7 +2523,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1273:24:1", + "src": "1272:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2535,15 +2531,14 @@ }, "id": 147, "nodeType": "ExpressionStatement", - "src": "1273:24:1" + "src": "1272:24:1" } ] }, "documentation": null, "id": 149, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [ { "arguments": [ @@ -2554,7 +2549,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "1178:12:1", + "src": "1177:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2568,15 +2563,15 @@ "name": "ERC20TokenHolder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 750, - "src": "1161:16:1", + "referencedDeclaration": 735, + "src": "1160:16:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$750_$", + "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$735_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "1161:30:1" + "src": "1160:30:1" }, { "arguments": [], @@ -2587,15 +2582,15 @@ "name": "AlgoSystemRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 693, - "src": "1201:14:1", + "referencedDeclaration": 678, + "src": "1200:14:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AlgoSystemRole_$693_$", + "typeIdentifier": "t_type$_t_contract$_AlgoSystemRole_$678_$", "typeString": "type(contract AlgoSystemRole)" } }, "nodeType": "ModifierInvocation", - "src": "1201:16:1" + "src": "1200:16:1" }, { "arguments": [], @@ -2607,14 +2602,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86, - "src": "1227:16:1", + "src": "1226:16:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$86_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "1227:18:1" + "src": "1226:18:1" } ], "name": "", @@ -2629,7 +2624,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 149, - "src": "1130:20:1", + "src": "1129:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2640,7 +2635,8 @@ "id": 129, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1130:7:1", + "src": "1129:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2650,26 +2646,25 @@ "visibility": "internal" } ], - "src": "1129:22:1" + "src": "1128:22:1" }, - "payable": false, "returnParameters": { "id": 139, "nodeType": "ParameterList", "parameters": [], - "src": "1262:0:1" + "src": "1261:0:1" }, - "scope": 606, - "src": "1118:235:1", + "scope": 591, + "src": "1117:235:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 214, + "id": 210, "nodeType": "Block", - "src": "1440:442:1", + "src": "1439:420:1", "statements": [ { "expression": { @@ -2695,7 +2690,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1459:7:1", + "src": "1458:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -2709,7 +2704,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1459:14:1", + "src": "1458:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2727,7 +2722,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1476:4:1", + "src": "1475:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000_by_1", @@ -2735,7 +2730,7 @@ }, "value": "1000" }, - "src": "1459:21:1", + "src": "1458:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2753,11 +2748,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1451:7:1", + "referencedDeclaration": 1259, + "src": "1450:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2771,7 +2766,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1451:30:1", + "src": "1450:30:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2779,7 +2774,7 @@ }, "id": 164, "nodeType": "ExpressionStatement", - "src": "1451:30:1" + "src": "1450:30:1" }, { "expression": { @@ -2805,7 +2800,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "1500:16:1", + "src": "1499:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -2819,7 +2814,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1517:12:1", + "src": "1516:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2830,7 +2825,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1500:30:1", + "src": "1499:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2848,7 +2843,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1534:1:1", + "src": "1533:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2856,7 +2851,7 @@ }, "value": "0" }, - "src": "1500:35:1", + "src": "1499:35:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2874,11 +2869,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1492:7:1", + "referencedDeclaration": 1259, + "src": "1491:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2892,7 +2887,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1492:44:1", + "src": "1491:44:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2900,7 +2895,7 @@ }, "id": 172, "nodeType": "ExpressionStatement", - "src": "1492:44:1" + "src": "1491:44:1" }, { "assignments": [ @@ -2912,12 +2907,12 @@ "id": 174, "name": "algoMiner", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "1549:20:1", + "scope": 210, + "src": "1548:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" }, "typeName": { @@ -2925,10 +2920,10 @@ "id": 173, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 783, - "src": "1549:10:1", + "referencedDeclaration": 768, + "src": "1548:10:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, @@ -2947,7 +2942,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1583:12:1", + "src": "1582:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2965,10 +2960,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "1572:10:1", + "referencedDeclaration": 768, + "src": "1571:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$768_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -2980,14 +2975,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1572:24:1", + "src": "1571:24:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "1549:47:1" + "src": "1548:47:1" }, { "expression": { @@ -3005,9 +3000,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 174, - "src": "1625:9:1", + "src": "1624:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, @@ -3018,8 +3013,8 @@ "lValueRequested": false, "memberName": "isAlgoMiner", "nodeType": "MemberAccess", - "referencedDeclaration": 757, - "src": "1625:21:1", + "referencedDeclaration": 742, + "src": "1624:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_bool_$", "typeString": "function () pure external returns (bool)" @@ -3033,7 +3028,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1625:23:1", + "src": "1624:23:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3051,11 +3046,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1617:7:1", + "referencedDeclaration": 1259, + "src": "1616:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3069,7 +3064,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1617:32:1", + "src": "1616:32:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3077,7 +3072,7 @@ }, "id": 184, "nodeType": "ExpressionStatement", - "src": "1617:32:1" + "src": "1616:32:1" }, { "assignments": [ @@ -3089,8 +3084,8 @@ "id": 186, "name": "minerCategory", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "1670:19:1", + "scope": 210, + "src": "1669:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3101,7 +3096,7 @@ "id": 185, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1670:5:1", + "src": "1669:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3124,9 +3119,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 174, - "src": "1692:9:1", + "src": "1691:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, @@ -3137,8 +3132,8 @@ "lValueRequested": false, "memberName": "getCategory", "nodeType": "MemberAccess", - "referencedDeclaration": 767, - "src": "1692:21:1", + "referencedDeclaration": 752, + "src": "1691:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -3152,14 +3147,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1692:23:1", + "src": "1691:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "1670:45:1" + "src": "1669:45:1" }, { "expression": { @@ -3168,117 +3163,48 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, - "id": 198, + "id": 194, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 192, + "name": "minerCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "1735:13:1", + "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 192, - "name": "minerCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "1736:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1753:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1736:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": "<=", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 197, + "hexValue": "35", + "id": 193, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 195, - "name": "minerCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "1758:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "35", - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1775:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "src": "1758:18:1", + "nodeType": "Literal", + "src": "1752:1:1", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" }, - "src": "1736:40:1", + "src": "1735:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3296,17 +3222,17 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1728:7:1", + "referencedDeclaration": 1259, + "src": "1727:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 199, + "id": 195, "isConstant": false, "isLValue": false, "isPure": false, @@ -3314,20 +3240,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1728:49:1", + "src": "1727:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 200, + "id": 196, "nodeType": "ExpressionStatement", - "src": "1728:49:1" + "src": "1727:27:1" }, { "expression": { "argumentTypes": null, - "id": 206, + "id": 202, "isConstant": false, "isLValue": false, "isPure": false, @@ -3336,26 +3262,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 201, + "id": 197, "name": "_minersByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "1790:16:1", + "src": "1767:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 203, + "id": 199, "indexExpression": { "argumentTypes": null, - "id": 202, + "id": 198, "name": "minerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1807:12:1", + "src": "1784:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3366,7 +3292,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1790:30:1", + "src": "1767:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3378,18 +3304,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 204, + "id": 200, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1823:7:1", + "src": "1800:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 205, + "id": 201, "isConstant": false, "isLValue": true, "isPure": false, @@ -3397,21 +3323,21 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1823:14:1", + "src": "1800:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1790:47:1", + "src": "1767:47:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 207, + "id": 203, "nodeType": "ExpressionStatement", - "src": "1790:47:1" + "src": "1767:47:1" }, { "expression": { @@ -3419,12 +3345,12 @@ "arguments": [ { "argumentTypes": null, - "id": 211, + "id": 207, "name": "minerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1861:12:1", + "src": "1838:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3440,18 +3366,18 @@ ], "expression": { "argumentTypes": null, - "id": 208, + "id": 204, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1848:7:1", + "src": "1825:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 210, + "id": 206, "isConstant": false, "isLValue": false, "isPure": false, @@ -3459,13 +3385,13 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1848:12:1", + "src": "1825:12:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" } }, - "id": 212, + "id": 208, "isConstant": false, "isLValue": false, "isPure": false, @@ -3473,23 +3399,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1848:26:1", + "src": "1825:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 213, + "id": 209, "nodeType": "ExpressionStatement", - "src": "1848:26:1" + "src": "1825:26:1" } ] }, "documentation": null, - "id": 215, + "id": 211, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -3500,15 +3425,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "1413:13:1", + "referencedDeclaration": 796, + "src": "1412:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1413:13:1" + "src": "1412:13:1" }, { "arguments": null, @@ -3520,14 +3445,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1427:12:1", + "src": "1426:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1427:12:1" + "src": "1426:12:1" } ], "name": "registerMiner", @@ -3541,8 +3466,8 @@ "id": 151, "name": "minerAddress", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "1384:20:1", + "scope": 211, + "src": "1383:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3553,7 +3478,8 @@ "id": 150, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1384:7:1", + "src": "1383:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3563,26 +3489,25 @@ "visibility": "internal" } ], - "src": "1383:22:1" + "src": "1382:22:1" }, - "payable": false, "returnParameters": { "id": 157, "nodeType": "ParameterList", "parameters": [], - "src": "1440:0:1" + "src": "1439:0:1" }, - "scope": 606, - "src": "1361:521:1", + "scope": 591, + "src": "1360:499:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 293, + "id": 275, "nodeType": "Block", - "src": "1971:682:1", + "src": "1948:593:1", "statements": [ { "expression": { @@ -3594,7 +3519,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 228, + "id": 224, "isConstant": false, "isLValue": false, "isPure": false, @@ -3603,18 +3528,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 225, + "id": 221, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1990:7:1", + "src": "1967:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 226, + "id": 222, "isConstant": false, "isLValue": true, "isPure": false, @@ -3622,7 +3547,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1990:14:1", + "src": "1967:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3633,14 +3558,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 227, + "id": 223, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2007:1:1", + "src": "1984:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3648,7 +3573,7 @@ }, "value": "1" }, - "src": "1990:18:1", + "src": "1967:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3662,21 +3587,21 @@ "typeString": "bool" } ], - "id": 224, + "id": 220, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1982:7:1", + "referencedDeclaration": 1259, + "src": "1959:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 229, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, @@ -3684,15 +3609,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1982:27:1", + "src": "1959:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 230, + "id": 226, "nodeType": "ExpressionStatement", - "src": "1982:27:1" + "src": "1959:27:1" }, { "condition": { @@ -3701,7 +3626,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 234, + "id": 230, "isConstant": false, "isLValue": false, "isPure": false, @@ -3710,18 +3635,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 231, + "id": 227, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2025:7:1", + "src": "2002:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 232, + "id": 228, "isConstant": false, "isLValue": true, "isPure": false, @@ -3729,7 +3654,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2025:14:1", + "src": "2002:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3740,14 +3665,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 233, + "id": 229, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2043:1:1", + "src": "2020:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -3755,16 +3680,16 @@ }, "value": "2" }, - "src": "2025:19:1", + "src": "2002:19:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 291, + "id": 273, "nodeType": "Block", - "src": "2258:388:1", + "src": "2198:336:1", "statements": [ { "condition": { @@ -3773,7 +3698,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 257, + "id": 247, "isConstant": false, "isLValue": false, "isPure": false, @@ -3782,26 +3707,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 252, + "id": 242, "name": "_minersByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2290:16:1", + "src": "2230:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 254, + "id": 244, "indexExpression": { "argumentTypes": null, - "id": 253, + "id": 243, "name": "minerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 217, - "src": "2307:12:1", + "referencedDeclaration": 213, + "src": "2247:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3812,7 +3737,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2290:30:1", + "src": "2230:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3824,18 +3749,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 255, + "id": 245, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2324:7:1", + "src": "2264:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 256, + "id": 246, "isConstant": false, "isLValue": true, "isPure": false, @@ -3843,31 +3768,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2324:14:1", + "src": "2264:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2290:48:1", + "src": "2230:48:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 272, + "id": 262, "nodeType": "IfStatement", - "src": "2287:214:1", + "src": "2227:214:1", "trueBody": { - "id": 271, + "id": 261, "nodeType": "Block", - "src": "2340:161:1", + "src": "2280:161:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 269, + "id": 259, "isConstant": false, "isLValue": false, "isPure": false, @@ -3876,42 +3801,42 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 258, + "id": 248, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2416:7:1", + "src": "2356:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 262, + "id": 252, "indexExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 259, + "id": 249, "name": "_minersByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2424:16:1", + "src": "2364:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 261, + "id": 251, "indexExpression": { "argumentTypes": null, - "id": 260, + "id": 250, "name": "minerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 217, - "src": "2441:12:1", + "referencedDeclaration": 213, + "src": "2381:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3922,7 +3847,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2424:30:1", + "src": "2364:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3933,7 +3858,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2416:39:1", + "src": "2356:39:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3945,25 +3870,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 263, + "id": 253, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2458:7:1", + "src": "2398:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 268, + "id": 258, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 267, + "id": 257, "isConstant": false, "isLValue": false, "isPure": false, @@ -3972,18 +3897,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 264, + "id": 254, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2466:7:1", + "src": "2406:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 265, + "id": 255, "isConstant": false, "isLValue": true, "isPure": false, @@ -3991,7 +3916,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2466:14:1", + "src": "2406:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4002,14 +3927,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 266, + "id": 256, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2483:1:1", + "src": "2423:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4017,7 +3942,7 @@ }, "value": "1" }, - "src": "2466:18:1", + "src": "2406:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4028,21 +3953,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2458:27:1", + "src": "2398:27:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2416:69:1", + "src": "2356:69:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 270, + "id": 260, "nodeType": "ExpressionStatement", - "src": "2416:69:1" + "src": "2356:69:1" } ] } @@ -4050,171 +3975,58 @@ { "expression": { "argumentTypes": null, - "id": 279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2517:34:1", - "subExpression": { - "argumentTypes": null, - "baseExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { "argumentTypes": null, - "id": 273, + "id": 263, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2524:7:1", + "src": "2457:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 278, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 274, - "name": "_miners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 124, - "src": "2532:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 275, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2532:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2549:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2532:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "id": 265, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2524:27:1", + "lValueRequested": false, + "memberName": "pop", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2457:11:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", + "typeString": "function ()" } }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2457:13:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 280, + "id": 267, "nodeType": "ExpressionStatement", - "src": "2517:34:1" + "src": "2457:13:1" }, { "expression": { "argumentTypes": null, - "id": 284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "2566:16:1", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 281, - "name": "_miners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 124, - "src": "2566:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2566:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 285, - "nodeType": "ExpressionStatement", - "src": "2566:16:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 289, + "id": 271, "isConstant": false, "isLValue": false, "isPure": false, @@ -4222,31 +4034,31 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2597:37:1", + "src": "2485:37:1", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 286, + "id": 268, "name": "_minersByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2604:16:1", + "src": "2492:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 288, + "id": 270, "indexExpression": { "argumentTypes": null, - "id": 287, + "id": 269, "name": "minerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 217, - "src": "2621:12:1", + "referencedDeclaration": 213, + "src": "2509:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4257,7 +4069,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2604:30:1", + "src": "2492:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4268,157 +4080,75 @@ "typeString": "tuple()" } }, - "id": 290, + "id": 272, "nodeType": "ExpressionStatement", - "src": "2597:37:1" + "src": "2485:37:1" } ] }, - "id": 292, + "id": 274, "nodeType": "IfStatement", - "src": "2022:624:1", + "src": "1999:535:1", "trueBody": { - "id": 251, + "id": 241, "nodeType": "Block", - "src": "2046:206:1", + "src": "2023:169:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2128:17:1", - "subExpression": { - "argumentTypes": null, - "baseExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { "argumentTypes": null, - "id": 235, + "id": 231, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2135:7:1", + "src": "2105:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 237, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2143:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, + "id": 233, "isConstant": false, - "isLValue": true, + "isLValue": false, "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2135:10:1", + "lValueRequested": false, + "memberName": "pop", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2105:11:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", + "typeString": "function ()" } }, + "id": 234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2105:13:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 239, + "id": 235, "nodeType": "ExpressionStatement", - "src": "2128:17:1" + "src": "2105:13:1" }, { "expression": { "argumentTypes": null, - "id": 244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 240, - "name": "_miners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 124, - "src": "2160:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 242, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2160:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2177:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2160:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 245, - "nodeType": "ExpressionStatement", - "src": "2160:18:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 249, + "id": 239, "isConstant": false, "isLValue": false, "isPure": false, @@ -4426,31 +4156,31 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2193:37:1", + "src": "2133:37:1", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 246, + "id": 236, "name": "_minersByAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2200:16:1", + "src": "2140:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 248, + "id": 238, "indexExpression": { "argumentTypes": null, - "id": 247, + "id": 237, "name": "minerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 217, - "src": "2217:12:1", + "referencedDeclaration": 213, + "src": "2157:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4461,7 +4191,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2200:30:1", + "src": "2140:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4472,9 +4202,9 @@ "typeString": "tuple()" } }, - "id": 250, + "id": 240, "nodeType": "ExpressionStatement", - "src": "2193:37:1" + "src": "2133:37:1" } ] } @@ -4482,63 +4212,62 @@ ] }, "documentation": null, - "id": 294, + "id": 276, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 220, + "id": 216, "modifierName": { "argumentTypes": null, - "id": 219, + "id": 215, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "1944:13:1", + "referencedDeclaration": 796, + "src": "1921:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1944:13:1" + "src": "1921:13:1" }, { "arguments": null, - "id": 222, + "id": 218, "modifierName": { "argumentTypes": null, - "id": 221, + "id": 217, "name": "onlyCoreTeam", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1958:12:1", + "src": "1935:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1958:12:1" + "src": "1935:12:1" } ], "name": "unregisterMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 218, + "id": 214, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 217, + "id": 213, "name": "minerAddress", "nodeType": "VariableDeclaration", - "scope": 294, - "src": "1915:20:1", + "scope": 276, + "src": "1892:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4546,10 +4275,11 @@ "typeString": "address" }, "typeName": { - "id": 216, + "id": 212, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1915:7:1", + "src": "1892:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4559,26 +4289,25 @@ "visibility": "internal" } ], - "src": "1914:22:1" + "src": "1891:22:1" }, - "payable": false, "returnParameters": { - "id": 223, + "id": 219, "nodeType": "ParameterList", "parameters": [], - "src": "1971:0:1" + "src": "1948:0:1" }, - "scope": 606, - "src": "1890:763:1", + "scope": 591, + "src": "1867:674:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 570, + "id": 555, "nodeType": "Block", - "src": "2709:2307:1", + "src": "2597:2370:1", "statements": [ { "expression": { @@ -4590,7 +4319,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 305, + "id": 287, "isConstant": false, "isLValue": false, "isPure": false, @@ -4599,18 +4328,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 302, + "id": 284, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2728:7:1", + "src": "2616:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 303, + "id": 285, "isConstant": false, "isLValue": true, "isPure": false, @@ -4618,7 +4347,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2728:14:1", + "src": "2616:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4629,14 +4358,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 304, + "id": 286, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2745:1:1", + "src": "2633:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4644,7 +4373,7 @@ }, "value": "1" }, - "src": "2728:18:1", + "src": "2616:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4658,21 +4387,21 @@ "typeString": "bool" } ], - "id": 301, + "id": 283, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "2720:7:1", + "referencedDeclaration": 1259, + "src": "2608:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 306, + "id": 288, "isConstant": false, "isLValue": false, "isPure": false, @@ -4680,28 +4409,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2720:27:1", + "src": "2608:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 307, + "id": 289, "nodeType": "ExpressionStatement", - "src": "2720:27:1" + "src": "2608:27:1" }, { "assignments": [ - 309 + 291 ], "declarations": [ { "constant": false, - "id": 309, + "id": 291, "name": "currentFeesBalance", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "2760:26:1", + "scope": 555, + "src": "2648:26:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4709,10 +4438,10 @@ "typeString": "uint256" }, "typeName": { - "id": 308, + "id": 290, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2760:7:1", + "src": "2648:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4722,7 +4451,7 @@ "visibility": "internal" } ], - "id": 316, + "id": 298, "initialValue": { "argumentTypes": null, "arguments": [ @@ -4731,14 +4460,14 @@ "arguments": [ { "argumentTypes": null, - "id": 313, + "id": 295, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1301, - "src": "2814:4:1", + "referencedDeclaration": 1288, + "src": "2702:4:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_AlgoFees_$606", + "typeIdentifier": "t_contract$_AlgoFees_$591", "typeString": "contract AlgoFees" } } @@ -4746,24 +4475,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AlgoFees_$606", + "typeIdentifier": "t_contract$_AlgoFees_$591", "typeString": "contract AlgoFees" } ], - "id": 312, + "id": 294, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2806:7:1", + "src": "2694:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 314, + "id": 296, "isConstant": false, "isLValue": false, "isPure": false, @@ -4771,7 +4500,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2806:13:1", + "src": "2694:13:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4787,32 +4516,32 @@ ], "expression": { "argumentTypes": null, - "id": 310, + "id": 292, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "2789:6:1", + "referencedDeclaration": 690, + "src": "2677:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 311, + "id": 293, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1056, - "src": "2789:16:1", + "referencedDeclaration": 1070, + "src": "2677:16:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 315, + "id": 297, "isConstant": false, "isLValue": false, "isPure": false, @@ -4820,14 +4549,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2789:31:1", + "src": "2677:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2760:60:1" + "src": "2648:60:1" }, { "expression": { @@ -4839,19 +4568,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 320, + "id": 302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 318, + "id": 300, "name": "currentFeesBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "2835:18:1", + "referencedDeclaration": 291, + "src": "2723:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4862,14 +4591,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 319, + "id": 301, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2856:1:1", + "src": "2744:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4877,7 +4606,7 @@ }, "value": "0" }, - "src": "2835:22:1", + "src": "2723:22:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4891,21 +4620,21 @@ "typeString": "bool" } ], - "id": 317, + "id": 299, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "2827:7:1", + "referencedDeclaration": 1259, + "src": "2715:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 321, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, @@ -4913,26 +4642,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2827:31:1", + "src": "2715:31:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 322, + "id": 304, "nodeType": "ExpressionStatement", - "src": "2827:31:1" + "src": "2715:31:1" }, { - "assignments": [], + "assignments": [ + 309 + ], "declarations": [ { "constant": false, - "id": 327, + "id": 309, "name": "miners", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "2942:24:1", + "scope": 555, + "src": "2830:24:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4941,27 +4672,27 @@ }, "typeName": { "baseType": { - "id": 325, + "id": 307, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2942:7:1", + "src": "2830:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 326, + "id": 308, "length": { "argumentTypes": null, "hexValue": "36", - "id": 324, + "id": 306, "isConstant": false, "isLValue": false, "isPure": false, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2950:1:1", + "src": "2838:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": null, @@ -4970,7 +4701,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "2942:10:1", + "src": "2830:10:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -4980,44 +4711,109 @@ "visibility": "internal" } ], - "id": 328, + "id": 310, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "2942:24:1" + "src": "2830:24:1" + }, + { + "assignments": [ + 312 + ], + "declarations": [ + { + "constant": false, + "id": 312, + "name": "minerCount", + "nodeType": "VariableDeclaration", + "scope": 555, + "src": "2865:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 311, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2865:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 315, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 313, + "name": "_miners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "2886:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 314, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2886:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2865:35:1" }, { "body": { - "id": 420, + "id": 406, "nodeType": "Block", - "src": "3023:657:1", + "src": "2953:657:1", "statements": [ { "assignments": [ - 341 + 327 ], "declarations": [ { "constant": false, - "id": 341, + "id": 327, "name": "algoMiner", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "3038:20:1", + "scope": 406, + "src": "2968:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" }, "typeName": { "contractScope": null, - "id": 340, + "id": 326, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 783, - "src": "3038:10:1", + "referencedDeclaration": 768, + "src": "2968:10:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, @@ -5025,7 +4821,7 @@ "visibility": "internal" } ], - "id": 347, + "id": 333, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5033,26 +4829,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 343, + "id": 329, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "3072:7:1", + "src": "3002:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 345, + "id": 331, "indexExpression": { "argumentTypes": null, - "id": 344, + "id": 330, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 330, - "src": "3080:1:1", + "referencedDeclaration": 317, + "src": "3010:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5063,7 +4859,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3072:10:1", + "src": "3002:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5077,18 +4873,18 @@ "typeString": "address" } ], - "id": 342, + "id": 328, "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "3061:10:1", + "referencedDeclaration": 768, + "src": "2991:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$768_$", "typeString": "type(contract IAlgoMiner)" } }, - "id": 346, + "id": 332, "isConstant": false, "isLValue": false, "isPure": false, @@ -5096,19 +4892,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3061:22:1", + "src": "2991:22:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "3038:45:1" + "src": "2968:45:1" }, { "condition": { "argumentTypes": null, - "id": 351, + "id": 337, "isConstant": false, "isLValue": false, "isPure": false, @@ -5116,7 +4912,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3103:21:1", + "src": "3033:21:1", "subExpression": { "argumentTypes": null, "arguments": [], @@ -5124,32 +4920,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 348, + "id": 334, "name": "algoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "3104:9:1", + "referencedDeclaration": 327, + "src": "3034:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, - "id": 349, + "id": 335, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "isMining", "nodeType": "MemberAccess", - "referencedDeclaration": 782, - "src": "3104:18:1", + "referencedDeclaration": 767, + "src": "3034:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", "typeString": "function () view external returns (bool)" } }, - "id": 350, + "id": 336, "isConstant": false, "isLValue": false, "isPure": false, @@ -5157,7 +4953,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3104:20:1", + "src": "3034:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5169,27 +4965,27 @@ } }, "falseBody": null, - "id": 353, + "id": 339, "nodeType": "IfStatement", - "src": "3100:34:1", + "src": "3030:34:1", "trueBody": { - "id": 352, + "id": 338, "nodeType": "Continue", - "src": "3126:8:1" + "src": "3056:8:1" } }, { "assignments": [ - 355 + 341 ], "declarations": [ { "constant": false, - "id": 355, + "id": 341, "name": "minerCategory", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "3151:19:1", + "scope": 406, + "src": "3081:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5197,10 +4993,10 @@ "typeString": "uint8" }, "typeName": { - "id": 354, + "id": 340, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3151:5:1", + "src": "3081:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5210,7 +5006,7 @@ "visibility": "internal" } ], - "id": 359, + "id": 345, "initialValue": { "argumentTypes": null, "arguments": [], @@ -5218,32 +5014,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 356, + "id": 342, "name": "algoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "3173:9:1", + "referencedDeclaration": 327, + "src": "3103:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, - "id": 357, + "id": 343, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getCategory", "nodeType": "MemberAccess", - "referencedDeclaration": 767, - "src": "3173:21:1", + "referencedDeclaration": 752, + "src": "3103:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" } }, - "id": 358, + "id": 344, "isConstant": false, "isLValue": false, "isPure": false, @@ -5251,14 +5047,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3173:23:1", + "src": "3103:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "3151:45:1" + "src": "3081:45:1" }, { "condition": { @@ -5267,19 +5063,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 362, + "id": 348, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 360, + "id": 346, "name": "minerCategory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "3216:13:1", + "referencedDeclaration": 341, + "src": "3146:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5290,14 +5086,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 361, + "id": 347, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3233:1:1", + "src": "3163:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5305,7 +5101,7 @@ }, "value": "0" }, - "src": "3216:18:1", + "src": "3146:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5318,19 +5114,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 371, + "id": 357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 369, + "id": 355, "name": "minerCategory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "3291:13:1", + "referencedDeclaration": 341, + "src": "3221:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5341,14 +5137,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 370, + "id": 356, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3308:1:1", + "src": "3238:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5356,7 +5152,7 @@ }, "value": "1" }, - "src": "3291:18:1", + "src": "3221:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5369,19 +5165,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 380, + "id": 366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 378, + "id": 364, "name": "minerCategory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "3366:13:1", + "referencedDeclaration": 341, + "src": "3296:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5392,14 +5188,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 379, + "id": 365, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3383:1:1", + "src": "3313:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5407,7 +5203,7 @@ }, "value": "2" }, - "src": "3366:18:1", + "src": "3296:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5420,19 +5216,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 389, + "id": 375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 387, + "id": 373, "name": "minerCategory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "3441:13:1", + "referencedDeclaration": 341, + "src": "3371:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5443,14 +5239,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 388, + "id": 374, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3458:1:1", + "src": "3388:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5458,7 +5254,7 @@ }, "value": "3" }, - "src": "3441:18:1", + "src": "3371:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5471,19 +5267,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 398, + "id": 384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 396, + "id": 382, "name": "minerCategory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "3516:13:1", + "referencedDeclaration": 341, + "src": "3446:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5494,14 +5290,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "34", - "id": 397, + "id": 383, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3533:1:1", + "src": "3463:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -5509,7 +5305,7 @@ }, "value": "4" }, - "src": "3516:18:1", + "src": "3446:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5522,19 +5318,19 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 407, + "id": 393, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 405, + "id": 391, "name": "minerCategory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "3591:13:1", + "referencedDeclaration": 341, + "src": "3521:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5545,14 +5341,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "35", - "id": 406, + "id": 392, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3608:1:1", + "src": "3538:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -5560,25 +5356,25 @@ }, "value": "5" }, - "src": "3591:18:1", + "src": "3521:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 414, + "id": 400, "nodeType": "IfStatement", - "src": "3588:69:1", + "src": "3518:69:1", "trueBody": { - "id": 413, + "id": 399, "nodeType": "Block", - "src": "3611:46:1", + "src": "3541:46:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 411, + "id": 397, "isConstant": false, "isLValue": false, "isPure": false, @@ -5586,34 +5382,34 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3630:11:1", + "src": "3560:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 408, + "id": 394, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3630:6:1", + "referencedDeclaration": 309, + "src": "3560:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 410, + "id": 396, "indexExpression": { "argumentTypes": null, "hexValue": "35", - "id": 409, + "id": 395, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3637:1:1", + "src": "3567:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -5626,7 +5422,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3630:9:1", + "src": "3560:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5637,25 +5433,25 @@ "typeString": "uint256" } }, - "id": 412, + "id": 398, "nodeType": "ExpressionStatement", - "src": "3630:11:1" + "src": "3560:11:1" } ] } }, - "id": 415, + "id": 401, "nodeType": "IfStatement", - "src": "3513:144:1", + "src": "3443:144:1", "trueBody": { - "id": 404, + "id": 390, "nodeType": "Block", - "src": "3536:46:1", + "src": "3466:46:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 402, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, @@ -5663,34 +5459,34 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3555:11:1", + "src": "3485:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 399, + "id": 385, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3555:6:1", + "referencedDeclaration": 309, + "src": "3485:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 401, + "id": 387, "indexExpression": { "argumentTypes": null, "hexValue": "34", - "id": 400, + "id": 386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3562:1:1", + "src": "3492:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -5703,7 +5499,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3555:9:1", + "src": "3485:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5714,25 +5510,25 @@ "typeString": "uint256" } }, - "id": 403, + "id": 389, "nodeType": "ExpressionStatement", - "src": "3555:11:1" + "src": "3485:11:1" } ] } }, - "id": 416, + "id": 402, "nodeType": "IfStatement", - "src": "3438:219:1", + "src": "3368:219:1", "trueBody": { - "id": 395, + "id": 381, "nodeType": "Block", - "src": "3461:46:1", + "src": "3391:46:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 393, + "id": 379, "isConstant": false, "isLValue": false, "isPure": false, @@ -5740,34 +5536,34 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3480:11:1", + "src": "3410:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 390, + "id": 376, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3480:6:1", + "referencedDeclaration": 309, + "src": "3410:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 392, + "id": 378, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 391, + "id": 377, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3487:1:1", + "src": "3417:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5780,7 +5576,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3480:9:1", + "src": "3410:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5791,25 +5587,25 @@ "typeString": "uint256" } }, - "id": 394, + "id": 380, "nodeType": "ExpressionStatement", - "src": "3480:11:1" + "src": "3410:11:1" } ] } }, - "id": 417, + "id": 403, "nodeType": "IfStatement", - "src": "3363:294:1", + "src": "3293:294:1", "trueBody": { - "id": 386, + "id": 372, "nodeType": "Block", - "src": "3386:46:1", + "src": "3316:46:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 384, + "id": 370, "isConstant": false, "isLValue": false, "isPure": false, @@ -5817,34 +5613,34 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3405:11:1", + "src": "3335:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 381, + "id": 367, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3405:6:1", + "referencedDeclaration": 309, + "src": "3335:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 383, + "id": 369, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 382, + "id": 368, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3412:1:1", + "src": "3342:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5857,7 +5653,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3405:9:1", + "src": "3335:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5868,25 +5664,25 @@ "typeString": "uint256" } }, - "id": 385, + "id": 371, "nodeType": "ExpressionStatement", - "src": "3405:11:1" + "src": "3335:11:1" } ] } }, - "id": 418, + "id": 404, "nodeType": "IfStatement", - "src": "3288:369:1", + "src": "3218:369:1", "trueBody": { - "id": 377, + "id": 363, "nodeType": "Block", - "src": "3311:46:1", + "src": "3241:46:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 375, + "id": 361, "isConstant": false, "isLValue": false, "isPure": false, @@ -5894,34 +5690,34 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3330:11:1", + "src": "3260:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 372, + "id": 358, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3330:6:1", + "referencedDeclaration": 309, + "src": "3260:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 374, + "id": 360, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 373, + "id": 359, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3337:1:1", + "src": "3267:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5934,7 +5730,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3330:9:1", + "src": "3260:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5945,25 +5741,25 @@ "typeString": "uint256" } }, - "id": 376, + "id": 362, "nodeType": "ExpressionStatement", - "src": "3330:11:1" + "src": "3260:11:1" } ] } }, - "id": 419, + "id": 405, "nodeType": "IfStatement", - "src": "3213:444:1", + "src": "3143:444:1", "trueBody": { - "id": 368, + "id": 354, "nodeType": "Block", - "src": "3236:46:1", + "src": "3166:46:1", "statements": [ { "expression": { "argumentTypes": null, - "id": 366, + "id": 352, "isConstant": false, "isLValue": false, "isPure": false, @@ -5971,34 +5767,34 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3255:11:1", + "src": "3185:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 363, + "id": 349, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3255:6:1", + "referencedDeclaration": 309, + "src": "3185:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 365, + "id": 351, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 364, + "id": 350, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3262:1:1", + "src": "3192:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6011,7 +5807,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3255:9:1", + "src": "3185:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6022,9 +5818,9 @@ "typeString": "uint256" } }, - "id": 367, + "id": 353, "nodeType": "ExpressionStatement", - "src": "3255:11:1" + "src": "3185:11:1" } ] } @@ -6037,19 +5833,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 336, + "id": 322, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 333, + "id": 320, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 330, - "src": "2998:1:1", + "referencedDeclaration": 317, + "src": "2932:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6059,52 +5855,36 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 334, - "name": "_miners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 124, - "src": "3002:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 335, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3002:14:1", + "id": 321, + "name": "minerCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2936:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2998:18:1", + "src": "2932:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 421, + "id": 407, "initializationExpression": { "assignments": [ - 330 + 317 ], "declarations": [ { "constant": false, - "id": 330, + "id": 317, "name": "i", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "2983:9:1", + "scope": 407, + "src": "2917:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6112,10 +5892,10 @@ "typeString": "uint256" }, "typeName": { - "id": 329, + "id": 316, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2983:7:1", + "src": "2917:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6125,18 +5905,18 @@ "visibility": "internal" } ], - "id": 332, + "id": 319, "initialValue": { "argumentTypes": null, "hexValue": "31", - "id": 331, + "id": 318, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2995:1:1", + "src": "2929:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6145,12 +5925,12 @@ "value": "1" }, "nodeType": "VariableDeclarationStatement", - "src": "2983:13:1" + "src": "2917:13:1" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 338, + "id": 324, "isConstant": false, "isLValue": false, "isPure": false, @@ -6158,15 +5938,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3018:3:1", + "src": "2948:3:1", "subExpression": { "argumentTypes": null, - "id": 337, + "id": 323, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 330, - "src": "3018:1:1", + "referencedDeclaration": 317, + "src": "2948:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6177,25 +5957,25 @@ "typeString": "uint256" } }, - "id": 339, + "id": 325, "nodeType": "ExpressionStatement", - "src": "3018:3:1" + "src": "2948:3:1" }, "nodeType": "ForStatement", - "src": "2979:701:1" + "src": "2913:697:1" }, { "assignments": [ - 423 + 409 ], "declarations": [ { "constant": false, - "id": 423, + "id": 409, "name": "totalProportion", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "3768:23:1", + "scope": 555, + "src": "3698:23:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6203,10 +5983,10 @@ "typeString": "uint256" }, "typeName": { - "id": 422, + "id": 408, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3768:7:1", + "src": "3698:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6216,14 +5996,14 @@ "visibility": "internal" } ], - "id": 459, + "id": 445, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 458, + "id": 444, "isConstant": false, "isLValue": false, "isPure": false, @@ -6234,7 +6014,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 452, + "id": 438, "isConstant": false, "isLValue": false, "isPure": false, @@ -6245,7 +6025,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 446, + "id": 432, "isConstant": false, "isLValue": false, "isPure": false, @@ -6256,7 +6036,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 440, + "id": 426, "isConstant": false, "isLValue": false, "isPure": false, @@ -6267,7 +6047,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 434, + "id": 420, "isConstant": false, "isLValue": false, "isPure": false, @@ -6278,19 +6058,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 428, + "id": 414, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 424, + "id": 410, "name": "CAT_0_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, - "src": "3794:22:1", + "src": "3724:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6302,29 +6082,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 425, + "id": 411, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3819:6:1", + "referencedDeclaration": 309, + "src": "3749:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 427, + "id": 413, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 426, + "id": 412, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3826:1:1", + "src": "3756:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6337,13 +6117,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3819:9:1", + "src": "3749:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3794:34:1", + "src": "3724:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6357,19 +6137,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 433, + "id": 419, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 429, + "id": 415, "name": "CAT_1_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 109, - "src": "3844:22:1", + "src": "3774:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6381,29 +6161,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 430, + "id": 416, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3869:6:1", + "referencedDeclaration": 309, + "src": "3799:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 432, + "id": 418, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 431, + "id": 417, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3876:1:1", + "src": "3806:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6416,19 +6196,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3869:9:1", + "src": "3799:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3844:34:1", + "src": "3774:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3794:84:1", + "src": "3724:84:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6442,19 +6222,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 439, + "id": 425, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 435, + "id": 421, "name": "CAT_2_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 112, - "src": "3894:22:1", + "src": "3824:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6466,29 +6246,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 436, + "id": 422, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3919:6:1", + "referencedDeclaration": 309, + "src": "3849:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 438, + "id": 424, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 437, + "id": 423, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3926:1:1", + "src": "3856:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6501,19 +6281,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3919:9:1", + "src": "3849:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3894:34:1", + "src": "3824:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3794:134:1", + "src": "3724:134:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6527,19 +6307,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 445, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 441, + "id": 427, "name": "CAT_3_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3944:22:1", + "src": "3874:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6551,29 +6331,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 442, + "id": 428, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "3969:6:1", + "referencedDeclaration": 309, + "src": "3899:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 444, + "id": 430, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 443, + "id": 429, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3976:1:1", + "src": "3906:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -6586,19 +6366,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3969:9:1", + "src": "3899:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3944:34:1", + "src": "3874:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3794:184:1", + "src": "3724:184:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6612,19 +6392,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 451, + "id": 437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 447, + "id": 433, "name": "CAT_4_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, - "src": "3994:22:1", + "src": "3924:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6636,29 +6416,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 448, + "id": 434, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "4019:6:1", + "referencedDeclaration": 309, + "src": "3949:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 450, + "id": 436, "indexExpression": { "argumentTypes": null, "hexValue": "34", - "id": 449, + "id": 435, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4026:1:1", + "src": "3956:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -6671,19 +6451,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4019:9:1", + "src": "3949:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3994:34:1", + "src": "3924:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3794:234:1", + "src": "3724:234:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6697,19 +6477,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 457, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 453, + "id": 439, "name": "CAT_5_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 121, - "src": "4044:22:1", + "src": "3974:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6721,29 +6501,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 454, + "id": 440, "name": "miners", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "4069:6:1", + "referencedDeclaration": 309, + "src": "3999:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 456, + "id": 442, "indexExpression": { "argumentTypes": null, "hexValue": "35", - "id": 455, + "id": 441, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4076:1:1", + "src": "4006:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -6756,37 +6536,39 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4069:9:1", + "src": "3999:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4044:34:1", + "src": "3974:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3794:284:1", + "src": "3724:284:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3768:310:1" + "src": "3698:310:1" }, { - "assignments": [], + "assignments": [ + 450 + ], "declarations": [ { "constant": false, - "id": 464, + "id": 450, "name": "feePerMiner", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "4099:29:1", + "scope": 555, + "src": "4029:29:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6795,27 +6577,27 @@ }, "typeName": { "baseType": { - "id": 462, + "id": 448, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4099:7:1", + "src": "4029:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 463, + "id": 449, "length": { "argumentTypes": null, "hexValue": "36", - "id": 461, + "id": 447, "isConstant": false, "isLValue": false, "isPure": false, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4107:1:1", + "src": "4037:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": null, @@ -6824,7 +6606,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "4099:10:1", + "src": "4029:10:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -6834,15 +6616,15 @@ "visibility": "internal" } ], - "id": 465, + "id": 451, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "4099:29:1" + "src": "4029:29:1" }, { "expression": { "argumentTypes": null, - "id": 474, + "id": 460, "isConstant": false, "isLValue": false, "isPure": false, @@ -6851,29 +6633,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 466, + "id": 452, "name": "feePerMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4141:11:1", + "referencedDeclaration": 450, + "src": "4071:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 468, + "id": 454, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 467, + "id": 453, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4153:1:1", + "src": "4083:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6886,7 +6668,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4141:14:1", + "src": "4071:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6900,7 +6682,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 473, + "id": 459, "isConstant": false, "isLValue": false, "isPure": false, @@ -6911,19 +6693,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 471, + "id": 457, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 469, + "id": 455, "name": "currentFeesBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "4158:18:1", + "referencedDeclaration": 291, + "src": "4088:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6933,18 +6715,18 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 470, + "id": 456, "name": "CAT_0_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, - "src": "4179:22:1", + "src": "4109:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4158:43:1", + "src": "4088:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6954,37 +6736,37 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 472, + "id": 458, "name": "totalProportion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4204:15:1", + "referencedDeclaration": 409, + "src": "4134:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4158:61:1", + "src": "4088:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4141:78:1", + "src": "4071:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 475, + "id": 461, "nodeType": "ExpressionStatement", - "src": "4141:78:1" + "src": "4071:78:1" }, { "expression": { "argumentTypes": null, - "id": 484, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, @@ -6993,29 +6775,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 476, + "id": 462, "name": "feePerMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4230:11:1", + "referencedDeclaration": 450, + "src": "4160:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 478, + "id": 464, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 477, + "id": 463, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4242:1:1", + "src": "4172:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7028,7 +6810,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4230:14:1", + "src": "4160:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7042,7 +6824,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 483, + "id": 469, "isConstant": false, "isLValue": false, "isPure": false, @@ -7053,19 +6835,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 481, + "id": 467, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 479, + "id": 465, "name": "currentFeesBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "4247:18:1", + "referencedDeclaration": 291, + "src": "4177:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7075,18 +6857,18 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 480, + "id": 466, "name": "CAT_1_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 109, - "src": "4268:22:1", + "src": "4198:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4247:43:1", + "src": "4177:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7096,37 +6878,37 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 482, + "id": 468, "name": "totalProportion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4293:15:1", + "referencedDeclaration": 409, + "src": "4223:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4247:61:1", + "src": "4177:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4230:78:1", + "src": "4160:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 485, + "id": 471, "nodeType": "ExpressionStatement", - "src": "4230:78:1" + "src": "4160:78:1" }, { "expression": { "argumentTypes": null, - "id": 494, + "id": 480, "isConstant": false, "isLValue": false, "isPure": false, @@ -7135,29 +6917,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 486, + "id": 472, "name": "feePerMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4319:11:1", + "referencedDeclaration": 450, + "src": "4249:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 488, + "id": 474, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 487, + "id": 473, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4331:1:1", + "src": "4261:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -7170,7 +6952,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4319:14:1", + "src": "4249:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7184,7 +6966,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 493, + "id": 479, "isConstant": false, "isLValue": false, "isPure": false, @@ -7195,19 +6977,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 491, + "id": 477, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 489, + "id": 475, "name": "currentFeesBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "4336:18:1", + "referencedDeclaration": 291, + "src": "4266:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7217,18 +6999,18 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 490, + "id": 476, "name": "CAT_2_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 112, - "src": "4357:22:1", + "src": "4287:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4336:43:1", + "src": "4266:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7238,37 +7020,37 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 492, + "id": 478, "name": "totalProportion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4382:15:1", + "referencedDeclaration": 409, + "src": "4312:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4336:61:1", + "src": "4266:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4319:78:1", + "src": "4249:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 495, + "id": 481, "nodeType": "ExpressionStatement", - "src": "4319:78:1" + "src": "4249:78:1" }, { "expression": { "argumentTypes": null, - "id": 504, + "id": 490, "isConstant": false, "isLValue": false, "isPure": false, @@ -7277,29 +7059,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 496, + "id": 482, "name": "feePerMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4408:11:1", + "referencedDeclaration": 450, + "src": "4338:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 498, + "id": 484, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 497, + "id": 483, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4420:1:1", + "src": "4350:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -7312,7 +7094,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4408:14:1", + "src": "4338:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7326,7 +7108,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 503, + "id": 489, "isConstant": false, "isLValue": false, "isPure": false, @@ -7337,19 +7119,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 501, + "id": 487, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 499, + "id": 485, "name": "currentFeesBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "4425:18:1", + "referencedDeclaration": 291, + "src": "4355:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7359,18 +7141,18 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 500, + "id": 486, "name": "CAT_3_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4446:22:1", + "src": "4376:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4425:43:1", + "src": "4355:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7380,37 +7162,37 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 502, + "id": 488, "name": "totalProportion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4471:15:1", + "referencedDeclaration": 409, + "src": "4401:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4425:61:1", + "src": "4355:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4408:78:1", + "src": "4338:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 505, + "id": 491, "nodeType": "ExpressionStatement", - "src": "4408:78:1" + "src": "4338:78:1" }, { "expression": { "argumentTypes": null, - "id": 514, + "id": 500, "isConstant": false, "isLValue": false, "isPure": false, @@ -7419,29 +7201,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 506, + "id": 492, "name": "feePerMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4497:11:1", + "referencedDeclaration": 450, + "src": "4427:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 508, + "id": 494, "indexExpression": { "argumentTypes": null, "hexValue": "34", - "id": 507, + "id": 493, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4509:1:1", + "src": "4439:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -7454,7 +7236,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4497:14:1", + "src": "4427:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7468,7 +7250,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 513, + "id": 499, "isConstant": false, "isLValue": false, "isPure": false, @@ -7479,19 +7261,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 511, + "id": 497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 509, + "id": 495, "name": "currentFeesBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "4514:18:1", + "referencedDeclaration": 291, + "src": "4444:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7501,18 +7283,18 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 510, + "id": 496, "name": "CAT_4_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, - "src": "4535:22:1", + "src": "4465:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4514:43:1", + "src": "4444:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7522,37 +7304,37 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 512, + "id": 498, "name": "totalProportion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4560:15:1", + "referencedDeclaration": 409, + "src": "4490:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4514:61:1", + "src": "4444:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4497:78:1", + "src": "4427:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 515, + "id": 501, "nodeType": "ExpressionStatement", - "src": "4497:78:1" + "src": "4427:78:1" }, { "expression": { "argumentTypes": null, - "id": 524, + "id": 510, "isConstant": false, "isLValue": false, "isPure": false, @@ -7561,29 +7343,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 516, + "id": 502, "name": "feePerMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4586:11:1", + "referencedDeclaration": 450, + "src": "4516:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 518, + "id": 504, "indexExpression": { "argumentTypes": null, "hexValue": "35", - "id": 517, + "id": 503, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4598:1:1", + "src": "4528:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -7596,7 +7378,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4586:14:1", + "src": "4516:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7610,7 +7392,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 523, + "id": 509, "isConstant": false, "isLValue": false, "isPure": false, @@ -7621,19 +7403,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 521, + "id": 507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 519, + "id": 505, "name": "currentFeesBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "4603:18:1", + "referencedDeclaration": 291, + "src": "4533:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7643,18 +7425,18 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 520, + "id": 506, "name": "CAT_5_VALUE_PROPORTION", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 121, - "src": "4624:22:1", + "src": "4554:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4603:43:1", + "src": "4533:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7664,152 +7446,157 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 522, + "id": 508, "name": "totalProportion", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "4649:15:1", + "referencedDeclaration": 409, + "src": "4579:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4603:61:1", + "src": "4533:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4586:78:1", + "src": "4516:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 525, + "id": 511, "nodeType": "ExpressionStatement", - "src": "4586:78:1" + "src": "4516:78:1" }, { "body": { - "id": 568, + "id": 553, "nodeType": "Block", - "src": "4764:245:1", + "src": "4698:262:1", "statements": [ { - "expression": { + "assignments": [ + 523 + ], + "declarations": [ + { + "constant": false, + "id": 523, + "name": "algoMiner", + "nodeType": "VariableDeclaration", + "scope": 553, + "src": "4713:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAlgoMiner_$768", + "typeString": "contract IAlgoMiner" + }, + "typeName": { + "contractScope": null, + "id": 522, + "name": "IAlgoMiner", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 768, + "src": "4713:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAlgoMiner_$768", + "typeString": "contract IAlgoMiner" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 529, + "initialValue": { "argumentTypes": null, - "id": 543, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 525, + "name": "_miners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "4747:7:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 527, + "indexExpression": { + "argumentTypes": null, + "id": 526, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 513, + "src": "4755:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4747:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 524, + "name": "IAlgoMiner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 768, + "src": "4736:10:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$768_$", + "typeString": "type(contract IAlgoMiner)" + } + }, + "id": 528, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 537, - "name": "algoMiner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4779:9:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", - "typeString": "contract IAlgoMiner" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 539, - "name": "_miners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 124, - "src": "4802:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 541, - "indexExpression": { - "argumentTypes": null, - "id": 540, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 330, - "src": "4810:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4802:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 538, - "name": "IAlgoMiner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "4791:10:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", - "typeString": "type(contract IAlgoMiner)" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4791:22:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", - "typeString": "contract IAlgoMiner" - } - }, - "src": "4779:34:1", + "names": [], + "nodeType": "FunctionCall", + "src": "4736:22:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, - "id": 544, - "nodeType": "ExpressionStatement", - "src": "4779:34:1" + "nodeType": "VariableDeclarationStatement", + "src": "4713:45:1" }, { "condition": { "argumentTypes": null, - "id": 548, + "id": 533, "isConstant": false, "isLValue": false, "isPure": false, @@ -7817,7 +7604,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4833:21:1", + "src": "4778:21:1", "subExpression": { "argumentTypes": null, "arguments": [], @@ -7825,32 +7612,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 545, + "id": 530, "name": "algoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4834:9:1", + "referencedDeclaration": 523, + "src": "4779:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, - "id": 546, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "isMining", "nodeType": "MemberAccess", - "referencedDeclaration": 782, - "src": "4834:18:1", + "referencedDeclaration": 767, + "src": "4779:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", "typeString": "function () view external returns (bool)" } }, - "id": 547, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -7858,7 +7645,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4834:20:1", + "src": "4779:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7870,93 +7657,96 @@ } }, "falseBody": null, - "id": 550, + "id": 535, "nodeType": "IfStatement", - "src": "4830:34:1", + "src": "4775:34:1", "trueBody": { - "id": 549, + "id": 534, "nodeType": "Continue", - "src": "4856:8:1" + "src": "4801:8:1" } }, { - "expression": { - "argumentTypes": null, - "id": 555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 551, + "assignments": [ + 537 + ], + "declarations": [ + { + "constant": false, + "id": 537, "name": "minerCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "4881:13:1", + "nodeType": "VariableDeclaration", + "scope": 553, + "src": "4826:19:1", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 552, - "name": "algoMiner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4897:9:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", - "typeString": "contract IAlgoMiner" - } - }, - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getCategory", - "nodeType": "MemberAccess", - "referencedDeclaration": 767, - "src": "4897:21:1", + }, + "typeName": { + "id": 536, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4826:5:1", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 554, + "value": null, + "visibility": "internal" + } + ], + "id": 541, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 538, + "name": "algoMiner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "4848:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAlgoMiner_$768", + "typeString": "contract IAlgoMiner" + } + }, + "id": 539, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4897:23:1", + "memberName": "getCategory", + "nodeType": "MemberAccess", + "referencedDeclaration": 752, + "src": "4848:21:1", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", + "typeString": "function () view external returns (uint8)" } }, - "src": "4881:39:1", + "id": 540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4848:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 556, - "nodeType": "ExpressionStatement", - "src": "4881:39:1" + "nodeType": "VariableDeclarationStatement", + "src": "4826:45:1" }, { "expression": { @@ -7969,32 +7759,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 560, + "id": 545, "name": "algoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 341, - "src": "4948:9:1", + "referencedDeclaration": 523, + "src": "4899:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$783", + "typeIdentifier": "t_contract$_IAlgoMiner_$768", "typeString": "contract IAlgoMiner" } }, - "id": 561, + "id": 546, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "getMiner", "nodeType": "MemberAccess", - "referencedDeclaration": 772, - "src": "4948:18:1", + "referencedDeclaration": 757, + "src": "4899:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 562, + "id": 547, "isConstant": false, "isLValue": false, "isPure": false, @@ -8002,7 +7792,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4948:20:1", + "src": "4899:20:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8012,26 +7802,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 563, + "id": 548, "name": "feePerMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "4970:11:1", + "referencedDeclaration": 450, + "src": "4921:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 565, + "id": 550, "indexExpression": { "argumentTypes": null, - "id": 564, + "id": 549, "name": "minerCategory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 355, - "src": "4982:13:1", + "referencedDeclaration": 537, + "src": "4933:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8042,7 +7832,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4970:26:1", + "src": "4921:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8062,32 +7852,32 @@ ], "expression": { "argumentTypes": null, - "id": 557, + "id": 542, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "4928:6:1", + "referencedDeclaration": 690, + "src": "4879:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 559, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1136, - "src": "4928:19:1", + "referencedDeclaration": 1121, + "src": "4879:19:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1111_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1111_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1096_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1096_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 566, + "id": 551, "isConstant": false, "isLValue": false, "isPure": false, @@ -8095,15 +7885,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4928:69:1", + "src": "4879:69:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 567, + "id": 552, "nodeType": "ExpressionStatement", - "src": "4928:69:1" + "src": "4879:69:1" } ] }, @@ -8113,19 +7903,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 533, + "id": 518, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 530, + "id": 516, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 330, - "src": "4739:1:1", + "referencedDeclaration": 513, + "src": "4677:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8135,95 +7925,82 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 531, - "name": "_miners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 124, - "src": "4743:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4743:14:1", + "id": 517, + "name": "minerCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "4681:10:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4739:18:1", + "src": "4677:14:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 569, + "id": 554, "initializationExpression": { - "expression": { - "argumentTypes": null, - "id": 528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 526, + "assignments": [ + 513 + ], + "declarations": [ + { + "constant": false, + "id": 513, "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 330, - "src": "4732:1:1", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "4662:9:1", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4736:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" }, - "value": "1" - }, - "src": "4732:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeName": { + "id": 512, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4662:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" } + ], + "id": 515, + "initialValue": { + "argumentTypes": null, + "hexValue": "31", + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4674:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" }, - "id": 529, - "nodeType": "ExpressionStatement", - "src": "4732:5:1" + "nodeType": "VariableDeclarationStatement", + "src": "4662:13:1" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 535, + "id": 520, "isConstant": false, "isLValue": false, "isPure": false, @@ -8231,15 +8008,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4759:3:1", + "src": "4693:3:1", "subExpression": { "argumentTypes": null, - "id": 534, + "id": 519, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 330, - "src": "4759:1:1", + "referencedDeclaration": 513, + "src": "4693:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8250,86 +8027,84 @@ "typeString": "uint256" } }, - "id": 536, + "id": 521, "nodeType": "ExpressionStatement", - "src": "4759:3:1" + "src": "4693:3:1" }, "nodeType": "ForStatement", - "src": "4728:281:1" + "src": "4658:302:1" } ] }, "documentation": null, - "id": 571, + "id": 556, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 297, + "id": 279, "modifierName": { "argumentTypes": null, - "id": 296, + "id": 278, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, - "src": "2684:13:1", + "referencedDeclaration": 796, + "src": "2572:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2684:13:1" + "src": "2572:13:1" }, { "arguments": null, - "id": 299, + "id": 281, "modifierName": { "argumentTypes": null, - "id": 298, + "id": 280, "name": "onlySystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 634, - "src": "2698:10:1", + "referencedDeclaration": 619, + "src": "2586:10:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2698:10:1" + "src": "2586:10:1" } ], "name": "mine", "nodeType": "FunctionDefinition", "parameters": { - "id": 295, + "id": 277, "nodeType": "ParameterList", "parameters": [], - "src": "2674:2:1" + "src": "2562:2:1" }, - "payable": false, "returnParameters": { - "id": 300, + "id": 282, "nodeType": "ParameterList", "parameters": [], - "src": "2709:0:1" + "src": "2597:0:1" }, - "scope": 606, - "src": "2661:2355:1", + "scope": 591, + "src": "2549:2418:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 579, + "id": 564, "nodeType": "Block", - "src": "5065:31:1", + "src": "5016:31:1", "statements": [ { "expression": { @@ -8337,20 +8112,20 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 576, + "id": 561, "name": "_terminate", "nodeType": "Identifier", "overloadedDeclarations": [ - 749 + 734 ], - "referencedDeclaration": 749, - "src": "5076:10:1", + "referencedDeclaration": 734, + "src": "5027:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 577, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, @@ -8358,70 +8133,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5076:12:1", + "src": "5027:12:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 578, + "id": 563, "nodeType": "ExpressionStatement", - "src": "5076:12:1" + "src": "5027:12:1" } ] }, "documentation": null, - "id": 580, + "id": 565, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 574, + "id": 559, "modifierName": { "argumentTypes": null, - "id": 573, + "id": 558, "name": "onlyCoreTeam", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "5052:12:1", + "src": "5003:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5052:12:1" + "src": "5003:12:1" } ], "name": "terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 572, + "id": 557, "nodeType": "ParameterList", "parameters": [], - "src": "5042:2:1" + "src": "4993:2:1" }, - "payable": false, "returnParameters": { - "id": 575, + "id": 560, "nodeType": "ParameterList", "parameters": [], - "src": "5065:0:1" + "src": "5016:0:1" }, - "scope": 606, - "src": "5024:72:1", + "scope": 591, + "src": "4975:72:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 590, + "id": 575, "nodeType": "Block", - "src": "5159:44:1", + "src": "5110:44:1", "statements": [ { "expression": { @@ -8430,7 +8203,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 588, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -8439,18 +8212,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 585, + "id": 570, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "5177:7:1", + "src": "5128:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 586, + "id": 571, "isConstant": false, "isLValue": true, "isPure": false, @@ -8458,7 +8231,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5177:14:1", + "src": "5128:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8469,14 +8242,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 587, + "id": 572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5194:1:1", + "src": "5145:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8484,45 +8257,43 @@ }, "value": "1" }, - "src": "5177:18:1", + "src": "5128:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 584, - "id": 589, + "functionReturnParameters": 569, + "id": 574, "nodeType": "Return", - "src": "5170:25:1" + "src": "5121:25:1" } ] }, "documentation": null, - "id": 591, + "id": 576, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getMinerCount", "nodeType": "FunctionDefinition", "parameters": { - "id": 581, + "id": 566, "nodeType": "ParameterList", "parameters": [], - "src": "5126:2:1" + "src": "5077:2:1" }, - "payable": false, "returnParameters": { - "id": 584, + "id": 569, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 583, + "id": 568, "name": "", "nodeType": "VariableDeclaration", - "scope": 591, - "src": "5150:7:1", + "scope": 576, + "src": "5101:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8530,10 +8301,10 @@ "typeString": "uint256" }, "typeName": { - "id": 582, + "id": 567, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5150:7:1", + "src": "5101:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8543,56 +8314,56 @@ "visibility": "internal" } ], - "src": "5149:9:1" + "src": "5100:9:1" }, - "scope": 606, - "src": "5104:99:1", + "scope": 591, + "src": "5055:99:1", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 604, + "id": 589, "nodeType": "Block", - "src": "5281:44:1", + "src": "5232:44:1", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 598, + "id": 583, "name": "_miners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "5299:7:1", + "src": "5250:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" } }, - "id": 602, + "id": 587, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 601, + "id": 586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 599, + "id": 584, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "5307:5:1", + "referencedDeclaration": 578, + "src": "5258:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8603,14 +8374,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 600, + "id": 585, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5315:1:1", + "src": "5266:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8618,7 +8389,7 @@ }, "value": "1" }, - "src": "5307:9:1", + "src": "5258:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8629,38 +8400,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5299:18:1", + "src": "5250:18:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 597, - "id": 603, + "functionReturnParameters": 582, + "id": 588, "nodeType": "Return", - "src": "5292:25:1" + "src": "5243:25:1" } ] }, "documentation": null, - "id": 605, + "id": 590, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getMinerByIndex", "nodeType": "FunctionDefinition", "parameters": { - "id": 594, + "id": 579, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 593, + "id": 578, "name": "index", "nodeType": "VariableDeclaration", - "scope": 605, - "src": "5236:13:1", + "scope": 590, + "src": "5187:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8668,10 +8438,10 @@ "typeString": "uint256" }, "typeName": { - "id": 592, + "id": 577, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5236:7:1", + "src": "5187:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8681,20 +8451,19 @@ "visibility": "internal" } ], - "src": "5235:15:1" + "src": "5186:15:1" }, - "payable": false, "returnParameters": { - "id": 597, + "id": 582, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 596, + "id": 581, "name": "", "nodeType": "VariableDeclaration", - "scope": 605, - "src": "5272:7:1", + "scope": 590, + "src": "5223:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8702,10 +8471,11 @@ "typeString": "address" }, "typeName": { - "id": 595, + "id": 580, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5272:7:1", + "src": "5223:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8715,20 +8485,20 @@ "visibility": "internal" } ], - "src": "5271:9:1" + "src": "5222:9:1" }, - "scope": 606, - "src": "5211:114:1", + "scope": 591, + "src": "5162:114:1", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 607, - "src": "556:4772:1" + "scope": 592, + "src": "555:4724:1" } ], - "src": "0:5328:1" + "src": "0:5279:1" }, "id": 1 }, @@ -8737,31 +8507,30 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol", "exportedSymbols": { "AlgoSystemRole": [ - 693 + 678 ] }, - "id": 694, + "id": 679, "nodeType": "SourceUnit", "nodes": [ { - "id": 608, + "id": 593, "literals": [ "solidity", - "^", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:2" + "src": "0:22:2" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", - "id": 609, + "id": 594, "nodeType": "ImportDirective", - "scope": 694, - "sourceUnit": 915, - "src": "28:189:2", + "scope": 679, + "sourceUnit": 900, + "src": "26:189:2", "symbolAliases": [], "unitAlias": "" }, @@ -8771,64 +8540,64 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 693, + "id": 678, "linearizedBaseContracts": [ - 693 + 678 ], "name": "AlgoSystemRole", "nodeType": "ContractDefinition", "nodes": [ { - "id": 612, + "id": 597, "libraryName": { "contractScope": null, - "id": 610, + "id": 595, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 914, - "src": "258:5:2", + "referencedDeclaration": 899, + "src": "256:5:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$914", + "typeIdentifier": "t_contract$_Roles_$899", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "252:27:2", + "src": "250:27:2", "typeName": { "contractScope": null, - "id": 611, + "id": 596, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 827, - "src": "268:10:2", + "referencedDeclaration": 812, + "src": "266:10:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" } } }, { "constant": false, - "id": 614, + "id": 599, "name": "_systemMembers", "nodeType": "VariableDeclaration", - "scope": 693, - "src": "287:33:2", + "scope": 678, + "src": "285:33:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage", + "typeIdentifier": "t_struct$_Role_$812_storage", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 613, + "id": 598, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 827, - "src": "287:10:2", + "referencedDeclaration": 812, + "src": "285:10:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -8837,9 +8606,9 @@ }, { "body": { - "id": 622, + "id": 607, "nodeType": "Block", - "src": "353:41:2", + "src": "351:41:2", "statements": [ { "expression": { @@ -8849,18 +8618,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 618, + "id": 603, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "375:3:2", + "referencedDeclaration": 1256, + "src": "373:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 619, + "id": 604, "isConstant": false, "isLValue": false, "isPure": false, @@ -8868,32 +8637,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "375:10:2", + "src": "373:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 617, + "id": 602, "name": "_addSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "364:10:2", + "referencedDeclaration": 665, + "src": "362:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 620, + "id": 605, "isConstant": false, "isLValue": false, "isPure": false, @@ -8901,50 +8670,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "364:22:2", + "src": "362:22:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 621, + "id": 606, "nodeType": "ExpressionStatement", - "src": "364:22:2" + "src": "362:22:2" } ] }, "documentation": null, - "id": 623, + "id": 608, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 615, + "id": 600, "nodeType": "ParameterList", "parameters": [], - "src": "341:2:2" + "src": "339:2:2" }, - "payable": false, "returnParameters": { - "id": 616, + "id": 601, "nodeType": "ParameterList", "parameters": [], - "src": "353:0:2" + "src": "351:0:2" }, - "scope": 693, - "src": "329:65:2", + "scope": 678, + "src": "327:65:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 633, + "id": 618, "nodeType": "Block", - "src": "424:60:2", + "src": "422:60:2", "statements": [ { "expression": { @@ -8957,18 +8724,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 627, + "id": 612, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "452:3:2", + "referencedDeclaration": 1256, + "src": "450:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 628, + "id": 613, "isConstant": false, "isLValue": false, "isPure": false, @@ -8976,32 +8743,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "452:10:2", + "src": "450:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 626, + "id": 611, "name": "isSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "443:8:2", + "referencedDeclaration": 632, + "src": "441:8:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 629, + "id": 614, "isConstant": false, "isLValue": false, "isPure": false, @@ -9009,7 +8776,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "443:20:2", + "src": "441:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9023,21 +8790,21 @@ "typeString": "bool" } ], - "id": 625, + "id": 610, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "435:7:2", + "referencedDeclaration": 1259, + "src": "433:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 630, + "id": 615, "isConstant": false, "isLValue": false, "isPure": false, @@ -9045,41 +8812,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "435:29:2", + "src": "433:29:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 631, + "id": 616, "nodeType": "ExpressionStatement", - "src": "435:29:2" + "src": "433:29:2" }, { - "id": 632, + "id": 617, "nodeType": "PlaceholderStatement", - "src": "475:1:2" + "src": "473:1:2" } ] }, "documentation": null, - "id": 634, + "id": 619, "name": "onlySystem", "nodeType": "ModifierDefinition", "parameters": { - "id": 624, + "id": 609, "nodeType": "ParameterList", "parameters": [], - "src": "421:2:2" + "src": "419:2:2" }, - "src": "402:82:2", + "src": "400:82:2", "visibility": "internal" }, { "body": { - "id": 646, + "id": 631, "nodeType": "Block", - "src": "554:53:2", + "src": "552:53:2", "statements": [ { "expression": { @@ -9087,12 +8854,12 @@ "arguments": [ { "argumentTypes": null, - "id": 643, + "id": 628, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "591:7:2", + "referencedDeclaration": 621, + "src": "589:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9108,32 +8875,32 @@ ], "expression": { "argumentTypes": null, - "id": 641, + "id": 626, "name": "_systemMembers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 614, - "src": "572:14:2", + "referencedDeclaration": 599, + "src": "570:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage", + "typeIdentifier": "t_struct$_Role_$812_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 642, + "id": 627, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 913, - "src": "572:18:2", + "referencedDeclaration": 898, + "src": "570:18:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$827_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$812_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$812_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 644, + "id": 629, "isConstant": false, "isLValue": false, "isPure": false, @@ -9141,38 +8908,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "572:27:2", + "src": "570:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 640, - "id": 645, + "functionReturnParameters": 625, + "id": 630, "nodeType": "Return", - "src": "565:34:2" + "src": "563:34:2" } ] }, "documentation": null, - "id": 647, + "id": 632, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 637, + "id": 622, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 636, + "id": 621, "name": "account", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "510:15:2", + "scope": 632, + "src": "508:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9180,10 +8946,11 @@ "typeString": "address" }, "typeName": { - "id": 635, + "id": 620, "name": "address", "nodeType": "ElementaryTypeName", - "src": "510:7:2", + "src": "508:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9193,20 +8960,19 @@ "visibility": "internal" } ], - "src": "509:17:2" + "src": "507:17:2" }, - "payable": false, "returnParameters": { - "id": 640, + "id": 625, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 639, + "id": 624, "name": "", "nodeType": "VariableDeclaration", - "scope": 647, - "src": "548:4:2", + "scope": 632, + "src": "546:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9214,10 +8980,10 @@ "typeString": "bool" }, "typeName": { - "id": 638, + "id": 623, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "548:4:2", + "src": "546:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9227,19 +8993,19 @@ "visibility": "internal" } ], - "src": "547:6:2" + "src": "545:6:2" }, - "scope": 693, - "src": "492:115:2", + "scope": 678, + "src": "490:115:2", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 658, + "id": 643, "nodeType": "Block", - "src": "669:38:2", + "src": "667:38:2", "statements": [ { "expression": { @@ -9247,12 +9013,12 @@ "arguments": [ { "argumentTypes": null, - "id": 655, + "id": 640, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 649, - "src": "691:7:2", + "referencedDeclaration": 634, + "src": "689:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9266,18 +9032,18 @@ "typeString": "address" } ], - "id": 654, + "id": 639, "name": "_addSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 680, - "src": "680:10:2", + "referencedDeclaration": 665, + "src": "678:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 656, + "id": 641, "isConstant": false, "isLValue": false, "isPure": false, @@ -9285,57 +9051,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "680:19:2", + "src": "678:19:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 657, + "id": 642, "nodeType": "ExpressionStatement", - "src": "680:19:2" + "src": "678:19:2" } ] }, "documentation": null, - "id": 659, + "id": 644, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 652, + "id": 637, "modifierName": { "argumentTypes": null, - "id": 651, + "id": 636, "name": "onlySystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 634, - "src": "658:10:2", + "referencedDeclaration": 619, + "src": "656:10:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "658:10:2" + "src": "656:10:2" } ], "name": "addSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 650, + "id": 635, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 649, + "id": 634, "name": "account", "nodeType": "VariableDeclaration", - "scope": 659, - "src": "634:15:2", + "scope": 644, + "src": "632:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9343,10 +9108,11 @@ "typeString": "address" }, "typeName": { - "id": 648, + "id": 633, "name": "address", "nodeType": "ElementaryTypeName", - "src": "634:7:2", + "src": "632:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9356,26 +9122,25 @@ "visibility": "internal" } ], - "src": "633:17:2" + "src": "631:17:2" }, - "payable": false, "returnParameters": { - "id": 653, + "id": 638, "nodeType": "ParameterList", "parameters": [], - "src": "669:0:2" + "src": "667:0:2" }, - "scope": 693, - "src": "615:92:2", + "scope": 678, + "src": "613:92:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 667, + "id": 652, "nodeType": "Block", - "src": "748:44:2", + "src": "746:44:2", "statements": [ { "expression": { @@ -9385,18 +9150,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 663, + "id": 648, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "773:3:2", + "referencedDeclaration": 1256, + "src": "771:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 664, + "id": 649, "isConstant": false, "isLValue": false, "isPure": false, @@ -9404,32 +9169,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "773:10:2", + "src": "771:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 662, + "id": 647, "name": "_removeSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 692, - "src": "759:13:2", + "referencedDeclaration": 677, + "src": "757:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 665, + "id": 650, "isConstant": false, "isLValue": false, "isPure": false, @@ -9437,50 +9202,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "759:25:2", + "src": "757:25:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 666, + "id": 651, "nodeType": "ExpressionStatement", - "src": "759:25:2" + "src": "757:25:2" } ] }, "documentation": null, - "id": 668, + "id": 653, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "renounceSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 660, + "id": 645, "nodeType": "ParameterList", "parameters": [], - "src": "738:2:2" + "src": "736:2:2" }, - "payable": false, "returnParameters": { - "id": 661, + "id": 646, "nodeType": "ParameterList", "parameters": [], - "src": "748:0:2" + "src": "746:0:2" }, - "scope": 693, - "src": "715:77:2", + "scope": 678, + "src": "713:77:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 679, + "id": 664, "nodeType": "Block", - "src": "846:46:2", + "src": "844:46:2", "statements": [ { "expression": { @@ -9488,12 +9251,12 @@ "arguments": [ { "argumentTypes": null, - "id": 676, + "id": 661, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 670, - "src": "876:7:2", + "referencedDeclaration": 655, + "src": "874:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9509,32 +9272,32 @@ ], "expression": { "argumentTypes": null, - "id": 673, + "id": 658, "name": "_systemMembers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 614, - "src": "857:14:2", + "referencedDeclaration": 599, + "src": "855:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage", + "typeIdentifier": "t_struct$_Role_$812_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 675, + "id": 660, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 859, - "src": "857:18:2", + "referencedDeclaration": 844, + "src": "855:18:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$812_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$812_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 677, + "id": 662, "isConstant": false, "isLValue": false, "isPure": false, @@ -9542,37 +9305,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "857:27:2", + "src": "855:27:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 678, + "id": 663, "nodeType": "ExpressionStatement", - "src": "857:27:2" + "src": "855:27:2" } ] }, "documentation": null, - "id": 680, + "id": 665, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_addSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 671, + "id": 656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 670, + "id": 655, "name": "account", "nodeType": "VariableDeclaration", - "scope": 680, - "src": "820:15:2", + "scope": 665, + "src": "818:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9580,10 +9342,11 @@ "typeString": "address" }, "typeName": { - "id": 669, + "id": 654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "820:7:2", + "src": "818:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9593,26 +9356,25 @@ "visibility": "internal" } ], - "src": "819:17:2" + "src": "817:17:2" }, - "payable": false, "returnParameters": { - "id": 672, + "id": 657, "nodeType": "ParameterList", "parameters": [], - "src": "846:0:2" + "src": "844:0:2" }, - "scope": 693, - "src": "800:92:2", + "scope": 678, + "src": "798:92:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 691, + "id": 676, "nodeType": "Block", - "src": "949:49:2", + "src": "947:49:2", "statements": [ { "expression": { @@ -9620,12 +9382,12 @@ "arguments": [ { "argumentTypes": null, - "id": 688, + "id": 673, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 682, - "src": "982:7:2", + "referencedDeclaration": 667, + "src": "980:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9641,32 +9403,32 @@ ], "expression": { "argumentTypes": null, - "id": 685, + "id": 670, "name": "_systemMembers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 614, - "src": "960:14:2", + "referencedDeclaration": 599, + "src": "958:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage", + "typeIdentifier": "t_struct$_Role_$812_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 687, + "id": 672, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 890, - "src": "960:21:2", + "referencedDeclaration": 875, + "src": "958:21:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$812_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$812_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 689, + "id": 674, "isConstant": false, "isLValue": false, "isPure": false, @@ -9674,37 +9436,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "960:30:2", + "src": "958:30:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 690, + "id": 675, "nodeType": "ExpressionStatement", - "src": "960:30:2" + "src": "958:30:2" } ] }, "documentation": null, - "id": 692, + "id": 677, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_removeSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 683, + "id": 668, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 682, + "id": 667, "name": "account", "nodeType": "VariableDeclaration", - "scope": 692, - "src": "923:15:2", + "scope": 677, + "src": "921:15:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9712,10 +9473,11 @@ "typeString": "address" }, "typeName": { - "id": 681, + "id": 666, "name": "address", "nodeType": "ElementaryTypeName", - "src": "923:7:2", + "src": "921:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9725,27 +9487,26 @@ "visibility": "internal" } ], - "src": "922:17:2" + "src": "920:17:2" }, - "payable": false, "returnParameters": { - "id": 684, + "id": 669, "nodeType": "ParameterList", "parameters": [], - "src": "949:0:2" + "src": "947:0:2" }, - "scope": 693, - "src": "900:98:2", + "scope": 678, + "src": "898:98:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 694, - "src": "221:780:2" + "scope": 679, + "src": "219:780:2" } ], - "src": "0:1003:2" + "src": "0:1001:2" }, "id": 2 }, @@ -9754,52 +9515,52 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol", "exportedSymbols": { "ERC20TokenHolder": [ - 750 + 735 ] }, - "id": 751, + "id": 736, "nodeType": "SourceUnit", "nodes": [ { - "id": 695, + "id": 680, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:3" + "src": "0:22:3" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", - "id": 696, + "id": 681, "nodeType": "ImportDirective", - "scope": 751, - "sourceUnit": 1112, - "src": "27:195:3", + "scope": 736, + "sourceUnit": 1097, + "src": "26:195:3", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", - "id": 697, + "id": 682, "nodeType": "ImportDirective", - "scope": 751, - "sourceUnit": 1256, - "src": "224:198:3", + "scope": 736, + "sourceUnit": 1242, + "src": "223:198:3", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "file": "./Terminable.sol", - "id": 698, + "id": 683, "nodeType": "ImportDirective", - "scope": 751, - "sourceUnit": 821, - "src": "426:26:3", + "scope": 736, + "sourceUnit": 806, + "src": "425:26:3", "symbolAliases": [], "unitAlias": "" }, @@ -9809,86 +9570,86 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 699, + "id": 684, "name": "Terminable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 820, - "src": "485:10:3", + "referencedDeclaration": 805, + "src": "484:10:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Terminable_$820", + "typeIdentifier": "t_contract$_Terminable_$805", "typeString": "contract Terminable" } }, - "id": 700, + "id": 685, "nodeType": "InheritanceSpecifier", - "src": "485:10:3" + "src": "484:10:3" } ], "contractDependencies": [ - 820 + 805 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 750, + "id": 735, "linearizedBaseContracts": [ - 750, - 820 + 735, + 805 ], "name": "ERC20TokenHolder", "nodeType": "ContractDefinition", "nodes": [ { - "id": 703, + "id": 688, "libraryName": { "contractScope": null, - "id": 701, + "id": 686, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1255, - "src": "509:9:3", + "referencedDeclaration": 1241, + "src": "508:9:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1255", + "typeIdentifier": "t_contract$_SafeERC20_$1241", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "503:27:3", + "src": "502:27:3", "typeName": { "contractScope": null, - "id": 702, + "id": 687, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1111, - "src": "523:6:3", + "referencedDeclaration": 1096, + "src": "522:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } } }, { "constant": false, - "id": 705, + "id": 690, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 750, - "src": "538:22:3", + "scope": 735, + "src": "537:22:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 704, + "id": 689, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1111, - "src": "538:6:3", + "referencedDeclaration": 1096, + "src": "537:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, @@ -9897,28 +9658,28 @@ }, { "body": { - "id": 718, + "id": 703, "nodeType": "Block", - "src": "625:48:3", + "src": "624:48:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 716, + "id": 701, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 712, + "id": 697, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "636:6:3", + "referencedDeclaration": 690, + "src": "635:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, @@ -9929,12 +9690,12 @@ "arguments": [ { "argumentTypes": null, - "id": 714, + "id": 699, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 707, - "src": "652:12:3", + "referencedDeclaration": 692, + "src": "651:12:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9948,18 +9709,18 @@ "typeString": "address" } ], - "id": 713, + "id": 698, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1111, - "src": "645:6:3", + "referencedDeclaration": 1096, + "src": "644:6:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$1111_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$1096_$", "typeString": "type(contract IERC20)" } }, - "id": 715, + "id": 700, "isConstant": false, "isLValue": false, "isPure": false, @@ -9967,63 +9728,62 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "645:20:3", + "src": "644:20:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "src": "636:29:3", + "src": "635:29:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 717, + "id": 702, "nodeType": "ExpressionStatement", - "src": "636:29:3" + "src": "635:29:3" } ] }, "documentation": null, - "id": 719, + "id": 704, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [ { "arguments": [], - "id": 710, + "id": 695, "modifierName": { "argumentTypes": null, - "id": 709, + "id": 694, "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "603:10:3", + "referencedDeclaration": 805, + "src": "602:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$820_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$805_$", "typeString": "type(contract Terminable)" } }, "nodeType": "ModifierInvocation", - "src": "603:12:3" + "src": "602:12:3" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 708, + "id": 693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 707, + "id": 692, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 719, - "src": "581:20:3", + "scope": 704, + "src": "580:20:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10031,10 +9791,11 @@ "typeString": "address" }, "typeName": { - "id": 706, + "id": 691, "name": "address", "nodeType": "ElementaryTypeName", - "src": "581:7:3", + "src": "580:7:3", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10044,39 +9805,38 @@ "visibility": "internal" } ], - "src": "580:22:3" + "src": "579:22:3" }, - "payable": false, "returnParameters": { - "id": 711, + "id": 696, "nodeType": "ParameterList", "parameters": [], - "src": "625:0:3" + "src": "624:0:3" }, - "scope": 750, - "src": "569:104:3", + "scope": 735, + "src": "568:104:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 748, + "id": 733, "nodeType": "Block", - "src": "712:214:3", + "src": "711:214:3", "statements": [ { "assignments": [ - 723 + 708 ], "declarations": [ { "constant": false, - "id": 723, + "id": 708, "name": "currentBalance", "nodeType": "VariableDeclaration", - "scope": 749, - "src": "723:22:3", + "scope": 733, + "src": "722:22:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10084,10 +9844,10 @@ "typeString": "uint256" }, "typeName": { - "id": 722, + "id": 707, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "723:7:3", + "src": "722:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10097,7 +9857,7 @@ "visibility": "internal" } ], - "id": 730, + "id": 715, "initialValue": { "argumentTypes": null, "arguments": [ @@ -10106,14 +9866,14 @@ "arguments": [ { "argumentTypes": null, - "id": 727, + "id": 712, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "773:4:3", + "referencedDeclaration": 1284, + "src": "772:4:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$750", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$735", "typeString": "contract ERC20TokenHolder" } } @@ -10121,24 +9881,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$750", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$735", "typeString": "contract ERC20TokenHolder" } ], - "id": 726, + "id": 711, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "765:7:3", + "src": "764:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 728, + "id": 713, "isConstant": false, "isLValue": false, "isPure": false, @@ -10146,7 +9906,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "765:13:3", + "src": "764:13:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10162,32 +9922,32 @@ ], "expression": { "argumentTypes": null, - "id": 724, + "id": 709, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "748:6:3", + "referencedDeclaration": 690, + "src": "747:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 725, + "id": 710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1056, - "src": "748:16:3", + "referencedDeclaration": 1070, + "src": "747:16:3", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 729, + "id": 714, "isConstant": false, "isLValue": false, "isPure": false, @@ -10195,14 +9955,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "748:31:3", + "src": "747:31:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "723:56:3" + "src": "722:56:3" }, { "condition": { @@ -10211,19 +9971,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 733, + "id": 718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 731, + "id": 716, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "793:14:3", + "referencedDeclaration": 708, + "src": "792:14:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10234,14 +9994,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 732, + "id": 717, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "810:1:3", + "src": "809:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10249,20 +10009,20 @@ }, "value": "0" }, - "src": "793:18:3", + "src": "792:18:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 742, + "id": 727, "nodeType": "IfStatement", - "src": "790:95:3", + "src": "789:95:3", "trueBody": { - "id": 741, + "id": 726, "nodeType": "Block", - "src": "813:72:3", + "src": "812:72:3", "statements": [ { "expression": { @@ -10270,12 +10030,12 @@ "arguments": [ { "argumentTypes": null, - "id": 737, + "id": 722, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "848:8:3", + "referencedDeclaration": 772, + "src": "847:8:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10283,12 +10043,12 @@ }, { "argumentTypes": null, - "id": 738, + "id": 723, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "858:14:3", + "referencedDeclaration": 708, + "src": "857:14:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10308,32 +10068,32 @@ ], "expression": { "argumentTypes": null, - "id": 734, + "id": 719, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 705, - "src": "828:6:3", + "referencedDeclaration": 690, + "src": "827:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 736, + "id": 721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1136, - "src": "828:19:3", + "referencedDeclaration": 1121, + "src": "827:19:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1111_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1111_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1096_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1096_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 739, + "id": 724, "isConstant": false, "isLValue": false, "isPure": false, @@ -10341,15 +10101,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "828:45:3", + "src": "827:45:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 740, + "id": 725, "nodeType": "ExpressionStatement", - "src": "828:45:3" + "src": "827:45:3" } ] } @@ -10362,32 +10122,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 743, + "id": 728, "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "895:10:3", + "referencedDeclaration": 805, + "src": "894:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$820_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$805_$", "typeString": "type(contract Terminable)" } }, - "id": 745, + "id": 730, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_terminate", "nodeType": "MemberAccess", - "referencedDeclaration": 819, - "src": "895:21:3", + "referencedDeclaration": 804, + "src": "894:21:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 746, + "id": 731, "isConstant": false, "isLValue": false, "isPure": false, @@ -10395,51 +10155,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "895:23:3", + "src": "894:23:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 747, + "id": 732, "nodeType": "ExpressionStatement", - "src": "895:23:3" + "src": "894:23:3" } ] }, "documentation": null, - "id": 749, + "id": 734, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 720, + "id": 705, "nodeType": "ParameterList", "parameters": [], - "src": "700:2:3" + "src": "699:2:3" }, - "payable": false, "returnParameters": { - "id": 721, + "id": 706, "nodeType": "ParameterList", "parameters": [], - "src": "712:0:3" + "src": "711:0:3" }, - "scope": 750, - "src": "681:245:3", + "scope": 735, + "src": "680:245:3", "stateMutability": "nonpayable", - "superFunction": 819, + "superFunction": 804, "visibility": "internal" } ], - "scope": 751, - "src": "456:473:3" + "scope": 736, + "src": "455:473:3" } ], - "src": "0:929:3" + "src": "0:928:3" }, "id": 3 }, @@ -10448,21 +10206,21 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol", "exportedSymbols": { "IAlgoMiner": [ - 783 + 768 ] }, - "id": 784, + "id": 769, "nodeType": "SourceUnit", "nodes": [ { - "id": 752, + "id": 737, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:4" + "src": "0:22:4" }, { "baseContracts": [], @@ -10470,9 +10228,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 783, + "id": 768, "linearizedBaseContracts": [ - 783 + 768 ], "name": "IAlgoMiner", "nodeType": "ContractDefinition", @@ -10480,20 +10238,180 @@ { "body": null, "documentation": null, - "id": 757, + "id": 742, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isAlgoMiner", "nodeType": "FunctionDefinition", + "parameters": { + "id": 738, + "nodeType": "ParameterList", + "parameters": [], + "src": "73:2:4" + }, + "returnParameters": { + "id": 741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 740, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "97:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 739, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "97:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "96:6:4" + }, + "scope": 768, + "src": "53:50:4", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 747, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getMinerType", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 743, + "nodeType": "ParameterList", + "parameters": [], + "src": "130:2:4" + }, + "returnParameters": { + "id": 746, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 745, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 747, + "src": "154:5:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 744, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "154:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "153:7:4" + }, + "scope": 768, + "src": "109:52:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 752, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 748, + "nodeType": "ParameterList", + "parameters": [], + "src": "187:2:4" + }, + "returnParameters": { + "id": 751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 750, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 752, + "src": "211:5:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 749, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "211:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "210:7:4" + }, + "scope": 768, + "src": "167:51:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 757, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getMiner", + "nodeType": "FunctionDefinition", "parameters": { "id": 753, "nodeType": "ParameterList", "parameters": [], - "src": "74:2:4" + "src": "241:2:4" }, - "payable": false, "returnParameters": { "id": 756, "nodeType": "ParameterList", @@ -10504,32 +10422,33 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 757, - "src": "98:4:4", + "src": "265:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { "id": 754, - "name": "bool", + "name": "address", "nodeType": "ElementaryTypeName", - "src": "98:4:4", + "src": "265:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "97:6:4" + "src": "264:9:4" }, - "scope": 783, - "src": "54:50:4", - "stateMutability": "pure", + "scope": 768, + "src": "224:50:4", + "stateMutability": "view", "superFunction": null, "visibility": "public" }, @@ -10538,18 +10457,16 @@ "documentation": null, "id": 762, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "getMinerType", + "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { "id": 758, "nodeType": "ParameterList", "parameters": [], - "src": "131:2:4" + "src": "300:2:4" }, - "payable": false, "returnParameters": { "id": 761, "nodeType": "ParameterList", @@ -10560,31 +10477,32 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 762, - "src": "155:5:4", + "src": "324:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { "id": 759, - "name": "uint8", + "name": "address", "nodeType": "ElementaryTypeName", - "src": "155:5:4", + "src": "324:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "154:7:4" + "src": "323:9:4" }, - "scope": 783, - "src": "110:52:4", + "scope": 768, + "src": "280:53:4", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -10594,18 +10512,16 @@ "documentation": null, "id": 767, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "getCategory", + "name": "isMining", "nodeType": "FunctionDefinition", "parameters": { "id": 763, "nodeType": "ParameterList", "parameters": [], - "src": "188:2:4" + "src": "356:2:4" }, - "payable": false, "returnParameters": { "id": 766, "nodeType": "ParameterList", @@ -10616,175 +10532,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 767, - "src": "212:5:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 764, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "212:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "211:7:4" - }, - "scope": 783, - "src": "168:51:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 772, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getMiner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 768, - "nodeType": "ParameterList", - "parameters": [], - "src": "242:2:4" - }, - "payable": false, - "returnParameters": { - "id": 771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 770, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 772, - "src": "266:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 769, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "266:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:9:4" - }, - "scope": 783, - "src": "225:50:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 777, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "getReferral", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 773, - "nodeType": "ParameterList", - "parameters": [], - "src": "301:2:4" - }, - "payable": false, - "returnParameters": { - "id": 776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 775, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 777, - "src": "325:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "325:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "324:9:4" - }, - "scope": 783, - "src": "281:53:4", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": null, - "documentation": null, - "id": 782, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "isMining", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 778, - "nodeType": "ParameterList", - "parameters": [], - "src": "357:2:4" - }, - "payable": false, - "returnParameters": { - "id": 781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 780, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 782, - "src": "381:4:4", + "src": "380:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10792,10 +10540,10 @@ "typeString": "bool" }, "typeName": { - "id": 779, + "id": 764, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "381:4:4", + "src": "380:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10805,20 +10553,20 @@ "visibility": "internal" } ], - "src": "380:6:4" + "src": "379:6:4" }, - "scope": 783, - "src": "340:47:4", + "scope": 768, + "src": "339:47:4", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 784, - "src": "27:363:4" + "scope": 769, + "src": "26:363:4" } ], - "src": "0:390:4" + "src": "0:389:4" }, "id": 4 }, @@ -10827,21 +10575,21 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "exportedSymbols": { "Terminable": [ - 820 + 805 ] }, - "id": 821, + "id": 806, "nodeType": "SourceUnit", "nodes": [ { - "id": 785, + "id": 770, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:5" + "src": "0:22:5" }, { "baseContracts": [], @@ -10849,20 +10597,20 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 820, + "id": 805, "linearizedBaseContracts": [ - 820 + 805 ], "name": "Terminable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 787, + "id": 772, "name": "_creator", "nodeType": "VariableDeclaration", - "scope": 820, - "src": "56:25:5", + "scope": 805, + "src": "55:25:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10870,10 +10618,11 @@ "typeString": "address" }, "typeName": { - "id": 786, + "id": 771, "name": "address", "nodeType": "ElementaryTypeName", - "src": "56:7:5", + "src": "55:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10884,11 +10633,11 @@ }, { "constant": false, - "id": 789, + "id": 774, "name": "_terminated", "nodeType": "VariableDeclaration", - "scope": 820, - "src": "88:25:5", + "scope": 805, + "src": "87:25:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -10896,10 +10645,10 @@ "typeString": "bool" }, "typeName": { - "id": 788, + "id": 773, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "88:4:5", + "src": "87:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10910,26 +10659,26 @@ }, { "body": { - "id": 801, + "id": 786, "nodeType": "Block", - "src": "145:70:5", + "src": "144:70:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 795, + "id": 780, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 792, + "id": 777, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "156:8:5", + "referencedDeclaration": 772, + "src": "155:8:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10941,18 +10690,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 793, + "id": 778, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "167:3:5", + "referencedDeclaration": 1256, + "src": "166:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 794, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -10960,38 +10709,38 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "167:10:5", + "src": "166:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "156:21:5", + "src": "155:21:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 796, + "id": 781, "nodeType": "ExpressionStatement", - "src": "156:21:5" + "src": "155:21:5" }, { "expression": { "argumentTypes": null, - "id": 799, + "id": 784, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 797, + "id": 782, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "188:11:5", + "referencedDeclaration": 774, + "src": "187:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11002,14 +10751,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 798, + "id": 783, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "202:5:5", + "src": "201:5:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11017,50 +10766,48 @@ }, "value": "false" }, - "src": "188:19:5", + "src": "187:19:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 800, + "id": 785, "nodeType": "ExpressionStatement", - "src": "188:19:5" + "src": "187:19:5" } ] }, "documentation": null, - "id": 802, + "id": 787, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 790, + "id": 775, "nodeType": "ParameterList", "parameters": [], - "src": "133:2:5" + "src": "132:2:5" }, - "payable": false, "returnParameters": { - "id": 791, + "id": 776, "nodeType": "ParameterList", "parameters": [], - "src": "145:0:5" + "src": "144:0:5" }, - "scope": 820, - "src": "122:93:5", + "scope": 805, + "src": "121:93:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 810, + "id": 795, "nodeType": "Block", - "src": "248:52:5", + "src": "247:52:5", "statements": [ { "expression": { @@ -11068,7 +10815,7 @@ "arguments": [ { "argumentTypes": null, - "id": 806, + "id": 791, "isConstant": false, "isLValue": false, "isPure": false, @@ -11076,15 +10823,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "267:12:5", + "src": "266:12:5", "subExpression": { "argumentTypes": null, - "id": 805, + "id": 790, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "268:11:5", + "referencedDeclaration": 774, + "src": "267:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11103,21 +10850,21 @@ "typeString": "bool" } ], - "id": 804, + "id": 789, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "259:7:5", + "referencedDeclaration": 1259, + "src": "258:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 807, + "id": 792, "isConstant": false, "isLValue": false, "isPure": false, @@ -11125,58 +10872,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "259:21:5", + "src": "258:21:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 808, + "id": 793, "nodeType": "ExpressionStatement", - "src": "259:21:5" + "src": "258:21:5" }, { - "id": 809, + "id": 794, "nodeType": "PlaceholderStatement", - "src": "291:1:5" + "src": "290:1:5" } ] }, "documentation": null, - "id": 811, + "id": 796, "name": "notTerminated", "nodeType": "ModifierDefinition", "parameters": { - "id": 803, + "id": 788, "nodeType": "ParameterList", "parameters": [], - "src": "245:2:5" + "src": "244:2:5" }, - "src": "223:77:5", + "src": "222:77:5", "visibility": "internal" }, { "body": { - "id": 818, + "id": 803, "nodeType": "Block", - "src": "339:37:5", + "src": "338:37:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 816, + "id": 801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 814, + "id": 799, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "350:11:5", + "referencedDeclaration": 774, + "src": "349:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11187,14 +10934,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 815, + "id": 800, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "364:4:5", + "src": "363:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11202,51 +10949,49 @@ }, "value": "true" }, - "src": "350:18:5", + "src": "349:18:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 817, + "id": 802, "nodeType": "ExpressionStatement", - "src": "350:18:5" + "src": "349:18:5" } ] }, "documentation": null, - "id": 819, + "id": 804, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 812, + "id": 797, "nodeType": "ParameterList", "parameters": [], - "src": "327:2:5" + "src": "326:2:5" }, - "payable": false, "returnParameters": { - "id": 813, + "id": 798, "nodeType": "ParameterList", "parameters": [], - "src": "339:0:5" + "src": "338:0:5" }, - "scope": 820, - "src": "308:68:5", + "scope": 805, + "src": "307:68:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 821, - "src": "27:352:5" + "scope": 806, + "src": "26:352:5" } ], - "src": "0:379:5" + "src": "0:378:5" }, "id": 5 }, @@ -11255,22 +11000,22 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 914 + 899 ] }, - "id": 915, + "id": 900, "nodeType": "SourceUnit", "nodes": [ { - "id": 822, + "id": 807, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:6" + "src": "0:23:6" }, { "baseContracts": [], @@ -11278,24 +11023,24 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 914, + "id": 899, "linearizedBaseContracts": [ - 914 + 899 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 827, + "id": 812, "members": [ { "constant": false, - "id": 826, + "id": 811, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 827, - "src": "145:32:6", + "scope": 812, + "src": "150:32:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11303,28 +11048,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 825, + "id": 810, "keyType": { - "id": 823, + "id": 808, "name": "address", "nodeType": "ElementaryTypeName", - "src": "154:7:6", + "src": "159:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "145:25:6", + "src": "150:25:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 824, + "id": 809, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "165:4:6", + "src": "170:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11337,15 +11082,15 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 914, - "src": "127:55:6", + "scope": 899, + "src": "128:61:6", "visibility": "public" }, { "body": { - "id": 858, + "id": 843, "nodeType": "Block", - "src": "302:109:6", + "src": "317:123:6", "statements": [ { "expression": { @@ -11357,19 +11102,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 839, + "id": 824, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 835, + "id": 820, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 831, - "src": "316:7:6", + "referencedDeclaration": 816, + "src": "335:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11383,14 +11128,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 837, + "id": 822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "335:1:6", + "src": "354:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11406,20 +11151,20 @@ "typeString": "int_const 0" } ], - "id": 836, + "id": 821, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "327:7:6", + "src": "346:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 838, + "id": 823, "isConstant": false, "isLValue": false, "isPure": true, @@ -11427,13 +11172,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "327:10:6", + "src": "346:10:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "316:21:6", + "src": "335:21:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11447,21 +11192,21 @@ "typeString": "bool" } ], - "id": 834, + "id": 819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "308:7:6", + "referencedDeclaration": 1259, + "src": "327:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 840, + "id": 825, "isConstant": false, "isLValue": false, "isPure": false, @@ -11469,15 +11214,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "308:30:6", + "src": "327:30:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 841, + "id": 826, "nodeType": "ExpressionStatement", - "src": "308:30:6" + "src": "327:30:6" }, { "expression": { @@ -11485,7 +11230,7 @@ "arguments": [ { "argumentTypes": null, - "id": 847, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, @@ -11493,31 +11238,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "352:19:6", + "src": "375:19:6", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 844, + "id": 829, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "357:4:6", + "referencedDeclaration": 814, + "src": "380:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 845, + "id": 830, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 831, - "src": "363:7:6", + "referencedDeclaration": 816, + "src": "386:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11527,7 +11272,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -11535,18 +11280,18 @@ "typeString": "address" } ], - "id": 843, + "id": 828, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "353:3:6", + "referencedDeclaration": 898, + "src": "376:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$812_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 846, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -11554,7 +11299,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "353:18:6", + "src": "376:18:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11573,21 +11318,21 @@ "typeString": "bool" } ], - "id": 842, + "id": 827, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "344:7:6", + "referencedDeclaration": 1259, + "src": "367:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 848, + "id": 833, "isConstant": false, "isLValue": false, "isPure": false, @@ -11595,20 +11340,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "344:28:6", + "src": "367:28:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 849, + "id": 834, "nodeType": "ExpressionStatement", - "src": "344:28:6" + "src": "367:28:6" }, { "expression": { "argumentTypes": null, - "id": 856, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, @@ -11619,40 +11364,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 850, + "id": 835, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "379:4:6", + "referencedDeclaration": 814, + "src": "406:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 853, + "id": 838, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 826, - "src": "379:11:6", + "referencedDeclaration": 811, + "src": "406:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 854, + "id": 839, "indexExpression": { "argumentTypes": null, - "id": 852, + "id": 837, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 831, - "src": "391:7:6", + "referencedDeclaration": 816, + "src": "418:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11663,7 +11408,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "379:20:6", + "src": "406:20:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11674,14 +11419,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 855, + "id": 840, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "402:4:6", + "src": "429:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11689,52 +11434,51 @@ }, "value": "true" }, - "src": "379:27:6", + "src": "406:27:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 857, + "id": 842, "nodeType": "ExpressionStatement", - "src": "379:27:6" + "src": "406:27:6" } ] }, "documentation": "@dev give an account access to this role", - "id": 859, + "id": 844, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 832, + "id": 817, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 829, + "id": 814, "name": "role", "nodeType": "VariableDeclaration", - "scope": 859, - "src": "257:17:6", + "scope": 844, + "src": "272:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 828, + "id": 813, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 827, - "src": "257:4:6", + "referencedDeclaration": 812, + "src": "272:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -11743,11 +11487,11 @@ }, { "constant": false, - "id": 831, + "id": 816, "name": "account", "nodeType": "VariableDeclaration", - "scope": 859, - "src": "276:15:6", + "scope": 844, + "src": "291:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11755,10 +11499,11 @@ "typeString": "address" }, "typeName": { - "id": 830, + "id": 815, "name": "address", "nodeType": "ElementaryTypeName", - "src": "276:7:6", + "src": "291:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11768,26 +11513,25 @@ "visibility": "internal" } ], - "src": "256:36:6" + "src": "271:36:6" }, - "payable": false, "returnParameters": { - "id": 833, + "id": 818, "nodeType": "ParameterList", "parameters": [], - "src": "302:0:6" + "src": "317:0:6" }, - "scope": 914, - "src": "244:167:6", + "scope": 899, + "src": "259:181:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 889, + "id": 874, "nodeType": "Block", - "src": "538:109:6", + "src": "575:123:6", "statements": [ { "expression": { @@ -11799,19 +11543,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 871, + "id": 856, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 867, + "id": 852, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "552:7:6", + "referencedDeclaration": 848, + "src": "593:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11825,14 +11569,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 869, + "id": 854, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "571:1:6", + "src": "612:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11848,20 +11592,20 @@ "typeString": "int_const 0" } ], - "id": 868, + "id": 853, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "563:7:6", + "src": "604:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 870, + "id": 855, "isConstant": false, "isLValue": false, "isPure": true, @@ -11869,13 +11613,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "563:10:6", + "src": "604:10:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "552:21:6", + "src": "593:21:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11889,21 +11633,21 @@ "typeString": "bool" } ], - "id": 866, + "id": 851, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "544:7:6", + "referencedDeclaration": 1259, + "src": "585:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 872, + "id": 857, "isConstant": false, "isLValue": false, "isPure": false, @@ -11911,15 +11655,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "544:30:6", + "src": "585:30:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 873, + "id": 858, "nodeType": "ExpressionStatement", - "src": "544:30:6" + "src": "585:30:6" }, { "expression": { @@ -11930,25 +11674,25 @@ "arguments": [ { "argumentTypes": null, - "id": 876, + "id": 861, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "592:4:6", + "referencedDeclaration": 846, + "src": "637:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 877, + "id": 862, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "598:7:6", + "referencedDeclaration": 848, + "src": "643:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11958,7 +11702,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -11966,18 +11710,18 @@ "typeString": "address" } ], - "id": 875, + "id": 860, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "588:3:6", + "referencedDeclaration": 898, + "src": "633:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$812_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 878, + "id": 863, "isConstant": false, "isLValue": false, "isPure": false, @@ -11985,7 +11729,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "588:18:6", + "src": "633:18:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11999,21 +11743,21 @@ "typeString": "bool" } ], - "id": 874, + "id": 859, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "580:7:6", + "referencedDeclaration": 1259, + "src": "625:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 879, + "id": 864, "isConstant": false, "isLValue": false, "isPure": false, @@ -12021,20 +11765,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "580:27:6", + "src": "625:27:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 880, + "id": 865, "nodeType": "ExpressionStatement", - "src": "580:27:6" + "src": "625:27:6" }, { "expression": { "argumentTypes": null, - "id": 887, + "id": 872, "isConstant": false, "isLValue": false, "isPure": false, @@ -12045,40 +11789,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 881, + "id": 866, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "614:4:6", + "referencedDeclaration": 846, + "src": "663:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 884, + "id": 869, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 826, - "src": "614:11:6", + "referencedDeclaration": 811, + "src": "663:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 885, + "id": 870, "indexExpression": { "argumentTypes": null, - "id": 883, + "id": 868, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "626:7:6", + "referencedDeclaration": 848, + "src": "675:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12089,7 +11833,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "614:20:6", + "src": "663:20:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12100,14 +11844,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 886, + "id": 871, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "637:5:6", + "src": "686:5:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -12115,52 +11859,51 @@ }, "value": "false" }, - "src": "614:28:6", + "src": "663:28:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 888, + "id": 873, "nodeType": "ExpressionStatement", - "src": "614:28:6" + "src": "663:28:6" } ] }, "documentation": "@dev remove an account's access to this role", - "id": 890, + "id": 875, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 864, + "id": 849, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 861, + "id": 846, "name": "role", "nodeType": "VariableDeclaration", - "scope": 890, - "src": "493:17:6", + "scope": 875, + "src": "530:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 860, + "id": 845, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 827, - "src": "493:4:6", + "referencedDeclaration": 812, + "src": "530:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12169,11 +11912,11 @@ }, { "constant": false, - "id": 863, + "id": 848, "name": "account", "nodeType": "VariableDeclaration", - "scope": 890, - "src": "512:15:6", + "scope": 875, + "src": "549:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12181,10 +11924,11 @@ "typeString": "address" }, "typeName": { - "id": 862, + "id": 847, "name": "address", "nodeType": "ElementaryTypeName", - "src": "512:7:6", + "src": "549:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12194,26 +11938,25 @@ "visibility": "internal" } ], - "src": "492:36:6" + "src": "529:36:6" }, - "payable": false, "returnParameters": { - "id": 865, + "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "538:0:6" + "src": "575:0:6" }, - "scope": 914, - "src": "477:170:6", + "scope": 899, + "src": "514:184:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 912, + "id": 897, "nodeType": "Block", - "src": "817:74:6", + "src": "864:84:6", "statements": [ { "expression": { @@ -12225,19 +11968,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 904, + "id": 889, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 900, + "id": 885, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "831:7:6", + "referencedDeclaration": 879, + "src": "882:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12251,14 +11994,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 902, + "id": 887, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "850:1:6", + "src": "901:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12274,20 +12017,20 @@ "typeString": "int_const 0" } ], - "id": 901, + "id": 886, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "842:7:6", + "src": "893:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 903, + "id": 888, "isConstant": false, "isLValue": false, "isPure": true, @@ -12295,13 +12038,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "842:10:6", + "src": "893:10:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "831:21:6", + "src": "882:21:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12315,21 +12058,21 @@ "typeString": "bool" } ], - "id": 899, + "id": 884, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "823:7:6", + "referencedDeclaration": 1259, + "src": "874:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 905, + "id": 890, "isConstant": false, "isLValue": false, "isPure": false, @@ -12337,15 +12080,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "823:30:6", + "src": "874:30:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 906, + "id": 891, "nodeType": "ExpressionStatement", - "src": "823:30:6" + "src": "874:30:6" }, { "expression": { @@ -12354,40 +12097,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 907, + "id": 892, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "866:4:6", + "referencedDeclaration": 877, + "src": "921:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 908, + "id": 893, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 826, - "src": "866:11:6", + "referencedDeclaration": 811, + "src": "921:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 910, + "id": 895, "indexExpression": { "argumentTypes": null, - "id": 909, + "id": 894, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "878:7:6", + "referencedDeclaration": 879, + "src": "933:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12398,53 +12141,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "866:20:6", + "src": "921:20:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 898, - "id": 911, + "functionReturnParameters": 883, + "id": 896, "nodeType": "Return", - "src": "859:27:6" + "src": "914:27:6" } ] }, "documentation": "@dev check if an account has this role\n@return bool", - "id": 913, + "id": 898, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 895, + "id": 880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 892, + "id": 877, "name": "role", "nodeType": "VariableDeclaration", - "scope": 913, - "src": "738:17:6", + "scope": 898, + "src": "799:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 891, + "id": 876, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 827, - "src": "738:4:6", + "referencedDeclaration": 812, + "src": "799:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$827_storage_ptr", + "typeIdentifier": "t_struct$_Role_$812_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12453,11 +12195,11 @@ }, { "constant": false, - "id": 894, + "id": 879, "name": "account", "nodeType": "VariableDeclaration", - "scope": 913, - "src": "757:15:6", + "scope": 898, + "src": "818:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12465,10 +12207,11 @@ "typeString": "address" }, "typeName": { - "id": 893, + "id": 878, "name": "address", "nodeType": "ElementaryTypeName", - "src": "757:7:6", + "src": "818:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12478,20 +12221,19 @@ "visibility": "internal" } ], - "src": "737:36:6" + "src": "798:36:6" }, - "payable": false, "returnParameters": { - "id": 898, + "id": 883, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 897, + "id": 882, "name": "", "nodeType": "VariableDeclaration", - "scope": 913, - "src": "809:4:6", + "scope": 898, + "src": "858:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12499,10 +12241,10 @@ "typeString": "bool" }, "typeName": { - "id": 896, + "id": 881, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "809:4:6", + "src": "858:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12512,20 +12254,20 @@ "visibility": "internal" } ], - "src": "808:6:6" + "src": "857:6:6" }, - "scope": 914, - "src": "725:166:6", + "scope": 899, + "src": "786:162:6", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 915, - "src": "109:784:6" + "scope": 900, + "src": "108:842:6" } ], - "src": "0:894:6" + "src": "0:951:6" }, "id": 6 }, @@ -12534,41 +12276,41 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1042 + 1027 ] }, - "id": 1043, + "id": 1028, "nodeType": "SourceUnit", "nodes": [ { - "id": 916, + "id": 901, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:23:7" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", + "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1042, + "id": 1027, "linearizedBaseContracts": [ - 1042 + 1027 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 948, + "id": 933, "nodeType": "Block", - "src": "271:314:7", + "src": "296:354:7", "statements": [ { "condition": { @@ -12577,19 +12319,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 927, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 925, + "id": 910, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 918, - "src": "486:1:7", + "referencedDeclaration": 903, + "src": "527:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12600,14 +12342,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 926, + "id": 911, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "491:1:7", + "src": "532:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12615,33 +12357,33 @@ }, "value": "0" }, - "src": "486:6:7", + "src": "527:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 931, + "id": 916, "nodeType": "IfStatement", - "src": "482:35:7", + "src": "523:45:7", "trueBody": { - "id": 930, + "id": 915, "nodeType": "Block", - "src": "494:23:7", + "src": "535:33:7", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 928, + "id": 913, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "509:1:7", + "src": "556:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12649,26 +12391,26 @@ }, "value": "0" }, - "functionReturnParameters": 924, - "id": 929, + "functionReturnParameters": 909, + "id": 914, "nodeType": "Return", - "src": "502:8:7" + "src": "549:8:7" } ] } }, { "assignments": [ - 933 + 918 ], "declarations": [ { "constant": false, - "id": 933, + "id": 918, "name": "c", "nodeType": "VariableDeclaration", - "scope": 949, - "src": "523:9:7", + "scope": 933, + "src": "578:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12676,10 +12418,10 @@ "typeString": "uint256" }, "typeName": { - "id": 932, + "id": 917, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "523:7:7", + "src": "578:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12689,26 +12431,26 @@ "visibility": "internal" } ], - "id": 937, + "id": 922, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 936, + "id": 921, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 934, + "id": 919, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 918, - "src": "535:1:7", + "referencedDeclaration": 903, + "src": "590:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12718,25 +12460,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 935, + "id": 920, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 920, - "src": "539:1:7", + "referencedDeclaration": 905, + "src": "594:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "535:5:7", + "src": "590:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "523:17:7" + "src": "578:17:7" }, { "expression": { @@ -12748,7 +12490,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 943, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -12759,19 +12501,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 941, + "id": 926, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 939, + "id": 924, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "554:1:7", + "referencedDeclaration": 918, + "src": "613:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12781,18 +12523,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 940, + "id": 925, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 918, - "src": "558:1:7", + "referencedDeclaration": 903, + "src": "617:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "554:5:7", + "src": "613:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12802,18 +12544,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 942, + "id": 927, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 920, - "src": "563:1:7", + "referencedDeclaration": 905, + "src": "622:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "554:10:7", + "src": "613:10:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12827,21 +12569,21 @@ "typeString": "bool" } ], - "id": 938, + "id": 923, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "546:7:7", + "referencedDeclaration": 1259, + "src": "605:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 944, + "id": 929, "isConstant": false, "isLValue": false, "isPure": false, @@ -12849,56 +12591,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "546:19:7", + "src": "605:19:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 945, + "id": 930, "nodeType": "ExpressionStatement", - "src": "546:19:7" + "src": "605:19:7" }, { "expression": { "argumentTypes": null, - "id": 946, + "id": 931, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 933, - "src": "579:1:7", + "referencedDeclaration": 918, + "src": "642:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 924, - "id": 947, + "functionReturnParameters": 909, + "id": 932, "nodeType": "Return", - "src": "572:8:7" + "src": "635:8:7" } ] }, - "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 949, + "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", + "id": 934, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 921, + "id": 906, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 918, + "id": 903, "name": "a", "nodeType": "VariableDeclaration", - "scope": 949, - "src": "217:9:7", + "scope": 934, + "src": "242:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12906,10 +12647,10 @@ "typeString": "uint256" }, "typeName": { - "id": 917, + "id": 902, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "217:7:7", + "src": "242:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12920,11 +12661,11 @@ }, { "constant": false, - "id": 920, + "id": 905, "name": "b", "nodeType": "VariableDeclaration", - "scope": 949, - "src": "228:9:7", + "scope": 934, + "src": "253:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12932,10 +12673,10 @@ "typeString": "uint256" }, "typeName": { - "id": 919, + "id": 904, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "228:7:7", + "src": "253:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12945,20 +12686,19 @@ "visibility": "internal" } ], - "src": "216:22:7" + "src": "241:22:7" }, - "payable": false, "returnParameters": { - "id": 924, + "id": 909, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 923, + "id": 908, "name": "", "nodeType": "VariableDeclaration", - "scope": 949, - "src": "262:7:7", + "scope": 934, + "src": "287:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12966,10 +12706,10 @@ "typeString": "uint256" }, "typeName": { - "id": 922, + "id": 907, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "262:7:7", + "src": "287:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12979,19 +12719,19 @@ "visibility": "internal" } ], - "src": "261:9:7" + "src": "286:9:7" }, - "scope": 1042, - "src": "204:381:7", + "scope": 1027, + "src": "229:421:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 972, + "id": 957, "nodeType": "Block", - "src": "762:203:7", + "src": "845:229:7", "statements": [ { "expression": { @@ -13003,19 +12743,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 961, + "id": 946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 959, + "id": 944, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "776:1:7", + "referencedDeclaration": 938, + "src": "929:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13026,14 +12766,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 960, + "id": 945, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "780:1:7", + "src": "933:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13041,7 +12781,7 @@ }, "value": "0" }, - "src": "776:5:7", + "src": "929:5:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13055,21 +12795,21 @@ "typeString": "bool" } ], - "id": 958, + "id": 943, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "768:7:7", + "referencedDeclaration": 1259, + "src": "921:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 962, + "id": 947, "isConstant": false, "isLValue": false, "isPure": false, @@ -13077,28 +12817,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "768:14:7", + "src": "921:14:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 963, + "id": 948, "nodeType": "ExpressionStatement", - "src": "768:14:7" + "src": "921:14:7" }, { "assignments": [ - 965 + 950 ], "declarations": [ { "constant": false, - "id": 965, + "id": 950, "name": "c", "nodeType": "VariableDeclaration", - "scope": 973, - "src": "846:9:7", + "scope": 957, + "src": "945:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13106,10 +12846,10 @@ "typeString": "uint256" }, "typeName": { - "id": 964, + "id": 949, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "846:7:7", + "src": "945:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13119,26 +12859,26 @@ "visibility": "internal" } ], - "id": 969, + "id": 954, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 968, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 966, + "id": 951, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "858:1:7", + "referencedDeclaration": 936, + "src": "957:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13148,66 +12888,65 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 967, + "id": 952, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "862:1:7", + "referencedDeclaration": 938, + "src": "961:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "858:5:7", + "src": "957:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "846:17:7" + "src": "945:17:7" }, { "expression": { "argumentTypes": null, - "id": 970, + "id": 955, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 965, - "src": "959:1:7", + "referencedDeclaration": 950, + "src": "1066:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 957, - "id": 971, + "functionReturnParameters": 942, + "id": 956, "nodeType": "Return", - "src": "952:8:7" + "src": "1059:8:7" } ] }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 973, + "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", + "id": 958, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 954, + "id": 939, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 951, + "id": 936, "name": "a", "nodeType": "VariableDeclaration", - "scope": 973, - "src": "708:9:7", + "scope": 958, + "src": "791:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13215,10 +12954,10 @@ "typeString": "uint256" }, "typeName": { - "id": 950, + "id": 935, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "708:7:7", + "src": "791:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13229,11 +12968,11 @@ }, { "constant": false, - "id": 953, + "id": 938, "name": "b", "nodeType": "VariableDeclaration", - "scope": 973, - "src": "719:9:7", + "scope": 958, + "src": "802:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13241,10 +12980,10 @@ "typeString": "uint256" }, "typeName": { - "id": 952, + "id": 937, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "719:7:7", + "src": "802:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13254,20 +12993,19 @@ "visibility": "internal" } ], - "src": "707:22:7" + "src": "790:22:7" }, - "payable": false, "returnParameters": { - "id": 957, + "id": 942, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 956, + "id": 941, "name": "", "nodeType": "VariableDeclaration", - "scope": 973, - "src": "753:7:7", + "scope": 958, + "src": "836:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13275,10 +13013,10 @@ "typeString": "uint256" }, "typeName": { - "id": 955, + "id": 940, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "753:7:7", + "src": "836:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13288,19 +13026,19 @@ "visibility": "internal" } ], - "src": "752:9:7" + "src": "835:9:7" }, - "scope": 1042, - "src": "695:270:7", + "scope": 1027, + "src": "778:296:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 996, + "id": 981, "nodeType": "Block", - "src": "1145:64:7", + "src": "1272:78:7", "statements": [ { "expression": { @@ -13312,19 +13050,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 985, + "id": 970, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 983, + "id": 968, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 977, - "src": "1159:1:7", + "referencedDeclaration": 962, + "src": "1290:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13334,18 +13072,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 984, + "id": 969, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "1164:1:7", + "referencedDeclaration": 960, + "src": "1295:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1159:6:7", + "src": "1290:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13359,21 +13097,21 @@ "typeString": "bool" } ], - "id": 982, + "id": 967, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1151:7:7", + "referencedDeclaration": 1259, + "src": "1282:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 986, + "id": 971, "isConstant": false, "isLValue": false, "isPure": false, @@ -13381,28 +13119,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1151:15:7", + "src": "1282:15:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 987, + "id": 972, "nodeType": "ExpressionStatement", - "src": "1151:15:7" + "src": "1282:15:7" }, { "assignments": [ - 989 + 974 ], "declarations": [ { "constant": false, - "id": 989, + "id": 974, "name": "c", "nodeType": "VariableDeclaration", - "scope": 997, - "src": "1172:9:7", + "scope": 981, + "src": "1307:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13410,10 +13148,10 @@ "typeString": "uint256" }, "typeName": { - "id": 988, + "id": 973, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1172:7:7", + "src": "1307:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13423,26 +13161,26 @@ "visibility": "internal" } ], - "id": 993, + "id": 978, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 992, + "id": 977, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 990, + "id": 975, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 975, - "src": "1184:1:7", + "referencedDeclaration": 960, + "src": "1319:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13452,66 +13190,65 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 991, + "id": 976, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 977, - "src": "1188:1:7", + "referencedDeclaration": 962, + "src": "1323:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1184:5:7", + "src": "1319:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1172:17:7" + "src": "1307:17:7" }, { "expression": { "argumentTypes": null, - "id": 994, + "id": 979, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 989, - "src": "1203:1:7", + "referencedDeclaration": 974, + "src": "1342:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 981, - "id": 995, + "functionReturnParameters": 966, + "id": 980, "nodeType": "Return", - "src": "1196:8:7" + "src": "1335:8:7" } ] }, - "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 997, + "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", + "id": 982, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 978, + "id": 963, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 975, + "id": 960, "name": "a", "nodeType": "VariableDeclaration", - "scope": 997, - "src": "1091:9:7", + "scope": 982, + "src": "1218:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13519,10 +13256,10 @@ "typeString": "uint256" }, "typeName": { - "id": 974, + "id": 959, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1091:7:7", + "src": "1218:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13533,11 +13270,11 @@ }, { "constant": false, - "id": 977, + "id": 962, "name": "b", "nodeType": "VariableDeclaration", - "scope": 997, - "src": "1102:9:7", + "scope": 982, + "src": "1229:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13545,10 +13282,10 @@ "typeString": "uint256" }, "typeName": { - "id": 976, + "id": 961, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1102:7:7", + "src": "1229:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13558,20 +13295,19 @@ "visibility": "internal" } ], - "src": "1090:22:7" + "src": "1217:22:7" }, - "payable": false, "returnParameters": { - "id": 981, + "id": 966, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 980, + "id": 965, "name": "", "nodeType": "VariableDeclaration", - "scope": 997, - "src": "1136:7:7", + "scope": 982, + "src": "1263:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13579,10 +13315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 979, + "id": 964, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1136:7:7", + "src": "1263:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13592,32 +13328,32 @@ "visibility": "internal" } ], - "src": "1135:9:7" + "src": "1262:9:7" }, - "scope": 1042, - "src": "1078:131:7", + "scope": 1027, + "src": "1205:145:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1020, + "id": 1005, "nodeType": "Block", - "src": "1339:64:7", + "src": "1498:78:7", "statements": [ { "assignments": [ - 1007 + 992 ], "declarations": [ { "constant": false, - "id": 1007, + "id": 992, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "1345:9:7", + "scope": 1005, + "src": "1508:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13625,10 +13361,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1006, + "id": 991, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1345:7:7", + "src": "1508:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13638,26 +13374,26 @@ "visibility": "internal" } ], - "id": 1011, + "id": 996, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1010, + "id": 995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1008, + "id": 993, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "1357:1:7", + "referencedDeclaration": 984, + "src": "1520:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13667,25 +13403,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1009, + "id": 994, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1001, - "src": "1361:1:7", + "referencedDeclaration": 986, + "src": "1524:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1357:5:7", + "src": "1520:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1345:17:7" + "src": "1508:17:7" }, { "expression": { @@ -13697,19 +13433,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1015, + "id": 1000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1013, + "id": 998, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1007, - "src": "1376:1:7", + "referencedDeclaration": 992, + "src": "1543:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13719,18 +13455,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1014, + "id": 999, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "1381:1:7", + "referencedDeclaration": 984, + "src": "1548:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1376:6:7", + "src": "1543:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13744,21 +13480,21 @@ "typeString": "bool" } ], - "id": 1012, + "id": 997, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1368:7:7", + "referencedDeclaration": 1259, + "src": "1535:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1016, + "id": 1001, "isConstant": false, "isLValue": false, "isPure": false, @@ -13766,56 +13502,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1368:15:7", + "src": "1535:15:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1017, + "id": 1002, "nodeType": "ExpressionStatement", - "src": "1368:15:7" + "src": "1535:15:7" }, { "expression": { "argumentTypes": null, - "id": 1018, + "id": 1003, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1007, - "src": "1397:1:7", + "referencedDeclaration": 992, + "src": "1568:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1005, - "id": 1019, + "functionReturnParameters": 990, + "id": 1004, "nodeType": "Return", - "src": "1390:8:7" + "src": "1561:8:7" } ] }, - "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1021, + "documentation": "@dev Adds two unsigned integers, reverts on overflow.", + "id": 1006, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1002, + "id": 987, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 999, + "id": 984, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "1285:9:7", + "scope": 1006, + "src": "1444:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13823,10 +13558,10 @@ "typeString": "uint256" }, "typeName": { - "id": 998, + "id": 983, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1285:7:7", + "src": "1444:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13837,11 +13572,11 @@ }, { "constant": false, - "id": 1001, + "id": 986, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "1296:9:7", + "scope": 1006, + "src": "1455:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13849,10 +13584,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1000, + "id": 985, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1296:7:7", + "src": "1455:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13862,20 +13597,19 @@ "visibility": "internal" } ], - "src": "1284:22:7" + "src": "1443:22:7" }, - "payable": false, "returnParameters": { - "id": 1005, + "id": 990, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1004, + "id": 989, "name": "", "nodeType": "VariableDeclaration", - "scope": 1021, - "src": "1330:7:7", + "scope": 1006, + "src": "1489:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13883,10 +13617,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1003, + "id": 988, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1330:7:7", + "src": "1489:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13896,19 +13630,19 @@ "visibility": "internal" } ], - "src": "1329:9:7" + "src": "1488:9:7" }, - "scope": 1042, - "src": "1272:131:7", + "scope": 1027, + "src": "1431:145:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1040, + "id": 1025, "nodeType": "Block", - "src": "1602:44:7", + "src": "1795:54:7", "statements": [ { "expression": { @@ -13920,19 +13654,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1033, + "id": 1018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1031, + "id": 1016, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1025, - "src": "1616:1:7", + "referencedDeclaration": 1010, + "src": "1813:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13943,14 +13677,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1032, + "id": 1017, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1621:1:7", + "src": "1818:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13958,7 +13692,7 @@ }, "value": "0" }, - "src": "1616:6:7", + "src": "1813:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13972,21 +13706,21 @@ "typeString": "bool" } ], - "id": 1030, + "id": 1015, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1608:7:7", + "referencedDeclaration": 1259, + "src": "1805:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1034, + "id": 1019, "isConstant": false, "isLValue": false, "isPure": false, @@ -13994,15 +13728,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1608:15:7", + "src": "1805:15:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1035, + "id": 1020, "nodeType": "ExpressionStatement", - "src": "1608:15:7" + "src": "1805:15:7" }, { "expression": { @@ -14011,19 +13745,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1038, + "id": 1023, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1036, + "id": 1021, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, - "src": "1636:1:7", + "referencedDeclaration": 1008, + "src": "1837:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14033,49 +13767,48 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1037, + "id": 1022, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1025, - "src": "1640:1:7", + "referencedDeclaration": 1010, + "src": "1841:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1636:5:7", + "src": "1837:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1029, - "id": 1039, + "functionReturnParameters": 1014, + "id": 1024, "nodeType": "Return", - "src": "1629:12:7" + "src": "1830:12:7" } ] }, - "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1041, + "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", + "id": 1026, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1026, + "id": 1011, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1008, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "1548:9:7", + "scope": 1026, + "src": "1741:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14083,10 +13816,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1022, + "id": 1007, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1548:7:7", + "src": "1741:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14097,11 +13830,11 @@ }, { "constant": false, - "id": 1025, + "id": 1010, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "1559:9:7", + "scope": 1026, + "src": "1752:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14109,10 +13842,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1024, + "id": 1009, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1559:7:7", + "src": "1752:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14122,20 +13855,19 @@ "visibility": "internal" } ], - "src": "1547:22:7" + "src": "1740:22:7" }, - "payable": false, "returnParameters": { - "id": 1029, + "id": 1014, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1028, + "id": 1013, "name": "", "nodeType": "VariableDeclaration", - "scope": 1041, - "src": "1593:7:7", + "scope": 1026, + "src": "1786:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14143,10 +13875,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1027, + "id": 1012, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1593:7:7", + "src": "1786:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14156,20 +13888,20 @@ "visibility": "internal" } ], - "src": "1592:9:7" + "src": "1785:9:7" }, - "scope": 1042, - "src": "1535:111:7", + "scope": 1027, + "src": "1728:121:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1043, - "src": "117:1531:7" + "scope": 1028, + "src": "125:1726:7" } ], - "src": "0:1649:7" + "src": "0:1852:7" }, "id": 7 }, @@ -14178,22 +13910,22 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 1111 + 1096 ] }, - "id": 1112, + "id": 1097, "nodeType": "SourceUnit", "nodes": [ { - "id": 1044, + "id": 1029, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:23:8" }, { "baseContracts": [], @@ -14201,9 +13933,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 1111, + "id": 1096, "linearizedBaseContracts": [ - 1111 + 1096 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -14211,31 +13943,50 @@ { "body": null, "documentation": null, - "id": 1049, + "id": 1038, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "totalSupply", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1045, - "nodeType": "ParameterList", - "parameters": [], - "src": "156:2:8" - }, - "payable": false, - "returnParameters": { - "id": 1048, + "id": 1034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1047, - "name": "", + "id": 1031, + "name": "to", "nodeType": "VariableDeclaration", - "scope": 1049, - "src": "182:7:8", + "scope": 1038, + "src": "155:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1030, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1033, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1038, + "src": "167:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14243,10 +13994,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1046, + "id": 1032, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "182:7:8", + "src": "167:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14256,35 +14007,202 @@ "visibility": "internal" } ], - "src": "181:9:8" + "src": "154:27:8" }, - "scope": 1111, - "src": "136:55:8", - "stateMutability": "view", + "returnParameters": { + "id": 1037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1036, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1038, + "src": "200:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1035, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "200:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "199:6:8" + }, + "scope": 1096, + "src": "137:69:8", + "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, - "id": 1056, + "id": 1047, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "balanceOf", + "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1052, + "id": 1043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1051, - "name": "who", + "id": 1040, + "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1056, - "src": "214:11:8", + "scope": 1047, + "src": "229:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "229:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1042, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1047, + "src": "246:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "246:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "228:32:8" + }, + "returnParameters": { + "id": 1046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1045, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1047, + "src": "279:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1044, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "279:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:6:8" + }, + "scope": 1096, + "src": "212:73:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1058, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1049, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1058, + "src": "313:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1048, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "313:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1051, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1058, + "src": "327:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14295,7 +14213,8 @@ "id": 1050, "name": "address", "nodeType": "ElementaryTypeName", - "src": "214:7:8", + "src": "327:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14303,22 +14222,14 @@ }, "value": null, "visibility": "internal" - } - ], - "src": "213:13:8" - }, - "payable": false, - "returnParameters": { - "id": 1055, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 1054, - "name": "", + "id": 1053, + "name": "value", "nodeType": "VariableDeclaration", - "scope": 1056, - "src": "250:7:8", + "scope": 1058, + "src": "339:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14326,10 +14237,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1053, + "id": 1052, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "250:7:8", + "src": "339:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14339,10 +14250,97 @@ "visibility": "internal" } ], - "src": "249:9:8" + "src": "312:41:8" }, - "scope": 1111, - "src": "195:64:8", + "returnParameters": { + "id": 1057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1056, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1058, + "src": "372:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1055, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "372:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "371:6:8" + }, + "scope": 1096, + "src": "291:87:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1063, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1059, + "nodeType": "ParameterList", + "parameters": [], + "src": "404:2:8" + }, + "returnParameters": { + "id": 1062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1061, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1063, + "src": "430:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1060, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "430:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "429:9:8" + }, + "scope": 1096, + "src": "384:55:8", "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -14350,242 +14348,105 @@ { "body": null, "documentation": null, - "id": 1065, + "id": 1070, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1065, + "name": "who", + "nodeType": "VariableDeclaration", + "scope": 1070, + "src": "464:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "464:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "463:13:8" + }, + "returnParameters": { + "id": 1069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1068, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1070, + "src": "500:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1067, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "500:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "499:9:8" + }, + "scope": 1096, + "src": "445:64:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1079, + "implemented": false, + "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1061, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1058, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1065, - "src": "282:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1057, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "282:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1060, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 1065, - "src": "297:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1059, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "297:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "281:32:8" - }, - "payable": false, - "returnParameters": { - "id": 1064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1063, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1065, - "src": "341:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1062, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "341:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "340:9:8" - }, - "scope": 1111, - "src": "263:87:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1074, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1067, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 1074, - "src": "372:10:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1069, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1074, - "src": "384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1068, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "371:27:8" - }, - "payable": false, - "returnParameters": { - "id": 1073, + "id": 1075, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1072, - "name": "", + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1074, - "src": "417:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1071, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "417:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "416:6:8" - }, - "scope": 1111, - "src": "354:69:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1083, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1076, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 1083, - "src": "444:15:8", + "scope": 1079, + "src": "534:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14593,10 +14454,11 @@ "typeString": "address" }, "typeName": { - "id": 1075, + "id": 1071, "name": "address", "nodeType": "ElementaryTypeName", - "src": "444:7:8", + "src": "534:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14607,11 +14469,45 @@ }, { "constant": false, - "id": 1078, - "name": "value", + "id": 1074, + "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1083, - "src": "461:13:8", + "scope": 1079, + "src": "549:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1073, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "549:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "533:32:8" + }, + "returnParameters": { + "id": 1078, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1077, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1079, + "src": "589:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14619,10 +14515,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1077, + "id": 1076, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "461:7:8", + "src": "589:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14632,132 +14528,99 @@ "visibility": "internal" } ], - "src": "443:32:8" + "src": "588:9:8" }, - "payable": false, - "returnParameters": { - "id": 1082, + "scope": 1096, + "src": "515:83:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "anonymous": false, + "documentation": null, + "id": 1087, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1086, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1081, - "name": "", + "indexed": true, + "name": "from", "nodeType": "VariableDeclaration", - "scope": 1083, - "src": "498:4:8", + "scope": 1087, + "src": "619:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { "id": 1080, - "name": "bool", + "name": "address", "nodeType": "ElementaryTypeName", - "src": "498:4:8", + "src": "619:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" - } - ], - "src": "497:6:8" - }, - "scope": 1111, - "src": "427:77:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1094, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1090, - "nodeType": "ParameterList", - "parameters": [ + }, + { + "constant": false, + "id": 1083, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1087, + "src": "641:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "641:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 1085, - "name": "from", + "indexed": false, + "name": "value", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "530:12:8", + "scope": 1087, + "src": "661:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1087, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "544:10:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "544:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1089, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "556:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "556:7:8", + "src": "661:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14767,162 +14630,28 @@ "visibility": "internal" } ], - "src": "529:41:8" + "src": "618:57:8" }, - "payable": false, - "returnParameters": { - "id": 1093, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1092, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "593:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1091, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "593:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "592:6:8" - }, - "scope": 1111, - "src": "508:91:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" + "src": "604:72:8" }, { "anonymous": false, "documentation": null, - "id": 1102, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 1101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1096, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 1102, - "src": "623:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "623:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1098, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 1102, - "src": "649:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "649:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1100, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1102, - "src": "673:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "673:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "617:73:8" - }, - "src": "603:88:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 1110, + "id": 1095, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 1109, + "id": 1094, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1104, + "id": 1089, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "715:21:8", + "scope": 1095, + "src": "697:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14930,10 +14659,11 @@ "typeString": "address" }, "typeName": { - "id": 1103, + "id": 1088, "name": "address", "nodeType": "ElementaryTypeName", - "src": "715:7:8", + "src": "697:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14944,12 +14674,12 @@ }, { "constant": false, - "id": 1106, + "id": 1091, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "742:23:8", + "scope": 1095, + "src": "720:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14957,10 +14687,11 @@ "typeString": "address" }, "typeName": { - "id": 1105, + "id": 1090, "name": "address", "nodeType": "ElementaryTypeName", - "src": "742:7:8", + "src": "720:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14971,12 +14702,12 @@ }, { "constant": false, - "id": 1108, + "id": 1093, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1110, - "src": "771:13:8", + "scope": 1095, + "src": "745:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14984,10 +14715,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1107, + "id": 1092, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "771:7:8", + "src": "745:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14997,16 +14728,16 @@ "visibility": "internal" } ], - "src": "709:79:8" + "src": "696:63:8" }, - "src": "695:94:8" + "src": "682:78:8" } ], - "scope": 1112, - "src": "115:676:8" + "scope": 1097, + "src": "114:648:8" } ], - "src": "0:792:8" + "src": "0:763:8" }, "id": 8 }, @@ -15015,42 +14746,42 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "exportedSymbols": { "SafeERC20": [ - 1255 + 1241 ] }, - "id": 1256, + "id": 1242, "nodeType": "SourceUnit", "nodes": [ { - "id": 1113, + "id": 1098, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:23:9" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 1114, + "id": 1099, "nodeType": "ImportDirective", - "scope": 1256, - "sourceUnit": 1112, - "src": "26:22:9", + "scope": 1242, + "sourceUnit": 1097, + "src": "25:22:9", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 1115, + "id": 1100, "nodeType": "ImportDirective", - "scope": 1256, - "sourceUnit": 1043, - "src": "49:33:9", + "scope": 1242, + "sourceUnit": 1028, + "src": "48:33:9", "symbolAliases": [], "unitAlias": "" }, @@ -15060,31 +14791,31 @@ "contractKind": "library", "documentation": "@title SafeERC20\n@dev Wrappers around ERC20 operations that throw on failure.\nTo use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\nwhich allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "fullyImplemented": true, - "id": 1255, + "id": 1241, "linearizedBaseContracts": [ - 1255 + 1241 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1118, + "id": 1103, "libraryName": { "contractScope": null, - "id": 1116, + "id": 1101, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1042, + "referencedDeclaration": 1027, "src": "382:8:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1042", + "typeIdentifier": "t_contract$_SafeMath_$1027", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "376:27:9", "typeName": { - "id": 1117, + "id": 1102, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "395:7:9", @@ -15096,9 +14827,9 @@ }, { "body": { - "id": 1135, + "id": 1120, "nodeType": "Block", - "src": "501:45:9", + "src": "481:51:9", "statements": [ { "expression": { @@ -15109,12 +14840,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1130, + "id": 1115, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "530:2:9", + "referencedDeclaration": 1107, + "src": "514:2:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15122,12 +14853,12 @@ }, { "argumentTypes": null, - "id": 1131, + "id": 1116, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1124, - "src": "534:5:9", + "referencedDeclaration": 1109, + "src": "518:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15147,32 +14878,32 @@ ], "expression": { "argumentTypes": null, - "id": 1128, + "id": 1113, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "515:5:9", + "referencedDeclaration": 1105, + "src": "499:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 1129, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1074, - "src": "515:14:9", + "referencedDeclaration": 1038, + "src": "499:14:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1132, + "id": 1117, "isConstant": false, "isLValue": false, "isPure": false, @@ -15180,7 +14911,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "515:25:9", + "src": "499:25:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15194,21 +14925,21 @@ "typeString": "bool" } ], - "id": 1127, + "id": 1112, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "507:7:9", + "referencedDeclaration": 1259, + "src": "491:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1133, + "id": 1118, "isConstant": false, "isLValue": false, "isPure": false, @@ -15216,52 +14947,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "507:34:9", + "src": "491:34:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1134, + "id": 1119, "nodeType": "ExpressionStatement", - "src": "507:34:9" + "src": "491:34:9" } ] }, "documentation": null, - "id": 1136, + "id": 1121, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1125, + "id": 1110, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1120, + "id": 1105, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "434:12:9", + "scope": 1121, + "src": "431:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1119, + "id": 1104, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1111, - "src": "434:6:9", + "referencedDeclaration": 1096, + "src": "431:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, @@ -15270,11 +15000,11 @@ }, { "constant": false, - "id": 1122, + "id": 1107, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "452:10:9", + "scope": 1121, + "src": "445:10:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15282,10 +15012,11 @@ "typeString": "address" }, "typeName": { - "id": 1121, + "id": 1106, "name": "address", "nodeType": "ElementaryTypeName", - "src": "452:7:9", + "src": "445:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15296,11 +15027,11 @@ }, { "constant": false, - "id": 1124, + "id": 1109, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1136, - "src": "468:13:9", + "scope": 1121, + "src": "457:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15308,10 +15039,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1123, + "id": 1108, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "468:7:9", + "src": "457:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15321,26 +15052,25 @@ "visibility": "internal" } ], - "src": "428:57:9" + "src": "430:41:9" }, - "payable": false, "returnParameters": { - "id": 1126, + "id": 1111, "nodeType": "ParameterList", "parameters": [], - "src": "501:0:9" + "src": "481:0:9" }, - "scope": 1255, - "src": "407:139:9", + "scope": 1241, + "src": "409:123:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1156, + "id": 1141, "nodeType": "Block", - "src": "666:55:9", + "src": "628:61:9", "statements": [ { "expression": { @@ -15351,12 +15081,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1150, + "id": 1135, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1140, - "src": "699:4:9", + "referencedDeclaration": 1125, + "src": "665:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15364,12 +15094,12 @@ }, { "argumentTypes": null, - "id": 1151, + "id": 1136, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "705:2:9", + "referencedDeclaration": 1127, + "src": "671:2:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15377,12 +15107,12 @@ }, { "argumentTypes": null, - "id": 1152, + "id": 1137, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "709:5:9", + "referencedDeclaration": 1129, + "src": "675:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15406,32 +15136,32 @@ ], "expression": { "argumentTypes": null, - "id": 1148, + "id": 1133, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "680:5:9", + "referencedDeclaration": 1123, + "src": "646:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 1149, + "id": 1134, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1094, - "src": "680:18:9", + "referencedDeclaration": 1058, + "src": "646:18:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 1153, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": false, @@ -15439,7 +15169,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "680:35:9", + "src": "646:35:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15453,21 +15183,21 @@ "typeString": "bool" } ], - "id": 1147, + "id": 1132, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "672:7:9", + "referencedDeclaration": 1259, + "src": "638:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1154, + "id": 1139, "isConstant": false, "isLValue": false, "isPure": false, @@ -15475,52 +15205,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "672:44:9", + "src": "638:44:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1155, + "id": 1140, "nodeType": "ExpressionStatement", - "src": "672:44:9" + "src": "638:44:9" } ] }, "documentation": null, - "id": 1157, + "id": 1142, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1145, + "id": 1130, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1138, + "id": 1123, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "581:12:9", + "scope": 1142, + "src": "564:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1137, + "id": 1122, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1111, - "src": "581:6:9", + "referencedDeclaration": 1096, + "src": "564:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, @@ -15529,11 +15258,11 @@ }, { "constant": false, - "id": 1140, + "id": 1125, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "599:12:9", + "scope": 1142, + "src": "578:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15541,10 +15270,11 @@ "typeString": "address" }, "typeName": { - "id": 1139, + "id": 1124, "name": "address", "nodeType": "ElementaryTypeName", - "src": "599:7:9", + "src": "578:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15555,11 +15285,11 @@ }, { "constant": false, - "id": 1142, + "id": 1127, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "617:10:9", + "scope": 1142, + "src": "592:10:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15567,10 +15297,11 @@ "typeString": "address" }, "typeName": { - "id": 1141, + "id": 1126, "name": "address", "nodeType": "ElementaryTypeName", - "src": "617:7:9", + "src": "592:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15581,11 +15312,11 @@ }, { "constant": false, - "id": 1144, + "id": 1129, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "633:13:9", + "scope": 1142, + "src": "604:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15593,10 +15324,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1143, + "id": 1128, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "633:7:9", + "src": "604:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15606,26 +15337,25 @@ "visibility": "internal" } ], - "src": "575:75:9" + "src": "563:55:9" }, - "payable": false, "returnParameters": { - "id": 1146, + "id": 1131, "nodeType": "ParameterList", "parameters": [], - "src": "666:0:9" + "src": "628:0:9" }, - "scope": 1255, - "src": "550:171:9", + "scope": 1241, + "src": "538:151:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1191, + "id": 1177, "nodeType": "Block", - "src": "823:330:9", + "src": "771:353:9", "statements": [ { "expression": { @@ -15637,7 +15367,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1180, + "id": 1166, "isConstant": false, "isLValue": false, "isPure": false, @@ -15651,19 +15381,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1169, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1167, + "id": 1152, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "1045:5:9", + "referencedDeclaration": 1148, + "src": "1007:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15674,14 +15404,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1168, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1054:1:9", + "src": "1016:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15689,21 +15419,21 @@ }, "value": "0" }, - "src": "1045:10:9", + "src": "1007:10:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 1170, + "id": 1155, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1044:12:9", + "src": "1006:12:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15720,7 +15450,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1178, + "id": 1164, "isConstant": false, "isLValue": false, "isPure": false, @@ -15730,28 +15460,50 @@ "arguments": [ { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "1077:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "arguments": [ + { + "argumentTypes": null, + "id": 1159, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1278, + "src": "1047:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeERC20_$1241", + "typeString": "library SafeERC20" + } } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SafeERC20_$1241", + "typeString": "library SafeERC20" + } + ], + "id": 1158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1039:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 1174, + "id": 1160, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1077:10:9", + "names": [], + "nodeType": "FunctionCall", + "src": "1039:13:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15759,12 +15511,12 @@ }, { "argumentTypes": null, - "id": 1175, + "id": 1161, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "1089:7:9", + "referencedDeclaration": 1146, + "src": "1054:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15784,32 +15536,32 @@ ], "expression": { "argumentTypes": null, - "id": 1171, + "id": 1156, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "1061:5:9", + "referencedDeclaration": 1144, + "src": "1023:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 1172, + "id": 1157, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1065, - "src": "1061:15:9", + "referencedDeclaration": 1079, + "src": "1023:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1176, + "id": 1162, "isConstant": false, "isLValue": false, "isPure": false, @@ -15817,7 +15569,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1061:36:9", + "src": "1023:39:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15828,14 +15580,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1177, + "id": 1163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1101:1:9", + "src": "1066:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15843,27 +15595,27 @@ }, "value": "0" }, - "src": "1061:41:9", + "src": "1023:44:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 1179, + "id": 1165, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1060:43:9", + "src": "1022:46:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1044:59:9", + "src": "1006:62:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15877,21 +15629,21 @@ "typeString": "bool" } ], - "id": 1166, + "id": 1151, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1036:7:9", + "referencedDeclaration": 1259, + "src": "998:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1181, + "id": 1167, "isConstant": false, "isLValue": false, "isPure": false, @@ -15899,15 +15651,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1036:68:9", + "src": "998:71:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1182, + "id": 1168, "nodeType": "ExpressionStatement", - "src": "1036:68:9" + "src": "998:71:9" }, { "expression": { @@ -15918,12 +15670,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1186, + "id": 1172, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "1132:7:9", + "referencedDeclaration": 1146, + "src": "1101:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15931,12 +15683,12 @@ }, { "argumentTypes": null, - "id": 1187, + "id": 1173, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "1141:5:9", + "referencedDeclaration": 1148, + "src": "1110:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15956,32 +15708,32 @@ ], "expression": { "argumentTypes": null, - "id": 1184, + "id": 1170, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "1118:5:9", + "referencedDeclaration": 1144, + "src": "1087:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 1185, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1083, - "src": "1118:13:9", + "referencedDeclaration": 1047, + "src": "1087:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1188, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": false, @@ -15989,7 +15741,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1118:29:9", + "src": "1087:29:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16003,21 +15755,21 @@ "typeString": "bool" } ], - "id": 1183, + "id": 1169, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1110:7:9", + "referencedDeclaration": 1259, + "src": "1079:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1189, + "id": 1175, "isConstant": false, "isLValue": false, "isPure": false, @@ -16025,52 +15777,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1110:38:9", + "src": "1079:38:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1190, + "id": 1176, "nodeType": "ExpressionStatement", - "src": "1110:38:9" + "src": "1079:38:9" } ] }, "documentation": null, - "id": 1192, + "id": 1178, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1164, + "id": 1149, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1159, + "id": 1144, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1192, - "src": "751:12:9", + "scope": 1178, + "src": "716:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1158, + "id": 1143, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1111, - "src": "751:6:9", + "referencedDeclaration": 1096, + "src": "716:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, @@ -16079,11 +15830,11 @@ }, { "constant": false, - "id": 1161, + "id": 1146, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1192, - "src": "769:15:9", + "scope": 1178, + "src": "730:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16091,10 +15842,11 @@ "typeString": "address" }, "typeName": { - "id": 1160, + "id": 1145, "name": "address", "nodeType": "ElementaryTypeName", - "src": "769:7:9", + "src": "730:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16105,11 +15857,11 @@ }, { "constant": false, - "id": 1163, + "id": 1148, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1192, - "src": "790:13:9", + "scope": 1178, + "src": "747:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16117,10 +15869,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1162, + "id": 1147, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "790:7:9", + "src": "747:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16130,39 +15882,38 @@ "visibility": "internal" } ], - "src": "745:62:9" + "src": "715:46:9" }, - "payable": false, "returnParameters": { - "id": 1165, + "id": 1150, "nodeType": "ParameterList", "parameters": [], - "src": "823:0:9" + "src": "771:0:9" }, - "scope": 1255, - "src": "725:428:9", + "scope": 1241, + "src": "695:429:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1222, + "id": 1208, "nodeType": "Block", - "src": "1265:135:9", + "src": "1216:145:9", "statements": [ { "assignments": [ - 1202 + 1188 ], "declarations": [ { "constant": false, - "id": 1202, + "id": 1188, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "1271:20:9", + "scope": 1208, + "src": "1226:20:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16170,10 +15921,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1201, + "id": 1187, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1271:7:9", + "src": "1226:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16183,18 +15934,18 @@ "visibility": "internal" } ], - "id": 1213, + "id": 1199, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1211, + "id": 1197, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1198, - "src": "1338:5:9", + "referencedDeclaration": 1184, + "src": "1293:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16216,14 +15967,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1206, + "id": 1192, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1291, - "src": "1318:4:9", + "referencedDeclaration": 1278, + "src": "1273:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1255", + "typeIdentifier": "t_contract$_SafeERC20_$1241", "typeString": "library SafeERC20" } } @@ -16231,24 +15982,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1255", + "typeIdentifier": "t_contract$_SafeERC20_$1241", "typeString": "library SafeERC20" } ], - "id": 1205, + "id": 1191, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1310:7:9", + "src": "1265:7:9", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1207, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": false, @@ -16256,7 +16007,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1310:13:9", + "src": "1265:13:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16264,12 +16015,12 @@ }, { "argumentTypes": null, - "id": 1208, + "id": 1194, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1196, - "src": "1325:7:9", + "referencedDeclaration": 1182, + "src": "1280:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16289,32 +16040,32 @@ ], "expression": { "argumentTypes": null, - "id": 1203, + "id": 1189, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1194, - "src": "1294:5:9", + "referencedDeclaration": 1180, + "src": "1249:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 1204, + "id": 1190, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1065, - "src": "1294:15:9", + "referencedDeclaration": 1079, + "src": "1249:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1209, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, @@ -16322,27 +16073,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1294:39:9", + "src": "1249:39:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1210, + "id": 1196, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1021, - "src": "1294:43:9", + "referencedDeclaration": 1006, + "src": "1249:43:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1212, + "id": 1198, "isConstant": false, "isLValue": false, "isPure": false, @@ -16350,14 +16101,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1294:50:9", + "src": "1249:50:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1271:73:9" + "src": "1226:73:9" }, { "expression": { @@ -16368,12 +16119,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1217, + "id": 1203, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1196, - "src": "1372:7:9", + "referencedDeclaration": 1182, + "src": "1331:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16381,12 +16132,12 @@ }, { "argumentTypes": null, - "id": 1218, + "id": 1204, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1202, - "src": "1381:12:9", + "referencedDeclaration": 1188, + "src": "1340:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16406,32 +16157,32 @@ ], "expression": { "argumentTypes": null, - "id": 1215, + "id": 1201, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1194, - "src": "1358:5:9", + "referencedDeclaration": 1180, + "src": "1317:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 1216, + "id": 1202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1083, - "src": "1358:13:9", + "referencedDeclaration": 1047, + "src": "1317:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1219, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": false, @@ -16439,7 +16190,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1358:36:9", + "src": "1317:36:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16453,21 +16204,21 @@ "typeString": "bool" } ], - "id": 1214, + "id": 1200, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1350:7:9", + "referencedDeclaration": 1259, + "src": "1309:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1220, + "id": 1206, "isConstant": false, "isLValue": false, "isPure": false, @@ -16475,52 +16226,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1350:45:9", + "src": "1309:45:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1221, + "id": 1207, "nodeType": "ExpressionStatement", - "src": "1350:45:9" + "src": "1309:45:9" } ] }, "documentation": null, - "id": 1223, + "id": 1209, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeIncreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1199, + "id": 1185, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1194, + "id": 1180, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "1193:12:9", + "scope": 1209, + "src": "1161:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1193, + "id": 1179, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1111, - "src": "1193:6:9", + "referencedDeclaration": 1096, + "src": "1161:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, @@ -16529,11 +16279,11 @@ }, { "constant": false, - "id": 1196, + "id": 1182, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "1211:15:9", + "scope": 1209, + "src": "1175:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16541,10 +16291,11 @@ "typeString": "address" }, "typeName": { - "id": 1195, + "id": 1181, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1211:7:9", + "src": "1175:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16555,11 +16306,11 @@ }, { "constant": false, - "id": 1198, + "id": 1184, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1223, - "src": "1232:13:9", + "scope": 1209, + "src": "1192:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16567,10 +16318,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1197, + "id": 1183, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1232:7:9", + "src": "1192:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16580,39 +16331,38 @@ "visibility": "internal" } ], - "src": "1187:62:9" + "src": "1160:46:9" }, - "payable": false, "returnParameters": { - "id": 1200, + "id": 1186, "nodeType": "ParameterList", "parameters": [], - "src": "1265:0:9" + "src": "1216:0:9" }, - "scope": 1255, - "src": "1157:243:9", + "scope": 1241, + "src": "1130:231:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1253, + "id": 1239, "nodeType": "Block", - "src": "1512:135:9", + "src": "1453:145:9", "statements": [ { "assignments": [ - 1233 + 1219 ], "declarations": [ { "constant": false, - "id": 1233, + "id": 1219, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1254, - "src": "1518:20:9", + "scope": 1239, + "src": "1463:20:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16620,10 +16370,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1232, + "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1518:7:9", + "src": "1463:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16633,18 +16383,18 @@ "visibility": "internal" } ], - "id": 1244, + "id": 1230, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1242, + "id": 1228, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1229, - "src": "1585:5:9", + "referencedDeclaration": 1215, + "src": "1530:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16666,14 +16416,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1237, + "id": 1223, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1291, - "src": "1565:4:9", + "referencedDeclaration": 1278, + "src": "1510:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1255", + "typeIdentifier": "t_contract$_SafeERC20_$1241", "typeString": "library SafeERC20" } } @@ -16681,24 +16431,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1255", + "typeIdentifier": "t_contract$_SafeERC20_$1241", "typeString": "library SafeERC20" } ], - "id": 1236, + "id": 1222, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1557:7:9", + "src": "1502:7:9", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1238, + "id": 1224, "isConstant": false, "isLValue": false, "isPure": false, @@ -16706,7 +16456,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:13:9", + "src": "1502:13:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16714,12 +16464,12 @@ }, { "argumentTypes": null, - "id": 1239, + "id": 1225, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "1572:7:9", + "referencedDeclaration": 1213, + "src": "1517:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16739,32 +16489,32 @@ ], "expression": { "argumentTypes": null, - "id": 1234, + "id": 1220, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "1541:5:9", + "referencedDeclaration": 1211, + "src": "1486:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 1235, + "id": 1221, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1065, - "src": "1541:15:9", + "referencedDeclaration": 1079, + "src": "1486:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1240, + "id": 1226, "isConstant": false, "isLValue": false, "isPure": false, @@ -16772,27 +16522,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1541:39:9", + "src": "1486:39:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1241, + "id": 1227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 997, - "src": "1541:43:9", + "referencedDeclaration": 982, + "src": "1486:43:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1243, + "id": 1229, "isConstant": false, "isLValue": false, "isPure": false, @@ -16800,14 +16550,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1541:50:9", + "src": "1486:50:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1518:73:9" + "src": "1463:73:9" }, { "expression": { @@ -16818,12 +16568,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1248, + "id": 1234, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "1619:7:9", + "referencedDeclaration": 1213, + "src": "1568:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16831,12 +16581,12 @@ }, { "argumentTypes": null, - "id": 1249, + "id": 1235, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1233, - "src": "1628:12:9", + "referencedDeclaration": 1219, + "src": "1577:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16856,32 +16606,32 @@ ], "expression": { "argumentTypes": null, - "id": 1246, + "id": 1232, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1225, - "src": "1605:5:9", + "referencedDeclaration": 1211, + "src": "1554:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, - "id": 1247, + "id": 1233, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1083, - "src": "1605:13:9", + "referencedDeclaration": 1047, + "src": "1554:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1250, + "id": 1236, "isConstant": false, "isLValue": false, "isPure": false, @@ -16889,7 +16639,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1605:36:9", + "src": "1554:36:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16903,21 +16653,21 @@ "typeString": "bool" } ], - "id": 1245, + "id": 1231, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1273, - 1274 + 1259, + 1260 ], - "referencedDeclaration": 1273, - "src": "1597:7:9", + "referencedDeclaration": 1259, + "src": "1546:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1251, + "id": 1237, "isConstant": false, "isLValue": false, "isPure": false, @@ -16925,52 +16675,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1597:45:9", + "src": "1546:45:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1252, + "id": 1238, "nodeType": "ExpressionStatement", - "src": "1597:45:9" + "src": "1546:45:9" } ] }, "documentation": null, - "id": 1254, + "id": 1240, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeDecreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1230, + "id": 1216, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1225, + "id": 1211, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1254, - "src": "1440:12:9", + "scope": 1240, + "src": "1398:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1224, + "id": 1210, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1111, - "src": "1440:6:9", + "referencedDeclaration": 1096, + "src": "1398:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1111", + "typeIdentifier": "t_contract$_IERC20_$1096", "typeString": "contract IERC20" } }, @@ -16979,11 +16728,11 @@ }, { "constant": false, - "id": 1227, + "id": 1213, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1254, - "src": "1458:15:9", + "scope": 1240, + "src": "1412:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16991,10 +16740,11 @@ "typeString": "address" }, "typeName": { - "id": 1226, + "id": 1212, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1458:7:9", + "src": "1412:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17005,11 +16755,11 @@ }, { "constant": false, - "id": 1229, + "id": 1215, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1254, - "src": "1479:13:9", + "scope": 1240, + "src": "1429:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17017,10 +16767,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1228, + "id": 1214, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1479:7:9", + "src": "1429:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17030,27 +16780,26 @@ "visibility": "internal" } ], - "src": "1434:62:9" + "src": "1397:46:9" }, - "payable": false, "returnParameters": { - "id": 1231, + "id": 1217, "nodeType": "ParameterList", "parameters": [], - "src": "1512:0:9" + "src": "1453:0:9" }, - "scope": 1255, - "src": "1404:243:9", + "scope": 1241, + "src": "1367:231:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1256, - "src": "353:1296:9" + "scope": 1242, + "src": "352:1248:9" } ], - "src": "0:1650:9" + "src": "0:1601:9" }, "id": 9 } diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.bin b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.bin index fd3dbf5fd..a8c7ceb3e 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.bin +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a7230582095e26f90cc3199aca464eb563533fc93a77d60dc52f6506d09a60413c4ab2d960029 \ No newline at end of file +60806040523480156200001157600080fd5b5060405160208062001070833981018060405260208110156200003357600080fd5b50516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200007d90640100000000620000d8810204565b6200009133640100000000620000f6810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a0319169055620001a4565b620000f360028264010000000062000dd76200011182021704565b50565b620000f360038264010000000062000dd76200011182021704565b600160a060020a03811615156200012757600080fd5b6200013c82826401000000006200016c810204565b156200014757600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200018457600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610ebc80620001b46000396000f3fe608060405234801561001057600080fd5b50600436106100b85760003560e060020a9004806374be75921161007557806374be7592146101ac57806381f909f3146101d257806399f4b251146101f8578063bb52c13714610200578063d43acc791461021a578063e9d6185914610222576100b8565b80630c08bf88146100bd5780632e6b6849146100c7578063341ccfcb146100ed57806334cdcf26146101135780633d19ab131461014d578063608d3d3d14610186575b600080fd5b6100c561022a565b005b6100c5600480360360208110156100dd57600080fd5b5035600160a060020a0316610248565b6100c56004803603602081101561010357600080fd5b5035600160a060020a0316610268565b6101396004803603602081101561012957600080fd5b5035600160a060020a031661043c565b604080519115158252519081900360200190f35b61016a6004803603602081101561016357600080fd5b5035610455565b60408051600160a060020a039092168252519081900360200190f35b6101396004803603602081101561019c57600080fd5b5035600160a060020a0316610484565b6100c5600480360360208110156101c257600080fd5b5035600160a060020a0316610497565b6100c5600480360360208110156101e857600080fd5b5035600160a060020a03166104b4565b6100c5610656565b610208610ba4565b60408051918252519081900360200190f35b6100c5610bae565b6100c5610bb7565b61023333610484565b151561023e57600080fd5b610246610bc0565b565b61025133610484565b151561025c57600080fd5b61026581610c86565b50565b60005474010000000000000000000000000000000000000000900460ff161561029057600080fd5b61029933610484565b15156102a457600080fd5b6004546103e8116102b457600080fd5b600160a060020a038116600090815260056020526040902054156102d757600080fd5b600081905080600160a060020a0316631777fb4b6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561031857600080fd5b505afa15801561032c573d6000803e3d6000fd5b505050506040513d602081101561034257600080fd5b5051151561034f57600080fd5b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561038d57600080fd5b505afa1580156103a1573d6000803e3d6000fd5b505050506040513d60208110156103b757600080fd5b50519050600560ff821611156103cc57600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061044f60028363ffffffff610c9716565b92915050565b600060048260010181548110151561046957fe5b600091825260209091200154600160a060020a031692915050565b600061044f60038363ffffffff610c9716565b6104a03361043c565b15156104ab57600080fd5b61026581610cce565b60005474010000000000000000000000000000000000000000900460ff16156104dc57600080fd5b6104e533610484565b15156104f057600080fd5b6004546001106104ff57600080fd5b60045460021415610564576004805480151561051757fe5b600082815260208082208301600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055909201909255600160a060020a0383168252600590526040812055610265565b600454600160a060020a038216600090815260056020526040902054146105fe5760048054600019810190811061059757fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105cf57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b6004805480151561060b57fe5b600082815260208082208301600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055909201909255600160a060020a038316825260059052604081205550565b60005474010000000000000000000000000000000000000000900460ff161561067e57600080fd5b6106873361043c565b151561069257600080fd5b6004546001106106a157600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b15801561070557600080fd5b505afa158015610719573d6000803e3d6000fd5b505050506040513d602081101561072f57600080fd5b505190506000811161074057600080fd5b610748610e71565b60045460015b8181101561090157600060048281548110151561076757fe5b60009182526020918290200154604080517f19a74ab30000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216935083926319a74ab392600480840193829003018186803b1580156107cc57600080fd5b505afa1580156107e0573d6000803e3d6000fd5b505050506040513d60208110156107f657600080fd5b5051151561080457506108f9565b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d602081101561086c57600080fd5b5051905060ff8116151561088e578460005b60200201805160010190526108f6565b8060ff16600114156108a25784600161087e565b8060ff16600214156108b65784600261087e565b8060ff16600314156108ca5784600361087e565b8060ff16600414156108de5784600461087e565b8060ff16600514156108f65760a08501805160010190525b50505b60010161074e565b5060a082015160808301516060840151604085015160208601518651600a90910201601490910201601e90910201602890910201603290910201610943610e71565b818581151561094e57fe5b04815281600a860281151561095f57fe5b046020820152816014860281151561097357fe5b04604082015281601e860281151561098757fe5b046060820152816028860281151561099b57fe5b04608082015281603286028115156109af57fe5b0460a082015260015b83811015610b9c5760006004828154811015156109d157fe5b60009182526020918290200154604080517f19a74ab30000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216935083926319a74ab392600480840193829003018186803b158015610a3657600080fd5b505afa158015610a4a573d6000803e3d6000fd5b505050506040513d6020811015610a6057600080fd5b50511515610a6e5750610b94565b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610aac57600080fd5b505afa158015610ac0573d6000803e3d6000fd5b505050506040513d6020811015610ad657600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919250610b9191600160a060020a0385169163302c11ca916004808301926020929190829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d6020811015610b6257600080fd5b50518560ff841660068110610b7357fe5b6020020151600154600160a060020a0316919063ffffffff610cdf16565b50505b6001016109b8565b505050505050565b6004546000190190565b61024633610d7e565b61024633610d8f565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b505190506000811115610c7e57600054600154610c7e91600160a060020a0391821691168363ffffffff610cdf16565b610265610da0565b61026560038263ffffffff610dd716565b6000600160a060020a0382161515610cae57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026560028263ffffffff610dd716565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d4257600080fd5b505af1158015610d56573d6000803e3d6000fd5b505050506040513d6020811015610d6c57600080fd5b50511515610d7957600080fd5b505050565b61026560038263ffffffff610e2516565b61026560028263ffffffff610e2516565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610dec57600080fd5b610df68282610c97565b15610e0057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e3a57600080fd5b610e448282610c97565b1515610e4f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b60c060405190810160405280600690602082028038833950919291505056fea165627a7a72305820d93c57fe9a496ba0db433cb631bbbbe57a53bb63720b63023ea0e465cf5c1d200029 \ No newline at end of file diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.json index 4edae4a73..124576278 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoFees.json @@ -175,7 +175,7 @@ "type": "constructor" } ], - "bytecode": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a7230582095e26f90cc3199aca464eb563533fc93a77d60dc52f6506d09a60413c4ab2d960029", + "bytecode": "60806040523480156200001157600080fd5b5060405160208062001070833981018060405260208110156200003357600080fd5b50516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200007d90640100000000620000d8810204565b6200009133640100000000620000f6810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a0319169055620001a4565b620000f360028264010000000062000dd76200011182021704565b50565b620000f360038264010000000062000dd76200011182021704565b600160a060020a03811615156200012757600080fd5b6200013c82826401000000006200016c810204565b156200014757600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200018457600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610ebc80620001b46000396000f3fe608060405234801561001057600080fd5b50600436106100b85760003560e060020a9004806374be75921161007557806374be7592146101ac57806381f909f3146101d257806399f4b251146101f8578063bb52c13714610200578063d43acc791461021a578063e9d6185914610222576100b8565b80630c08bf88146100bd5780632e6b6849146100c7578063341ccfcb146100ed57806334cdcf26146101135780633d19ab131461014d578063608d3d3d14610186575b600080fd5b6100c561022a565b005b6100c5600480360360208110156100dd57600080fd5b5035600160a060020a0316610248565b6100c56004803603602081101561010357600080fd5b5035600160a060020a0316610268565b6101396004803603602081101561012957600080fd5b5035600160a060020a031661043c565b604080519115158252519081900360200190f35b61016a6004803603602081101561016357600080fd5b5035610455565b60408051600160a060020a039092168252519081900360200190f35b6101396004803603602081101561019c57600080fd5b5035600160a060020a0316610484565b6100c5600480360360208110156101c257600080fd5b5035600160a060020a0316610497565b6100c5600480360360208110156101e857600080fd5b5035600160a060020a03166104b4565b6100c5610656565b610208610ba4565b60408051918252519081900360200190f35b6100c5610bae565b6100c5610bb7565b61023333610484565b151561023e57600080fd5b610246610bc0565b565b61025133610484565b151561025c57600080fd5b61026581610c86565b50565b60005474010000000000000000000000000000000000000000900460ff161561029057600080fd5b61029933610484565b15156102a457600080fd5b6004546103e8116102b457600080fd5b600160a060020a038116600090815260056020526040902054156102d757600080fd5b600081905080600160a060020a0316631777fb4b6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561031857600080fd5b505afa15801561032c573d6000803e3d6000fd5b505050506040513d602081101561034257600080fd5b5051151561034f57600080fd5b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561038d57600080fd5b505afa1580156103a1573d6000803e3d6000fd5b505050506040513d60208110156103b757600080fd5b50519050600560ff821611156103cc57600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061044f60028363ffffffff610c9716565b92915050565b600060048260010181548110151561046957fe5b600091825260209091200154600160a060020a031692915050565b600061044f60038363ffffffff610c9716565b6104a03361043c565b15156104ab57600080fd5b61026581610cce565b60005474010000000000000000000000000000000000000000900460ff16156104dc57600080fd5b6104e533610484565b15156104f057600080fd5b6004546001106104ff57600080fd5b60045460021415610564576004805480151561051757fe5b600082815260208082208301600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055909201909255600160a060020a0383168252600590526040812055610265565b600454600160a060020a038216600090815260056020526040902054146105fe5760048054600019810190811061059757fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105cf57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b6004805480151561060b57fe5b600082815260208082208301600019908101805473ffffffffffffffffffffffffffffffffffffffff19169055909201909255600160a060020a038316825260059052604081205550565b60005474010000000000000000000000000000000000000000900460ff161561067e57600080fd5b6106873361043c565b151561069257600080fd5b6004546001106106a157600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b15801561070557600080fd5b505afa158015610719573d6000803e3d6000fd5b505050506040513d602081101561072f57600080fd5b505190506000811161074057600080fd5b610748610e71565b60045460015b8181101561090157600060048281548110151561076757fe5b60009182526020918290200154604080517f19a74ab30000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216935083926319a74ab392600480840193829003018186803b1580156107cc57600080fd5b505afa1580156107e0573d6000803e3d6000fd5b505050506040513d60208110156107f657600080fd5b5051151561080457506108f9565b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561084257600080fd5b505afa158015610856573d6000803e3d6000fd5b505050506040513d602081101561086c57600080fd5b5051905060ff8116151561088e578460005b60200201805160010190526108f6565b8060ff16600114156108a25784600161087e565b8060ff16600214156108b65784600261087e565b8060ff16600314156108ca5784600361087e565b8060ff16600414156108de5784600461087e565b8060ff16600514156108f65760a08501805160010190525b50505b60010161074e565b5060a082015160808301516060840151604085015160208601518651600a90910201601490910201601e90910201602890910201603290910201610943610e71565b818581151561094e57fe5b04815281600a860281151561095f57fe5b046020820152816014860281151561097357fe5b04604082015281601e860281151561098757fe5b046060820152816028860281151561099b57fe5b04608082015281603286028115156109af57fe5b0460a082015260015b83811015610b9c5760006004828154811015156109d157fe5b60009182526020918290200154604080517f19a74ab30000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216935083926319a74ab392600480840193829003018186803b158015610a3657600080fd5b505afa158015610a4a573d6000803e3d6000fd5b505050506040513d6020811015610a6057600080fd5b50511515610a6e5750610b94565b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610aac57600080fd5b505afa158015610ac0573d6000803e3d6000fd5b505050506040513d6020811015610ad657600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919250610b9191600160a060020a0385169163302c11ca916004808301926020929190829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d6020811015610b6257600080fd5b50518560ff841660068110610b7357fe5b6020020151600154600160a060020a0316919063ffffffff610cdf16565b50505b6001016109b8565b505050505050565b6004546000190190565b61024633610d7e565b61024633610d8f565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b505190506000811115610c7e57600054600154610c7e91600160a060020a0391821691168363ffffffff610cdf16565b610265610da0565b61026560038263ffffffff610dd716565b6000600160a060020a0382161515610cae57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026560028263ffffffff610dd716565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d4257600080fd5b505af1158015610d56573d6000803e3d6000fd5b505050506040513d6020811015610d6c57600080fd5b50511515610d7957600080fd5b505050565b61026560038263ffffffff610e2516565b61026560028263ffffffff610e2516565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610dec57600080fd5b610df68282610c97565b15610e0057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e3a57600080fd5b610e448282610c97565b1515610e4f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b60c060405190810160405280600690602082028038833950919291505056fea165627a7a72305820d93c57fe9a496ba0db433cb631bbbbe57a53bb63720b63023ea0e465cf5c1d200029", "functionHashes": { "addCoreTeam(address)": "2e6b6849", "addSystem(address)": "74be7592", @@ -192,15 +192,15 @@ }, "gasEstimates": { "creation": { - "codeDepositCost": "777000", + "codeDepositCost": "754400", "executionCost": "infinite", "totalCost": "infinite" }, "external": { "addCoreTeam(address)": "infinite", "addSystem(address)": "infinite", - "getMinerByIndex(uint256)": "1002", - "getMinerCount()": "655", + "getMinerByIndex(uint256)": "1058", + "getMinerCount()": "541", "isCoreTeam(address)": "infinite", "isSystem(address)": "infinite", "mine()": "infinite", diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner-sol-output.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner-sol-output.json index 79da0244d..e8c434ff2 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner-sol-output.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner-sol-output.json @@ -9,9 +9,9 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820a82cc7d287f8450e22843025dd73eaa06172ebd434e1e3cf86a642a33d96584e0029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x35 DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xa8 0x2c 0xc7 0xd2 DUP8 0xf8 GASLIMIT 0xe 0x22 DUP5 ADDRESS 0x25 0xdd PUSH20 0xEAA06172EBD434E1E3CF86A642A33D96584E0029 ", - "sourceMap": "27:1033:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27:1033:0;;;;;;;" + "object": "6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfea165627a7a72305820c142737f5004f0e270be8e9321f75139c2de559ee56245828f39cd6b8e6ac07b0029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x35 DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc1 TIMESTAMP PUSH20 0x7F5004F0E270BE8E9321F75139C2DE559EE56245 DUP3 DUP16 CODECOPY 0xcd PUSH12 0x8E6AC07B0029000000000000 ", + "sourceMap": "26:1033:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:1033:0;;;;;;;" }, "gasEstimates": { "creation": { @@ -25,7 +25,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":\"AlgoCommon\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x2314139702cc63c8daa379e521abea3be32730ba896f68f3f865749907e64539\",\"urls\":[\"bzzr://b945e0ec5a4ca8a52b5e816c5bb00807d0ca43c5363102821b36c8c4ee98a2d5\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":\"AlgoCommon\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x014debd2c96ba7aba7faef24eac1f1a5d46791b55ae55fbd51d7945bf21277e0\",\"urls\":[\"bzzr://b8d1cffc7f1bfdc8c911d90b785cf9c2723b24bd162d7cfd730e127f56932fe9\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -508,13 +508,13 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b5060405160a080620014d1833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a960028264010000000062001186620001e282021704565b50565b620001a960038264010000000062001186620001e282021704565b620001a960048264010000000062001186620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61124c80620002856000396000f3006080604052600436106101745763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610179578063162f986d146101905780631777fb4b146101a557806319a74ab3146101ce57806321b79d98146101e3578063231d4e2a146101f857806329d10b6e146102195780632e6b68491461023a578063302c11ca1461025b578063329b1c921461028c57806334cdcf26146102a1578063363aa6c7146102c25780633e6968b6146102d7578063427534a4146103035780634969ae7014610318578063608d3d3d1461034357806374be75921461036457806380258e471461038557806381a244591461039a5780638329138f146103bb57806399f4b251146103e25780639e614ca0146103f7578063b2a32cd51461040c578063be95249414610421578063cdfd0f6414610436578063ce41607a1461045d578063d43acc7914610472578063da40867914610487578063e9d618591461049c575b600080fd5b34801561018557600080fd5b5061018e6104b1565b005b34801561019c57600080fd5b5061018e6104cf565b3480156101b157600080fd5b506101ba61053e565b604080519115158252519081900360200190f35b3480156101da57600080fd5b506101ba610543565b3480156101ef57600080fd5b5061018e61057a565b34801561020457600080fd5b5061018e600160a060020a0360043516610610565b34801561022557600080fd5b5061018e600160a060020a03600435166106fc565b34801561024657600080fd5b5061018e600160a060020a0360043516610719565b34801561026757600080fd5b50610270610736565b60408051600160a060020a039092168252519081900360200190f35b34801561029857600080fd5b5061027061074b565b3480156102ad57600080fd5b506101ba600160a060020a036004351661075a565b3480156102ce57600080fd5b5061018e610775565b3480156102e357600080fd5b506102ec610826565b6040805161ffff9092168252519081900360200190f35b34801561030f57600080fd5b5061018e610837565b34801561032457600080fd5b5061032d6108a3565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506101ba600160a060020a03600435166108b7565b34801561037057600080fd5b5061018e600160a060020a03600435166108ca565b34801561039157600080fd5b5061032d6108e7565b3480156103a657600080fd5b506101ba600160a060020a03600435166108f5565b3480156103c757600080fd5b5061018e600160a060020a0360043581169060243516610908565b3480156103ee57600080fd5b5061018e6109bb565b34801561040357600080fd5b5061018e610bfc565b34801561041857600080fd5b5061018e610c6d565b34801561042d57600080fd5b5061018e610dcb565b34801561044257600080fd5b5061044b610dd4565b60408051918252519081900360200190f35b34801561046957600080fd5b5061032d610dda565b34801561047e57600080fd5b5061018e610dfd565b34801561049357600080fd5b5061018e610e06565b3480156104a857600080fd5b5061018e610e97565b6104ba336108b7565b15156104c557600080fd5b6104cd610ea0565b565b60005460a060020a900460ff16156104e657600080fd5b6104ef336108f5565b15156104fa57600080fd5b600160065460a060020a900460ff16600381111561051457fe5b1461051e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561055f57fe5b148015610575575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561059157600080fd5b600554620100009004600160a060020a031633146105ae57600080fd5b600160065460a060020a900460ff1660038111156105c857fe5b146105d257600080fd5b60065460a860020a900460ff16156105e957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610619336108b7565b151561062457600080fd5b600060065460a060020a900460ff16600381111561063e57fe5b1461064857600080fd5b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516106f9928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b5051600154600160a060020a0316919063ffffffff610f6716565b50565b610705336108f5565b151561071057600080fd5b6106f98161101f565b610722336108b7565b151561072d57600080fd5b6106f981611030565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061076d60028363ffffffff61104116565b90505b919050565b60005460a060020a900460ff161561078c57600080fd5b610795336108f5565b15156107a057600080fd5b600360065460a060020a900460ff1660038111156107ba57fe5b14156107c557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561084e57600080fd5b610857336108f5565b151561086257600080fd5b600260065460a060020a900460ff16600381111561087c57fe5b1461088657600080fd5b600680546001919060a060020a60ff02191660a060020a83610537565b60055460009060ff16600181111561057557fe5b600061076d60038363ffffffff61104116565b6108d33361075a565b15156108de57600080fd5b6106f981611078565b600554610100900460ff1690565b600061076d60048363ffffffff61104116565b60005460a060020a900460ff161561091f57600080fd5b610928336108f5565b151561093357600080fd5b600360065460a060020a900460ff16600381111561094d57fe5b1461095757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109d557600080fd5b6109de3361075a565b15156109e957600080fd5b600060055460ff1660018111156109fc57fe5b14610a0657600080fd5b600160065460a060020a900460ff166003811115610a2057fe5b14610a2a57600080fd5b60065460a860020a900460ff161515610a4257600080fd5b60065460b860020a900461ffff161515610ab8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b80565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b80576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610b9e57600080fd5b60008111610bab57600080fd5b600554600154610bd591600160a060020a039182169162010000909104168463ffffffff610f6716565b600654600154610bf891600160a060020a0391821691168363ffffffff610f6716565b5050565b60005460a060020a900460ff1615610c1357600080fd5b610c1c336108b7565b1515610c2757600080fd5b600060065460a060020a900460ff166003811115610c4157fe5b1415610c4c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610c8957600080fd5b610c92336108b7565b1515610c9d57600080fd5b600060065460a060020a900460ff166003811115610cb757fe5b14610cc157600080fd5b600060055460ff166001811115610cd457fe5b148015610ce15750600754155b15610db057600554610cfa90610100900460ff16611089565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d6e57600080fd5b505af1158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b50519050818114610da857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104cd3361113b565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104cd3361114c565b60005460a060020a900460ff1615610e1d57600080fd5b600554620100009004600160a060020a03163314610e3a57600080fd5b600160065460a060020a900460ff166003811115610e5457fe5b14610e5e57600080fd5b60065460a860020a900460ff161515610e7657600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104cd3361115d565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6020811015610f2f57600080fd5b505190506000811115610f5f57600054600154610f5f91600160a060020a0391821691168363ffffffff610f6716565b6106f961116e565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fe357600080fd5b505af1158015610ff7573d6000803e3d6000fd5b505050506040513d602081101561100d57600080fd5b5051151561101a57600080fd5b505050565b6106f960048263ffffffff61118616565b6106f960038263ffffffff61118616565b6000600160a060020a038216151561105857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106f960028263ffffffff61118616565b600060ff821615156110a6575069152d02c7e14af6800000610770565b8160ff16600114156110c3575069d3c21bcecceda1000000610770565b8160ff16600214156110e157506a01a784379d99db42000000610770565b8160ff16600314156110ff57506a027b46536c66c8e3000000610770565b8160ff166004141561111d57506a034f086f3b33b684000000610770565b8160ff166005141561077057506a0422ca8b0a00a425000000610770565b6106f960048263ffffffff6111d416565b6106f960038263ffffffff6111d416565b6106f960028263ffffffff6111d416565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561119b57600080fd5b6111a58282611041565b156111af57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03811615156111e957600080fd5b6111f38282611041565b15156111fe57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058202935a8fadd5caa8f5a9312cd903c07814b3de5662642cabdc9018c364221db570029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xA0 DUP1 PUSH3 0x14D1 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 SWAP1 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD SWAP2 DUP4 ADD MLOAD PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x80 SWAP1 SWAP5 ADD MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE SWAP3 SWAP5 SWAP2 SWAP3 PUSH3 0x87 SWAP1 PUSH5 0x100000000 PUSH3 0x18E DUP2 MUL DIV JUMP JUMPDEST PUSH3 0x9B CALLER PUSH5 0x100000000 PUSH3 0x1AC DUP2 MUL DIV JUMP JUMPDEST PUSH3 0xAF CALLER PUSH5 0x100000000 PUSH3 0x1C7 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x0 DUP5 PUSH1 0xFF AND LT ISZERO DUP1 ISZERO PUSH3 0xC8 JUMPI POP PUSH1 0x5 DUP5 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH3 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH3 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH3 0xF9 JUMPI INVALID JUMPDEST EQ ISZERO PUSH3 0x116 JUMPI PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x116 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 DUP1 SLOAD DUP7 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 DUP2 DUP2 GT ISZERO PUSH3 0x12F JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP POP PUSH1 0x5 DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 PUSH1 0xFF SWAP6 SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 MUL SWAP4 SWAP1 SWAP4 OR PUSH3 0x10000 PUSH1 0xB0 PUSH1 0x2 EXP SUB NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP4 DUP5 AND MUL OR SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP PUSH3 0x275 JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH3 0x1186 PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0x1186 PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x4 DUP3 PUSH5 0x100000000 PUSH3 0x1186 PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x20D DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x23D DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x124C DUP1 PUSH3 0x285 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x174 JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0x179 JUMPI DUP1 PUSH4 0x162F986D EQ PUSH2 0x190 JUMPI DUP1 PUSH4 0x1777FB4B EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x19A74AB3 EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x21B79D98 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x231D4E2A EQ PUSH2 0x1F8 JUMPI DUP1 PUSH4 0x29D10B6E EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x302C11CA EQ PUSH2 0x25B JUMPI DUP1 PUSH4 0x329B1C92 EQ PUSH2 0x28C JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0x2A1 JUMPI DUP1 PUSH4 0x363AA6C7 EQ PUSH2 0x2C2 JUMPI DUP1 PUSH4 0x3E6968B6 EQ PUSH2 0x2D7 JUMPI DUP1 PUSH4 0x427534A4 EQ PUSH2 0x303 JUMPI DUP1 PUSH4 0x4969AE70 EQ PUSH2 0x318 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x343 JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x364 JUMPI DUP1 PUSH4 0x80258E47 EQ PUSH2 0x385 JUMPI DUP1 PUSH4 0x81A24459 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0x8329138F EQ PUSH2 0x3BB JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x3E2 JUMPI DUP1 PUSH4 0x9E614CA0 EQ PUSH2 0x3F7 JUMPI DUP1 PUSH4 0xB2A32CD5 EQ PUSH2 0x40C JUMPI DUP1 PUSH4 0xBE952494 EQ PUSH2 0x421 JUMPI DUP1 PUSH4 0xCDFD0F64 EQ PUSH2 0x436 JUMPI DUP1 PUSH4 0xCE41607A EQ PUSH2 0x45D JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x472 JUMPI DUP1 PUSH4 0xDA408679 EQ PUSH2 0x487 JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x49C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x4B1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x19C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x4CF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH2 0x53E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH2 0x543 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x57A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x204 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x610 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x225 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x6FC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x719 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x270 PUSH2 0x736 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x298 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x270 PUSH2 0x74B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x75A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x775 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2EC PUSH2 0x826 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH2 0xFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x837 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x324 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32D PUSH2 0x8A3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8B7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x370 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x391 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32D PUSH2 0x8E7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BA PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x908 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0x9BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x403 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xBFC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x418 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xC6D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xDCB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x442 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x44B PUSH2 0xDD4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x32D PUSH2 0xDDA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xDFD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x493 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xE06 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x18E PUSH2 0xE97 JUMP JUMPDEST PUSH2 0x4BA CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CD PUSH2 0xEA0 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x4E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4EF CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x514 JUMPI INVALID JUMPDEST EQ PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x2 SWAP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x55F JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0x575 JUMPI POP PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x591 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND CALLER EQ PUSH2 0x5AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x5C8 JUMPI INVALID JUMPDEST EQ PUSH2 0x5D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x5E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND PUSH1 0xA8 PUSH1 0x2 EXP OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x619 CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x624 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x63E JUMPI INVALID JUMPDEST EQ PUSH2 0x648 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH2 0x6F9 SWAP3 DUP5 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xF67 AND JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x705 CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x710 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F9 DUP2 PUSH2 0x101F JUMP JUMPDEST PUSH2 0x722 CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x72D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F9 DUP2 PUSH2 0x1030 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76D PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1041 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x78C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x795 CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x7A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x7BA JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x7C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x5 DUP1 SLOAD PUSH22 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 NOT AND SWAP1 SSTORE PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH21 0x30000000000000000000000000000000000000000 OR PUSH22 0xFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x84E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x857 CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x862 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x87C JUMPI INVALID JUMPDEST EQ PUSH2 0x886 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 PUSH2 0x537 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x575 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x76D PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1041 AND JUMP JUMPDEST PUSH2 0x8D3 CALLER PUSH2 0x75A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x8DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F9 DUP2 PUSH2 0x1078 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76D PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1041 AND JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x91F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x928 CALLER PUSH2 0x8F5 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x933 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x94D JUMPI INVALID JUMPDEST EQ PUSH2 0x957 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x5 DUP1 SLOAD PUSH22 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP7 DUP8 AND MUL OR SWAP1 SSTORE PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x9D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9DE CALLER PUSH2 0x75A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x9E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x9FC JUMPI INVALID JUMPDEST EQ PUSH2 0xA06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xA20 JUMPI INVALID JUMPDEST EQ PUSH2 0xA2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xA42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND ISZERO ISZERO PUSH2 0xAB8 JUMPI PUSH1 0x6 DUP1 SLOAD PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT PUSH23 0xFF00000000000000000000000000000000000000000000 NOT SWAP1 SWAP2 AND PUSH23 0x100000000000000000000000000000000000000000000 OR AND PUSH1 0xB8 PUSH1 0x2 EXP OR SWAP1 SSTORE PUSH2 0xB80 JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH2 0xFFFF PUSH1 0xB8 PUSH1 0x2 EXP DUP1 DUP5 DIV DUP3 AND SWAP3 SWAP1 SWAP3 ADD DUP2 AND DUP3 MUL PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP3 DUP4 SWAP1 SSTORE SWAP1 SWAP2 DIV AND PUSH2 0x16E EQ ISZERO PUSH2 0xB80 JUMPI PUSH1 0x6 DUP1 SLOAD PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT PUSH1 0x1 PUSH1 0xFF PUSH23 0x100000000000000000000000000000000000000000000 DUP1 DUP6 DIV DUP3 AND SWAP3 SWAP1 SWAP3 ADD AND MUL PUSH23 0xFF00000000000000000000000000000000000000000000 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR AND PUSH1 0xB8 PUSH1 0x2 EXP OR SWAP1 SSTORE PUSH1 0x7 SLOAD PUSH1 0x2 SWAP1 DIV PUSH1 0x7 SSTORE JUMPDEST POP POP PUSH1 0x7 SLOAD PUSH2 0x16D SWAP1 DIV PUSH1 0x64 PUSH1 0xA DUP3 MUL DIV PUSH1 0x0 DUP3 GT PUSH2 0xB9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0xBAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 SLOAD PUSH2 0xBD5 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 PUSH3 0x10000 SWAP1 SWAP2 DIV AND DUP5 PUSH4 0xFFFFFFFF PUSH2 0xF67 AND JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 SLOAD PUSH2 0xBF8 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF67 AND JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1C CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xC27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC41 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0xC4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFFFF0000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 DUP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC92 CALLER PUSH2 0x8B7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xC9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xCB7 JUMPI INVALID JUMPDEST EQ PUSH2 0xCC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xCD4 JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0xCE1 JUMPI POP PUSH1 0x7 SLOAD ISZERO JUMPDEST ISZERO PUSH2 0xDB0 JUMPI PUSH1 0x5 SLOAD PUSH2 0xCFA SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1089 JUMP JUMPDEST SWAP3 POP PUSH1 0x64 PUSH1 0xA DUP5 MUL PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD SWAP4 SWAP1 SWAP3 DIV DUP7 ADD SWAP5 POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xD6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD82 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP2 DUP2 EQ PUSH2 0xDA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 DUP4 DIV PUSH1 0x7 SSTORE JUMPDEST POP POP PUSH1 0x6 DUP1 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x4CD CALLER PUSH2 0x113B JUMP JUMPDEST PUSH1 0x7 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH23 0x100000000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x4CD CALLER PUSH2 0x114C JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xE1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND CALLER EQ PUSH2 0xE3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE54 JUMPI INVALID JUMPDEST EQ PUSH2 0xE5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xE76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4CD CALLER PUSH2 0x115D JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF19 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xF5F JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xF5F SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF67 AND JUMP JUMPDEST PUSH2 0x6F9 PUSH2 0x116E JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xFE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xFF7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x100D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x101A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1186 AND JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1186 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x1058 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1186 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x10A6 JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x10C3 JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x10E1 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x10FF JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x111D JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x770 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x770 JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11D4 AND JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11D4 AND JUMP JUMPDEST PUSH2 0x6F9 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11D4 AND JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x119B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11A5 DUP3 DUP3 PUSH2 0x1041 JUMP JUMPDEST ISZERO PUSH2 0x11AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x11E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11F3 DUP3 DUP3 PUSH2 0x1041 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x11FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0x29 CALLDATALOAD 0xa8 STATICCALL 0xdd 0x5c 0xaa DUP16 GAS SWAP4 SLT 0xcd SWAP1 EXTCODECOPY SMOD DUP2 0x4b RETURNDATASIZE 0xe5 PUSH7 0x2642CABDC9018C CALLDATASIZE TIMESTAMP 0x21 0xdb JUMPI STOP 0x29 ", - "sourceMap": "620:5567:2:-;;;1312:664;8:9:-1;5:2;;;30:1;27;20:12;5:2;1312:664:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;156:8:7;:21;;167:10;-1:-1:-1;;;;;;156:21:7;;;;;-1:-1:-1;;;;;;188:19:7;;;;-1:-1:-1;636:29:5;;;;;-1:-1:-1;;;;;636:29:5;;;;;1312:664:2;;;;364:22:4;;:10;;;;:22;:::i;:::-;368:24:1;381:10;368:12;;;;:24;:::i;:::-;366:26:3;381:10;366:14;;;;:26;:::i;:::-;1625:1:2;1613:8;:13;;;;:30;;;;;1642:1;1630:8;:13;;;;1613:30;1605:39;;;;;;;;-1:-1:-1;;;;;1663:33:2;;;;1655:42;;;;;;1726:19;1713:9;:32;;;;;;;;;1710:109;;;-1:-1:-1;;;;;1770:36:2;;;;1762:45;;;;;;1831:10;:22;;1844:9;;1831:10;-1:-1:-1;;1831:22:2;;1844:9;1831:22;;;;;;;;;;;;-1:-1:-1;;1864:9:2;:20;;-1:-1:-1;;1864:20:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1895:28:2;;-1:-1:-1;;;;;1895:28:2;;;;;;;;1934:9;:34;;-1:-1:-1;;;;;;1934:34:2;;;;;;;;;;;-1:-1:-1;620:5567:2;;800:92:4;857:27;:14;876:7;857:18;;;;;;:27;:::i;:::-;800:92;:::o;824:96:1:-;883:29;:16;904:7;883:20;;;;;;:29;:::i;836:94:3:-;897:25;:12;914:7;897:16;;;;;;:25;:::i;244:167:8:-;-1:-1:-1;;;;;316:21:8;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:8;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:8;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:8;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:8;:11;:20;;;;;;;;;;;;;;;725:166::o;620:5567:2:-;;;;;;;" + "object": "60806040523480156200001157600080fd5b5060405160a08062001458833981018060405260a08110156200003357600080fd5b5080516020820151604083015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a038416179055939492939192916200009a906401000000006200018e810204565b620000ae33640100000000620001ac810204565b620000c233640100000000620001c7810204565b600560ff85161115620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a96002826401000000006200110d620001e282021704565b50565b620001a96003826401000000006200110d620001e282021704565b620001a96004826401000000006200110d620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6111d380620002856000396000f3fe608060405234801561001057600080fd5b50600436106101ec576000357c0100000000000000000000000000000000000000000000000000000000900480634969ae70116101215780639e614ca0116100bf578063ce41607a1161008e578063ce41607a14610422578063d43acc791461042a578063da40867914610432578063e9d618591461043a576101ec565b80639e614ca0146103f0578063b2a32cd5146103f8578063be95249414610400578063cdfd0f6414610408576101ec565b806380258e47116100fb57806380258e471461038c57806381a24459146103945780638329138f146103ba57806399f4b251146103e8576101ec565b80634969ae7014610322578063608d3d3d1461034057806374be759214610366576101ec565b80632e6b68491161018e57806334cdcf261161016857806334cdcf26146102cd578063363aa6c7146102f35780633e6968b6146102fb578063427534a41461031a576101ec565b80632e6b68491461027b578063302c11ca146102a1578063329b1c92146102c5576101ec565b806319a74ab3116101ca57806319a74ab31461021f57806321b79d9814610227578063231d4e2a1461022f57806329d10b6e14610255576101ec565b80630c08bf88146101f1578063162f986d146101fb5780631777fb4b14610203575b600080fd5b6101f9610442565b005b6101f9610460565b61020b6104cf565b604080519115158252519081900360200190f35b61020b6104d4565b6101f961050b565b6101f96004803603602081101561024557600080fd5b5035600160a060020a03166105a1565b6101f96004803603602081101561026b57600080fd5b5035600160a060020a031661068b565b6101f96004803603602081101561029157600080fd5b5035600160a060020a03166106a8565b6102a96106c5565b60408051600160a060020a039092168252519081900360200190f35b6102a96106da565b61020b600480360360208110156102e357600080fd5b5035600160a060020a03166106e9565b6101f9610704565b6103036107b5565b6040805161ffff9092168252519081900360200190f35b6101f96107c6565b61032a610832565b6040805160ff9092168252519081900360200190f35b61020b6004803603602081101561035657600080fd5b5035600160a060020a0316610846565b6101f96004803603602081101561037c57600080fd5b5035600160a060020a0316610859565b61032a610876565b61020b600480360360208110156103aa57600080fd5b5035600160a060020a0316610884565b6101f9600480360360408110156103d057600080fd5b50600160a060020a0381358116916020013516610897565b6101f961094a565b6101f9610b86565b6101f9610bf7565b6101f9610d53565b610410610d5c565b60408051918252519081900360200190f35b61032a610d62565b6101f9610d85565b6101f9610d8e565b6101f9610e1f565b61044b33610846565b151561045657600080fd5b61045e610e28565b565b60005460a060020a900460ff161561047757600080fd5b61048033610884565b151561048b57600080fd5b600160065460a060020a900460ff1660038111156104a557fe5b146104af57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff1660038111156104f057fe5b148015610506575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561052257600080fd5b600554620100009004600160a060020a0316331461053f57600080fd5b600160065460a060020a900460ff16600381111561055957fe5b1461056357600080fd5b60065460a860020a900460ff161561057a57600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b6105aa33610846565b15156105b557600080fd5b600060065460a060020a900460ff1660038111156105cf57fe5b146105d957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610688928492600160a060020a03909116916370a0823191602480820192602092909190829003018186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d602081101561066d57600080fd5b5051600154600160a060020a0316919063ffffffff610eee16565b50565b61069433610884565b151561069f57600080fd5b61068881610fa6565b6106b133610846565b15156106bc57600080fd5b61068881610fb7565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b60006106fc60028363ffffffff610fc816565b90505b919050565b60005460a060020a900460ff161561071b57600080fd5b61072433610884565b151561072f57600080fd5b600360065460a060020a900460ff16600381111561074957fe5b141561075457600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff16156107dd57600080fd5b6107e633610884565b15156107f157600080fd5b600260065460a060020a900460ff16600381111561080b57fe5b1461081557600080fd5b600680546001919060a060020a60ff02191660a060020a836104c8565b60055460009060ff16600181111561050657fe5b60006106fc60038363ffffffff610fc816565b610862336106e9565b151561086d57600080fd5b61068881610fff565b600554610100900460ff1690565b60006106fc60048363ffffffff610fc816565b60005460a060020a900460ff16156108ae57600080fd5b6108b733610884565b15156108c257600080fd5b600360065460a060020a900460ff1660038111156108dc57fe5b146108e657600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60005460a060020a900460ff161561096157600080fd5b61096a336106e9565b151561097557600080fd5b600060055460ff16600181111561098857fe5b1461099257600080fd5b600160065460a060020a900460ff1660038111156109ac57fe5b146109b657600080fd5b60065460a860020a900460ff1615156109ce57600080fd5b60065460b860020a900461ffff161515610a44576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b0c565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b0c576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b60075461016d90046064600a82020460008211610b2857600080fd5b60008111610b3557600080fd5b600554600154610b5f91600160a060020a039182169162010000909104168463ffffffff610eee16565b600654600154610b8291600160a060020a0391821691168363ffffffff610eee16565b5050565b60005460a060020a900460ff1615610b9d57600080fd5b610ba633610846565b1515610bb157600080fd5b600060065460a060020a900460ff166003811115610bcb57fe5b1415610bd657600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b60005460a060020a900460ff1615610c0e57600080fd5b610c1733610846565b1515610c2257600080fd5b600060065460a060020a900460ff166003811115610c3c57fe5b14610c4657600080fd5b600060055460ff166001811115610c5957fe5b148015610c665750600754155b1561081557600554600090610c8290610100900460ff16611010565b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519293506064600a850204840192600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610cf357600080fd5b505afa158015610d07573d6000803e3d6000fd5b505050506040513d6020811015610d1d57600080fd5b50519050818114610d2d57600080fd5b600283046007555050600680546001925060a060020a60ff02191660a060020a836104c8565b61045e336110c2565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b61045e336110d3565b60005460a060020a900460ff1615610da557600080fd5b600554620100009004600160a060020a03163314610dc257600080fd5b600160065460a060020a900460ff166003811115610ddc57fe5b14610de657600080fd5b60065460a860020a900460ff161515610dfe57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b61045e336110e4565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b505190506000811115610ee657600054600154610ee691600160a060020a0391821691168363ffffffff610eee16565b6106886110f5565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505050506040513d6020811015610f9457600080fd5b50511515610fa157600080fd5b505050565b61068860048263ffffffff61110d16565b61068860038263ffffffff61110d16565b6000600160a060020a0382161515610fdf57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61068860028263ffffffff61110d16565b600060ff8216151561102d575069152d02c7e14af68000006106ff565b8160ff166001141561104a575069d3c21bcecceda10000006106ff565b8160ff166002141561106857506a01a784379d99db420000006106ff565b8160ff166003141561108657506a027b46536c66c8e30000006106ff565b8160ff16600414156110a457506a034f086f3b33b6840000006106ff565b8160ff16600514156106ff57506a0422ca8b0a00a4250000006106ff565b61068860048263ffffffff61115b16565b61068860038263ffffffff61115b16565b61068860028263ffffffff61115b16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561112257600080fd5b61112c8282610fc8565b1561113657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561117057600080fd5b61117a8282610fc8565b151561118557600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fea165627a7a72305820a2a7d81c4bf237d833a792f3dd14af3f88c7c6e7d320648513595fcbe01959490029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xA0 DUP1 PUSH3 0x1458 DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE PUSH1 0xA0 DUP2 LT ISZERO PUSH3 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x80 SWAP1 SWAP5 ADD MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP2 PUSH3 0x9A SWAP1 PUSH5 0x100000000 PUSH3 0x18E DUP2 MUL DIV JUMP JUMPDEST PUSH3 0xAE CALLER PUSH5 0x100000000 PUSH3 0x1AC DUP2 MUL DIV JUMP JUMPDEST PUSH3 0xC2 CALLER PUSH5 0x100000000 PUSH3 0x1C7 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x5 PUSH1 0xFF DUP6 AND GT ISZERO PUSH3 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP4 AND ISZERO ISZERO PUSH3 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP6 PUSH1 0x1 DUP2 GT ISZERO PUSH3 0xF9 JUMPI INVALID JUMPDEST EQ ISZERO PUSH3 0x116 JUMPI PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x116 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 DUP1 SLOAD DUP7 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 DUP2 DUP2 GT ISZERO PUSH3 0x12F JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP POP PUSH1 0x5 DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 PUSH1 0xFF SWAP6 SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 MUL SWAP4 SWAP1 SWAP4 OR PUSH3 0x10000 PUSH1 0xB0 PUSH1 0x2 EXP SUB NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP4 DUP5 AND MUL OR SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP PUSH3 0x275 JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH3 0x110D PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0x110D PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x4 DUP3 PUSH5 0x100000000 PUSH3 0x110D PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH3 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x20D DUP3 DUP3 PUSH5 0x100000000 PUSH3 0x23D DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH3 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH3 0x255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x11D3 DUP1 PUSH3 0x285 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1EC JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x4969AE70 GT PUSH2 0x121 JUMPI DUP1 PUSH4 0x9E614CA0 GT PUSH2 0xBF JUMPI DUP1 PUSH4 0xCE41607A GT PUSH2 0x8E JUMPI DUP1 PUSH4 0xCE41607A EQ PUSH2 0x422 JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x42A JUMPI DUP1 PUSH4 0xDA408679 EQ PUSH2 0x432 JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x43A JUMPI PUSH2 0x1EC JUMP JUMPDEST DUP1 PUSH4 0x9E614CA0 EQ PUSH2 0x3F0 JUMPI DUP1 PUSH4 0xB2A32CD5 EQ PUSH2 0x3F8 JUMPI DUP1 PUSH4 0xBE952494 EQ PUSH2 0x400 JUMPI DUP1 PUSH4 0xCDFD0F64 EQ PUSH2 0x408 JUMPI PUSH2 0x1EC JUMP JUMPDEST DUP1 PUSH4 0x80258E47 GT PUSH2 0xFB JUMPI DUP1 PUSH4 0x80258E47 EQ PUSH2 0x38C JUMPI DUP1 PUSH4 0x81A24459 EQ PUSH2 0x394 JUMPI DUP1 PUSH4 0x8329138F EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x3E8 JUMPI PUSH2 0x1EC JUMP JUMPDEST DUP1 PUSH4 0x4969AE70 EQ PUSH2 0x322 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x340 JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x366 JUMPI PUSH2 0x1EC JUMP JUMPDEST DUP1 PUSH4 0x2E6B6849 GT PUSH2 0x18E JUMPI DUP1 PUSH4 0x34CDCF26 GT PUSH2 0x168 JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0x2CD JUMPI DUP1 PUSH4 0x363AA6C7 EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0x3E6968B6 EQ PUSH2 0x2FB JUMPI DUP1 PUSH4 0x427534A4 EQ PUSH2 0x31A JUMPI PUSH2 0x1EC JUMP JUMPDEST DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x27B JUMPI DUP1 PUSH4 0x302C11CA EQ PUSH2 0x2A1 JUMPI DUP1 PUSH4 0x329B1C92 EQ PUSH2 0x2C5 JUMPI PUSH2 0x1EC JUMP JUMPDEST DUP1 PUSH4 0x19A74AB3 GT PUSH2 0x1CA JUMPI DUP1 PUSH4 0x19A74AB3 EQ PUSH2 0x21F JUMPI DUP1 PUSH4 0x21B79D98 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x231D4E2A EQ PUSH2 0x22F JUMPI DUP1 PUSH4 0x29D10B6E EQ PUSH2 0x255 JUMPI PUSH2 0x1EC JUMP JUMPDEST DUP1 PUSH4 0xC08BF88 EQ PUSH2 0x1F1 JUMPI DUP1 PUSH4 0x162F986D EQ PUSH2 0x1FB JUMPI DUP1 PUSH4 0x1777FB4B EQ PUSH2 0x203 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F9 PUSH2 0x442 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F9 PUSH2 0x460 JUMP JUMPDEST PUSH2 0x20B PUSH2 0x4CF JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x20B PUSH2 0x4D4 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0x50B JUMP JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x245 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x5A1 JUMP JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x26B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x68B JUMP JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x291 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x6A8 JUMP JUMPDEST PUSH2 0x2A9 PUSH2 0x6C5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x2A9 PUSH2 0x6DA JUMP JUMPDEST PUSH2 0x20B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x6E9 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0x704 JUMP JUMPDEST PUSH2 0x303 PUSH2 0x7B5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH2 0xFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x1F9 PUSH2 0x7C6 JUMP JUMPDEST PUSH2 0x32A PUSH2 0x832 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x20B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x356 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x846 JUMP JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x37C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x859 JUMP JUMPDEST PUSH2 0x32A PUSH2 0x876 JUMP JUMPDEST PUSH2 0x20B PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x884 JUMP JUMPDEST PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0x897 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0x94A JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0xB86 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0xBF7 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0xD53 JUMP JUMPDEST PUSH2 0x410 PUSH2 0xD5C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x32A PUSH2 0xD62 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0xD85 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0xD8E JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0xE1F JUMP JUMPDEST PUSH2 0x44B CALLER PUSH2 0x846 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45E PUSH2 0xE28 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x477 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x480 CALLER PUSH2 0x884 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x48B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x4A5 JUMPI INVALID JUMPDEST EQ PUSH2 0x4AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x2 SWAP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 JUMPDEST MUL OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x4F0 JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0x506 JUMPI POP PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x522 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND CALLER EQ PUSH2 0x53F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x559 JUMPI INVALID JUMPDEST EQ PUSH2 0x563 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x57A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND PUSH1 0xA8 PUSH1 0x2 EXP OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x5AA CALLER PUSH2 0x846 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x5B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x5CF JUMPI INVALID JUMPDEST EQ PUSH2 0x5D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH2 0x688 SWAP3 DUP5 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP1 SWAP2 AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP3 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x643 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x657 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x66D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xEEE AND JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x694 CALLER PUSH2 0x884 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x69F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x688 DUP2 PUSH2 0xFA6 JUMP JUMPDEST PUSH2 0x6B1 CALLER PUSH2 0x846 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x6BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x688 DUP2 PUSH2 0xFB7 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6FC PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xFC8 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x71B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x724 CALLER PUSH2 0x884 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x72F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x749 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x754 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x5 DUP1 SLOAD PUSH22 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 NOT AND SWAP1 SSTORE PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH21 0x30000000000000000000000000000000000000000 OR PUSH22 0xFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x7DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7E6 CALLER PUSH2 0x884 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x7F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x80B JUMPI INVALID JUMPDEST EQ PUSH2 0x815 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 SWAP2 SWAP1 PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x506 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x6FC PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xFC8 AND JUMP JUMPDEST PUSH2 0x862 CALLER PUSH2 0x6E9 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x86D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x688 DUP2 PUSH2 0xFFF JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6FC PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xFC8 AND JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x8AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8B7 CALLER PUSH2 0x884 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x8C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x3 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x8DC JUMPI INVALID JUMPDEST EQ PUSH2 0x8E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x5 DUP1 SLOAD PUSH22 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 NOT AND PUSH3 0x10000 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP7 DUP8 AND MUL OR SWAP1 SSTORE PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x96A CALLER PUSH2 0x6E9 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x975 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x988 JUMPI INVALID JUMPDEST EQ PUSH2 0x992 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x9AC JUMPI INVALID JUMPDEST EQ PUSH2 0x9B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0x9CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND ISZERO ISZERO PUSH2 0xA44 JUMPI PUSH1 0x6 DUP1 SLOAD PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT PUSH23 0xFF00000000000000000000000000000000000000000000 NOT SWAP1 SWAP2 AND PUSH23 0x100000000000000000000000000000000000000000000 OR AND PUSH1 0xB8 PUSH1 0x2 EXP OR SWAP1 SSTORE PUSH2 0xB0C JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH2 0xFFFF PUSH1 0xB8 PUSH1 0x2 EXP DUP1 DUP5 DIV DUP3 AND SWAP3 SWAP1 SWAP3 ADD DUP2 AND DUP3 MUL PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP3 DUP4 SWAP1 SSTORE SWAP1 SWAP2 DIV AND PUSH2 0x16E EQ ISZERO PUSH2 0xB0C JUMPI PUSH1 0x6 DUP1 SLOAD PUSH25 0xFFFF0000000000000000000000000000000000000000000000 NOT PUSH1 0x1 PUSH1 0xFF PUSH23 0x100000000000000000000000000000000000000000000 DUP1 DUP6 DIV DUP3 AND SWAP3 SWAP1 SWAP3 ADD AND MUL PUSH23 0xFF00000000000000000000000000000000000000000000 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR AND PUSH1 0xB8 PUSH1 0x2 EXP OR SWAP1 SSTORE PUSH1 0x7 SLOAD PUSH1 0x2 SWAP1 DIV PUSH1 0x7 SSTORE JUMPDEST PUSH1 0x7 SLOAD PUSH2 0x16D SWAP1 DIV PUSH1 0x64 PUSH1 0xA DUP3 MUL DIV PUSH1 0x0 DUP3 GT PUSH2 0xB28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0xB35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 SLOAD PUSH2 0xB5F SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 PUSH3 0x10000 SWAP1 SWAP2 DIV AND DUP5 PUSH4 0xFFFFFFFF PUSH2 0xEEE AND JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 SLOAD PUSH2 0xB82 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xEEE AND JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xB9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBA6 CALLER PUSH2 0x846 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xBB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xBCB JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0xBD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFFFF0000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC0E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC17 CALLER PUSH2 0x846 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xC22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xC3C JUMPI INVALID JUMPDEST EQ PUSH2 0xC46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xC59 JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0xC66 JUMPI POP PUSH1 0x7 SLOAD ISZERO JUMPDEST ISZERO PUSH2 0x815 JUMPI PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH2 0xC82 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1010 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD SWAP3 SWAP4 POP PUSH1 0x64 PUSH1 0xA DUP6 MUL DIV DUP5 ADD SWAP3 PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xCF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xD07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP2 DUP2 EQ PUSH2 0xD2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x2 DUP4 DIV PUSH1 0x7 SSTORE POP POP PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 SWAP3 POP PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP DUP4 PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x45E CALLER PUSH2 0x10C2 JUMP JUMPDEST PUSH1 0x7 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH23 0x100000000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x45E CALLER PUSH2 0x10D3 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xDA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND CALLER EQ PUSH2 0xDC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x6 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xDDC JUMPI INVALID JUMPDEST EQ PUSH2 0xDE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xDFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x45E CALLER PUSH2 0x10E4 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xE8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xEA0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xEB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xEE6 JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xEE6 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xEEE AND JUMP JUMPDEST PUSH2 0x688 PUSH2 0x10F5 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH29 0x100000000000000000000000000000000000000000000000000000000 MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xF6A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF7E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xF94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0xFA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x688 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x110D AND JUMP JUMPDEST PUSH2 0x688 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x110D AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0xFDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x688 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x110D AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x102D JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x6FF JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x104A JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x6FF JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x1068 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x6FF JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x1086 JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x6FF JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x10A4 JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x6FF JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x6FF JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x6FF JUMP JUMPDEST PUSH2 0x688 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x115B AND JUMP JUMPDEST PUSH2 0x688 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x115B AND JUMP JUMPDEST PUSH2 0x688 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x115B AND JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND PUSH1 0xA0 PUSH1 0x2 EXP OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x1122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x112C DUP3 DUP3 PUSH2 0xFC8 JUMP JUMPDEST ISZERO PUSH2 0x1136 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x1170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x117A DUP3 DUP3 PUSH2 0xFC8 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1185 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 LOG2 0xa7 0xd8 SHR 0x4b CALLCODE CALLDATACOPY 0xd8 CALLER 0xa7 SWAP3 RETURN 0xdd EQ 0xaf EXTCODEHASH DUP9 0xc7 0xc6 0xe7 0xd3 KECCAK256 PUSH5 0x8513595FCB 0xe0 NOT MSIZE 0x49 STOP 0x29 ", + "sourceMap": "619:5550:2:-;;;1311:647;8:9:-1;5:2;;;30:1;27;20:12;5:2;1311:647:2;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;1311:647:2;;;;;;;;;;;;;;;;;;;155:8:7;:21;;166:10;-1:-1:-1;;;;;;155:21:7;;;;;-1:-1:-1;;;;;;187:19:7;;;;-1:-1:-1;635:29:5;;;;;-1:-1:-1;;;;;635:29:5;;;;;1311:647:2;;;;;;;362:22:4;;:10;;;;:22;:::i;:::-;366:24:1;379:10;366:12;;;;:24;:::i;:::-;364:26:3;379:10;364:14;;;;:26;:::i;:::-;1624:1:2;1612:13;;;;;1604:22;;;;;;-1:-1:-1;;;;;1645:33:2;;;;1637:42;;;;;;1708:19;1695:9;:32;;;;;;;;;1692:109;;;-1:-1:-1;;;;;1752:36:2;;;;1744:45;;;;;;1813:10;:22;;1826:9;;1813:10;-1:-1:-1;;1813:22:2;;1826:9;1813:22;;;;;;;;;;;;-1:-1:-1;;1846:9:2;:20;;-1:-1:-1;;1846:20:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1877:28:2;;-1:-1:-1;;;;;1877:28:2;;;;;;;;1916:9;:34;;-1:-1:-1;;;;;;1916:34:2;;;;;;;;;;;-1:-1:-1;619:5550:2;;798:92:4;855:27;:14;874:7;855:18;;;;;;:27;:::i;:::-;798:92;:::o;822:96:1:-;881:29;:16;902:7;881:20;;;;;;:29;:::i;834:94:3:-;895:25;:12;912:7;895:16;;;;;;:25;:::i;259:181:8:-;-1:-1:-1;;;;;335:21:8;;;;327:30;;;;;;376:18;380:4;386:7;376:3;;;;:18;:::i;:::-;375:19;367:28;;;;;;-1:-1:-1;;;;;406:20:8;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;406:27:8;429:4;406:27;;;259:181::o;786:162::-;858:4;-1:-1:-1;;;;;882:21:8;;;;874:30;;;;;;-1:-1:-1;;;;;;921:20:8;:11;:20;;;;;;;;;;;;;;;786:162::o;619:5550:2:-;;;;;;;" }, "gasEstimates": { "creation": { - "codeDepositCost": "936800", + "codeDepositCost": "912600", "executionCost": "infinite", "totalCost": "infinite" }, @@ -524,16 +524,16 @@ "addSupervisor(address)": "infinite", "addSystem(address)": "infinite", "deactivateMiner()": "infinite", - "getCategory()": "784", - "getCurrentDay()": "737", - "getCurrentYear()": "960", - "getCurrentYearSupply()": "912", - "getMiner()": "724", - "getMinerType()": "744", - "getReferral()": "735", - "isAlgoMiner()": "234", + "getCategory()": "474", + "getCurrentDay()": "581", + "getCurrentYear()": "473", + "getCurrentYearSupply()": "514", + "getMiner()": "635", + "getMinerType()": "501", + "getReferral()": "646", + "isAlgoMiner()": "300", "isCoreTeam(address)": "infinite", - "isMining()": "881", + "isMining()": "880", "isSupervisor(address)": "infinite", "isSystem(address)": "infinite", "migrateMiner(address)": "infinite", @@ -544,9 +544,9 @@ "renounceSystem()": "infinite", "resetMiner(address,address)": "infinite", "resumeMining()": "infinite", - "startMining()": "21742", + "startMining()": "21741", "stopAndRemoveOwnership()": "infinite", - "stopMining()": "22182", + "stopMining()": "21695", "terminate()": "infinite" } }, @@ -582,7 +582,7 @@ "terminate()": "0c08bf88" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pauseMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isAlgoMiner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isMining\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"startMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newMinerAddress\",\"type\":\"address\"}],\"name\":\"migrateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSupervisor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMiner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReferral\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSystem\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopAndRemoveOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentDay\",\"outputs\":[{\"name\":\"\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"resumeMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMinerType\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCategory\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSupervisor\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwnerAddress\",\"type\":\"address\"},{\"name\":\"newReferralAddress\",\"type\":\"address\"}],\"name\":\"resetMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"mine\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSupervisor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentYearSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentYear\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"minerType\",\"type\":\"uint8\"},{\"name\":\"category\",\"type\":\"uint8\"},{\"name\":\"minerAccountAddress\",\"type\":\"address\"},{\"name\":\"referralAccountAddress\",\"type\":\"address\"},{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol\":\"AlgoMiner\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x2314139702cc63c8daa379e521abea3be32730ba896f68f3f865749907e64539\",\"urls\":[\"bzzr://b945e0ec5a4ca8a52b5e816c5bb00807d0ca43c5363102821b36c8c4ee98a2d5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol\":{\"keccak256\":\"0x9e72a9de7487735ff03810eed3ba1d97f7568ae7fc2b60339d95da498615ff71\",\"urls\":[\"bzzr://4464c54eb74e4f2afd3c6bc80e65640607e3c06c29e19297fc2bf08de027724f\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol\":{\"keccak256\":\"0x20955eaf60f79f885c941d97e208320c9e0bc1f05b8121342f8187f9a39fd46b\",\"urls\":[\"bzzr://8e30e53aa0322307873f8c0a4fc3c58b7562a0fde92a0921a52bdef4e129ec4b\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol\":{\"keccak256\":\"0x6fffe504e6805d95ca42269cc995a3de9401a12bc037068b056c186ce8569d8d\",\"urls\":[\"bzzr://a0923a2d2b1e4992f552ce49638b19d6d8328950c1d5dc1395f0d625daf21c68\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x1b1359f75f7d5a943ab06caea36824f0a6448c5ffa1a32ed7e26cee81cf3683a\",\"urls\":[\"bzzr://26177d59d0c84fa4e632538fbd44802f219e6501b0828533badcf80701cea0f5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pauseMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isAlgoMiner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isMining\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"startMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newMinerAddress\",\"type\":\"address\"}],\"name\":\"migrateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSupervisor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMiner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReferral\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSystem\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopAndRemoveOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentDay\",\"outputs\":[{\"name\":\"\",\"type\":\"uint16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"resumeMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMinerType\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCategory\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSupervisor\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwnerAddress\",\"type\":\"address\"},{\"name\":\"newReferralAddress\",\"type\":\"address\"}],\"name\":\"resetMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"mine\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"deactivateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activateMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSupervisor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentYearSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentYear\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"stopMining\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSystem\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"minerType\",\"type\":\"uint8\"},{\"name\":\"category\",\"type\":\"uint8\"},{\"name\":\"minerAccountAddress\",\"type\":\"address\"},{\"name\":\"referralAccountAddress\",\"type\":\"address\"},{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol\":\"AlgoMiner\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x014debd2c96ba7aba7faef24eac1f1a5d46791b55ae55fbd51d7945bf21277e0\",\"urls\":[\"bzzr://b8d1cffc7f1bfdc8c911d90b785cf9c2723b24bd162d7cfd730e127f56932fe9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0x8252ea038586ac8cf89aea6810c1a75d84c2eba48d6b0ecc5f1783929de398a3\",\"urls\":[\"bzzr://3bd6a88368eeb6abb70573d16d481bc20bc22b6c0d3e60702c59c9fab4202528\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol\":{\"keccak256\":\"0xc2380a89ad6323344dd00f02f264f851dd49453de18e3dab8ed7cc13a1ee31db\",\"urls\":[\"bzzr://dcf790081bceacc3be474c4957629b5973332da040d44cf7969d80005b9671f1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol\":{\"keccak256\":\"0xfe4e8871ec41a8a704bda1fb30939151f4efa4e8cfbf705b9a1c1c5eeee87af2\",\"urls\":[\"bzzr://03d0c6d4c57474c1d775e0829e5b097d5ecb7e6732c010cf39f2575f4df45b2d\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol\":{\"keccak256\":\"0x79678e2992aafe0c33260767eba0b3c95474a2f0902154841f4ac62012528e67\",\"urls\":[\"bzzr://a4efbd6113fb5941933b0e94b0135d2ea7150a538ec80b9b5288a85506337f94\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x2c964fd13fcc46f0326055bd50569f2bfb32ea7963780763d77b85ed51320205\",\"urls\":[\"bzzr://3fd83f4de7769670f420f04909921357a8ace3b9e0eb08b7c9df0ee57741d347\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x861339f0f02c28b332f5d8dc165127fa1a402bbbfd7c3923acca26a6139e4f2b\",\"urls\":[\"bzzr://87e5728ff1289cbcc9669fae3a5b994b3a4e0788a2673595adcac700eea8c411\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x8704856f4ea109e3df4805b3b3dd7d9b9026e94f80c42c6d750356d46036a530\",\"urls\":[\"bzzr://18db91d498a487cbc7085490ff2bf017849f88bb4032ea7d840bab3561c45cf4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x05fcee7431cd35cd312e14e7f316a44ca3ccc5fb3b859aefc15c1a5db94add7e\",\"urls\":[\"bzzr://5ba67fb83aa7806883a335d53a27dcf1f53b75fa38dedd57893cc84633aa4d4c\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -919,15 +919,16 @@ "Roles": { "abi": [], "devdoc": { + "details": "Library for managing addresses assigned to a Role.", "methods": {}, "title": "Roles" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ba9d82b11504517181f938ed511f09c0a22046ef39e2e32460a2175b508e16a80029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xba SWAP14 DUP3 0xb1 ISZERO DIV MLOAD PUSH18 0x81F938ED511F09C0A22046EF39E2E32460A2 OR JUMPDEST POP DUP15 AND 0xa8 STOP 0x29 ", - "sourceMap": "109:784:8:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582072caac54fe9b00b8b816307b2a5ded8de356c5be6012002ca36f81b18422d8260029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH19 0xCAAC54FE9B00B8B816307B2A5DED8DE356C5BE PUSH1 0x12 STOP 0x2c LOG3 PUSH16 0x81B18422D82600290000000000000000 ", + "sourceMap": "108:842:8:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -943,7 +944,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing addresses assigned to a Role.\",\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -953,15 +954,16 @@ "SafeMath": { "abi": [], "devdoc": { + "details": "Unsigned math operations with safety checks that revert on error", "methods": {}, "title": "SafeMath" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820da2bd0dd3588878574232c2d13f92e16f4b0e8ad94ede9adb0d087f862d4f8cf0029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xda 0x2b 0xd0 0xdd CALLDATALOAD DUP9 DUP8 DUP6 PUSH21 0x232C2D13F92E16F4B0E8AD94EDE9ADB0D087F862D4 0xf8 0xcf STOP 0x29 ", - "sourceMap": "117:1531:9:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820c8fdc9a15986ffb647c7551d6f3c5b251c8209308e82491b559a3ee6cc289f670029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc8 REVERT 0xc9 LOG1 MSIZE DUP7 SELFDESTRUCT 0xb6 0x47 0xc7 SSTORE SAR PUSH16 0x3C5B251C8209308E82491B559A3EE6CC 0x28 SWAP16 PUSH8 0x29000000000000 ", + "sourceMap": "125:1726:9:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -979,7 +981,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Unsigned math operations with safety checks that revert on error\",\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -1163,6 +1165,7 @@ } ], "devdoc": { + "details": "see https://github.com/ethereum/EIPs/issues/20", "methods": {}, "title": "ERC20 interface" }, @@ -1193,15 +1196,16 @@ "SafeERC20": { "abi": [], "devdoc": { + "details": "Wrappers around ERC20 operations that throw on failure. To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "methods": {}, "title": "SafeERC20" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820c0f55d8db2bd761049fa5ba6b6c207a4d595b758946aba3715580373517606710029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc0 0xf5 0x5d DUP14 0xb2 0xbd PUSH23 0x1049FA5BA6B6C207A4D595B758946ABA37155803735176 MOD PUSH18 0x2900000000000000000000000000000000 ", - "sourceMap": "353:1296:11:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820f19c7b62e065f91bc3f26e33372ab3fae2852e0b472cd6bb775c347272d9d5120029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 CALL SWAP13 PUSH28 0x62E065F91BC3F26E33372AB3FAE2852E0B472CD6BB775C347272D9D5 SLT STOP 0x29 ", + "sourceMap": "352:1248:11:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -1219,7 +1223,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeERC20\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure. To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"methods\":{},\"title\":\"SafeERC20\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x05fcee7431cd35cd312e14e7f316a44ca3ccc5fb3b859aefc15c1a5db94add7e\",\"urls\":[\"bzzr://5ba67fb83aa7806883a335d53a27dcf1f53b75fa38dedd57893cc84633aa4d4c\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -1242,11 +1246,11 @@ "id": 1, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:0" + "src": "0:22:0" }, { "baseContracts": [], @@ -1267,7 +1271,7 @@ "name": "TOKEN_FACTOR", "nodeType": "VariableDeclaration", "scope": 97, - "src": "56:58:0", + "src": "55:58:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1278,7 +1282,7 @@ "id": 2, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "56:7:0", + "src": "55:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1305,7 +1309,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "97:2:0", + "src": "96:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -1328,7 +1332,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "111:2:0", + "src": "110:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -1350,7 +1354,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "103:7:0", + "src": "102:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -1365,13 +1369,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "103:11:0", + "src": "102:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "97:17:0", + "src": "96:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1385,7 +1389,7 @@ "name": "CAT_0_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "121:61:0", + "src": "120:61:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1396,7 +1400,7 @@ "id": 9, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "121:7:0", + "src": "120:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1423,7 +1427,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "161:6:0", + "src": "160:6:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100000_by_1", @@ -1440,13 +1444,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "170:12:0", + "src": "169:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "161:21:0", + "src": "160:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1460,7 +1464,7 @@ "name": "CAT_1_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "189:62:0", + "src": "188:62:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1471,7 +1475,7 @@ "id": 14, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "189:7:0", + "src": "188:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1498,7 +1502,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "229:7:0", + "src": "228:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1515,13 +1519,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "239:12:0", + "src": "238:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "229:22:0", + "src": "228:22:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1535,7 +1539,7 @@ "name": "CAT_2_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "258:66:0", + "src": "257:66:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1546,7 +1550,7 @@ "id": 19, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "258:7:0", + "src": "257:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1584,7 +1588,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "298:1:0", + "src": "297:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -1604,7 +1608,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "302:7:0", + "src": "301:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1612,7 +1616,7 @@ }, "value": "1000000" }, - "src": "298:11:0", + "src": "297:11:0", "typeDescriptions": { "typeIdentifier": "t_rational_2000000_by_1", "typeString": "int_const 2000000" @@ -1627,13 +1631,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "312:12:0", + "src": "311:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "298:26:0", + "src": "297:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1647,7 +1651,7 @@ "name": "CAT_3_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "331:66:0", + "src": "330:66:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1658,7 +1662,7 @@ "id": 26, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "331:7:0", + "src": "330:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1696,7 +1700,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "371:1:0", + "src": "370:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -1716,7 +1720,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "375:7:0", + "src": "374:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1724,7 +1728,7 @@ }, "value": "1000000" }, - "src": "371:11:0", + "src": "370:11:0", "typeDescriptions": { "typeIdentifier": "t_rational_3000000_by_1", "typeString": "int_const 3000000" @@ -1739,13 +1743,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "385:12:0", + "src": "384:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "371:26:0", + "src": "370:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1759,7 +1763,7 @@ "name": "CAT_4_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "404:66:0", + "src": "403:66:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1770,7 +1774,7 @@ "id": 33, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "404:7:0", + "src": "403:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1808,7 +1812,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "444:1:0", + "src": "443:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -1828,7 +1832,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "448:7:0", + "src": "447:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1836,7 +1840,7 @@ }, "value": "1000000" }, - "src": "444:11:0", + "src": "443:11:0", "typeDescriptions": { "typeIdentifier": "t_rational_4000000_by_1", "typeString": "int_const 4000000" @@ -1851,13 +1855,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "458:12:0", + "src": "457:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "444:26:0", + "src": "443:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1871,7 +1875,7 @@ "name": "CAT_5_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "477:66:0", + "src": "476:66:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1882,7 +1886,7 @@ "id": 40, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "477:7:0", + "src": "476:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1920,7 +1924,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "517:1:0", + "src": "516:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -1940,7 +1944,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "521:7:0", + "src": "520:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1948,7 +1952,7 @@ }, "value": "1000000" }, - "src": "517:11:0", + "src": "516:11:0", "typeDescriptions": { "typeIdentifier": "t_rational_5000000_by_1", "typeString": "int_const 5000000" @@ -1963,13 +1967,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "531:12:0", + "src": "530:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "517:26:0", + "src": "516:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1981,7 +1985,7 @@ "body": { "id": 95, "nodeType": "Block", - "src": "631:426:0", + "src": "630:426:0", "statements": [ { "condition": { @@ -2002,7 +2006,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "645:8:0", + "src": "644:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2020,7 +2024,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "657:1:0", + "src": "656:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2028,7 +2032,7 @@ }, "value": "0" }, - "src": "645:13:0", + "src": "644:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2053,7 +2057,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "714:8:0", + "src": "713:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2071,7 +2075,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "726:1:0", + "src": "725:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2079,7 +2083,7 @@ }, "value": "1" }, - "src": "714:13:0", + "src": "713:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2104,7 +2108,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "783:8:0", + "src": "782:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2122,7 +2126,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "795:1:0", + "src": "794:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -2130,7 +2134,7 @@ }, "value": "2" }, - "src": "783:13:0", + "src": "782:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2155,7 +2159,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "852:8:0", + "src": "851:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2173,7 +2177,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "864:1:0", + "src": "863:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -2181,7 +2185,7 @@ }, "value": "3" }, - "src": "852:13:0", + "src": "851:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2206,7 +2210,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "921:8:0", + "src": "920:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2224,7 +2228,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "933:1:0", + "src": "932:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -2232,7 +2236,7 @@ }, "value": "4" }, - "src": "921:13:0", + "src": "920:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2257,7 +2261,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "990:8:0", + "src": "989:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2275,7 +2279,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1002:1:0", + "src": "1001:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -2283,7 +2287,7 @@ }, "value": "5" }, - "src": "990:13:0", + "src": "989:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2292,11 +2296,11 @@ "falseBody": null, "id": 89, "nodeType": "IfStatement", - "src": "987:63:0", + "src": "986:63:0", "trueBody": { "id": 88, "nodeType": "Block", - "src": "1005:45:0", + "src": "1004:45:0", "statements": [ { "expression": { @@ -2306,7 +2310,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46, - "src": "1027:11:0", + "src": "1026:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2315,18 +2319,18 @@ "functionReturnParameters": 52, "id": 87, "nodeType": "Return", - "src": "1020:18:0" + "src": "1019:18:0" } ] } }, "id": 90, "nodeType": "IfStatement", - "src": "918:132:0", + "src": "917:132:0", "trueBody": { "id": 82, "nodeType": "Block", - "src": "936:45:0", + "src": "935:45:0", "statements": [ { "expression": { @@ -2336,7 +2340,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 39, - "src": "958:11:0", + "src": "957:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2345,18 +2349,18 @@ "functionReturnParameters": 52, "id": 81, "nodeType": "Return", - "src": "951:18:0" + "src": "950:18:0" } ] } }, "id": 91, "nodeType": "IfStatement", - "src": "849:201:0", + "src": "848:201:0", "trueBody": { "id": 76, "nodeType": "Block", - "src": "867:45:0", + "src": "866:45:0", "statements": [ { "expression": { @@ -2366,7 +2370,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "889:11:0", + "src": "888:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2375,18 +2379,18 @@ "functionReturnParameters": 52, "id": 75, "nodeType": "Return", - "src": "882:18:0" + "src": "881:18:0" } ] } }, "id": 92, "nodeType": "IfStatement", - "src": "780:270:0", + "src": "779:270:0", "trueBody": { "id": 70, "nodeType": "Block", - "src": "798:45:0", + "src": "797:45:0", "statements": [ { "expression": { @@ -2396,7 +2400,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 25, - "src": "820:11:0", + "src": "819:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2405,18 +2409,18 @@ "functionReturnParameters": 52, "id": 69, "nodeType": "Return", - "src": "813:18:0" + "src": "812:18:0" } ] } }, "id": 93, "nodeType": "IfStatement", - "src": "711:339:0", + "src": "710:339:0", "trueBody": { "id": 64, "nodeType": "Block", - "src": "729:45:0", + "src": "728:45:0", "statements": [ { "expression": { @@ -2426,7 +2430,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18, - "src": "751:11:0", + "src": "750:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2435,18 +2439,18 @@ "functionReturnParameters": 52, "id": 63, "nodeType": "Return", - "src": "744:18:0" + "src": "743:18:0" } ] } }, "id": 94, "nodeType": "IfStatement", - "src": "642:408:0", + "src": "641:408:0", "trueBody": { "id": 58, "nodeType": "Block", - "src": "660:45:0", + "src": "659:45:0", "statements": [ { "expression": { @@ -2456,7 +2460,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13, - "src": "682:11:0", + "src": "681:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2465,7 +2469,7 @@ "functionReturnParameters": 52, "id": 57, "nodeType": "Return", - "src": "675:18:0" + "src": "674:18:0" } ] } @@ -2475,8 +2479,7 @@ "documentation": null, "id": 96, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getCapacityByCategory", "nodeType": "FunctionDefinition", @@ -2490,7 +2493,7 @@ "name": "category", "nodeType": "VariableDeclaration", "scope": 96, - "src": "583:14:0", + "src": "582:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2501,7 +2504,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "583:5:0", + "src": "582:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2511,9 +2514,8 @@ "visibility": "internal" } ], - "src": "582:16:0" + "src": "581:16:0" }, - "payable": false, "returnParameters": { "id": 52, "nodeType": "ParameterList", @@ -2524,7 +2526,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 96, - "src": "622:7:0", + "src": "621:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2535,7 +2537,7 @@ "id": 50, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "622:7:0", + "src": "621:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2545,20 +2547,20 @@ "visibility": "internal" } ], - "src": "621:9:0" + "src": "620:9:0" }, "scope": 97, - "src": "552:505:0", + "src": "551:505:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], "scope": 98, - "src": "27:1033:0" + "src": "26:1033:0" } ], - "src": "0:1060:0" + "src": "0:1059:0" }, "id": 0 }, @@ -2577,12 +2579,11 @@ "id": 99, "literals": [ "solidity", - "^", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:1" + "src": "0:22:1" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", @@ -2590,8 +2591,8 @@ "id": 100, "nodeType": "ImportDirective", "scope": 185, - "sourceUnit": 1182, - "src": "28:189:1", + "sourceUnit": 1178, + "src": "26:189:1", "symbolAliases": [], "unitAlias": "" }, @@ -2615,24 +2616,24 @@ "id": 101, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1181, - "src": "260:5:1", + "referencedDeclaration": 1177, + "src": "258:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1181", + "typeIdentifier": "t_contract$_Roles_$1177", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "254:27:1", + "src": "252:27:1", "typeName": { "contractScope": null, "id": 102, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "270:10:1", + "referencedDeclaration": 1090, + "src": "268:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } } @@ -2643,11 +2644,11 @@ "name": "_coreTeamMembers", "nodeType": "VariableDeclaration", "scope": 184, - "src": "289:35:1", + "src": "287:35:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -2655,10 +2656,10 @@ "id": 104, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "289:10:1", + "referencedDeclaration": 1090, + "src": "287:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -2669,7 +2670,7 @@ "body": { "id": 113, "nodeType": "Block", - "src": "357:43:1", + "src": "355:43:1", "statements": [ { "expression": { @@ -2683,8 +2684,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "381:3:1", + "referencedDeclaration": 1534, + "src": "379:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2698,18 +2699,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "381:10:1", + "src": "379:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 108, @@ -2717,7 +2718,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 171, - "src": "368:12:1", + "src": "366:12:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -2731,7 +2732,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "368:24:1", + "src": "366:24:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2739,15 +2740,14 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "368:24:1" + "src": "366:24:1" } ] }, "documentation": null, "id": 114, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", @@ -2755,17 +2755,16 @@ "id": 106, "nodeType": "ParameterList", "parameters": [], - "src": "345:2:1" + "src": "343:2:1" }, - "payable": false, "returnParameters": { "id": 107, "nodeType": "ParameterList", "parameters": [], - "src": "357:0:1" + "src": "355:0:1" }, "scope": 184, - "src": "333:67:1", + "src": "331:67:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -2774,7 +2773,7 @@ "body": { "id": 124, "nodeType": "Block", - "src": "432:62:1", + "src": "430:62:1", "statements": [ { "expression": { @@ -2791,8 +2790,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "462:3:1", + "referencedDeclaration": 1534, + "src": "460:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2806,18 +2805,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "462:10:1", + "src": "460:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 117, @@ -2825,7 +2824,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 138, - "src": "451:10:1", + "src": "449:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" @@ -2839,7 +2838,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "451:22:1", + "src": "449:22:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2857,11 +2856,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "443:7:1", + "referencedDeclaration": 1537, + "src": "441:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2875,7 +2874,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "443:31:1", + "src": "441:31:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2883,12 +2882,12 @@ }, "id": 122, "nodeType": "ExpressionStatement", - "src": "443:31:1" + "src": "441:31:1" }, { "id": 123, "nodeType": "PlaceholderStatement", - "src": "485:1:1" + "src": "483:1:1" } ] }, @@ -2900,16 +2899,16 @@ "id": 115, "nodeType": "ParameterList", "parameters": [], - "src": "429:2:1" + "src": "427:2:1" }, - "src": "408:86:1", + "src": "406:86:1", "visibility": "internal" }, { "body": { "id": 137, "nodeType": "Block", - "src": "566:55:1", + "src": "564:55:1", "statements": [ { "expression": { @@ -2922,7 +2921,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 127, - "src": "605:7:1", + "src": "603:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2943,9 +2942,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, - "src": "584:16:1", + "src": "582:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2956,10 +2955,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1180, - "src": "584:20:1", + "referencedDeclaration": 1176, + "src": "582:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -2971,7 +2970,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "584:29:1", + "src": "582:29:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2980,15 +2979,14 @@ "functionReturnParameters": 131, "id": 136, "nodeType": "Return", - "src": "577:36:1" + "src": "575:36:1" } ] }, "documentation": null, "id": 138, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isCoreTeam", "nodeType": "FunctionDefinition", @@ -3002,7 +3000,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 138, - "src": "522:15:1", + "src": "520:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3013,7 +3011,8 @@ "id": 126, "name": "address", "nodeType": "ElementaryTypeName", - "src": "522:7:1", + "src": "520:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3023,9 +3022,8 @@ "visibility": "internal" } ], - "src": "521:17:1" + "src": "519:17:1" }, - "payable": false, "returnParameters": { "id": 131, "nodeType": "ParameterList", @@ -3036,7 +3034,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 138, - "src": "560:4:1", + "src": "558:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3047,7 +3045,7 @@ "id": 129, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "560:4:1", + "src": "558:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3057,10 +3055,10 @@ "visibility": "internal" } ], - "src": "559:6:1" + "src": "557:6:1" }, "scope": 184, - "src": "502:119:1", + "src": "500:119:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -3069,7 +3067,7 @@ "body": { "id": 149, "nodeType": "Block", - "src": "687:40:1", + "src": "685:40:1", "statements": [ { "expression": { @@ -3082,7 +3080,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 140, - "src": "711:7:1", + "src": "709:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3101,7 +3099,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 171, - "src": "698:12:1", + "src": "696:12:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -3115,7 +3113,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "698:21:1", + "src": "696:21:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3123,15 +3121,14 @@ }, "id": 148, "nodeType": "ExpressionStatement", - "src": "698:21:1" + "src": "696:21:1" } ] }, "documentation": null, "id": 150, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -3143,14 +3140,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "674:12:1", + "src": "672:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "674:12:1" + "src": "672:12:1" } ], "name": "addCoreTeam", @@ -3165,7 +3162,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 150, - "src": "650:15:1", + "src": "648:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3176,7 +3173,8 @@ "id": 139, "name": "address", "nodeType": "ElementaryTypeName", - "src": "650:7:1", + "src": "648:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3186,17 +3184,16 @@ "visibility": "internal" } ], - "src": "649:17:1" + "src": "647:17:1" }, - "payable": false, "returnParameters": { "id": 144, "nodeType": "ParameterList", "parameters": [], - "src": "687:0:1" + "src": "685:0:1" }, "scope": 184, - "src": "629:98:1", + "src": "627:98:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3205,7 +3202,7 @@ "body": { "id": 158, "nodeType": "Block", - "src": "770:46:1", + "src": "768:46:1", "statements": [ { "expression": { @@ -3219,8 +3216,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "797:3:1", + "referencedDeclaration": 1534, + "src": "795:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -3234,18 +3231,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "797:10:1", + "src": "795:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 153, @@ -3253,7 +3250,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "781:15:1", + "src": "779:15:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -3267,7 +3264,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "781:27:1", + "src": "779:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3275,15 +3272,14 @@ }, "id": 157, "nodeType": "ExpressionStatement", - "src": "781:27:1" + "src": "779:27:1" } ] }, "documentation": null, "id": 159, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "renounceCoreTeam", "nodeType": "FunctionDefinition", @@ -3291,17 +3287,16 @@ "id": 151, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:1" + "src": "758:2:1" }, - "payable": false, "returnParameters": { "id": 152, "nodeType": "ParameterList", "parameters": [], - "src": "770:0:1" + "src": "768:0:1" }, "scope": 184, - "src": "735:81:1", + "src": "733:81:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3310,7 +3305,7 @@ "body": { "id": 170, "nodeType": "Block", - "src": "872:48:1", + "src": "870:48:1", "statements": [ { "expression": { @@ -3323,7 +3318,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 161, - "src": "904:7:1", + "src": "902:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3344,9 +3339,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, - "src": "883:16:1", + "src": "881:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -3357,10 +3352,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1126, - "src": "883:20:1", + "referencedDeclaration": 1122, + "src": "881:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -3372,7 +3367,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "883:29:1", + "src": "881:29:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3380,15 +3375,14 @@ }, "id": 169, "nodeType": "ExpressionStatement", - "src": "883:29:1" + "src": "881:29:1" } ] }, "documentation": null, "id": 171, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_addCoreTeam", "nodeType": "FunctionDefinition", @@ -3402,7 +3396,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 171, - "src": "846:15:1", + "src": "844:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3413,7 +3407,8 @@ "id": 160, "name": "address", "nodeType": "ElementaryTypeName", - "src": "846:7:1", + "src": "844:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3423,17 +3418,16 @@ "visibility": "internal" } ], - "src": "845:17:1" + "src": "843:17:1" }, - "payable": false, "returnParameters": { "id": 163, "nodeType": "ParameterList", "parameters": [], - "src": "872:0:1" + "src": "870:0:1" }, "scope": 184, - "src": "824:96:1", + "src": "822:96:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -3442,7 +3436,7 @@ "body": { "id": 182, "nodeType": "Block", - "src": "979:51:1", + "src": "977:51:1", "statements": [ { "expression": { @@ -3455,7 +3449,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 173, - "src": "1014:7:1", + "src": "1012:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3476,9 +3470,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, - "src": "990:16:1", + "src": "988:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -3489,10 +3483,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1157, - "src": "990:23:1", + "referencedDeclaration": 1153, + "src": "988:23:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -3504,7 +3498,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "990:32:1", + "src": "988:32:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3512,15 +3506,14 @@ }, "id": 181, "nodeType": "ExpressionStatement", - "src": "990:32:1" + "src": "988:32:1" } ] }, "documentation": null, "id": 183, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_removeCoreTeam", "nodeType": "FunctionDefinition", @@ -3534,7 +3527,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 183, - "src": "953:15:1", + "src": "951:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3545,7 +3538,8 @@ "id": 172, "name": "address", "nodeType": "ElementaryTypeName", - "src": "953:7:1", + "src": "951:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3555,27 +3549,26 @@ "visibility": "internal" } ], - "src": "952:17:1" + "src": "950:17:1" }, - "payable": false, "returnParameters": { "id": 175, "nodeType": "ParameterList", "parameters": [], - "src": "979:0:1" + "src": "977:0:1" }, "scope": 184, - "src": "928:102:1", + "src": "926:102:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 185, - "src": "221:812:1" + "src": "219:812:1" } ], - "src": "0:1035:1" + "src": "0:1033:1" }, "id": 1 }, @@ -3584,30 +3577,30 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoMiner.sol", "exportedSymbols": { "AlgoMiner": [ - 786 + 782 ] }, - "id": 787, + "id": 783, "nodeType": "SourceUnit", "nodes": [ { "id": 186, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:2" + "src": "0:22:2" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "id": 187, "nodeType": "ImportDirective", - "scope": 787, - "sourceUnit": 1379, - "src": "27:195:2", + "scope": 783, + "sourceUnit": 1375, + "src": "26:195:2", "symbolAliases": [], "unitAlias": "" }, @@ -3616,9 +3609,9 @@ "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "id": 188, "nodeType": "ImportDirective", - "scope": 787, - "sourceUnit": 1523, - "src": "224:198:2", + "scope": 783, + "sourceUnit": 1520, + "src": "223:198:2", "symbolAliases": [], "unitAlias": "" }, @@ -3627,9 +3620,9 @@ "file": "./IAlgoMiner.sol", "id": 189, "nodeType": "ImportDirective", - "scope": 787, - "sourceUnit": 1051, - "src": "426:26:2", + "scope": 783, + "sourceUnit": 1047, + "src": "425:26:2", "symbolAliases": [], "unitAlias": "" }, @@ -3638,9 +3631,9 @@ "file": "./AlgoCommon.sol", "id": 190, "nodeType": "ImportDirective", - "scope": 787, + "scope": 783, "sourceUnit": 98, - "src": "454:26:2", + "src": "453:26:2", "symbolAliases": [], "unitAlias": "" }, @@ -3649,9 +3642,9 @@ "file": "./ERC20TokenHolder.sol", "id": 191, "nodeType": "ImportDirective", - "scope": 787, - "sourceUnit": 1018, - "src": "482:32:2", + "scope": 783, + "sourceUnit": 1014, + "src": "481:32:2", "symbolAliases": [], "unitAlias": "" }, @@ -3660,9 +3653,9 @@ "file": "./AlgoSystemRole.sol", "id": 192, "nodeType": "ImportDirective", - "scope": 787, - "sourceUnit": 961, - "src": "516:30:2", + "scope": 783, + "sourceUnit": 957, + "src": "515:30:2", "symbolAliases": [], "unitAlias": "" }, @@ -3671,9 +3664,9 @@ "file": "./AlgoCoreTeamRole.sol", "id": 193, "nodeType": "ImportDirective", - "scope": 787, + "scope": 783, "sourceUnit": 185, - "src": "548:32:2", + "src": "547:32:2", "symbolAliases": [], "unitAlias": "" }, @@ -3682,9 +3675,9 @@ "file": "./AlgoSupervisorRole.sol", "id": 194, "nodeType": "ImportDirective", - "scope": 787, - "sourceUnit": 874, - "src": "582:34:2", + "scope": 783, + "sourceUnit": 870, + "src": "581:34:2", "symbolAliases": [], "unitAlias": "" }, @@ -3698,7 +3691,7 @@ "name": "AlgoCommon", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 97, - "src": "642:10:2", + "src": "641:10:2", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoCommon_$97", "typeString": "contract AlgoCommon" @@ -3706,7 +3699,7 @@ }, "id": 196, "nodeType": "InheritanceSpecifier", - "src": "642:10:2" + "src": "641:10:2" }, { "arguments": null, @@ -3715,16 +3708,16 @@ "id": 197, "name": "ERC20TokenHolder", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1017, - "src": "654:16:2", + "referencedDeclaration": 1013, + "src": "653:16:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$1017", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$1013", "typeString": "contract ERC20TokenHolder" } }, "id": 198, "nodeType": "InheritanceSpecifier", - "src": "654:16:2" + "src": "653:16:2" }, { "arguments": null, @@ -3733,16 +3726,16 @@ "id": 199, "name": "AlgoSystemRole", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 960, - "src": "672:14:2", + "referencedDeclaration": 956, + "src": "671:14:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_AlgoSystemRole_$960", + "typeIdentifier": "t_contract$_AlgoSystemRole_$956", "typeString": "contract AlgoSystemRole" } }, "id": 200, "nodeType": "InheritanceSpecifier", - "src": "672:14:2" + "src": "671:14:2" }, { "arguments": null, @@ -3752,7 +3745,7 @@ "name": "AlgoCoreTeamRole", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 184, - "src": "688:16:2", + "src": "687:16:2", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoCoreTeamRole_$184", "typeString": "contract AlgoCoreTeamRole" @@ -3760,7 +3753,7 @@ }, "id": 202, "nodeType": "InheritanceSpecifier", - "src": "688:16:2" + "src": "687:16:2" }, { "arguments": null, @@ -3769,16 +3762,16 @@ "id": 203, "name": "AlgoSupervisorRole", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 873, - "src": "706:18:2", + "referencedDeclaration": 869, + "src": "705:18:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_AlgoSupervisorRole_$873", + "typeIdentifier": "t_contract$_AlgoSupervisorRole_$869", "typeString": "contract AlgoSupervisorRole" } }, "id": 204, "nodeType": "InheritanceSpecifier", - "src": "706:18:2" + "src": "705:18:2" }, { "arguments": null, @@ -3787,39 +3780,39 @@ "id": 205, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1050, - "src": "726:10:2", + "referencedDeclaration": 1046, + "src": "725:10:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$1050", + "typeIdentifier": "t_contract$_IAlgoMiner_$1046", "typeString": "contract IAlgoMiner" } }, "id": 206, "nodeType": "InheritanceSpecifier", - "src": "726:10:2" + "src": "725:10:2" } ], "contractDependencies": [ - 1087, - 1050, + 1013, + 1046, + 1083, + 869, 97, - 1017, - 960, 184, - 873 + 956 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 786, + "id": 782, "linearizedBaseContracts": [ - 786, - 1050, - 873, + 782, + 1046, + 869, 184, - 960, - 1017, - 1087, + 956, + 1013, + 1083, 97 ], "name": "AlgoMiner", @@ -3832,24 +3825,24 @@ "id": 207, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1522, - "src": "750:9:2", + "referencedDeclaration": 1519, + "src": "749:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1522", + "typeIdentifier": "t_contract$_SafeERC20_$1519", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "744:27:2", + "src": "743:27:2", "typeName": { "contractScope": null, "id": 208, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1378, - "src": "764:6:2", + "referencedDeclaration": 1374, + "src": "763:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } } @@ -3859,8 +3852,8 @@ "id": 212, "name": "DAYS_PER_YEAR", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "779:44:2", + "scope": 782, + "src": "778:44:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3871,7 +3864,7 @@ "id": 210, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "779:7:2", + "src": "778:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3887,7 +3880,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "820:3:2", + "src": "819:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_365_by_1", @@ -3905,18 +3898,18 @@ "id": 213, "name": "PoolBased", "nodeType": "EnumValue", - "src": "858:9:2" + "src": "857:9:2" }, { "id": 214, "name": "NonPoolBased", "nodeType": "EnumValue", - "src": "878:12:2" + "src": "877:12:2" } ], "name": "MinerType", "nodeType": "EnumDefinition", - "src": "832:65:2" + "src": "831:65:2" }, { "canonicalName": "AlgoMiner.MinerState", @@ -3926,38 +3919,38 @@ "id": 216, "name": "Deactivated", "nodeType": "EnumValue", - "src": "932:11:2" + "src": "931:11:2" }, { "id": 217, "name": "Activated", "nodeType": "EnumValue", - "src": "954:9:2" + "src": "953:9:2" }, { "id": 218, "name": "Suspended", "nodeType": "EnumValue", - "src": "974:9:2" + "src": "973:9:2" }, { "id": 219, "name": "Stopped", "nodeType": "EnumValue", - "src": "994:7:2" + "src": "993:7:2" } ], "name": "MinerState", "nodeType": "EnumDefinition", - "src": "905:103:2" + "src": "904:103:2" }, { "constant": false, "id": 222, "name": "_minerType", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1016:28:2", + "scope": 782, + "src": "1015:28:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3970,7 +3963,7 @@ "name": "MinerType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 215, - "src": "1016:9:2", + "src": "1015:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -3984,8 +3977,8 @@ "id": 224, "name": "_category", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1051:23:2", + "scope": 782, + "src": "1050:23:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3996,7 +3989,7 @@ "id": 223, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1051:5:2", + "src": "1050:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4010,8 +4003,8 @@ "id": 226, "name": "_miner", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1081:22:2", + "scope": 782, + "src": "1080:22:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4022,7 +4015,8 @@ "id": 225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1081:7:2", + "src": "1080:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4036,8 +4030,8 @@ "id": 228, "name": "_referral", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1110:25:2", + "scope": 782, + "src": "1109:25:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4048,7 +4042,8 @@ "id": 227, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1110:7:2", + "src": "1109:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4062,8 +4057,8 @@ "id": 230, "name": "_state", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1144:25:2", + "scope": 782, + "src": "1143:25:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4076,7 +4071,7 @@ "name": "MinerState", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 220, - "src": "1144:10:2", + "src": "1143:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -4090,8 +4085,8 @@ "id": 232, "name": "_mining", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1176:20:2", + "scope": 782, + "src": "1175:20:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4102,7 +4097,7 @@ "id": 231, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1176:4:2", + "src": "1175:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4116,8 +4111,8 @@ "id": 234, "name": "_currentYear", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1203:26:2", + "scope": 782, + "src": "1202:26:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4128,7 +4123,7 @@ "id": 233, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1203:5:2", + "src": "1202:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4142,8 +4137,8 @@ "id": 236, "name": "_currentDay", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1236:26:2", + "scope": 782, + "src": "1235:26:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4154,7 +4149,7 @@ "id": 235, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "1236:6:2", + "src": "1235:6:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -4168,8 +4163,8 @@ "id": 238, "name": "_currentYearSupply", "nodeType": "VariableDeclaration", - "scope": 786, - "src": "1269:34:2", + "scope": 782, + "src": "1268:34:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4180,7 +4175,7 @@ "id": 237, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1269:7:2", + "src": "1268:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4191,9 +4186,9 @@ }, { "body": { - "id": 308, + "id": 304, "nodeType": "Block", - "src": "1584:392:2", + "src": "1583:375:2", "statements": [ { "expression": { @@ -4202,117 +4197,48 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, - "id": 267, + "id": 263, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 261, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 242, + "src": "1612:8:2", + "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 261, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "1613:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1625:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1613:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": "<=", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 266, + "hexValue": "35", + "id": 262, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 264, - "name": "category", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "1630:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "35", - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1642:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "src": "1630:13:2", + "nodeType": "Literal", + "src": "1624:1:2", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" }, - "src": "1613:30:2", + "src": "1612:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4330,17 +4256,17 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1605:7:2", + "referencedDeclaration": 1537, + "src": "1604:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 268, + "id": 264, "isConstant": false, "isLValue": false, "isPure": false, @@ -4348,15 +4274,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1605:39:2", + "src": "1604:22:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 269, + "id": 265, "nodeType": "ExpressionStatement", - "src": "1605:39:2" + "src": "1604:22:2" }, { "expression": { @@ -4368,19 +4294,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 275, + "id": 271, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 271, + "id": 267, "name": "minerAccountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1663:19:2", + "src": "1645:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4394,14 +4320,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 273, + "id": 269, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1694:1:2", + "src": "1676:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4417,20 +4343,20 @@ "typeString": "int_const 0" } ], - "id": 272, + "id": 268, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1686:7:2", + "src": "1668:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 274, + "id": 270, "isConstant": false, "isLValue": false, "isPure": true, @@ -4438,13 +4364,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1686:10:2", + "src": "1668:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "1663:33:2", + "src": "1645:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4458,21 +4384,21 @@ "typeString": "bool" } ], - "id": 270, + "id": 266, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1655:7:2", + "referencedDeclaration": 1537, + "src": "1637:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 276, + "id": 272, "isConstant": false, "isLValue": false, "isPure": false, @@ -4480,15 +4406,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1655:42:2", + "src": "1637:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 277, + "id": 273, "nodeType": "ExpressionStatement", - "src": "1655:42:2" + "src": "1637:42:2" }, { "condition": { @@ -4497,19 +4423,19 @@ "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" }, - "id": 281, + "id": 277, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 278, + "id": 274, "name": "minerType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "1713:9:2", + "src": "1695:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -4521,18 +4447,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 279, + "id": 275, "name": "MinerType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "1726:9:2", + "src": "1708:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" } }, - "id": 280, + "id": 276, "isConstant": false, "isLValue": false, "isPure": true, @@ -4540,26 +4466,26 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1726:19:2", + "src": "1708:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "1713:32:2", + "src": "1695:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 291, + "id": 287, "nodeType": "IfStatement", - "src": "1710:109:2", + "src": "1692:109:2", "trueBody": { - "id": 290, + "id": 286, "nodeType": "Block", - "src": "1747:72:2", + "src": "1729:72:2", "statements": [ { "expression": { @@ -4571,19 +4497,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 287, + "id": 283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 283, + "id": 279, "name": "referralAccountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "1770:22:2", + "src": "1752:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4597,14 +4523,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 285, + "id": 281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1804:1:2", + "src": "1786:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4620,20 +4546,20 @@ "typeString": "int_const 0" } ], - "id": 284, + "id": 280, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1796:7:2", + "src": "1778:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 286, + "id": 282, "isConstant": false, "isLValue": false, "isPure": true, @@ -4641,13 +4567,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1796:10:2", + "src": "1778:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "1770:36:2", + "src": "1752:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4661,21 +4587,21 @@ "typeString": "bool" } ], - "id": 282, + "id": 278, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1762:7:2", + "referencedDeclaration": 1537, + "src": "1744:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 288, + "id": 284, "isConstant": false, "isLValue": false, "isPure": false, @@ -4683,19 +4609,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1762:45:2", + "src": "1744:45:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 289, + "id": 285, "nodeType": "ExpressionStatement", - "src": "1762:45:2" + "src": "1744:45:2" } ] } }, + { + "expression": { + "argumentTypes": null, + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 288, + "name": "_minerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 222, + "src": "1813:10:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MinerType_$215", + "typeString": "enum AlgoMiner.MinerType" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 289, + "name": "minerType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 240, + "src": "1826:9:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MinerType_$215", + "typeString": "enum AlgoMiner.MinerType" + } + }, + "src": "1813:22:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MinerType_$215", + "typeString": "enum AlgoMiner.MinerType" + } + }, + "id": 291, + "nodeType": "ExpressionStatement", + "src": "1813:22:2" + }, { "expression": { "argumentTypes": null, @@ -4707,14 +4679,14 @@ "leftHandSide": { "argumentTypes": null, "id": 292, - "name": "_minerType", + "name": "_category", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 222, - "src": "1831:10:2", + "referencedDeclaration": 224, + "src": "1846:9:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_MinerType_$215", - "typeString": "enum AlgoMiner.MinerType" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "nodeType": "Assignment", @@ -4722,25 +4694,25 @@ "rightHandSide": { "argumentTypes": null, "id": 293, - "name": "minerType", + "name": "category", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "1844:9:2", + "referencedDeclaration": 242, + "src": "1858:8:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_MinerType_$215", - "typeString": "enum AlgoMiner.MinerType" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "src": "1831:22:2", + "src": "1846:20:2", "typeDescriptions": { - "typeIdentifier": "t_enum$_MinerType_$215", - "typeString": "enum AlgoMiner.MinerType" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "id": 295, "nodeType": "ExpressionStatement", - "src": "1831:22:2" + "src": "1846:20:2" }, { "expression": { @@ -4753,14 +4725,14 @@ "leftHandSide": { "argumentTypes": null, "id": 296, - "name": "_category", + "name": "_miner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1864:9:2", + "referencedDeclaration": 226, + "src": "1877:6:2", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", @@ -4768,25 +4740,25 @@ "rightHandSide": { "argumentTypes": null, "id": 297, - "name": "category", + "name": "minerAccountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 242, - "src": "1876:8:2", + "referencedDeclaration": 244, + "src": "1886:19:2", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "1864:20:2", + "src": "1877:28:2", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_address", + "typeString": "address" } }, "id": 299, "nodeType": "ExpressionStatement", - "src": "1864:20:2" + "src": "1877:28:2" }, { "expression": { @@ -4799,11 +4771,11 @@ "leftHandSide": { "argumentTypes": null, "id": 300, - "name": "_miner", + "name": "_referral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1895:6:2", + "referencedDeclaration": 228, + "src": "1916:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4814,17 +4786,17 @@ "rightHandSide": { "argumentTypes": null, "id": 301, - "name": "minerAccountAddress", + "name": "referralAccountAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "1904:19:2", + "referencedDeclaration": 246, + "src": "1928:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1895:28:2", + "src": "1916:34:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4832,61 +4804,14 @@ }, "id": 303, "nodeType": "ExpressionStatement", - "src": "1895:28:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 304, - "name": "_referral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "1934:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 305, - "name": "referralAccountAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 246, - "src": "1946:22:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:34:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 307, - "nodeType": "ExpressionStatement", - "src": "1934:34:2" + "src": "1916:34:2" } ] }, "documentation": null, - "id": 309, + "id": 305, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [ { "arguments": [ @@ -4897,7 +4822,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "1470:12:2", + "src": "1469:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4911,15 +4836,15 @@ "name": "ERC20TokenHolder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1017, - "src": "1453:16:2", + "referencedDeclaration": 1013, + "src": "1452:16:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$1017_$", + "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$1013_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "1453:30:2" + "src": "1452:30:2" }, { "arguments": [], @@ -4930,15 +4855,15 @@ "name": "AlgoSystemRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, - "src": "1493:14:2", + "referencedDeclaration": 956, + "src": "1492:14:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AlgoSystemRole_$960_$", + "typeIdentifier": "t_type$_t_contract$_AlgoSystemRole_$956_$", "typeString": "type(contract AlgoSystemRole)" } }, "nodeType": "ModifierInvocation", - "src": "1493:16:2" + "src": "1492:16:2" }, { "arguments": [], @@ -4950,14 +4875,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "1519:16:2", + "src": "1518:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$184_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "1519:18:2" + "src": "1518:18:2" }, { "arguments": [], @@ -4968,15 +4893,15 @@ "name": "AlgoSupervisorRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 873, - "src": "1547:18:2", + "referencedDeclaration": 869, + "src": "1546:18:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AlgoSupervisorRole_$873_$", + "typeIdentifier": "t_type$_t_contract$_AlgoSupervisorRole_$869_$", "typeString": "type(contract AlgoSupervisorRole)" } }, "nodeType": "ModifierInvocation", - "src": "1547:20:2" + "src": "1546:20:2" } ], "name": "", @@ -4990,8 +4915,8 @@ "id": 240, "name": "minerType", "nodeType": "VariableDeclaration", - "scope": 309, - "src": "1324:19:2", + "scope": 305, + "src": "1323:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5004,7 +4929,7 @@ "name": "MinerType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 215, - "src": "1324:9:2", + "src": "1323:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -5018,8 +4943,8 @@ "id": 242, "name": "category", "nodeType": "VariableDeclaration", - "scope": 309, - "src": "1345:14:2", + "scope": 305, + "src": "1344:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5030,7 +4955,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1345:5:2", + "src": "1344:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5044,8 +4969,8 @@ "id": 244, "name": "minerAccountAddress", "nodeType": "VariableDeclaration", - "scope": 309, - "src": "1361:27:2", + "scope": 305, + "src": "1360:27:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5056,7 +4981,8 @@ "id": 243, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1361:7:2", + "src": "1360:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5070,8 +4996,8 @@ "id": 246, "name": "referralAccountAddress", "nodeType": "VariableDeclaration", - "scope": 309, - "src": "1390:30:2", + "scope": 305, + "src": "1389:30:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5082,7 +5008,8 @@ "id": 245, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1390:7:2", + "src": "1389:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5096,8 +5023,8 @@ "id": 248, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 309, - "src": "1422:20:2", + "scope": 305, + "src": "1421:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5108,7 +5035,8 @@ "id": 247, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1422:7:2", + "src": "1421:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5118,26 +5046,25 @@ "visibility": "internal" } ], - "src": "1323:120:2" + "src": "1322:120:2" }, - "payable": false, "returnParameters": { "id": 259, "nodeType": "ParameterList", "parameters": [], - "src": "1584:0:2" + "src": "1583:0:2" }, - "scope": 786, - "src": "1312:664:2", + "scope": 782, + "src": "1311:647:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 319, + "id": 315, "nodeType": "Block", - "src": "2005:60:2", + "src": "1987:60:2", "statements": [ { "expression": { @@ -5149,7 +5076,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 315, + "id": 311, "isConstant": false, "isLValue": false, "isPure": false, @@ -5158,18 +5085,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 312, + "id": 308, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "2024:3:2", + "referencedDeclaration": 1534, + "src": "2006:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 313, + "id": 309, "isConstant": false, "isLValue": false, "isPure": false, @@ -5177,28 +5104,28 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2024:10:2", + "src": "2006:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 314, + "id": 310, "name": "_miner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "2038:6:2", + "src": "2020:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2024:20:2", + "src": "2006:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5212,21 +5139,21 @@ "typeString": "bool" } ], - "id": 311, + "id": 307, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "2016:7:2", + "referencedDeclaration": 1537, + "src": "1998:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 316, + "id": 312, "isConstant": false, "isLValue": false, "isPure": false, @@ -5234,41 +5161,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2016:29:2", + "src": "1998:29:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 317, + "id": 313, "nodeType": "ExpressionStatement", - "src": "2016:29:2" + "src": "1998:29:2" }, { - "id": 318, + "id": 314, "nodeType": "PlaceholderStatement", - "src": "2056:1:2" + "src": "2038:1:2" } ] }, "documentation": null, - "id": 320, + "id": 316, "name": "onlyMiner", "nodeType": "ModifierDefinition", "parameters": { - "id": 310, + "id": 306, "nodeType": "ParameterList", "parameters": [], - "src": "2002:2:2" + "src": "1984:2:2" }, - "src": "1984:81:2", + "src": "1966:81:2", "visibility": "internal" }, { "body": { - "id": 386, + "id": 382, "nodeType": "Block", - "src": "2136:512:2", + "src": "2118:512:2", "statements": [ { "expression": { @@ -5280,19 +5207,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 331, + "id": 327, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 328, + "id": 324, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2155:6:2", + "src": "2137:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -5304,18 +5231,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 329, + "id": 325, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2165:10:2", + "src": "2147:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 330, + "id": 326, "isConstant": false, "isLValue": false, "isPure": true, @@ -5323,13 +5250,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2165:22:2", + "src": "2147:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2155:32:2", + "src": "2137:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5343,21 +5270,21 @@ "typeString": "bool" } ], - "id": 327, + "id": 323, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "2147:7:2", + "referencedDeclaration": 1537, + "src": "2129:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 332, + "id": 328, "isConstant": false, "isLValue": false, "isPure": false, @@ -5365,15 +5292,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2147:41:2", + "src": "2129:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 333, + "id": 329, "nodeType": "ExpressionStatement", - "src": "2147:41:2" + "src": "2129:41:2" }, { "condition": { @@ -5382,7 +5309,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 341, + "id": 337, "isConstant": false, "isLValue": false, "isPure": false, @@ -5393,19 +5320,19 @@ "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" }, - "id": 337, + "id": 333, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 334, + "id": 330, "name": "_minerType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "2204:10:2", + "src": "2186:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -5417,18 +5344,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 335, + "id": 331, "name": "MinerType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "2218:9:2", + "src": "2200:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" } }, - "id": 336, + "id": 332, "isConstant": false, "isLValue": false, "isPure": true, @@ -5436,13 +5363,13 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2218:19:2", + "src": "2200:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "2204:33:2", + "src": "2186:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5456,19 +5383,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 340, + "id": 336, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 338, + "id": 334, "name": "_currentYearSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "2241:18:2", + "src": "2223:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5479,14 +5406,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 339, + "id": 335, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2263:1:2", + "src": "2245:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5494,39 +5421,39 @@ }, "value": "0" }, - "src": "2241:23:2", + "src": "2223:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2204:60:2", + "src": "2186:60:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 380, + "id": 376, "nodeType": "IfStatement", - "src": "2201:398:2", + "src": "2183:398:2", "trueBody": { - "id": 379, + "id": 375, "nodeType": "Block", - "src": "2266:333:2", + "src": "2248:333:2", "statements": [ { "assignments": [ - 343 + 339 ], "declarations": [ { "constant": false, - "id": 343, + "id": 339, "name": "capacity", "nodeType": "VariableDeclaration", - "scope": 387, - "src": "2283:16:2", + "scope": 375, + "src": "2265:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5534,10 +5461,10 @@ "typeString": "uint256" }, "typeName": { - "id": 342, + "id": 338, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2283:7:2", + "src": "2265:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5547,18 +5474,18 @@ "visibility": "internal" } ], - "id": 347, + "id": 343, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 345, + "id": 341, "name": "_category", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 224, - "src": "2324:9:2", + "src": "2306:9:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5572,18 +5499,18 @@ "typeString": "uint8" } ], - "id": 344, + "id": 340, "name": "getCapacityByCategory", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, - "src": "2302:21:2", + "src": "2284:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_uint256_$", "typeString": "function (uint8) pure returns (uint256)" } }, - "id": 346, + "id": 342, "isConstant": false, "isLValue": false, "isPure": false, @@ -5591,27 +5518,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2302:32:2", + "src": "2284:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2283:51:2" + "src": "2265:51:2" }, { "assignments": [ - 349 + 345 ], "declarations": [ { "constant": false, - "id": 349, + "id": 345, "name": "expectedBalance", "nodeType": "VariableDeclaration", - "scope": 387, - "src": "2349:23:2", + "scope": 375, + "src": "2331:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5619,10 +5546,10 @@ "typeString": "uint256" }, "typeName": { - "id": 348, + "id": 344, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2349:7:2", + "src": "2331:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5632,26 +5559,26 @@ "visibility": "internal" } ], - "id": 357, + "id": 353, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 356, + "id": 352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 350, + "id": 346, "name": "capacity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "2375:8:2", + "referencedDeclaration": 339, + "src": "2357:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5665,7 +5592,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 355, + "id": 351, "isConstant": false, "isLValue": false, "isPure": false, @@ -5676,19 +5603,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 353, + "id": 349, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 351, + "id": 347, "name": "capacity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "2386:8:2", + "referencedDeclaration": 339, + "src": "2368:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5699,14 +5626,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 352, + "id": 348, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2397:2:2", + "src": "2379:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -5714,7 +5641,7 @@ }, "value": "10" }, - "src": "2386:13:2", + "src": "2368:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5725,14 +5652,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "313030", - "id": 354, + "id": 350, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2402:3:2", + "src": "2384:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -5740,33 +5667,33 @@ }, "value": "100" }, - "src": "2386:19:2", + "src": "2368:19:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2375:30:2", + "src": "2357:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2349:56:2" + "src": "2331:56:2" }, { "assignments": [ - 359 + 355 ], "declarations": [ { "constant": false, - "id": 359, + "id": 355, "name": "currentBalance", "nodeType": "VariableDeclaration", - "scope": 387, - "src": "2422:22:2", + "scope": 375, + "src": "2404:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5774,10 +5701,10 @@ "typeString": "uint256" }, "typeName": { - "id": 358, + "id": 354, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2422:7:2", + "src": "2404:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5787,7 +5714,7 @@ "visibility": "internal" } ], - "id": 366, + "id": 362, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5796,14 +5723,14 @@ "arguments": [ { "argumentTypes": null, - "id": 363, + "id": 359, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1572, - "src": "2472:4:2", + "referencedDeclaration": 1570, + "src": "2454:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_AlgoMiner_$786", + "typeIdentifier": "t_contract$_AlgoMiner_$782", "typeString": "contract AlgoMiner" } } @@ -5811,24 +5738,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AlgoMiner_$786", + "typeIdentifier": "t_contract$_AlgoMiner_$782", "typeString": "contract AlgoMiner" } ], - "id": 362, + "id": 358, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2464:7:2", + "src": "2446:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 364, + "id": 360, "isConstant": false, "isLValue": false, "isPure": false, @@ -5836,7 +5763,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2464:13:2", + "src": "2446:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5852,32 +5779,32 @@ ], "expression": { "argumentTypes": null, - "id": 360, + "id": 356, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "2447:6:2", + "referencedDeclaration": 968, + "src": "2429:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 361, + "id": 357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1323, - "src": "2447:16:2", + "referencedDeclaration": 1348, + "src": "2429:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 365, + "id": 361, "isConstant": false, "isLValue": false, "isPure": false, @@ -5885,14 +5812,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2447:31:2", + "src": "2429:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2422:56:2" + "src": "2404:56:2" }, { "expression": { @@ -5904,19 +5831,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 370, + "id": 366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 368, + "id": 364, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 359, - "src": "2503:14:2", + "referencedDeclaration": 355, + "src": "2485:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5926,18 +5853,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 369, + "id": 365, "name": "expectedBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 349, - "src": "2521:15:2", + "referencedDeclaration": 345, + "src": "2503:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2503:33:2", + "src": "2485:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5951,21 +5878,21 @@ "typeString": "bool" } ], - "id": 367, + "id": 363, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "2495:7:2", + "referencedDeclaration": 1537, + "src": "2477:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 371, + "id": 367, "isConstant": false, "isLValue": false, "isPure": false, @@ -5973,32 +5900,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2495:42:2", + "src": "2477:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 372, + "id": 368, "nodeType": "ExpressionStatement", - "src": "2495:42:2" + "src": "2477:42:2" }, { "expression": { "argumentTypes": null, - "id": 377, + "id": 373, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 373, + "id": 369, "name": "_currentYearSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "2554:18:2", + "src": "2536:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6012,19 +5939,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 376, + "id": 372, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 374, + "id": 370, "name": "capacity", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 343, - "src": "2575:8:2", + "referencedDeclaration": 339, + "src": "2557:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6035,14 +5962,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 375, + "id": 371, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2586:1:2", + "src": "2568:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6050,21 +5977,21 @@ }, "value": "2" }, - "src": "2575:12:2", + "src": "2557:12:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2554:33:2", + "src": "2536:33:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 378, + "id": 374, "nodeType": "ExpressionStatement", - "src": "2554:33:2" + "src": "2536:33:2" } ] } @@ -6072,19 +5999,19 @@ { "expression": { "argumentTypes": null, - "id": 384, + "id": 380, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 381, + "id": 377, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2611:6:2", + "src": "2593:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6096,18 +6023,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 382, + "id": 378, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2620:10:2", + "src": "2602:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 383, + "id": 379, "isConstant": false, "isLValue": false, "isPure": true, @@ -6115,95 +6042,93 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2620:20:2", + "src": "2602:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2611:29:2", + "src": "2593:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "id": 385, + "id": 381, "nodeType": "ExpressionStatement", - "src": "2611:29:2" + "src": "2593:29:2" } ] }, "documentation": null, - "id": 387, + "id": 383, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 323, + "id": 319, "modifierName": { "argumentTypes": null, - "id": 322, + "id": 318, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "2109:13:2", + "referencedDeclaration": 1074, + "src": "2091:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2109:13:2" + "src": "2091:13:2" }, { "arguments": null, - "id": 325, + "id": 321, "modifierName": { "argumentTypes": null, - "id": 324, + "id": 320, "name": "onlyCoreTeam", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2123:12:2", + "src": "2105:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2123:12:2" + "src": "2105:12:2" } ], "name": "activateMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 321, + "id": 317, "nodeType": "ParameterList", "parameters": [], - "src": "2099:2:2" + "src": "2081:2:2" }, - "payable": false, "returnParameters": { - "id": 326, + "id": 322, "nodeType": "ParameterList", "parameters": [], - "src": "2136:0:2" + "src": "2118:0:2" }, - "scope": 786, - "src": "2077:571:2", + "scope": 782, + "src": "2059:571:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 410, + "id": 406, "nodeType": "Block", - "src": "2717:138:2", + "src": "2699:138:2", "statements": [ { "expression": { @@ -6215,19 +6140,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 398, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 395, + "id": 391, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2736:6:2", + "src": "2718:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6239,18 +6164,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 396, + "id": 392, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2746:10:2", + "src": "2728:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 397, + "id": 393, "isConstant": false, "isLValue": false, "isPure": true, @@ -6258,13 +6183,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2746:22:2", + "src": "2728:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2736:32:2", + "src": "2718:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6278,21 +6203,21 @@ "typeString": "bool" } ], - "id": 394, + "id": 390, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "2728:7:2", + "referencedDeclaration": 1537, + "src": "2710:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 399, + "id": 395, "isConstant": false, "isLValue": false, "isPure": false, @@ -6300,32 +6225,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2728:41:2", + "src": "2710:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 400, + "id": 396, "nodeType": "ExpressionStatement", - "src": "2728:41:2" + "src": "2710:41:2" }, { "expression": { "argumentTypes": null, - "id": 404, + "id": 400, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 401, + "id": 397, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2790:6:2", + "src": "2772:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6337,18 +6262,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 402, + "id": 398, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2799:10:2", + "src": "2781:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 403, + "id": 399, "isConstant": false, "isLValue": false, "isPure": true, @@ -6356,38 +6281,38 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2799:22:2", + "src": "2781:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2790:31:2", + "src": "2772:31:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "id": 405, + "id": 401, "nodeType": "ExpressionStatement", - "src": "2790:31:2" + "src": "2772:31:2" }, { "expression": { "argumentTypes": null, - "id": 408, + "id": 404, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 406, + "id": 402, "name": "_mining", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "2832:7:2", + "src": "2814:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6398,14 +6323,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 407, + "id": 403, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2842:5:2", + "src": "2824:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6413,89 +6338,87 @@ }, "value": "false" }, - "src": "2832:15:2", + "src": "2814:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 409, + "id": 405, "nodeType": "ExpressionStatement", - "src": "2832:15:2" + "src": "2814:15:2" } ] }, "documentation": null, - "id": 411, + "id": 407, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 390, + "id": 386, "modifierName": { "argumentTypes": null, - "id": 389, + "id": 385, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "2690:13:2", + "referencedDeclaration": 1074, + "src": "2672:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2690:13:2" + "src": "2672:13:2" }, { "arguments": null, - "id": 392, + "id": 388, "modifierName": { "argumentTypes": null, - "id": 391, + "id": 387, "name": "onlyCoreTeam", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2704:12:2", + "src": "2686:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2704:12:2" + "src": "2686:12:2" } ], "name": "deactivateMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 388, + "id": 384, "nodeType": "ParameterList", "parameters": [], - "src": "2680:2:2" + "src": "2662:2:2" }, - "payable": false, "returnParameters": { - "id": 393, + "id": 389, "nodeType": "ParameterList", "parameters": [], - "src": "2717:0:2" + "src": "2699:0:2" }, - "scope": 786, - "src": "2656:199:2", + "scope": 782, + "src": "2638:199:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 437, + "id": 433, "nodeType": "Block", - "src": "2930:142:2", + "src": "2912:142:2", "statements": [ { "expression": { @@ -6507,19 +6430,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 422, + "id": 418, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 419, + "id": 415, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2949:6:2", + "src": "2931:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6531,18 +6454,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 420, + "id": 416, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2959:10:2", + "src": "2941:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 421, + "id": 417, "isConstant": false, "isLValue": false, "isPure": true, @@ -6550,13 +6473,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2959:22:2", + "src": "2941:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2949:32:2", + "src": "2931:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6570,21 +6493,21 @@ "typeString": "bool" } ], - "id": 418, + "id": 414, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "2941:7:2", + "referencedDeclaration": 1537, + "src": "2923:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 423, + "id": 419, "isConstant": false, "isLValue": false, "isPure": false, @@ -6592,15 +6515,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2941:41:2", + "src": "2923:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 424, + "id": 420, "nodeType": "ExpressionStatement", - "src": "2941:41:2" + "src": "2923:41:2" }, { "expression": { @@ -6608,12 +6531,12 @@ "arguments": [ { "argumentTypes": null, - "id": 428, + "id": 424, "name": "newMinerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "3015:15:2", + "referencedDeclaration": 409, + "src": "2997:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6627,14 +6550,14 @@ "arguments": [ { "argumentTypes": null, - "id": 432, + "id": 428, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1572, - "src": "3057:4:2", + "referencedDeclaration": 1570, + "src": "3039:4:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_AlgoMiner_$786", + "typeIdentifier": "t_contract$_AlgoMiner_$782", "typeString": "contract AlgoMiner" } } @@ -6642,24 +6565,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_AlgoMiner_$786", + "typeIdentifier": "t_contract$_AlgoMiner_$782", "typeString": "contract AlgoMiner" } ], - "id": 431, + "id": 427, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3049:7:2", + "src": "3031:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 433, + "id": 429, "isConstant": false, "isLValue": false, "isPure": false, @@ -6667,7 +6590,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3049:13:2", + "src": "3031:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6683,32 +6606,32 @@ ], "expression": { "argumentTypes": null, - "id": 429, + "id": 425, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "3032:6:2", + "referencedDeclaration": 968, + "src": "3014:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 430, + "id": 426, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1323, - "src": "3032:16:2", + "referencedDeclaration": 1348, + "src": "3014:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 434, + "id": 430, "isConstant": false, "isLValue": false, "isPure": false, @@ -6716,7 +6639,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3032:31:2", + "src": "3014:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6736,32 +6659,32 @@ ], "expression": { "argumentTypes": null, - "id": 425, + "id": 421, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "2995:6:2", + "referencedDeclaration": 968, + "src": "2977:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 427, + "id": 423, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1403, - "src": "2995:19:2", + "referencedDeclaration": 1399, + "src": "2977:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1374_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1374_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 435, + "id": 431, "isConstant": false, "isLValue": false, "isPure": false, @@ -6769,57 +6692,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2995:69:2", + "src": "2977:69:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 436, + "id": 432, "nodeType": "ExpressionStatement", - "src": "2995:69:2" + "src": "2977:69:2" } ] }, "documentation": null, - "id": 438, + "id": 434, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 416, + "id": 412, "modifierName": { "argumentTypes": null, - "id": 415, + "id": 411, "name": "onlyCoreTeam", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2917:12:2", + "src": "2899:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2917:12:2" + "src": "2899:12:2" } ], "name": "migrateMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 414, + "id": 410, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 413, + "id": 409, "name": "newMinerAddress", "nodeType": "VariableDeclaration", - "scope": 438, - "src": "2885:23:2", + "scope": 434, + "src": "2867:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6827,10 +6749,11 @@ "typeString": "address" }, "typeName": { - "id": 412, + "id": 408, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2885:7:2", + "src": "2867:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6840,26 +6763,25 @@ "visibility": "internal" } ], - "src": "2884:25:2" + "src": "2866:25:2" }, - "payable": false, "returnParameters": { - "id": 417, + "id": 413, "nodeType": "ParameterList", "parameters": [], - "src": "2930:0:2" + "src": "2912:0:2" }, - "scope": 786, - "src": "2863:209:2", + "scope": 782, + "src": "2845:209:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 457, + "id": 453, "nodeType": "Block", - "src": "3139:108:2", + "src": "3121:108:2", "statements": [ { "expression": { @@ -6871,19 +6793,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 449, + "id": 445, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 446, + "id": 442, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3158:6:2", + "src": "3140:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6895,18 +6817,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 447, + "id": 443, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3168:10:2", + "src": "3150:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 448, + "id": 444, "isConstant": false, "isLValue": false, "isPure": true, @@ -6914,13 +6836,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3168:20:2", + "src": "3150:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3158:30:2", + "src": "3140:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6934,21 +6856,21 @@ "typeString": "bool" } ], - "id": 445, + "id": 441, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "3150:7:2", + "referencedDeclaration": 1537, + "src": "3132:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 450, + "id": 446, "isConstant": false, "isLValue": false, "isPure": false, @@ -6956,32 +6878,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3150:39:2", + "src": "3132:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 451, + "id": 447, "nodeType": "ExpressionStatement", - "src": "3150:39:2" + "src": "3132:39:2" }, { "expression": { "argumentTypes": null, - "id": 455, + "id": 451, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 452, + "id": 448, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3210:6:2", + "src": "3192:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6993,18 +6915,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 453, + "id": 449, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3219:10:2", + "src": "3201:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 454, + "id": 450, "isConstant": false, "isLValue": false, "isPure": true, @@ -7012,95 +6934,93 @@ "memberName": "Suspended", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3219:20:2", + "src": "3201:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3210:29:2", + "src": "3192:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "id": 456, + "id": 452, "nodeType": "ExpressionStatement", - "src": "3210:29:2" + "src": "3192:29:2" } ] }, "documentation": null, - "id": 458, + "id": 454, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 441, + "id": 437, "modifierName": { "argumentTypes": null, - "id": 440, + "id": 436, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "3110:13:2", + "referencedDeclaration": 1074, + "src": "3092:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3110:13:2" + "src": "3092:13:2" }, { "arguments": null, - "id": 443, + "id": 439, "modifierName": { "argumentTypes": null, - "id": 442, + "id": 438, "name": "onlySupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "3124:14:2", + "referencedDeclaration": 810, + "src": "3106:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3124:14:2" + "src": "3106:14:2" } ], "name": "pauseMining", "nodeType": "FunctionDefinition", "parameters": { - "id": 439, + "id": 435, "nodeType": "ParameterList", "parameters": [], - "src": "3100:2:2" + "src": "3082:2:2" }, - "payable": false, "returnParameters": { - "id": 444, + "id": 440, "nodeType": "ParameterList", "parameters": [], - "src": "3139:0:2" + "src": "3121:0:2" }, - "scope": 786, - "src": "3080:167:2", + "scope": 782, + "src": "3062:167:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 477, + "id": 473, "nodeType": "Block", - "src": "3315:100:2", + "src": "3297:100:2", "statements": [ { "expression": { @@ -7112,19 +7032,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 469, + "id": 465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 466, + "id": 462, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3334:6:2", + "src": "3316:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7136,18 +7056,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 467, + "id": 463, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3344:10:2", + "src": "3326:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 468, + "id": 464, "isConstant": false, "isLValue": false, "isPure": true, @@ -7155,13 +7075,13 @@ "memberName": "Suspended", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3344:20:2", + "src": "3326:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3334:30:2", + "src": "3316:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7175,21 +7095,21 @@ "typeString": "bool" } ], - "id": 465, + "id": 461, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "3326:7:2", + "referencedDeclaration": 1537, + "src": "3308:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 470, + "id": 466, "isConstant": false, "isLValue": false, "isPure": false, @@ -7197,32 +7117,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3326:39:2", + "src": "3308:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 471, + "id": 467, "nodeType": "ExpressionStatement", - "src": "3326:39:2" + "src": "3308:39:2" }, { "expression": { "argumentTypes": null, - "id": 475, + "id": 471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 472, + "id": 468, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3378:6:2", + "src": "3360:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7234,18 +7154,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 473, + "id": 469, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3387:10:2", + "src": "3369:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 474, + "id": 470, "isConstant": false, "isLValue": false, "isPure": true, @@ -7253,95 +7173,93 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3387:20:2", + "src": "3369:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3378:29:2", + "src": "3360:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "id": 476, + "id": 472, "nodeType": "ExpressionStatement", - "src": "3378:29:2" + "src": "3360:29:2" } ] }, "documentation": null, - "id": 478, + "id": 474, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 461, + "id": 457, "modifierName": { "argumentTypes": null, - "id": 460, + "id": 456, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "3286:13:2", + "referencedDeclaration": 1074, + "src": "3268:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3286:13:2" + "src": "3268:13:2" }, { "arguments": null, - "id": 463, + "id": 459, "modifierName": { "argumentTypes": null, - "id": 462, + "id": 458, "name": "onlySupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "3300:14:2", + "referencedDeclaration": 810, + "src": "3282:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3300:14:2" + "src": "3282:14:2" } ], "name": "resumeMining", "nodeType": "FunctionDefinition", "parameters": { - "id": 459, + "id": 455, "nodeType": "ParameterList", "parameters": [], - "src": "3276:2:2" + "src": "3258:2:2" }, - "payable": false, "returnParameters": { - "id": 464, + "id": 460, "nodeType": "ParameterList", "parameters": [], - "src": "3315:0:2" + "src": "3297:0:2" }, - "scope": 786, - "src": "3255:160:2", + "scope": 782, + "src": "3237:160:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 513, + "id": 509, "nodeType": "Block", - "src": "3493:193:2", + "src": "3475:193:2", "statements": [ { "expression": { @@ -7353,19 +7271,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 489, + "id": 485, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 486, + "id": 482, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3512:6:2", + "src": "3494:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7377,18 +7295,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 487, + "id": 483, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3522:10:2", + "src": "3504:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 488, + "id": 484, "isConstant": false, "isLValue": false, "isPure": true, @@ -7396,13 +7314,13 @@ "memberName": "Stopped", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3522:18:2", + "src": "3504:18:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3512:28:2", + "src": "3494:28:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7416,21 +7334,21 @@ "typeString": "bool" } ], - "id": 485, + "id": 481, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "3504:7:2", + "referencedDeclaration": 1537, + "src": "3486:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 490, + "id": 486, "isConstant": false, "isLValue": false, "isPure": false, @@ -7438,15 +7356,77 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3504:37:2", + "src": "3486:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 491, + "id": 487, "nodeType": "ExpressionStatement", - "src": "3504:37:2" + "src": "3486:37:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 488, + "name": "_state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 230, + "src": "3544:6:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MinerState_$220", + "typeString": "enum AlgoMiner.MinerState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 489, + "name": "MinerState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 220, + "src": "3553:10:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", + "typeString": "type(enum AlgoMiner.MinerState)" + } + }, + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Stopped", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3553:18:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MinerState_$220", + "typeString": "enum AlgoMiner.MinerState" + } + }, + "src": "3544:27:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_MinerState_$220", + "typeString": "enum AlgoMiner.MinerState" + } + }, + "id": 492, + "nodeType": "ExpressionStatement", + "src": "3544:27:2" }, { "expression": { @@ -7458,74 +7438,12 @@ "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 492, - "name": "_state", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 230, - "src": "3562:6:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MinerState_$220", - "typeString": "enum AlgoMiner.MinerState" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 493, - "name": "MinerState", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 220, - "src": "3571:10:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", - "typeString": "type(enum AlgoMiner.MinerState)" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Stopped", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3571:18:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MinerState_$220", - "typeString": "enum AlgoMiner.MinerState" - } - }, - "src": "3562:27:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_MinerState_$220", - "typeString": "enum AlgoMiner.MinerState" - } - }, - "id": 496, - "nodeType": "ExpressionStatement", - "src": "3562:27:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 497, + "id": 493, "name": "_mining", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "3600:7:2", + "src": "3582:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7536,14 +7454,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 498, + "id": 494, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3610:5:2", + "src": "3592:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7551,32 +7469,32 @@ }, "value": "false" }, - "src": "3600:15:2", + "src": "3582:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 500, + "id": 496, "nodeType": "ExpressionStatement", - "src": "3600:15:2" + "src": "3582:15:2" }, { "expression": { "argumentTypes": null, - "id": 505, + "id": 501, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 501, + "id": 497, "name": "_miner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "3626:6:2", + "src": "3608:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7590,14 +7508,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 503, + "id": 499, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3643:1:2", + "src": "3625:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7613,20 +7531,20 @@ "typeString": "int_const 0" } ], - "id": 502, + "id": 498, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3635:7:2", + "src": "3617:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 504, + "id": 500, "isConstant": false, "isLValue": false, "isPure": true, @@ -7634,38 +7552,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3635:10:2", + "src": "3617:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "3626:19:2", + "src": "3608:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 506, + "id": 502, "nodeType": "ExpressionStatement", - "src": "3626:19:2" + "src": "3608:19:2" }, { "expression": { "argumentTypes": null, - "id": 511, + "id": 507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 507, + "id": 503, "name": "_referral", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "3656:9:2", + "src": "3638:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7679,14 +7597,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 509, + "id": 505, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3676:1:2", + "src": "3658:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7702,20 +7620,20 @@ "typeString": "int_const 0" } ], - "id": 508, + "id": 504, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3668:7:2", + "src": "3650:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 510, + "id": 506, "isConstant": false, "isLValue": false, "isPure": true, @@ -7723,95 +7641,93 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3668:10:2", + "src": "3650:10:2", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "3656:22:2", + "src": "3638:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 512, + "id": 508, "nodeType": "ExpressionStatement", - "src": "3656:22:2" + "src": "3638:22:2" } ] }, "documentation": null, - "id": 514, + "id": 510, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 481, + "id": 477, "modifierName": { "argumentTypes": null, - "id": 480, + "id": 476, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "3464:13:2", + "referencedDeclaration": 1074, + "src": "3446:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3464:13:2" + "src": "3446:13:2" }, { "arguments": null, - "id": 483, + "id": 479, "modifierName": { "argumentTypes": null, - "id": 482, + "id": 478, "name": "onlySupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "3478:14:2", + "referencedDeclaration": 810, + "src": "3460:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3478:14:2" + "src": "3460:14:2" } ], "name": "stopAndRemoveOwnership", "nodeType": "FunctionDefinition", "parameters": { - "id": 479, + "id": 475, "nodeType": "ParameterList", "parameters": [], - "src": "3454:2:2" + "src": "3436:2:2" }, - "payable": false, "returnParameters": { - "id": 484, + "id": 480, "nodeType": "ParameterList", "parameters": [], - "src": "3493:0:2" + "src": "3475:0:2" }, - "scope": 786, - "src": "3423:263:2", + "scope": 782, + "src": "3405:263:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 545, + "id": 541, "nodeType": "Block", - "src": "3803:174:2", + "src": "3785:174:2", "statements": [ { "expression": { @@ -7823,19 +7739,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 529, + "id": 525, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 526, + "id": 522, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3822:6:2", + "src": "3804:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7847,18 +7763,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 527, + "id": 523, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3832:10:2", + "src": "3814:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 528, + "id": 524, "isConstant": false, "isLValue": false, "isPure": true, @@ -7866,13 +7782,13 @@ "memberName": "Stopped", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3832:18:2", + "src": "3814:18:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3822:28:2", + "src": "3804:28:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7886,21 +7802,21 @@ "typeString": "bool" } ], - "id": 525, + "id": 521, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "3814:7:2", + "referencedDeclaration": 1537, + "src": "3796:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 530, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -7908,32 +7824,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3814:37:2", + "src": "3796:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 531, + "id": 527, "nodeType": "ExpressionStatement", - "src": "3814:37:2" + "src": "3796:37:2" }, { "expression": { "argumentTypes": null, - "id": 535, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 532, + "id": 528, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3864:6:2", + "src": "3846:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7945,18 +7861,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 533, + "id": 529, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3873:10:2", + "src": "3855:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 534, + "id": 530, "isConstant": false, "isLValue": false, "isPure": true, @@ -7964,21 +7880,67 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3873:20:2", + "src": "3855:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3864:29:2", + "src": "3846:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, + "id": 532, + "nodeType": "ExpressionStatement", + "src": "3846:29:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 533, + "name": "_miner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 226, + "src": "3886:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 534, + "name": "newOwnerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "3895:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3886:24:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, "id": 536, "nodeType": "ExpressionStatement", - "src": "3864:29:2" + "src": "3886:24:2" }, { "expression": { @@ -7991,11 +7953,11 @@ "leftHandSide": { "argumentTypes": null, "id": 537, - "name": "_miner", + "name": "_referral", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "3904:6:2", + "referencedDeclaration": 228, + "src": "3921:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8006,17 +7968,17 @@ "rightHandSide": { "argumentTypes": null, "id": 538, - "name": "newOwnerAddress", + "name": "newReferralAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3913:15:2", + "referencedDeclaration": 514, + "src": "3933:18:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3904:24:2", + "src": "3921:30:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8024,114 +7986,67 @@ }, "id": 540, "nodeType": "ExpressionStatement", - "src": "3904:24:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 541, - "name": "_referral", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 228, - "src": "3939:9:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 542, - "name": "newReferralAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "3951:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3939:30:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 544, - "nodeType": "ExpressionStatement", - "src": "3939:30:2" + "src": "3921:30:2" } ] }, "documentation": null, - "id": 546, + "id": 542, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 521, + "id": 517, "modifierName": { "argumentTypes": null, - "id": 520, + "id": 516, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "3774:13:2", + "referencedDeclaration": 1074, + "src": "3756:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3774:13:2" + "src": "3756:13:2" }, { "arguments": null, - "id": 523, + "id": 519, "modifierName": { "argumentTypes": null, - "id": 522, + "id": 518, "name": "onlySupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "3788:14:2", + "referencedDeclaration": 810, + "src": "3770:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3788:14:2" + "src": "3770:14:2" } ], "name": "resetMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 519, + "id": 515, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 516, + "id": 512, "name": "newOwnerAddress", "nodeType": "VariableDeclaration", - "scope": 546, - "src": "3714:23:2", + "scope": 542, + "src": "3696:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8139,10 +8054,11 @@ "typeString": "address" }, "typeName": { - "id": 515, + "id": 511, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3714:7:2", + "src": "3696:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8153,11 +8069,11 @@ }, { "constant": false, - "id": 518, + "id": 514, "name": "newReferralAddress", "nodeType": "VariableDeclaration", - "scope": 546, - "src": "3739:26:2", + "scope": 542, + "src": "3721:26:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8165,10 +8081,11 @@ "typeString": "address" }, "typeName": { - "id": 517, + "id": 513, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3739:7:2", + "src": "3721:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8178,26 +8095,25 @@ "visibility": "internal" } ], - "src": "3713:53:2" + "src": "3695:53:2" }, - "payable": false, "returnParameters": { - "id": 524, + "id": 520, "nodeType": "ParameterList", "parameters": [], - "src": "3803:0:2" + "src": "3785:0:2" }, - "scope": 786, - "src": "3694:283:2", + "scope": 782, + "src": "3676:283:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 569, + "id": 565, "nodeType": "Block", - "src": "4039:121:2", + "src": "4021:121:2", "statements": [ { "expression": { @@ -8209,19 +8125,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 557, + "id": 553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 554, + "id": 550, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4058:6:2", + "src": "4040:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8233,18 +8149,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 555, + "id": 551, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4068:10:2", + "src": "4050:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 556, + "id": 552, "isConstant": false, "isLValue": false, "isPure": true, @@ -8252,13 +8168,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4068:20:2", + "src": "4050:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4058:30:2", + "src": "4040:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8272,21 +8188,21 @@ "typeString": "bool" } ], - "id": 553, + "id": 549, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "4050:7:2", + "referencedDeclaration": 1537, + "src": "4032:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 558, + "id": 554, "isConstant": false, "isLValue": false, "isPure": false, @@ -8294,15 +8210,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4050:39:2", + "src": "4032:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 559, + "id": 555, "nodeType": "ExpressionStatement", - "src": "4050:39:2" + "src": "4032:39:2" }, { "expression": { @@ -8310,7 +8226,7 @@ "arguments": [ { "argumentTypes": null, - "id": 562, + "id": 558, "isConstant": false, "isLValue": false, "isPure": false, @@ -8318,15 +8234,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4108:8:2", + "src": "4090:8:2", "subExpression": { "argumentTypes": null, - "id": 561, + "id": 557, "name": "_mining", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4109:7:2", + "src": "4091:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8345,21 +8261,21 @@ "typeString": "bool" } ], - "id": 560, + "id": 556, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "4100:7:2", + "referencedDeclaration": 1537, + "src": "4082:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 563, + "id": 559, "isConstant": false, "isLValue": false, "isPure": false, @@ -8367,32 +8283,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4100:17:2", + "src": "4082:17:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 564, + "id": 560, "nodeType": "ExpressionStatement", - "src": "4100:17:2" + "src": "4082:17:2" }, { "expression": { "argumentTypes": null, - "id": 567, + "id": 563, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 565, + "id": 561, "name": "_mining", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4138:7:2", + "src": "4120:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8403,14 +8319,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 566, + "id": 562, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4148:4:2", + "src": "4130:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8418,89 +8334,87 @@ }, "value": "true" }, - "src": "4138:14:2", + "src": "4120:14:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 568, + "id": 564, "nodeType": "ExpressionStatement", - "src": "4138:14:2" + "src": "4120:14:2" } ] }, "documentation": null, - "id": 570, + "id": 566, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 549, + "id": 545, "modifierName": { "argumentTypes": null, - "id": 548, + "id": 544, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "4015:13:2", + "referencedDeclaration": 1074, + "src": "3997:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4015:13:2" + "src": "3997:13:2" }, { "arguments": null, - "id": 551, + "id": 547, "modifierName": { "argumentTypes": null, - "id": 550, + "id": 546, "name": "onlyMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 320, - "src": "4029:9:2", + "referencedDeclaration": 316, + "src": "4011:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4029:9:2" + "src": "4011:9:2" } ], "name": "startMining", "nodeType": "FunctionDefinition", "parameters": { - "id": 547, + "id": 543, "nodeType": "ParameterList", "parameters": [], - "src": "4005:2:2" + "src": "3987:2:2" }, - "payable": false, "returnParameters": { - "id": 552, + "id": 548, "nodeType": "ParameterList", "parameters": [], - "src": "4039:0:2" + "src": "4021:0:2" }, - "scope": 786, - "src": "3985:175:2", + "scope": 782, + "src": "3967:175:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 592, + "id": 588, "nodeType": "Block", - "src": "4221:121:2", + "src": "4203:121:2", "statements": [ { "expression": { @@ -8512,19 +8426,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 581, + "id": 577, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 578, + "id": 574, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4240:6:2", + "src": "4222:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8536,18 +8450,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 579, + "id": 575, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4250:10:2", + "src": "4232:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 580, + "id": 576, "isConstant": false, "isLValue": false, "isPure": true, @@ -8555,13 +8469,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4250:20:2", + "src": "4232:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4240:30:2", + "src": "4222:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8575,15 +8489,72 @@ "typeString": "bool" } ], - "id": 577, + "id": 573, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "4232:7:2", + "referencedDeclaration": 1537, + "src": "4214:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4214:39:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 579, + "nodeType": "ExpressionStatement", + "src": "4214:39:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 581, + "name": "_mining", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 232, + "src": "4272:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 580, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1537, + 1538 + ], + "referencedDeclaration": 1537, + "src": "4264:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8597,7 +8568,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4232:39:2", + "src": "4264:16:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8605,81 +8576,24 @@ }, "id": 583, "nodeType": "ExpressionStatement", - "src": "4232:39:2" + "src": "4264:16:2" }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 585, - "name": "_mining", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 232, - "src": "4290:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 584, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1540, - 1541 - ], - "referencedDeclaration": 1540, - "src": "4282:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, "id": 586, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4282:16:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 587, - "nodeType": "ExpressionStatement", - "src": "4282:16:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 588, + "id": 584, "name": "_mining", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4319:7:2", + "src": "4301:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8690,14 +8604,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 589, + "id": 585, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4329:5:2", + "src": "4311:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8705,89 +8619,87 @@ }, "value": "false" }, - "src": "4319:15:2", + "src": "4301:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 591, + "id": 587, "nodeType": "ExpressionStatement", - "src": "4319:15:2" + "src": "4301:15:2" } ] }, "documentation": null, - "id": 593, + "id": 589, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 573, + "id": 569, "modifierName": { "argumentTypes": null, - "id": 572, + "id": 568, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "4197:13:2", + "referencedDeclaration": 1074, + "src": "4179:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4197:13:2" + "src": "4179:13:2" }, { "arguments": null, - "id": 575, + "id": 571, "modifierName": { "argumentTypes": null, - "id": 574, + "id": 570, "name": "onlyMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 320, - "src": "4211:9:2", + "referencedDeclaration": 316, + "src": "4193:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4211:9:2" + "src": "4193:9:2" } ], "name": "stopMining", "nodeType": "FunctionDefinition", "parameters": { - "id": 571, + "id": 567, "nodeType": "ParameterList", "parameters": [], - "src": "4187:2:2" + "src": "4169:2:2" }, - "payable": false, "returnParameters": { - "id": 576, + "id": 572, "nodeType": "ParameterList", "parameters": [], - "src": "4221:0:2" + "src": "4203:0:2" }, - "scope": 786, - "src": "4168:174:2", + "scope": 782, + "src": "4150:174:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 696, + "id": 692, "nodeType": "Block", - "src": "4398:800:2", + "src": "4380:800:2", "statements": [ { "expression": { @@ -8799,19 +8711,19 @@ "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" }, - "id": 604, + "id": 600, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 601, + "id": 597, "name": "_minerType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "4417:10:2", + "src": "4399:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -8823,18 +8735,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 602, + "id": 598, "name": "MinerType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "4431:9:2", + "src": "4413:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" } }, - "id": 603, + "id": 599, "isConstant": false, "isLValue": false, "isPure": true, @@ -8842,13 +8754,13 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4431:19:2", + "src": "4413:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "4417:33:2", + "src": "4399:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8862,21 +8774,21 @@ "typeString": "bool" } ], - "id": 600, + "id": 596, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "4409:7:2", + "referencedDeclaration": 1537, + "src": "4391:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 605, + "id": 601, "isConstant": false, "isLValue": false, "isPure": false, @@ -8884,15 +8796,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4409:42:2", + "src": "4391:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 606, + "id": 602, "nodeType": "ExpressionStatement", - "src": "4409:42:2" + "src": "4391:42:2" }, { "expression": { @@ -8904,19 +8816,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 611, + "id": 607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 608, + "id": 604, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4470:6:2", + "src": "4452:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8928,18 +8840,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 609, + "id": 605, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4480:10:2", + "src": "4462:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 610, + "id": 606, "isConstant": false, "isLValue": false, "isPure": true, @@ -8947,13 +8859,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4480:20:2", + "src": "4462:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4470:30:2", + "src": "4452:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8967,15 +8879,72 @@ "typeString": "bool" } ], - "id": 607, + "id": 603, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "4462:7:2", + "referencedDeclaration": 1537, + "src": "4444:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4444:39:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 609, + "nodeType": "ExpressionStatement", + "src": "4444:39:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 611, + "name": "_mining", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 232, + "src": "4502:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 610, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1537, + 1538 + ], + "referencedDeclaration": 1537, + "src": "4494:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8989,7 +8958,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4462:39:2", + "src": "4494:16:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8997,64 +8966,7 @@ }, "id": 613, "nodeType": "ExpressionStatement", - "src": "4462:39:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 615, - "name": "_mining", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 232, - "src": "4520:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1540, - 1541 - ], - "referencedDeclaration": 1540, - "src": "4512:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4512:16:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 617, - "nodeType": "ExpressionStatement", - "src": "4512:16:2" + "src": "4494:16:2" }, { "condition": { @@ -9063,19 +8975,19 @@ "typeIdentifier": "t_uint16", "typeString": "uint16" }, - "id": 620, + "id": 616, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 618, + "id": 614, "name": "_currentDay", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4544:11:2", + "src": "4526:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9086,14 +8998,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 619, + "id": 615, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4559:1:2", + "src": "4541:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9101,21 +9013,21 @@ }, "value": "0" }, - "src": "4544:16:2", + "src": "4526:16:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 654, + "id": 650, "nodeType": "Block", - "src": "4641:238:2", + "src": "4623:238:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 631, + "id": 627, "isConstant": false, "isLValue": false, "isPure": false, @@ -9123,15 +9035,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4656:13:2", + "src": "4638:13:2", "subExpression": { "argumentTypes": null, - "id": 630, + "id": 626, "name": "_currentDay", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4656:11:2", + "src": "4638:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9142,9 +9054,9 @@ "typeString": "uint16" } }, - "id": 632, + "id": 628, "nodeType": "ExpressionStatement", - "src": "4656:13:2" + "src": "4638:13:2" }, { "condition": { @@ -9153,19 +9065,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 638, + "id": 634, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 633, + "id": 629, "name": "_currentDay", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4687:11:2", + "src": "4669:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9182,19 +9094,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 636, + "id": 632, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 634, + "id": 630, "name": "DAYS_PER_YEAR", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "4703:13:2", + "src": "4685:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9205,14 +9117,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 635, + "id": 631, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4719:1:2", + "src": "4701:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9220,45 +9132,45 @@ }, "value": "1" }, - "src": "4703:17:2", + "src": "4685:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 637, + "id": 633, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4702:19:2", + "src": "4684:19:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4687:34:2", + "src": "4669:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 653, + "id": 649, "nodeType": "IfStatement", - "src": "4684:184:2", + "src": "4666:184:2", "trueBody": { - "id": 652, + "id": 648, "nodeType": "Block", - "src": "4723:145:2", + "src": "4705:145:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 640, + "id": 636, "isConstant": false, "isLValue": false, "isPure": false, @@ -9266,15 +9178,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4742:14:2", + "src": "4724:14:2", "subExpression": { "argumentTypes": null, - "id": 639, + "id": 635, "name": "_currentYear", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, - "src": "4742:12:2", + "src": "4724:12:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9285,26 +9197,26 @@ "typeString": "uint8" } }, - "id": 641, + "id": 637, "nodeType": "ExpressionStatement", - "src": "4742:14:2" + "src": "4724:14:2" }, { "expression": { "argumentTypes": null, - "id": 644, + "id": 640, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 642, + "id": 638, "name": "_currentDay", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4775:11:2", + "src": "4757:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9315,14 +9227,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 643, + "id": 639, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4789:1:2", + "src": "4771:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9330,32 +9242,32 @@ }, "value": "1" }, - "src": "4775:15:2", + "src": "4757:15:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } }, - "id": 645, + "id": 641, "nodeType": "ExpressionStatement", - "src": "4775:15:2" + "src": "4757:15:2" }, { "expression": { "argumentTypes": null, - "id": 650, + "id": 646, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 646, + "id": 642, "name": "_currentYearSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4809:18:2", + "src": "4791:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9369,19 +9281,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 649, + "id": 645, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 647, + "id": 643, "name": "_currentYearSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4830:18:2", + "src": "4812:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9392,14 +9304,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 648, + "id": 644, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4851:1:2", + "src": "4833:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -9407,35 +9319,86 @@ }, "value": "2" }, - "src": "4830:22:2", + "src": "4812:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4809:43:2", + "src": "4791:43:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 651, + "id": 647, "nodeType": "ExpressionStatement", - "src": "4809:43:2" + "src": "4791:43:2" } ] } } ] }, - "id": 655, + "id": 651, "nodeType": "IfStatement", - "src": "4541:338:2", + "src": "4523:338:2", "trueBody": { - "id": 629, + "id": 625, "nodeType": "Block", - "src": "4562:73:2", + "src": "4544:73:2", "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 617, + "name": "_currentYear", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "4559:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4574:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4559:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 620, + "nodeType": "ExpressionStatement", + "src": "4559:16:2" + }, { "expression": { "argumentTypes": null, @@ -9447,14 +9410,14 @@ "leftHandSide": { "argumentTypes": null, "id": 621, - "name": "_currentYear", + "name": "_currentDay", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 234, - "src": "4577:12:2", + "referencedDeclaration": 236, + "src": "4590:11:2", "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "typeIdentifier": "t_uint16", + "typeString": "uint16" } }, "nodeType": "Assignment", @@ -9469,7 +9432,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4592:1:2", + "src": "4604:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9477,82 +9440,31 @@ }, "value": "1" }, - "src": "4577:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 624, - "nodeType": "ExpressionStatement", - "src": "4577:16:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 625, - "name": "_currentDay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 236, - "src": "4608:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint16", - "typeString": "uint16" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4622:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4608:15:2", + "src": "4590:15:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } }, - "id": 628, + "id": 624, "nodeType": "ExpressionStatement", - "src": "4608:15:2" + "src": "4590:15:2" } ] } }, { "assignments": [ - 657 + 653 ], "declarations": [ { "constant": false, - "id": 657, + "id": 653, "name": "minerTokens", "nodeType": "VariableDeclaration", - "scope": 697, - "src": "4891:19:2", + "scope": 692, + "src": "4873:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9560,10 +9472,10 @@ "typeString": "uint256" }, "typeName": { - "id": 656, + "id": 652, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4891:7:2", + "src": "4873:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9573,26 +9485,26 @@ "visibility": "internal" } ], - "id": 661, + "id": 657, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 660, + "id": 656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 658, + "id": 654, "name": "_currentYearSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4913:18:2", + "src": "4895:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9602,38 +9514,38 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 659, + "id": 655, "name": "DAYS_PER_YEAR", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "4934:13:2", + "src": "4916:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4913:34:2", + "src": "4895:34:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4891:56:2" + "src": "4873:56:2" }, { "assignments": [ - 663 + 659 ], "declarations": [ { "constant": false, - "id": 663, + "id": 659, "name": "referralTokens", "nodeType": "VariableDeclaration", - "scope": 697, - "src": "4958:22:2", + "scope": 692, + "src": "4940:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9641,10 +9553,10 @@ "typeString": "uint256" }, "typeName": { - "id": 662, + "id": 658, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4958:7:2", + "src": "4940:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9654,14 +9566,14 @@ "visibility": "internal" } ], - "id": 669, + "id": 665, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 668, + "id": 664, "isConstant": false, "isLValue": false, "isPure": false, @@ -9672,19 +9584,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 666, + "id": 662, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 664, + "id": 660, "name": "minerTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "4983:11:2", + "referencedDeclaration": 653, + "src": "4965:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9695,14 +9607,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 665, + "id": 661, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4997:2:2", + "src": "4979:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -9710,7 +9622,7 @@ }, "value": "10" }, - "src": "4983:16:2", + "src": "4965:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9721,14 +9633,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "313030", - "id": 667, + "id": 663, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5002:3:2", + "src": "4984:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -9736,14 +9648,14 @@ }, "value": "100" }, - "src": "4983:22:2", + "src": "4965:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4958:47:2" + "src": "4940:47:2" }, { "expression": { @@ -9755,19 +9667,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 673, + "id": 669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 671, + "id": 667, "name": "minerTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "5026:11:2", + "referencedDeclaration": 653, + "src": "5008:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9778,14 +9690,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 672, + "id": 668, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5040:1:2", + "src": "5022:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9793,7 +9705,7 @@ }, "value": "0" }, - "src": "5026:15:2", + "src": "5008:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9807,21 +9719,21 @@ "typeString": "bool" } ], - "id": 670, + "id": 666, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "5018:7:2", + "referencedDeclaration": 1537, + "src": "5000:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 674, + "id": 670, "isConstant": false, "isLValue": false, "isPure": false, @@ -9829,15 +9741,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5018:24:2", + "src": "5000:24:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 675, + "id": 671, "nodeType": "ExpressionStatement", - "src": "5018:24:2" + "src": "5000:24:2" }, { "expression": { @@ -9849,19 +9761,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 679, + "id": 675, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 677, + "id": 673, "name": "referralTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "5061:14:2", + "referencedDeclaration": 659, + "src": "5043:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9872,14 +9784,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 678, + "id": 674, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5078:1:2", + "src": "5060:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9887,7 +9799,7 @@ }, "value": "0" }, - "src": "5061:18:2", + "src": "5043:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9901,21 +9813,21 @@ "typeString": "bool" } ], - "id": 676, + "id": 672, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "5053:7:2", + "referencedDeclaration": 1537, + "src": "5035:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 680, + "id": 676, "isConstant": false, "isLValue": false, "isPure": false, @@ -9923,15 +9835,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5053:27:2", + "src": "5035:27:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 681, + "id": 677, "nodeType": "ExpressionStatement", - "src": "5053:27:2" + "src": "5035:27:2" }, { "expression": { @@ -9939,12 +9851,12 @@ "arguments": [ { "argumentTypes": null, - "id": 685, + "id": 681, "name": "_miner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "5113:6:2", + "src": "5095:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9952,12 +9864,12 @@ }, { "argumentTypes": null, - "id": 686, + "id": 682, "name": "minerTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 657, - "src": "5121:11:2", + "referencedDeclaration": 653, + "src": "5103:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9977,32 +9889,32 @@ ], "expression": { "argumentTypes": null, - "id": 682, + "id": 678, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "5093:6:2", + "referencedDeclaration": 968, + "src": "5075:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 684, + "id": 680, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1403, - "src": "5093:19:2", + "referencedDeclaration": 1399, + "src": "5075:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1374_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1374_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 687, + "id": 683, "isConstant": false, "isLValue": false, "isPure": false, @@ -10010,15 +9922,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5093:40:2", + "src": "5075:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 688, + "id": 684, "nodeType": "ExpressionStatement", - "src": "5093:40:2" + "src": "5075:40:2" }, { "expression": { @@ -10026,12 +9938,12 @@ "arguments": [ { "argumentTypes": null, - "id": 692, + "id": 688, "name": "_referral", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "5164:9:2", + "src": "5146:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10039,12 +9951,12 @@ }, { "argumentTypes": null, - "id": 693, + "id": 689, "name": "referralTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "5175:14:2", + "referencedDeclaration": 659, + "src": "5157:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10064,32 +9976,32 @@ ], "expression": { "argumentTypes": null, - "id": 689, + "id": 685, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "5144:6:2", + "referencedDeclaration": 968, + "src": "5126:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 691, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1403, - "src": "5144:19:2", + "referencedDeclaration": 1399, + "src": "5126:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1374_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1374_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 694, + "id": 690, "isConstant": false, "isLValue": false, "isPure": false, @@ -10097,89 +10009,87 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5144:46:2", + "src": "5126:46:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 695, + "id": 691, "nodeType": "ExpressionStatement", - "src": "5144:46:2" + "src": "5126:46:2" } ] }, "documentation": null, - "id": 697, + "id": 693, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 596, + "id": 592, "modifierName": { "argumentTypes": null, - "id": 595, + "id": 591, "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, - "src": "4373:13:2", + "referencedDeclaration": 1074, + "src": "4355:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4373:13:2" + "src": "4355:13:2" }, { "arguments": null, - "id": 598, + "id": 594, "modifierName": { "argumentTypes": null, - "id": 597, + "id": 593, "name": "onlySystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "4387:10:2", + "referencedDeclaration": 897, + "src": "4369:10:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4387:10:2" + "src": "4369:10:2" } ], "name": "mine", "nodeType": "FunctionDefinition", "parameters": { - "id": 594, + "id": 590, "nodeType": "ParameterList", "parameters": [], - "src": "4363:2:2" + "src": "4345:2:2" }, - "payable": false, "returnParameters": { - "id": 599, + "id": 595, "nodeType": "ParameterList", "parameters": [], - "src": "4398:0:2" + "src": "4380:0:2" }, - "scope": 786, - "src": "4350:848:2", + "scope": 782, + "src": "4332:848:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 705, + "id": 701, "nodeType": "Block", - "src": "5247:31:2", + "src": "5229:31:2", "statements": [ { "expression": { @@ -10187,20 +10097,20 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 702, + "id": 698, "name": "_terminate", "nodeType": "Identifier", "overloadedDeclarations": [ - 1016 + 1012 ], - "referencedDeclaration": 1016, - "src": "5258:10:2", + "referencedDeclaration": 1012, + "src": "5240:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 703, + "id": 699, "isConstant": false, "isLValue": false, "isPure": false, @@ -10208,83 +10118,81 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5258:12:2", + "src": "5240:12:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 704, + "id": 700, "nodeType": "ExpressionStatement", - "src": "5258:12:2" + "src": "5240:12:2" } ] }, "documentation": null, - "id": 706, + "id": 702, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 700, + "id": 696, "modifierName": { "argumentTypes": null, - "id": 699, + "id": 695, "name": "onlyCoreTeam", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "5234:12:2", + "src": "5216:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5234:12:2" + "src": "5216:12:2" } ], "name": "terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 698, + "id": 694, "nodeType": "ParameterList", "parameters": [], - "src": "5224:2:2" + "src": "5206:2:2" }, - "payable": false, "returnParameters": { - "id": 701, + "id": 697, "nodeType": "ParameterList", "parameters": [], - "src": "5247:0:2" + "src": "5229:0:2" }, - "scope": 786, - "src": "5206:72:2", + "scope": 782, + "src": "5188:72:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 713, + "id": 709, "nodeType": "Block", - "src": "5336:30:2", + "src": "5318:30:2", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 711, + "id": 707, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5354:4:2", + "src": "5336:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10292,39 +10200,37 @@ }, "value": "true" }, - "functionReturnParameters": 710, - "id": 712, + "functionReturnParameters": 706, + "id": 708, "nodeType": "Return", - "src": "5347:11:2" + "src": "5329:11:2" } ] }, "documentation": null, - "id": 714, + "id": 710, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isAlgoMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 707, + "id": 703, "nodeType": "ParameterList", "parameters": [], - "src": "5306:2:2" + "src": "5288:2:2" }, - "payable": false, "returnParameters": { - "id": 710, + "id": 706, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 709, + "id": 705, "name": "", "nodeType": "VariableDeclaration", - "scope": 714, - "src": "5330:4:2", + "scope": 710, + "src": "5312:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10332,10 +10238,10 @@ "typeString": "bool" }, "typeName": { - "id": 708, + "id": 704, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5330:4:2", + "src": "5312:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10345,19 +10251,19 @@ "visibility": "internal" } ], - "src": "5329:6:2" + "src": "5311:6:2" }, - "scope": 786, - "src": "5286:80:2", + "scope": 782, + "src": "5268:80:2", "stateMutability": "pure", - "superFunction": 1024, + "superFunction": 1020, "visibility": "public" }, { "body": { - "id": 723, + "id": 719, "nodeType": "Block", - "src": "5426:43:2", + "src": "5408:43:2", "statements": [ { "expression": { @@ -10365,12 +10271,12 @@ "arguments": [ { "argumentTypes": null, - "id": 720, + "id": 716, "name": "_minerType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "5450:10:2", + "src": "5432:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -10384,20 +10290,20 @@ "typeString": "enum AlgoMiner.MinerType" } ], - "id": 719, + "id": 715, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5444:5:2", + "src": "5426:5:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" }, "typeName": "uint8" }, - "id": 721, + "id": 717, "isConstant": false, "isLValue": false, "isPure": false, @@ -10405,45 +10311,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5444:17:2", + "src": "5426:17:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 718, - "id": 722, + "functionReturnParameters": 714, + "id": 718, "nodeType": "Return", - "src": "5437:24:2" + "src": "5419:24:2" } ] }, "documentation": null, - "id": 724, + "id": 720, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getMinerType", "nodeType": "FunctionDefinition", "parameters": { - "id": 715, + "id": 711, "nodeType": "ParameterList", "parameters": [], - "src": "5395:2:2" + "src": "5377:2:2" }, - "payable": false, "returnParameters": { - "id": 718, + "id": 714, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 717, + "id": 713, "name": "", "nodeType": "VariableDeclaration", - "scope": 724, - "src": "5419:5:2", + "scope": 720, + "src": "5401:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10451,10 +10355,10 @@ "typeString": "uint8" }, "typeName": { - "id": 716, + "id": 712, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5419:5:2", + "src": "5401:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10464,67 +10368,65 @@ "visibility": "internal" } ], - "src": "5418:7:2" + "src": "5400:7:2" }, - "scope": 786, - "src": "5374:95:2", + "scope": 782, + "src": "5356:95:2", "stateMutability": "view", - "superFunction": 1029, + "superFunction": 1025, "visibility": "public" }, { "body": { - "id": 731, + "id": 727, "nodeType": "Block", - "src": "5528:35:2", + "src": "5510:35:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 729, + "id": 725, "name": "_category", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 224, - "src": "5546:9:2", + "src": "5528:9:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 728, - "id": 730, + "functionReturnParameters": 724, + "id": 726, "nodeType": "Return", - "src": "5539:16:2" + "src": "5521:16:2" } ] }, "documentation": null, - "id": 732, + "id": 728, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getCategory", "nodeType": "FunctionDefinition", "parameters": { - "id": 725, + "id": 721, "nodeType": "ParameterList", "parameters": [], - "src": "5497:2:2" + "src": "5479:2:2" }, - "payable": false, "returnParameters": { - "id": 728, + "id": 724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 727, + "id": 723, "name": "", "nodeType": "VariableDeclaration", - "scope": 732, - "src": "5521:5:2", + "scope": 728, + "src": "5503:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10532,10 +10434,10 @@ "typeString": "uint8" }, "typeName": { - "id": 726, + "id": 722, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5521:5:2", + "src": "5503:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10545,67 +10447,65 @@ "visibility": "internal" } ], - "src": "5520:7:2" + "src": "5502:7:2" }, - "scope": 786, - "src": "5477:86:2", + "scope": 782, + "src": "5459:86:2", "stateMutability": "view", - "superFunction": 1034, + "superFunction": 1030, "visibility": "public" }, { "body": { - "id": 739, + "id": 735, "nodeType": "Block", - "src": "5621:32:2", + "src": "5603:32:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 737, + "id": 733, "name": "_miner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "5639:6:2", + "src": "5621:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 736, - "id": 738, + "functionReturnParameters": 732, + "id": 734, "nodeType": "Return", - "src": "5632:13:2" + "src": "5614:13:2" } ] }, "documentation": null, - "id": 740, + "id": 736, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 733, + "id": 729, "nodeType": "ParameterList", "parameters": [], - "src": "5588:2:2" + "src": "5570:2:2" }, - "payable": false, "returnParameters": { - "id": 736, + "id": 732, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 735, + "id": 731, "name": "", "nodeType": "VariableDeclaration", - "scope": 740, - "src": "5612:7:2", + "scope": 736, + "src": "5594:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10613,10 +10513,11 @@ "typeString": "address" }, "typeName": { - "id": 734, + "id": 730, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5612:7:2", + "src": "5594:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10626,67 +10527,65 @@ "visibility": "internal" } ], - "src": "5611:9:2" + "src": "5593:9:2" }, - "scope": 786, - "src": "5571:82:2", + "scope": 782, + "src": "5553:82:2", "stateMutability": "view", - "superFunction": 1039, + "superFunction": 1035, "visibility": "public" }, { "body": { - "id": 747, + "id": 743, "nodeType": "Block", - "src": "5714:35:2", + "src": "5696:35:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 745, + "id": 741, "name": "_referral", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "5732:9:2", + "src": "5714:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 744, - "id": 746, + "functionReturnParameters": 740, + "id": 742, "nodeType": "Return", - "src": "5725:16:2" + "src": "5707:16:2" } ] }, "documentation": null, - "id": 748, + "id": 744, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { - "id": 741, + "id": 737, "nodeType": "ParameterList", "parameters": [], - "src": "5681:2:2" + "src": "5663:2:2" }, - "payable": false, "returnParameters": { - "id": 744, + "id": 740, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 743, + "id": 739, "name": "", "nodeType": "VariableDeclaration", - "scope": 748, - "src": "5705:7:2", + "scope": 744, + "src": "5687:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10694,10 +10593,11 @@ "typeString": "address" }, "typeName": { - "id": 742, + "id": 738, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5705:7:2", + "src": "5687:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10707,19 +10607,19 @@ "visibility": "internal" } ], - "src": "5704:9:2" + "src": "5686:9:2" }, - "scope": 786, - "src": "5661:88:2", + "scope": 782, + "src": "5643:88:2", "stateMutability": "view", - "superFunction": 1044, + "superFunction": 1040, "visibility": "public" }, { "body": { - "id": 760, + "id": 756, "nodeType": "Block", - "src": "5804:67:2", + "src": "5786:67:2", "statements": [ { "expression": { @@ -10728,7 +10628,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 758, + "id": 754, "isConstant": false, "isLValue": false, "isPure": false, @@ -10739,19 +10639,19 @@ "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" }, - "id": 756, + "id": 752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 753, + "id": 749, "name": "_state", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "5822:6:2", + "src": "5804:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -10763,18 +10663,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 754, + "id": 750, "name": "MinerState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "5832:10:2", + "src": "5814:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" } }, - "id": 755, + "id": 751, "isConstant": false, "isLValue": false, "isPure": true, @@ -10782,13 +10682,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5832:20:2", + "src": "5814:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "5822:30:2", + "src": "5804:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10798,56 +10698,54 @@ "operator": "&&", "rightExpression": { "argumentTypes": null, - "id": 757, + "id": 753, "name": "_mining", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "5856:7:2", + "src": "5838:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "5822:41:2", + "src": "5804:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 752, - "id": 759, + "functionReturnParameters": 748, + "id": 755, "nodeType": "Return", - "src": "5815:48:2" + "src": "5797:48:2" } ] }, "documentation": null, - "id": 761, + "id": 757, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isMining", "nodeType": "FunctionDefinition", "parameters": { - "id": 749, + "id": 745, "nodeType": "ParameterList", "parameters": [], - "src": "5774:2:2" + "src": "5756:2:2" }, - "payable": false, "returnParameters": { - "id": 752, + "id": 748, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 751, + "id": 747, "name": "", "nodeType": "VariableDeclaration", - "scope": 761, - "src": "5798:4:2", + "scope": 757, + "src": "5780:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10855,10 +10753,10 @@ "typeString": "bool" }, "typeName": { - "id": 750, + "id": 746, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5798:4:2", + "src": "5780:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10868,67 +10766,65 @@ "visibility": "internal" } ], - "src": "5797:6:2" + "src": "5779:6:2" }, - "scope": 786, - "src": "5757:114:2", + "scope": 782, + "src": "5739:114:2", "stateMutability": "view", - "superFunction": 1049, + "superFunction": 1045, "visibility": "public" }, { "body": { - "id": 768, + "id": 764, "nodeType": "Block", - "src": "5933:38:2", + "src": "5915:38:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 766, + "id": 762, "name": "_currentYear", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, - "src": "5951:12:2", + "src": "5933:12:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 765, - "id": 767, + "functionReturnParameters": 761, + "id": 763, "nodeType": "Return", - "src": "5944:19:2" + "src": "5926:19:2" } ] }, "documentation": null, - "id": 769, + "id": 765, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getCurrentYear", "nodeType": "FunctionDefinition", "parameters": { - "id": 762, + "id": 758, "nodeType": "ParameterList", "parameters": [], - "src": "5902:2:2" + "src": "5884:2:2" }, - "payable": false, "returnParameters": { - "id": 765, + "id": 761, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 764, + "id": 760, "name": "", "nodeType": "VariableDeclaration", - "scope": 769, - "src": "5926:5:2", + "scope": 765, + "src": "5908:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10936,10 +10832,10 @@ "typeString": "uint8" }, "typeName": { - "id": 763, + "id": 759, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5926:5:2", + "src": "5908:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10949,67 +10845,65 @@ "visibility": "internal" } ], - "src": "5925:7:2" + "src": "5907:7:2" }, - "scope": 786, - "src": "5879:92:2", + "scope": 782, + "src": "5861:92:2", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 776, + "id": 772, "nodeType": "Block", - "src": "6033:37:2", + "src": "6015:37:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 774, + "id": 770, "name": "_currentDay", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "6051:11:2", + "src": "6033:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" } }, - "functionReturnParameters": 773, - "id": 775, + "functionReturnParameters": 769, + "id": 771, "nodeType": "Return", - "src": "6044:18:2" + "src": "6026:18:2" } ] }, "documentation": null, - "id": 777, + "id": 773, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getCurrentDay", "nodeType": "FunctionDefinition", "parameters": { - "id": 770, + "id": 766, "nodeType": "ParameterList", "parameters": [], - "src": "6001:2:2" + "src": "5983:2:2" }, - "payable": false, "returnParameters": { - "id": 773, + "id": 769, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 772, + "id": 768, "name": "", "nodeType": "VariableDeclaration", - "scope": 777, - "src": "6025:6:2", + "scope": 773, + "src": "6007:6:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11017,10 +10911,10 @@ "typeString": "uint16" }, "typeName": { - "id": 771, + "id": 767, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "6025:6:2", + "src": "6007:6:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -11030,67 +10924,65 @@ "visibility": "internal" } ], - "src": "6024:8:2" + "src": "6006:8:2" }, - "scope": 786, - "src": "5979:91:2", + "scope": 782, + "src": "5961:91:2", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 784, + "id": 780, "nodeType": "Block", - "src": "6140:44:2", + "src": "6122:44:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 782, + "id": 778, "name": "_currentYearSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6158:18:2", + "src": "6140:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 781, - "id": 783, + "functionReturnParameters": 777, + "id": 779, "nodeType": "Return", - "src": "6151:25:2" + "src": "6133:25:2" } ] }, "documentation": null, - "id": 785, + "id": 781, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getCurrentYearSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 778, + "id": 774, "nodeType": "ParameterList", "parameters": [], - "src": "6107:2:2" + "src": "6089:2:2" }, - "payable": false, "returnParameters": { - "id": 781, + "id": 777, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 780, + "id": 776, "name": "", "nodeType": "VariableDeclaration", - "scope": 785, - "src": "6131:7:2", + "scope": 781, + "src": "6113:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11098,10 +10990,10 @@ "typeString": "uint256" }, "typeName": { - "id": 779, + "id": 775, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6131:7:2", + "src": "6113:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11111,20 +11003,20 @@ "visibility": "internal" } ], - "src": "6130:9:2" + "src": "6112:9:2" }, - "scope": 786, - "src": "6078:106:2", + "scope": 782, + "src": "6060:106:2", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 787, - "src": "620:5567:2" + "scope": 783, + "src": "619:5550:2" } ], - "src": "0:6189:2" + "src": "0:6171:2" }, "id": 2 }, @@ -11133,31 +11025,30 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSupervisorRole.sol", "exportedSymbols": { "AlgoSupervisorRole": [ - 873 + 869 ] }, - "id": 874, + "id": 870, "nodeType": "SourceUnit", "nodes": [ { - "id": 788, + "id": 784, "literals": [ "solidity", - "^", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:3" + "src": "0:22:3" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", - "id": 789, + "id": 785, "nodeType": "ImportDirective", - "scope": 874, - "sourceUnit": 1182, - "src": "28:189:3", + "scope": 870, + "sourceUnit": 1178, + "src": "26:189:3", "symbolAliases": [], "unitAlias": "" }, @@ -11167,64 +11058,64 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 873, + "id": 869, "linearizedBaseContracts": [ - 873 + 869 ], "name": "AlgoSupervisorRole", "nodeType": "ContractDefinition", "nodes": [ { - "id": 792, + "id": 788, "libraryName": { "contractScope": null, - "id": 790, + "id": 786, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1181, - "src": "262:5:3", + "referencedDeclaration": 1177, + "src": "260:5:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1181", + "typeIdentifier": "t_contract$_Roles_$1177", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "256:27:3", + "src": "254:27:3", "typeName": { "contractScope": null, - "id": 791, + "id": 787, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "272:10:3", + "referencedDeclaration": 1090, + "src": "270:10:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } } }, { "constant": false, - "id": 794, + "id": 790, "name": "_supervisors", "nodeType": "VariableDeclaration", - "scope": 873, - "src": "291:31:3", + "scope": 869, + "src": "289:31:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 793, + "id": 789, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "291:10:3", + "referencedDeclaration": 1090, + "src": "289:10:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -11233,9 +11124,9 @@ }, { "body": { - "id": 802, + "id": 798, "nodeType": "Block", - "src": "355:45:3", + "src": "353:45:3", "statements": [ { "expression": { @@ -11245,18 +11136,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 798, + "id": 794, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "381:3:3", + "referencedDeclaration": 1534, + "src": "379:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 799, + "id": 795, "isConstant": false, "isLValue": false, "isPure": false, @@ -11264,32 +11155,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "381:10:3", + "src": "379:10:3", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 797, + "id": 793, "name": "_addSupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 860, - "src": "366:14:3", + "referencedDeclaration": 856, + "src": "364:14:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 800, + "id": 796, "isConstant": false, "isLValue": false, "isPure": false, @@ -11297,50 +11188,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "366:26:3", + "src": "364:26:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 801, + "id": 797, "nodeType": "ExpressionStatement", - "src": "366:26:3" + "src": "364:26:3" } ] }, "documentation": null, - "id": 803, + "id": 799, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 795, + "id": 791, "nodeType": "ParameterList", "parameters": [], - "src": "343:2:3" + "src": "341:2:3" }, - "payable": false, "returnParameters": { - "id": 796, + "id": 792, "nodeType": "ParameterList", "parameters": [], - "src": "355:0:3" + "src": "353:0:3" }, - "scope": 873, - "src": "331:69:3", + "scope": 869, + "src": "329:69:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 813, + "id": 809, "nodeType": "Block", - "src": "434:64:3", + "src": "432:64:3", "statements": [ { "expression": { @@ -11353,18 +11242,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 807, + "id": 803, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "466:3:3", + "referencedDeclaration": 1534, + "src": "464:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 808, + "id": 804, "isConstant": false, "isLValue": false, "isPure": false, @@ -11372,32 +11261,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "466:10:3", + "src": "464:10:3", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 806, + "id": 802, "name": "isSupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "453:12:3", + "referencedDeclaration": 823, + "src": "451:12:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 809, + "id": 805, "isConstant": false, "isLValue": false, "isPure": false, @@ -11405,7 +11294,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "453:24:3", + "src": "451:24:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11419,21 +11308,21 @@ "typeString": "bool" } ], - "id": 805, + "id": 801, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "445:7:3", + "referencedDeclaration": 1537, + "src": "443:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 810, + "id": 806, "isConstant": false, "isLValue": false, "isPure": false, @@ -11441,41 +11330,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "445:33:3", + "src": "443:33:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 811, + "id": 807, "nodeType": "ExpressionStatement", - "src": "445:33:3" + "src": "443:33:3" }, { - "id": 812, + "id": 808, "nodeType": "PlaceholderStatement", - "src": "489:1:3" + "src": "487:1:3" } ] }, "documentation": null, - "id": 814, + "id": 810, "name": "onlySupervisor", "nodeType": "ModifierDefinition", "parameters": { - "id": 804, + "id": 800, "nodeType": "ParameterList", "parameters": [], - "src": "431:2:3" + "src": "429:2:3" }, - "src": "408:90:3", + "src": "406:90:3", "visibility": "internal" }, { "body": { - "id": 826, + "id": 822, "nodeType": "Block", - "src": "572:51:3", + "src": "570:51:3", "statements": [ { "expression": { @@ -11483,12 +11372,12 @@ "arguments": [ { "argumentTypes": null, - "id": 823, + "id": 819, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "607:7:3", + "referencedDeclaration": 812, + "src": "605:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11504,32 +11393,32 @@ ], "expression": { "argumentTypes": null, - "id": 821, + "id": 817, "name": "_supervisors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "590:12:3", + "referencedDeclaration": 790, + "src": "588:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 822, + "id": 818, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1180, - "src": "590:16:3", + "referencedDeclaration": 1176, + "src": "588:16:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 824, + "id": 820, "isConstant": false, "isLValue": false, "isPure": false, @@ -11537,38 +11426,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "590:25:3", + "src": "588:25:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 820, - "id": 825, + "functionReturnParameters": 816, + "id": 821, "nodeType": "Return", - "src": "583:32:3" + "src": "581:32:3" } ] }, "documentation": null, - "id": 827, + "id": 823, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isSupervisor", "nodeType": "FunctionDefinition", "parameters": { - "id": 817, + "id": 813, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 816, + "id": 812, "name": "account", "nodeType": "VariableDeclaration", - "scope": 827, - "src": "528:15:3", + "scope": 823, + "src": "526:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11576,10 +11464,11 @@ "typeString": "address" }, "typeName": { - "id": 815, + "id": 811, "name": "address", "nodeType": "ElementaryTypeName", - "src": "528:7:3", + "src": "526:7:3", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11589,20 +11478,19 @@ "visibility": "internal" } ], - "src": "527:17:3" + "src": "525:17:3" }, - "payable": false, "returnParameters": { - "id": 820, + "id": 816, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 819, + "id": 815, "name": "", "nodeType": "VariableDeclaration", - "scope": 827, - "src": "566:4:3", + "scope": 823, + "src": "564:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11610,10 +11498,10 @@ "typeString": "bool" }, "typeName": { - "id": 818, + "id": 814, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "566:4:3", + "src": "564:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11623,19 +11511,19 @@ "visibility": "internal" } ], - "src": "565:6:3" + "src": "563:6:3" }, - "scope": 873, - "src": "506:117:3", + "scope": 869, + "src": "504:117:3", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 838, + "id": 834, "nodeType": "Block", - "src": "693:42:3", + "src": "691:42:3", "statements": [ { "expression": { @@ -11643,12 +11531,12 @@ "arguments": [ { "argumentTypes": null, - "id": 835, + "id": 831, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 829, - "src": "719:7:3", + "referencedDeclaration": 825, + "src": "717:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11662,18 +11550,18 @@ "typeString": "address" } ], - "id": 834, + "id": 830, "name": "_addSupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 860, - "src": "704:14:3", + "referencedDeclaration": 856, + "src": "702:14:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 836, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, @@ -11681,57 +11569,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "704:23:3", + "src": "702:23:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 837, + "id": 833, "nodeType": "ExpressionStatement", - "src": "704:23:3" + "src": "702:23:3" } ] }, "documentation": null, - "id": 839, + "id": 835, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 832, + "id": 828, "modifierName": { "argumentTypes": null, - "id": 831, + "id": 827, "name": "onlySupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 814, - "src": "678:14:3", + "referencedDeclaration": 810, + "src": "676:14:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "678:14:3" + "src": "676:14:3" } ], "name": "addSupervisor", "nodeType": "FunctionDefinition", "parameters": { - "id": 830, + "id": 826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 829, + "id": 825, "name": "account", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "654:15:3", + "scope": 835, + "src": "652:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11739,10 +11626,11 @@ "typeString": "address" }, "typeName": { - "id": 828, + "id": 824, "name": "address", "nodeType": "ElementaryTypeName", - "src": "654:7:3", + "src": "652:7:3", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11752,26 +11640,25 @@ "visibility": "internal" } ], - "src": "653:17:3" + "src": "651:17:3" }, - "payable": false, "returnParameters": { - "id": 833, + "id": 829, "nodeType": "ParameterList", "parameters": [], - "src": "693:0:3" + "src": "691:0:3" }, - "scope": 873, - "src": "631:104:3", + "scope": 869, + "src": "629:104:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 847, + "id": 843, "nodeType": "Block", - "src": "780:48:3", + "src": "778:48:3", "statements": [ { "expression": { @@ -11781,18 +11668,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 843, + "id": 839, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "809:3:3", + "referencedDeclaration": 1534, + "src": "807:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 844, + "id": 840, "isConstant": false, "isLValue": false, "isPure": false, @@ -11800,32 +11687,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "809:10:3", + "src": "807:10:3", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 842, + "id": 838, "name": "_removeSupervisor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 872, - "src": "791:17:3", + "referencedDeclaration": 868, + "src": "789:17:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 845, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, @@ -11833,50 +11720,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "791:29:3", + "src": "789:29:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 846, + "id": 842, "nodeType": "ExpressionStatement", - "src": "791:29:3" + "src": "789:29:3" } ] }, "documentation": null, - "id": 848, + "id": 844, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "renounceSupervisor", "nodeType": "FunctionDefinition", "parameters": { - "id": 840, + "id": 836, "nodeType": "ParameterList", "parameters": [], - "src": "770:2:3" + "src": "768:2:3" }, - "payable": false, "returnParameters": { - "id": 841, + "id": 837, "nodeType": "ParameterList", "parameters": [], - "src": "780:0:3" + "src": "778:0:3" }, - "scope": 873, - "src": "743:85:3", + "scope": 869, + "src": "741:85:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 859, + "id": 855, "nodeType": "Block", - "src": "886:44:3", + "src": "884:44:3", "statements": [ { "expression": { @@ -11884,12 +11769,12 @@ "arguments": [ { "argumentTypes": null, - "id": 856, + "id": 852, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "914:7:3", + "referencedDeclaration": 846, + "src": "912:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11905,32 +11790,32 @@ ], "expression": { "argumentTypes": null, - "id": 853, + "id": 849, "name": "_supervisors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "897:12:3", + "referencedDeclaration": 790, + "src": "895:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 855, + "id": 851, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1126, - "src": "897:16:3", + "referencedDeclaration": 1122, + "src": "895:16:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 857, + "id": 853, "isConstant": false, "isLValue": false, "isPure": false, @@ -11938,37 +11823,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "897:25:3", + "src": "895:25:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 858, + "id": 854, "nodeType": "ExpressionStatement", - "src": "897:25:3" + "src": "895:25:3" } ] }, "documentation": null, - "id": 860, + "id": 856, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_addSupervisor", "nodeType": "FunctionDefinition", "parameters": { - "id": 851, + "id": 847, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 850, + "id": 846, "name": "account", "nodeType": "VariableDeclaration", - "scope": 860, - "src": "860:15:3", + "scope": 856, + "src": "858:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11976,10 +11860,11 @@ "typeString": "address" }, "typeName": { - "id": 849, + "id": 845, "name": "address", "nodeType": "ElementaryTypeName", - "src": "860:7:3", + "src": "858:7:3", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11989,26 +11874,25 @@ "visibility": "internal" } ], - "src": "859:17:3" + "src": "857:17:3" }, - "payable": false, "returnParameters": { - "id": 852, + "id": 848, "nodeType": "ParameterList", "parameters": [], - "src": "886:0:3" + "src": "884:0:3" }, - "scope": 873, - "src": "836:94:3", + "scope": 869, + "src": "834:94:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 871, + "id": 867, "nodeType": "Block", - "src": "991:47:3", + "src": "989:47:3", "statements": [ { "expression": { @@ -12016,12 +11900,12 @@ "arguments": [ { "argumentTypes": null, - "id": 868, + "id": 864, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 862, - "src": "1022:7:3", + "referencedDeclaration": 858, + "src": "1020:7:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12037,32 +11921,32 @@ ], "expression": { "argumentTypes": null, - "id": 865, + "id": 861, "name": "_supervisors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "1002:12:3", + "referencedDeclaration": 790, + "src": "1000:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 867, + "id": 863, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1157, - "src": "1002:19:3", + "referencedDeclaration": 1153, + "src": "1000:19:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 869, + "id": 865, "isConstant": false, "isLValue": false, "isPure": false, @@ -12070,37 +11954,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1002:28:3", + "src": "1000:28:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 870, + "id": 866, "nodeType": "ExpressionStatement", - "src": "1002:28:3" + "src": "1000:28:3" } ] }, "documentation": null, - "id": 872, + "id": 868, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_removeSupervisor", "nodeType": "FunctionDefinition", "parameters": { - "id": 863, + "id": 859, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 862, + "id": 858, "name": "account", "nodeType": "VariableDeclaration", - "scope": 872, - "src": "965:15:3", + "scope": 868, + "src": "963:15:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12108,10 +11991,11 @@ "typeString": "address" }, "typeName": { - "id": 861, + "id": 857, "name": "address", "nodeType": "ElementaryTypeName", - "src": "965:7:3", + "src": "963:7:3", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12121,27 +12005,26 @@ "visibility": "internal" } ], - "src": "964:17:3" + "src": "962:17:3" }, - "payable": false, "returnParameters": { - "id": 864, + "id": 860, "nodeType": "ParameterList", "parameters": [], - "src": "991:0:3" + "src": "989:0:3" }, - "scope": 873, - "src": "938:100:3", + "scope": 869, + "src": "936:100:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 874, - "src": "221:820:3" + "scope": 870, + "src": "219:820:3" } ], - "src": "0:1043:3" + "src": "0:1041:3" }, "id": 3 }, @@ -12150,31 +12033,30 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoSystemRole.sol", "exportedSymbols": { "AlgoSystemRole": [ - 960 + 956 ] }, - "id": 961, + "id": 957, "nodeType": "SourceUnit", "nodes": [ { - "id": 875, + "id": 871, "literals": [ "solidity", - "^", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:4" + "src": "0:22:4" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", - "id": 876, + "id": 872, "nodeType": "ImportDirective", - "scope": 961, - "sourceUnit": 1182, - "src": "28:189:4", + "scope": 957, + "sourceUnit": 1178, + "src": "26:189:4", "symbolAliases": [], "unitAlias": "" }, @@ -12184,64 +12066,64 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 960, + "id": 956, "linearizedBaseContracts": [ - 960 + 956 ], "name": "AlgoSystemRole", "nodeType": "ContractDefinition", "nodes": [ { - "id": 879, + "id": 875, "libraryName": { "contractScope": null, - "id": 877, + "id": 873, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1181, - "src": "258:5:4", + "referencedDeclaration": 1177, + "src": "256:5:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1181", + "typeIdentifier": "t_contract$_Roles_$1177", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "252:27:4", + "src": "250:27:4", "typeName": { "contractScope": null, - "id": 878, + "id": 874, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "268:10:4", + "referencedDeclaration": 1090, + "src": "266:10:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } } }, { "constant": false, - "id": 881, + "id": 877, "name": "_systemMembers", "nodeType": "VariableDeclaration", - "scope": 960, - "src": "287:33:4", + "scope": 956, + "src": "285:33:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 880, + "id": 876, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "287:10:4", + "referencedDeclaration": 1090, + "src": "285:10:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12250,9 +12132,9 @@ }, { "body": { - "id": 889, + "id": 885, "nodeType": "Block", - "src": "353:41:4", + "src": "351:41:4", "statements": [ { "expression": { @@ -12262,18 +12144,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 885, + "id": 881, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "375:3:4", + "referencedDeclaration": 1534, + "src": "373:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 886, + "id": 882, "isConstant": false, "isLValue": false, "isPure": false, @@ -12281,32 +12163,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "375:10:4", + "src": "373:10:4", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 884, + "id": 880, "name": "_addSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "364:10:4", + "referencedDeclaration": 943, + "src": "362:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 887, + "id": 883, "isConstant": false, "isLValue": false, "isPure": false, @@ -12314,50 +12196,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "364:22:4", + "src": "362:22:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 888, + "id": 884, "nodeType": "ExpressionStatement", - "src": "364:22:4" + "src": "362:22:4" } ] }, "documentation": null, - "id": 890, + "id": 886, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 882, + "id": 878, "nodeType": "ParameterList", "parameters": [], - "src": "341:2:4" + "src": "339:2:4" }, - "payable": false, "returnParameters": { - "id": 883, + "id": 879, "nodeType": "ParameterList", "parameters": [], - "src": "353:0:4" + "src": "351:0:4" }, - "scope": 960, - "src": "329:65:4", + "scope": 956, + "src": "327:65:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 900, + "id": 896, "nodeType": "Block", - "src": "424:60:4", + "src": "422:60:4", "statements": [ { "expression": { @@ -12370,18 +12250,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 894, + "id": 890, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "452:3:4", + "referencedDeclaration": 1534, + "src": "450:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 895, + "id": 891, "isConstant": false, "isLValue": false, "isPure": false, @@ -12389,32 +12269,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "452:10:4", + "src": "450:10:4", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 893, + "id": 889, "name": "isSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 914, - "src": "443:8:4", + "referencedDeclaration": 910, + "src": "441:8:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 896, + "id": 892, "isConstant": false, "isLValue": false, "isPure": false, @@ -12422,7 +12302,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "443:20:4", + "src": "441:20:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12436,21 +12316,21 @@ "typeString": "bool" } ], - "id": 892, + "id": 888, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "435:7:4", + "referencedDeclaration": 1537, + "src": "433:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 897, + "id": 893, "isConstant": false, "isLValue": false, "isPure": false, @@ -12458,41 +12338,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "435:29:4", + "src": "433:29:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 898, + "id": 894, "nodeType": "ExpressionStatement", - "src": "435:29:4" + "src": "433:29:4" }, { - "id": 899, + "id": 895, "nodeType": "PlaceholderStatement", - "src": "475:1:4" + "src": "473:1:4" } ] }, "documentation": null, - "id": 901, + "id": 897, "name": "onlySystem", "nodeType": "ModifierDefinition", "parameters": { - "id": 891, + "id": 887, "nodeType": "ParameterList", "parameters": [], - "src": "421:2:4" + "src": "419:2:4" }, - "src": "402:82:4", + "src": "400:82:4", "visibility": "internal" }, { "body": { - "id": 913, + "id": 909, "nodeType": "Block", - "src": "554:53:4", + "src": "552:53:4", "statements": [ { "expression": { @@ -12500,12 +12380,12 @@ "arguments": [ { "argumentTypes": null, - "id": 910, + "id": 906, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 903, - "src": "591:7:4", + "referencedDeclaration": 899, + "src": "589:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12521,32 +12401,32 @@ ], "expression": { "argumentTypes": null, - "id": 908, + "id": 904, "name": "_systemMembers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "572:14:4", + "referencedDeclaration": 877, + "src": "570:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 909, + "id": 905, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1180, - "src": "572:18:4", + "referencedDeclaration": 1176, + "src": "570:18:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 911, + "id": 907, "isConstant": false, "isLValue": false, "isPure": false, @@ -12554,38 +12434,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "572:27:4", + "src": "570:27:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 907, - "id": 912, + "functionReturnParameters": 903, + "id": 908, "nodeType": "Return", - "src": "565:34:4" + "src": "563:34:4" } ] }, "documentation": null, - "id": 914, + "id": 910, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 904, + "id": 900, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 903, + "id": 899, "name": "account", "nodeType": "VariableDeclaration", - "scope": 914, - "src": "510:15:4", + "scope": 910, + "src": "508:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12593,10 +12472,11 @@ "typeString": "address" }, "typeName": { - "id": 902, + "id": 898, "name": "address", "nodeType": "ElementaryTypeName", - "src": "510:7:4", + "src": "508:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12606,20 +12486,19 @@ "visibility": "internal" } ], - "src": "509:17:4" + "src": "507:17:4" }, - "payable": false, "returnParameters": { - "id": 907, + "id": 903, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 906, + "id": 902, "name": "", "nodeType": "VariableDeclaration", - "scope": 914, - "src": "548:4:4", + "scope": 910, + "src": "546:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12627,10 +12506,10 @@ "typeString": "bool" }, "typeName": { - "id": 905, + "id": 901, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "548:4:4", + "src": "546:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -12640,19 +12519,19 @@ "visibility": "internal" } ], - "src": "547:6:4" + "src": "545:6:4" }, - "scope": 960, - "src": "492:115:4", + "scope": 956, + "src": "490:115:4", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 925, + "id": 921, "nodeType": "Block", - "src": "669:38:4", + "src": "667:38:4", "statements": [ { "expression": { @@ -12660,12 +12539,12 @@ "arguments": [ { "argumentTypes": null, - "id": 922, + "id": 918, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 916, - "src": "691:7:4", + "referencedDeclaration": 912, + "src": "689:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12679,18 +12558,18 @@ "typeString": "address" } ], - "id": 921, + "id": 917, "name": "_addSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "680:10:4", + "referencedDeclaration": 943, + "src": "678:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 923, + "id": 919, "isConstant": false, "isLValue": false, "isPure": false, @@ -12698,57 +12577,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "680:19:4", + "src": "678:19:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 924, + "id": 920, "nodeType": "ExpressionStatement", - "src": "680:19:4" + "src": "678:19:4" } ] }, "documentation": null, - "id": 926, + "id": 922, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 919, + "id": 915, "modifierName": { "argumentTypes": null, - "id": 918, + "id": 914, "name": "onlySystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 901, - "src": "658:10:4", + "referencedDeclaration": 897, + "src": "656:10:4", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "658:10:4" + "src": "656:10:4" } ], "name": "addSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 917, + "id": 913, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 916, + "id": 912, "name": "account", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "634:15:4", + "scope": 922, + "src": "632:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12756,10 +12634,11 @@ "typeString": "address" }, "typeName": { - "id": 915, + "id": 911, "name": "address", "nodeType": "ElementaryTypeName", - "src": "634:7:4", + "src": "632:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12769,26 +12648,25 @@ "visibility": "internal" } ], - "src": "633:17:4" + "src": "631:17:4" }, - "payable": false, "returnParameters": { - "id": 920, + "id": 916, "nodeType": "ParameterList", "parameters": [], - "src": "669:0:4" + "src": "667:0:4" }, - "scope": 960, - "src": "615:92:4", + "scope": 956, + "src": "613:92:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 934, + "id": 930, "nodeType": "Block", - "src": "748:44:4", + "src": "746:44:4", "statements": [ { "expression": { @@ -12798,18 +12676,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 930, + "id": 926, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "773:3:4", + "referencedDeclaration": 1534, + "src": "771:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 931, + "id": 927, "isConstant": false, "isLValue": false, "isPure": false, @@ -12817,32 +12695,32 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "773:10:4", + "src": "771:10:4", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], - "id": 929, + "id": 925, "name": "_removeSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 959, - "src": "759:13:4", + "referencedDeclaration": 955, + "src": "757:13:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 932, + "id": 928, "isConstant": false, "isLValue": false, "isPure": false, @@ -12850,50 +12728,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "759:25:4", + "src": "757:25:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 933, + "id": 929, "nodeType": "ExpressionStatement", - "src": "759:25:4" + "src": "757:25:4" } ] }, "documentation": null, - "id": 935, + "id": 931, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "renounceSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 927, + "id": 923, "nodeType": "ParameterList", "parameters": [], - "src": "738:2:4" + "src": "736:2:4" }, - "payable": false, "returnParameters": { - "id": 928, + "id": 924, "nodeType": "ParameterList", "parameters": [], - "src": "748:0:4" + "src": "746:0:4" }, - "scope": 960, - "src": "715:77:4", + "scope": 956, + "src": "713:77:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 946, + "id": 942, "nodeType": "Block", - "src": "846:46:4", + "src": "844:46:4", "statements": [ { "expression": { @@ -12901,12 +12777,12 @@ "arguments": [ { "argumentTypes": null, - "id": 943, + "id": 939, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 937, - "src": "876:7:4", + "referencedDeclaration": 933, + "src": "874:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12922,32 +12798,32 @@ ], "expression": { "argumentTypes": null, - "id": 940, + "id": 936, "name": "_systemMembers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "857:14:4", + "referencedDeclaration": 877, + "src": "855:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 942, + "id": 938, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1126, - "src": "857:18:4", + "referencedDeclaration": 1122, + "src": "855:18:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 944, + "id": 940, "isConstant": false, "isLValue": false, "isPure": false, @@ -12955,37 +12831,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "857:27:4", + "src": "855:27:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 945, + "id": 941, "nodeType": "ExpressionStatement", - "src": "857:27:4" + "src": "855:27:4" } ] }, "documentation": null, - "id": 947, + "id": 943, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_addSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 938, + "id": 934, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 937, + "id": 933, "name": "account", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "820:15:4", + "scope": 943, + "src": "818:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12993,10 +12868,11 @@ "typeString": "address" }, "typeName": { - "id": 936, + "id": 932, "name": "address", "nodeType": "ElementaryTypeName", - "src": "820:7:4", + "src": "818:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13006,26 +12882,25 @@ "visibility": "internal" } ], - "src": "819:17:4" + "src": "817:17:4" }, - "payable": false, "returnParameters": { - "id": 939, + "id": 935, "nodeType": "ParameterList", "parameters": [], - "src": "846:0:4" + "src": "844:0:4" }, - "scope": 960, - "src": "800:92:4", + "scope": 956, + "src": "798:92:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 958, + "id": 954, "nodeType": "Block", - "src": "949:49:4", + "src": "947:49:4", "statements": [ { "expression": { @@ -13033,12 +12908,12 @@ "arguments": [ { "argumentTypes": null, - "id": 955, + "id": 951, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 949, - "src": "982:7:4", + "referencedDeclaration": 945, + "src": "980:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13054,32 +12929,32 @@ ], "expression": { "argumentTypes": null, - "id": 952, + "id": 948, "name": "_systemMembers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 881, - "src": "960:14:4", + "referencedDeclaration": 877, + "src": "958:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage", + "typeIdentifier": "t_struct$_Role_$1090_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 954, + "id": 950, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1157, - "src": "960:21:4", + "referencedDeclaration": 1153, + "src": "958:21:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1090_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 956, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -13087,37 +12962,36 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "960:30:4", + "src": "958:30:4", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 957, + "id": 953, "nodeType": "ExpressionStatement", - "src": "960:30:4" + "src": "958:30:4" } ] }, "documentation": null, - "id": 959, + "id": 955, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_removeSystem", "nodeType": "FunctionDefinition", "parameters": { - "id": 950, + "id": 946, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 949, + "id": 945, "name": "account", "nodeType": "VariableDeclaration", - "scope": 959, - "src": "923:15:4", + "scope": 955, + "src": "921:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13125,10 +12999,11 @@ "typeString": "address" }, "typeName": { - "id": 948, + "id": 944, "name": "address", "nodeType": "ElementaryTypeName", - "src": "923:7:4", + "src": "921:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13138,27 +13013,26 @@ "visibility": "internal" } ], - "src": "922:17:4" + "src": "920:17:4" }, - "payable": false, "returnParameters": { - "id": 951, + "id": 947, "nodeType": "ParameterList", "parameters": [], - "src": "949:0:4" + "src": "947:0:4" }, - "scope": 960, - "src": "900:98:4", + "scope": 956, + "src": "898:98:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 961, - "src": "221:780:4" + "scope": 957, + "src": "219:780:4" } ], - "src": "0:1003:4" + "src": "0:1001:4" }, "id": 4 }, @@ -13167,52 +13041,52 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol", "exportedSymbols": { "ERC20TokenHolder": [ - 1017 + 1013 ] }, - "id": 1018, + "id": 1014, "nodeType": "SourceUnit", "nodes": [ { - "id": 962, + "id": 958, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:5" + "src": "0:22:5" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", - "id": 963, + "id": 959, "nodeType": "ImportDirective", - "scope": 1018, - "sourceUnit": 1379, - "src": "27:195:5", + "scope": 1014, + "sourceUnit": 1375, + "src": "26:195:5", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", - "id": 964, + "id": 960, "nodeType": "ImportDirective", - "scope": 1018, - "sourceUnit": 1523, - "src": "224:198:5", + "scope": 1014, + "sourceUnit": 1520, + "src": "223:198:5", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "file": "./Terminable.sol", - "id": 965, + "id": 961, "nodeType": "ImportDirective", - "scope": 1018, - "sourceUnit": 1088, - "src": "426:26:5", + "scope": 1014, + "sourceUnit": 1084, + "src": "425:26:5", "symbolAliases": [], "unitAlias": "" }, @@ -13222,86 +13096,86 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 966, + "id": 962, "name": "Terminable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1087, - "src": "485:10:5", + "referencedDeclaration": 1083, + "src": "484:10:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Terminable_$1087", + "typeIdentifier": "t_contract$_Terminable_$1083", "typeString": "contract Terminable" } }, - "id": 967, + "id": 963, "nodeType": "InheritanceSpecifier", - "src": "485:10:5" + "src": "484:10:5" } ], "contractDependencies": [ - 1087 + 1083 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1017, + "id": 1013, "linearizedBaseContracts": [ - 1017, - 1087 + 1013, + 1083 ], "name": "ERC20TokenHolder", "nodeType": "ContractDefinition", "nodes": [ { - "id": 970, + "id": 966, "libraryName": { "contractScope": null, - "id": 968, + "id": 964, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1522, - "src": "509:9:5", + "referencedDeclaration": 1519, + "src": "508:9:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1522", + "typeIdentifier": "t_contract$_SafeERC20_$1519", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "503:27:5", + "src": "502:27:5", "typeName": { "contractScope": null, - "id": 969, + "id": 965, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1378, - "src": "523:6:5", + "referencedDeclaration": 1374, + "src": "522:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } } }, { "constant": false, - "id": 972, + "id": 968, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 1017, - "src": "538:22:5", + "scope": 1013, + "src": "537:22:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 971, + "id": 967, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1378, - "src": "538:6:5", + "referencedDeclaration": 1374, + "src": "537:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, @@ -13310,28 +13184,28 @@ }, { "body": { - "id": 985, + "id": 981, "nodeType": "Block", - "src": "625:48:5", + "src": "624:48:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 983, + "id": 979, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 979, + "id": 975, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "636:6:5", + "referencedDeclaration": 968, + "src": "635:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, @@ -13342,12 +13216,12 @@ "arguments": [ { "argumentTypes": null, - "id": 981, + "id": 977, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 974, - "src": "652:12:5", + "referencedDeclaration": 970, + "src": "651:12:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13361,18 +13235,18 @@ "typeString": "address" } ], - "id": 980, + "id": 976, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1378, - "src": "645:6:5", + "referencedDeclaration": 1374, + "src": "644:6:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$1378_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$1374_$", "typeString": "type(contract IERC20)" } }, - "id": 982, + "id": 978, "isConstant": false, "isLValue": false, "isPure": false, @@ -13380,63 +13254,62 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "645:20:5", + "src": "644:20:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "src": "636:29:5", + "src": "635:29:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 984, + "id": 980, "nodeType": "ExpressionStatement", - "src": "636:29:5" + "src": "635:29:5" } ] }, "documentation": null, - "id": 986, + "id": 982, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [ { "arguments": [], - "id": 977, + "id": 973, "modifierName": { "argumentTypes": null, - "id": 976, + "id": 972, "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1087, - "src": "603:10:5", + "referencedDeclaration": 1083, + "src": "602:10:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$1087_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$1083_$", "typeString": "type(contract Terminable)" } }, "nodeType": "ModifierInvocation", - "src": "603:12:5" + "src": "602:12:5" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 975, + "id": 971, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 974, + "id": 970, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "581:20:5", + "scope": 982, + "src": "580:20:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13444,10 +13317,11 @@ "typeString": "address" }, "typeName": { - "id": 973, + "id": 969, "name": "address", "nodeType": "ElementaryTypeName", - "src": "581:7:5", + "src": "580:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13457,39 +13331,38 @@ "visibility": "internal" } ], - "src": "580:22:5" + "src": "579:22:5" }, - "payable": false, "returnParameters": { - "id": 978, + "id": 974, "nodeType": "ParameterList", "parameters": [], - "src": "625:0:5" + "src": "624:0:5" }, - "scope": 1017, - "src": "569:104:5", + "scope": 1013, + "src": "568:104:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1015, + "id": 1011, "nodeType": "Block", - "src": "712:214:5", + "src": "711:214:5", "statements": [ { "assignments": [ - 990 + 986 ], "declarations": [ { "constant": false, - "id": 990, + "id": 986, "name": "currentBalance", "nodeType": "VariableDeclaration", - "scope": 1016, - "src": "723:22:5", + "scope": 1011, + "src": "722:22:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13497,10 +13370,10 @@ "typeString": "uint256" }, "typeName": { - "id": 989, + "id": 985, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "723:7:5", + "src": "722:7:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13510,7 +13383,7 @@ "visibility": "internal" } ], - "id": 997, + "id": 993, "initialValue": { "argumentTypes": null, "arguments": [ @@ -13519,14 +13392,14 @@ "arguments": [ { "argumentTypes": null, - "id": 994, + "id": 990, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1566, - "src": "773:4:5", + "referencedDeclaration": 1564, + "src": "772:4:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$1017", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$1013", "typeString": "contract ERC20TokenHolder" } } @@ -13534,24 +13407,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$1017", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$1013", "typeString": "contract ERC20TokenHolder" } ], - "id": 993, + "id": 989, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "765:7:5", + "src": "764:7:5", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 995, + "id": 991, "isConstant": false, "isLValue": false, "isPure": false, @@ -13559,7 +13432,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "765:13:5", + "src": "764:13:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13575,32 +13448,32 @@ ], "expression": { "argumentTypes": null, - "id": 991, + "id": 987, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "748:6:5", + "referencedDeclaration": 968, + "src": "747:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 992, + "id": 988, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1323, - "src": "748:16:5", + "referencedDeclaration": 1348, + "src": "747:16:5", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 996, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, @@ -13608,14 +13481,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "748:31:5", + "src": "747:31:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "723:56:5" + "src": "722:56:5" }, { "condition": { @@ -13624,19 +13497,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1000, + "id": 996, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 998, + "id": 994, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 990, - "src": "793:14:5", + "referencedDeclaration": 986, + "src": "792:14:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13647,14 +13520,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 999, + "id": 995, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "810:1:5", + "src": "809:1:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13662,20 +13535,20 @@ }, "value": "0" }, - "src": "793:18:5", + "src": "792:18:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1009, + "id": 1005, "nodeType": "IfStatement", - "src": "790:95:5", + "src": "789:95:5", "trueBody": { - "id": 1008, + "id": 1004, "nodeType": "Block", - "src": "813:72:5", + "src": "812:72:5", "statements": [ { "expression": { @@ -13683,12 +13556,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1004, + "id": 1000, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "848:8:5", + "referencedDeclaration": 1050, + "src": "847:8:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -13696,12 +13569,12 @@ }, { "argumentTypes": null, - "id": 1005, + "id": 1001, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 990, - "src": "858:14:5", + "referencedDeclaration": 986, + "src": "857:14:5", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13721,32 +13594,32 @@ ], "expression": { "argumentTypes": null, - "id": 1001, + "id": 997, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, - "src": "828:6:5", + "referencedDeclaration": 968, + "src": "827:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1003, + "id": 999, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1403, - "src": "828:19:5", + "referencedDeclaration": 1399, + "src": "827:19:5", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1374_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1374_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 1006, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": false, @@ -13754,15 +13627,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "828:45:5", + "src": "827:45:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1007, + "id": 1003, "nodeType": "ExpressionStatement", - "src": "828:45:5" + "src": "827:45:5" } ] } @@ -13775,32 +13648,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 1010, + "id": 1006, "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1087, - "src": "895:10:5", + "referencedDeclaration": 1083, + "src": "894:10:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$1087_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$1083_$", "typeString": "type(contract Terminable)" } }, - "id": 1012, + "id": 1008, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_terminate", "nodeType": "MemberAccess", - "referencedDeclaration": 1086, - "src": "895:21:5", + "referencedDeclaration": 1082, + "src": "894:21:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 1013, + "id": 1009, "isConstant": false, "isLValue": false, "isPure": false, @@ -13808,51 +13681,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "895:23:5", + "src": "894:23:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1014, + "id": 1010, "nodeType": "ExpressionStatement", - "src": "895:23:5" + "src": "894:23:5" } ] }, "documentation": null, - "id": 1016, + "id": 1012, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 987, + "id": 983, "nodeType": "ParameterList", "parameters": [], - "src": "700:2:5" + "src": "699:2:5" }, - "payable": false, "returnParameters": { - "id": 988, + "id": 984, "nodeType": "ParameterList", "parameters": [], - "src": "712:0:5" + "src": "711:0:5" }, - "scope": 1017, - "src": "681:245:5", + "scope": 1013, + "src": "680:245:5", "stateMutability": "nonpayable", - "superFunction": 1086, + "superFunction": 1082, "visibility": "internal" } ], - "scope": 1018, - "src": "456:473:5" + "scope": 1014, + "src": "455:473:5" } ], - "src": "0:929:5" + "src": "0:928:5" }, "id": 5 }, @@ -13861,21 +13732,21 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol", "exportedSymbols": { "IAlgoMiner": [ - 1050 + 1046 ] }, - "id": 1051, + "id": 1047, "nodeType": "SourceUnit", "nodes": [ { - "id": 1019, + "id": 1015, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:6" + "src": "0:22:6" }, { "baseContracts": [], @@ -13883,9 +13754,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 1050, + "id": 1046, "linearizedBaseContracts": [ - 1050 + 1046 ], "name": "IAlgoMiner", "nodeType": "ContractDefinition", @@ -13893,31 +13764,29 @@ { "body": null, "documentation": null, - "id": 1024, + "id": 1020, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isAlgoMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 1020, + "id": 1016, "nodeType": "ParameterList", "parameters": [], - "src": "74:2:6" + "src": "73:2:6" }, - "payable": false, "returnParameters": { - "id": 1023, + "id": 1019, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1022, + "id": 1018, "name": "", "nodeType": "VariableDeclaration", - "scope": 1024, - "src": "98:4:6", + "scope": 1020, + "src": "97:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13925,10 +13794,10 @@ "typeString": "bool" }, "typeName": { - "id": 1021, + "id": 1017, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "98:4:6", + "src": "97:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13938,10 +13807,10 @@ "visibility": "internal" } ], - "src": "97:6:6" + "src": "96:6:6" }, - "scope": 1050, - "src": "54:50:6", + "scope": 1046, + "src": "53:50:6", "stateMutability": "pure", "superFunction": null, "visibility": "public" @@ -13949,31 +13818,29 @@ { "body": null, "documentation": null, - "id": 1029, + "id": 1025, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getMinerType", "nodeType": "FunctionDefinition", "parameters": { - "id": 1025, + "id": 1021, "nodeType": "ParameterList", "parameters": [], - "src": "131:2:6" + "src": "130:2:6" }, - "payable": false, "returnParameters": { - "id": 1028, + "id": 1024, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1027, + "id": 1023, "name": "", "nodeType": "VariableDeclaration", - "scope": 1029, - "src": "155:5:6", + "scope": 1025, + "src": "154:5:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13981,10 +13848,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1026, + "id": 1022, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "155:5:6", + "src": "154:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -13994,10 +13861,10 @@ "visibility": "internal" } ], - "src": "154:7:6" + "src": "153:7:6" }, - "scope": 1050, - "src": "110:52:6", + "scope": 1046, + "src": "109:52:6", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -14005,31 +13872,29 @@ { "body": null, "documentation": null, - "id": 1034, + "id": 1030, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getCategory", "nodeType": "FunctionDefinition", "parameters": { - "id": 1030, + "id": 1026, "nodeType": "ParameterList", "parameters": [], - "src": "188:2:6" + "src": "187:2:6" }, - "payable": false, "returnParameters": { - "id": 1033, + "id": 1029, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1032, + "id": 1028, "name": "", "nodeType": "VariableDeclaration", - "scope": 1034, - "src": "212:5:6", + "scope": 1030, + "src": "211:5:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14037,10 +13902,10 @@ "typeString": "uint8" }, "typeName": { - "id": 1031, + "id": 1027, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "212:5:6", + "src": "211:5:6", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -14050,10 +13915,10 @@ "visibility": "internal" } ], - "src": "211:7:6" + "src": "210:7:6" }, - "scope": 1050, - "src": "168:51:6", + "scope": 1046, + "src": "167:51:6", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -14061,31 +13926,29 @@ { "body": null, "documentation": null, - "id": 1039, + "id": 1035, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 1035, + "id": 1031, "nodeType": "ParameterList", "parameters": [], - "src": "242:2:6" + "src": "241:2:6" }, - "payable": false, "returnParameters": { - "id": 1038, + "id": 1034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1037, + "id": 1033, "name": "", "nodeType": "VariableDeclaration", - "scope": 1039, - "src": "266:7:6", + "scope": 1035, + "src": "265:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14093,10 +13956,11 @@ "typeString": "address" }, "typeName": { - "id": 1036, + "id": 1032, "name": "address", "nodeType": "ElementaryTypeName", - "src": "266:7:6", + "src": "265:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14106,10 +13970,10 @@ "visibility": "internal" } ], - "src": "265:9:6" + "src": "264:9:6" }, - "scope": 1050, - "src": "225:50:6", + "scope": 1046, + "src": "224:50:6", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -14117,31 +13981,29 @@ { "body": null, "documentation": null, - "id": 1044, + "id": 1040, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { - "id": 1040, + "id": 1036, "nodeType": "ParameterList", "parameters": [], - "src": "301:2:6" + "src": "300:2:6" }, - "payable": false, "returnParameters": { - "id": 1043, + "id": 1039, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1042, + "id": 1038, "name": "", "nodeType": "VariableDeclaration", - "scope": 1044, - "src": "325:7:6", + "scope": 1040, + "src": "324:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14149,10 +14011,11 @@ "typeString": "address" }, "typeName": { - "id": 1041, + "id": 1037, "name": "address", "nodeType": "ElementaryTypeName", - "src": "325:7:6", + "src": "324:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14162,10 +14025,10 @@ "visibility": "internal" } ], - "src": "324:9:6" + "src": "323:9:6" }, - "scope": 1050, - "src": "281:53:6", + "scope": 1046, + "src": "280:53:6", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -14173,31 +14036,29 @@ { "body": null, "documentation": null, - "id": 1049, + "id": 1045, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isMining", "nodeType": "FunctionDefinition", "parameters": { - "id": 1045, + "id": 1041, "nodeType": "ParameterList", "parameters": [], - "src": "357:2:6" + "src": "356:2:6" }, - "payable": false, "returnParameters": { - "id": 1048, + "id": 1044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1047, + "id": 1043, "name": "", "nodeType": "VariableDeclaration", - "scope": 1049, - "src": "381:4:6", + "scope": 1045, + "src": "380:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14205,10 +14066,10 @@ "typeString": "bool" }, "typeName": { - "id": 1046, + "id": 1042, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "381:4:6", + "src": "380:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14218,20 +14079,20 @@ "visibility": "internal" } ], - "src": "380:6:6" + "src": "379:6:6" }, - "scope": 1050, - "src": "340:47:6", + "scope": 1046, + "src": "339:47:6", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 1051, - "src": "27:363:6" + "scope": 1047, + "src": "26:363:6" } ], - "src": "0:390:6" + "src": "0:389:6" }, "id": 6 }, @@ -14240,21 +14101,21 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "exportedSymbols": { "Terminable": [ - 1087 + 1083 ] }, - "id": 1088, + "id": 1084, "nodeType": "SourceUnit", "nodes": [ { - "id": 1052, + "id": 1048, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:7" + "src": "0:22:7" }, { "baseContracts": [], @@ -14262,20 +14123,20 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1087, + "id": 1083, "linearizedBaseContracts": [ - 1087 + 1083 ], "name": "Terminable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1054, + "id": 1050, "name": "_creator", "nodeType": "VariableDeclaration", - "scope": 1087, - "src": "56:25:7", + "scope": 1083, + "src": "55:25:7", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -14283,10 +14144,11 @@ "typeString": "address" }, "typeName": { - "id": 1053, + "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", - "src": "56:7:7", + "src": "55:7:7", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14297,11 +14159,11 @@ }, { "constant": false, - "id": 1056, + "id": 1052, "name": "_terminated", "nodeType": "VariableDeclaration", - "scope": 1087, - "src": "88:25:7", + "scope": 1083, + "src": "87:25:7", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -14309,10 +14171,10 @@ "typeString": "bool" }, "typeName": { - "id": 1055, + "id": 1051, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "88:4:7", + "src": "87:4:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14323,26 +14185,26 @@ }, { "body": { - "id": 1068, + "id": 1064, "nodeType": "Block", - "src": "145:70:7", + "src": "144:70:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1062, + "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1059, + "id": 1055, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1054, - "src": "156:8:7", + "referencedDeclaration": 1050, + "src": "155:8:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14354,18 +14216,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1060, + "id": 1056, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "167:3:7", + "referencedDeclaration": 1534, + "src": "166:3:7", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1061, + "id": 1057, "isConstant": false, "isLValue": false, "isPure": false, @@ -14373,38 +14235,38 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "167:10:7", + "src": "166:10:7", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "156:21:7", + "src": "155:21:7", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1063, + "id": 1059, "nodeType": "ExpressionStatement", - "src": "156:21:7" + "src": "155:21:7" }, { "expression": { "argumentTypes": null, - "id": 1066, + "id": 1062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1064, + "id": 1060, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "188:11:7", + "referencedDeclaration": 1052, + "src": "187:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14415,14 +14277,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1065, + "id": 1061, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "202:5:7", + "src": "201:5:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14430,50 +14292,48 @@ }, "value": "false" }, - "src": "188:19:7", + "src": "187:19:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1067, + "id": 1063, "nodeType": "ExpressionStatement", - "src": "188:19:7" + "src": "187:19:7" } ] }, "documentation": null, - "id": 1069, + "id": 1065, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 1057, + "id": 1053, "nodeType": "ParameterList", "parameters": [], - "src": "133:2:7" + "src": "132:2:7" }, - "payable": false, "returnParameters": { - "id": 1058, + "id": 1054, "nodeType": "ParameterList", "parameters": [], - "src": "145:0:7" + "src": "144:0:7" }, - "scope": 1087, - "src": "122:93:7", + "scope": 1083, + "src": "121:93:7", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1077, + "id": 1073, "nodeType": "Block", - "src": "248:52:7", + "src": "247:52:7", "statements": [ { "expression": { @@ -14481,7 +14341,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1073, + "id": 1069, "isConstant": false, "isLValue": false, "isPure": false, @@ -14489,15 +14349,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "267:12:7", + "src": "266:12:7", "subExpression": { "argumentTypes": null, - "id": 1072, + "id": 1068, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "268:11:7", + "referencedDeclaration": 1052, + "src": "267:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14516,21 +14376,21 @@ "typeString": "bool" } ], - "id": 1071, + "id": 1067, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "259:7:7", + "referencedDeclaration": 1537, + "src": "258:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1074, + "id": 1070, "isConstant": false, "isLValue": false, "isPure": false, @@ -14538,58 +14398,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "259:21:7", + "src": "258:21:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1075, + "id": 1071, "nodeType": "ExpressionStatement", - "src": "259:21:7" + "src": "258:21:7" }, { - "id": 1076, + "id": 1072, "nodeType": "PlaceholderStatement", - "src": "291:1:7" + "src": "290:1:7" } ] }, "documentation": null, - "id": 1078, + "id": 1074, "name": "notTerminated", "nodeType": "ModifierDefinition", "parameters": { - "id": 1070, + "id": 1066, "nodeType": "ParameterList", "parameters": [], - "src": "245:2:7" + "src": "244:2:7" }, - "src": "223:77:7", + "src": "222:77:7", "visibility": "internal" }, { "body": { - "id": 1085, + "id": 1081, "nodeType": "Block", - "src": "339:37:7", + "src": "338:37:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1083, + "id": 1079, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1081, + "id": 1077, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1056, - "src": "350:11:7", + "referencedDeclaration": 1052, + "src": "349:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14600,14 +14460,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1082, + "id": 1078, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "364:4:7", + "src": "363:4:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14615,51 +14475,49 @@ }, "value": "true" }, - "src": "350:18:7", + "src": "349:18:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1084, + "id": 1080, "nodeType": "ExpressionStatement", - "src": "350:18:7" + "src": "349:18:7" } ] }, "documentation": null, - "id": 1086, + "id": 1082, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 1079, + "id": 1075, "nodeType": "ParameterList", "parameters": [], - "src": "327:2:7" + "src": "326:2:7" }, - "payable": false, "returnParameters": { - "id": 1080, + "id": 1076, "nodeType": "ParameterList", "parameters": [], - "src": "339:0:7" + "src": "338:0:7" }, - "scope": 1087, - "src": "308:68:7", + "scope": 1083, + "src": "307:68:7", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1088, - "src": "27:352:7" + "scope": 1084, + "src": "26:352:7" } ], - "src": "0:379:7" + "src": "0:378:7" }, "id": 7 }, @@ -14668,22 +14526,22 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 1181 + 1177 ] }, - "id": 1182, + "id": 1178, "nodeType": "SourceUnit", "nodes": [ { - "id": 1089, + "id": 1085, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:23:8" }, { "baseContracts": [], @@ -14691,24 +14549,24 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 1181, + "id": 1177, "linearizedBaseContracts": [ - 1181 + 1177 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 1094, + "id": 1090, "members": [ { "constant": false, - "id": 1093, + "id": 1089, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 1094, - "src": "145:32:8", + "scope": 1090, + "src": "150:32:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14716,28 +14574,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1092, + "id": 1088, "keyType": { - "id": 1090, + "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", - "src": "154:7:8", + "src": "159:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "145:25:8", + "src": "150:25:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1091, + "id": 1087, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "165:4:8", + "src": "170:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14750,15 +14608,15 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 1181, - "src": "127:55:8", + "scope": 1177, + "src": "128:61:8", "visibility": "public" }, { "body": { - "id": 1125, + "id": 1121, "nodeType": "Block", - "src": "302:109:8", + "src": "317:123:8", "statements": [ { "expression": { @@ -14770,19 +14628,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1106, + "id": 1102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1102, + "id": 1098, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1098, - "src": "316:7:8", + "referencedDeclaration": 1094, + "src": "335:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14796,14 +14654,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1104, + "id": 1100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "335:1:8", + "src": "354:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -14819,20 +14677,20 @@ "typeString": "int_const 0" } ], - "id": 1103, + "id": 1099, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "327:7:8", + "src": "346:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1105, + "id": 1101, "isConstant": false, "isLValue": false, "isPure": true, @@ -14840,13 +14698,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "327:10:8", + "src": "346:10:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "316:21:8", + "src": "335:21:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14860,21 +14718,21 @@ "typeString": "bool" } ], - "id": 1101, + "id": 1097, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "308:7:8", + "referencedDeclaration": 1537, + "src": "327:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1107, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": false, @@ -14882,15 +14740,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "308:30:8", + "src": "327:30:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1108, + "id": 1104, "nodeType": "ExpressionStatement", - "src": "308:30:8" + "src": "327:30:8" }, { "expression": { @@ -14898,7 +14756,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1114, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": false, @@ -14906,31 +14764,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "352:19:8", + "src": "375:19:8", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1111, + "id": 1107, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "357:4:8", + "referencedDeclaration": 1092, + "src": "380:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 1112, + "id": 1108, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1098, - "src": "363:7:8", + "referencedDeclaration": 1094, + "src": "386:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14940,7 +14798,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -14948,18 +14806,18 @@ "typeString": "address" } ], - "id": 1110, + "id": 1106, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "353:3:8", + "referencedDeclaration": 1176, + "src": "376:3:8", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1113, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": false, @@ -14967,7 +14825,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "353:18:8", + "src": "376:18:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14986,21 +14844,21 @@ "typeString": "bool" } ], - "id": 1109, + "id": 1105, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "344:7:8", + "referencedDeclaration": 1537, + "src": "367:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1115, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": false, @@ -15008,20 +14866,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "344:28:8", + "src": "367:28:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1116, + "id": 1112, "nodeType": "ExpressionStatement", - "src": "344:28:8" + "src": "367:28:8" }, { "expression": { "argumentTypes": null, - "id": 1123, + "id": 1119, "isConstant": false, "isLValue": false, "isPure": false, @@ -15032,40 +14890,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1117, + "id": 1113, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1096, - "src": "379:4:8", + "referencedDeclaration": 1092, + "src": "406:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1120, + "id": 1116, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1093, - "src": "379:11:8", + "referencedDeclaration": 1089, + "src": "406:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1121, + "id": 1117, "indexExpression": { "argumentTypes": null, - "id": 1119, + "id": 1115, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1098, - "src": "391:7:8", + "referencedDeclaration": 1094, + "src": "418:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15076,7 +14934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "379:20:8", + "src": "406:20:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15087,14 +14945,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1122, + "id": 1118, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "402:4:8", + "src": "429:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15102,52 +14960,51 @@ }, "value": "true" }, - "src": "379:27:8", + "src": "406:27:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1124, + "id": 1120, "nodeType": "ExpressionStatement", - "src": "379:27:8" + "src": "406:27:8" } ] }, "documentation": "@dev give an account access to this role", - "id": 1126, + "id": 1122, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1099, + "id": 1095, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1096, + "id": 1092, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1126, - "src": "257:17:8", + "scope": 1122, + "src": "272:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1095, + "id": 1091, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "257:4:8", + "referencedDeclaration": 1090, + "src": "272:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15156,11 +15013,11 @@ }, { "constant": false, - "id": 1098, + "id": 1094, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1126, - "src": "276:15:8", + "scope": 1122, + "src": "291:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15168,10 +15025,11 @@ "typeString": "address" }, "typeName": { - "id": 1097, + "id": 1093, "name": "address", "nodeType": "ElementaryTypeName", - "src": "276:7:8", + "src": "291:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15181,26 +15039,25 @@ "visibility": "internal" } ], - "src": "256:36:8" + "src": "271:36:8" }, - "payable": false, "returnParameters": { - "id": 1100, + "id": 1096, "nodeType": "ParameterList", "parameters": [], - "src": "302:0:8" + "src": "317:0:8" }, - "scope": 1181, - "src": "244:167:8", + "scope": 1177, + "src": "259:181:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1156, + "id": 1152, "nodeType": "Block", - "src": "538:109:8", + "src": "575:123:8", "statements": [ { "expression": { @@ -15212,19 +15069,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1138, + "id": 1134, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1134, + "id": 1130, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "552:7:8", + "referencedDeclaration": 1126, + "src": "593:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15238,14 +15095,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1136, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "571:1:8", + "src": "612:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15261,20 +15118,20 @@ "typeString": "int_const 0" } ], - "id": 1135, + "id": 1131, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "563:7:8", + "src": "604:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1137, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": true, @@ -15282,13 +15139,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "563:10:8", + "src": "604:10:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "552:21:8", + "src": "593:21:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15302,21 +15159,21 @@ "typeString": "bool" } ], - "id": 1133, + "id": 1129, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "544:7:8", + "referencedDeclaration": 1537, + "src": "585:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1139, + "id": 1135, "isConstant": false, "isLValue": false, "isPure": false, @@ -15324,15 +15181,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "544:30:8", + "src": "585:30:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1140, + "id": 1136, "nodeType": "ExpressionStatement", - "src": "544:30:8" + "src": "585:30:8" }, { "expression": { @@ -15343,25 +15200,25 @@ "arguments": [ { "argumentTypes": null, - "id": 1143, + "id": 1139, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1128, - "src": "592:4:8", + "referencedDeclaration": 1124, + "src": "637:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 1144, + "id": 1140, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "598:7:8", + "referencedDeclaration": 1126, + "src": "643:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15371,7 +15228,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -15379,18 +15236,18 @@ "typeString": "address" } ], - "id": 1142, + "id": 1138, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, - "src": "588:3:8", + "referencedDeclaration": 1176, + "src": "633:3:8", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1090_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1145, + "id": 1141, "isConstant": false, "isLValue": false, "isPure": false, @@ -15398,7 +15255,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "588:18:8", + "src": "633:18:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15412,21 +15269,21 @@ "typeString": "bool" } ], - "id": 1141, + "id": 1137, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "580:7:8", + "referencedDeclaration": 1537, + "src": "625:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1146, + "id": 1142, "isConstant": false, "isLValue": false, "isPure": false, @@ -15434,20 +15291,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "580:27:8", + "src": "625:27:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1147, + "id": 1143, "nodeType": "ExpressionStatement", - "src": "580:27:8" + "src": "625:27:8" }, { "expression": { "argumentTypes": null, - "id": 1154, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -15458,40 +15315,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1148, + "id": 1144, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1128, - "src": "614:4:8", + "referencedDeclaration": 1124, + "src": "663:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1151, + "id": 1147, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1093, - "src": "614:11:8", + "referencedDeclaration": 1089, + "src": "663:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1152, + "id": 1148, "indexExpression": { "argumentTypes": null, - "id": 1150, + "id": 1146, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "626:7:8", + "referencedDeclaration": 1126, + "src": "675:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15502,7 +15359,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "614:20:8", + "src": "663:20:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15513,14 +15370,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1153, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "637:5:8", + "src": "686:5:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -15528,52 +15385,51 @@ }, "value": "false" }, - "src": "614:28:8", + "src": "663:28:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1155, + "id": 1151, "nodeType": "ExpressionStatement", - "src": "614:28:8" + "src": "663:28:8" } ] }, "documentation": "@dev remove an account's access to this role", - "id": 1157, + "id": 1153, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1131, + "id": 1127, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1128, + "id": 1124, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "493:17:8", + "scope": 1153, + "src": "530:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1127, + "id": 1123, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "493:4:8", + "referencedDeclaration": 1090, + "src": "530:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15582,11 +15438,11 @@ }, { "constant": false, - "id": 1130, + "id": 1126, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1157, - "src": "512:15:8", + "scope": 1153, + "src": "549:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15594,10 +15450,11 @@ "typeString": "address" }, "typeName": { - "id": 1129, + "id": 1125, "name": "address", "nodeType": "ElementaryTypeName", - "src": "512:7:8", + "src": "549:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15607,26 +15464,25 @@ "visibility": "internal" } ], - "src": "492:36:8" + "src": "529:36:8" }, - "payable": false, "returnParameters": { - "id": 1132, + "id": 1128, "nodeType": "ParameterList", "parameters": [], - "src": "538:0:8" + "src": "575:0:8" }, - "scope": 1181, - "src": "477:170:8", + "scope": 1177, + "src": "514:184:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1179, + "id": 1175, "nodeType": "Block", - "src": "817:74:8", + "src": "864:84:8", "statements": [ { "expression": { @@ -15638,19 +15494,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1171, + "id": 1167, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1167, + "id": 1163, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "831:7:8", + "referencedDeclaration": 1157, + "src": "882:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15664,14 +15520,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1169, + "id": 1165, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "850:1:8", + "src": "901:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -15687,20 +15543,20 @@ "typeString": "int_const 0" } ], - "id": 1168, + "id": 1164, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "842:7:8", + "src": "893:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1170, + "id": 1166, "isConstant": false, "isLValue": false, "isPure": true, @@ -15708,13 +15564,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "842:10:8", + "src": "893:10:8", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "831:21:8", + "src": "882:21:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15728,21 +15584,21 @@ "typeString": "bool" } ], - "id": 1166, + "id": 1162, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "823:7:8", + "referencedDeclaration": 1537, + "src": "874:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1172, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": false, @@ -15750,15 +15606,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "823:30:8", + "src": "874:30:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1173, + "id": 1169, "nodeType": "ExpressionStatement", - "src": "823:30:8" + "src": "874:30:8" }, { "expression": { @@ -15767,40 +15623,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1174, + "id": 1170, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "866:4:8", + "referencedDeclaration": 1155, + "src": "921:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1175, + "id": 1171, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1093, - "src": "866:11:8", + "referencedDeclaration": 1089, + "src": "921:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1177, + "id": 1173, "indexExpression": { "argumentTypes": null, - "id": 1176, + "id": 1172, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1161, - "src": "878:7:8", + "referencedDeclaration": 1157, + "src": "933:7:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15811,53 +15667,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "866:20:8", + "src": "921:20:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1165, - "id": 1178, + "functionReturnParameters": 1161, + "id": 1174, "nodeType": "Return", - "src": "859:27:8" + "src": "914:27:8" } ] }, "documentation": "@dev check if an account has this role\n@return bool", - "id": 1180, + "id": 1176, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 1162, + "id": 1158, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1159, + "id": 1155, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1180, - "src": "738:17:8", + "scope": 1176, + "src": "799:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1158, + "id": 1154, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1094, - "src": "738:4:8", + "referencedDeclaration": 1090, + "src": "799:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1090_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15866,11 +15721,11 @@ }, { "constant": false, - "id": 1161, + "id": 1157, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1180, - "src": "757:15:8", + "scope": 1176, + "src": "818:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15878,10 +15733,11 @@ "typeString": "address" }, "typeName": { - "id": 1160, + "id": 1156, "name": "address", "nodeType": "ElementaryTypeName", - "src": "757:7:8", + "src": "818:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15891,20 +15747,19 @@ "visibility": "internal" } ], - "src": "737:36:8" + "src": "798:36:8" }, - "payable": false, "returnParameters": { - "id": 1165, + "id": 1161, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1164, + "id": 1160, "name": "", "nodeType": "VariableDeclaration", - "scope": 1180, - "src": "809:4:8", + "scope": 1176, + "src": "858:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15912,10 +15767,10 @@ "typeString": "bool" }, "typeName": { - "id": 1163, + "id": 1159, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "809:4:8", + "src": "858:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15925,20 +15780,20 @@ "visibility": "internal" } ], - "src": "808:6:8" + "src": "857:6:8" }, - "scope": 1181, - "src": "725:166:8", + "scope": 1177, + "src": "786:162:8", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 1182, - "src": "109:784:8" + "scope": 1178, + "src": "108:842:8" } ], - "src": "0:894:8" + "src": "0:951:8" }, "id": 8 }, @@ -15947,41 +15802,41 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1309 + 1305 ] }, - "id": 1310, + "id": 1306, "nodeType": "SourceUnit", "nodes": [ { - "id": 1183, + "id": 1179, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:23:9" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", + "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1309, + "id": 1305, "linearizedBaseContracts": [ - 1309 + 1305 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1215, + "id": 1211, "nodeType": "Block", - "src": "271:314:9", + "src": "296:354:9", "statements": [ { "condition": { @@ -15990,19 +15845,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1194, + "id": 1190, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1192, + "id": 1188, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "486:1:9", + "referencedDeclaration": 1181, + "src": "527:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16013,14 +15868,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1193, + "id": 1189, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "491:1:9", + "src": "532:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16028,33 +15883,33 @@ }, "value": "0" }, - "src": "486:6:9", + "src": "527:6:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1198, + "id": 1194, "nodeType": "IfStatement", - "src": "482:35:9", + "src": "523:45:9", "trueBody": { - "id": 1197, + "id": 1193, "nodeType": "Block", - "src": "494:23:9", + "src": "535:33:9", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1195, + "id": 1191, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "509:1:9", + "src": "556:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16062,26 +15917,26 @@ }, "value": "0" }, - "functionReturnParameters": 1191, - "id": 1196, + "functionReturnParameters": 1187, + "id": 1192, "nodeType": "Return", - "src": "502:8:9" + "src": "549:8:9" } ] } }, { "assignments": [ - 1200 + 1196 ], "declarations": [ { "constant": false, - "id": 1200, + "id": 1196, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1216, - "src": "523:9:9", + "scope": 1211, + "src": "578:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16089,10 +15944,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1199, + "id": 1195, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "523:7:9", + "src": "578:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16102,26 +15957,26 @@ "visibility": "internal" } ], - "id": 1204, + "id": 1200, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1203, + "id": 1199, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1201, + "id": 1197, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "535:1:9", + "referencedDeclaration": 1181, + "src": "590:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16131,25 +15986,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1202, + "id": 1198, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "539:1:9", + "referencedDeclaration": 1183, + "src": "594:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "535:5:9", + "src": "590:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "523:17:9" + "src": "578:17:9" }, { "expression": { @@ -16161,7 +16016,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1210, + "id": 1206, "isConstant": false, "isLValue": false, "isPure": false, @@ -16172,19 +16027,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1208, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1206, + "id": 1202, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1200, - "src": "554:1:9", + "referencedDeclaration": 1196, + "src": "613:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16194,18 +16049,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1207, + "id": 1203, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "558:1:9", + "referencedDeclaration": 1181, + "src": "617:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "554:5:9", + "src": "613:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16215,18 +16070,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1209, + "id": 1205, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "563:1:9", + "referencedDeclaration": 1183, + "src": "622:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "554:10:9", + "src": "613:10:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16240,21 +16095,21 @@ "typeString": "bool" } ], - "id": 1205, + "id": 1201, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "546:7:9", + "referencedDeclaration": 1537, + "src": "605:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1211, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -16262,56 +16117,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "546:19:9", + "src": "605:19:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1212, + "id": 1208, "nodeType": "ExpressionStatement", - "src": "546:19:9" + "src": "605:19:9" }, { "expression": { "argumentTypes": null, - "id": 1213, + "id": 1209, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1200, - "src": "579:1:9", + "referencedDeclaration": 1196, + "src": "642:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1191, - "id": 1214, + "functionReturnParameters": 1187, + "id": 1210, "nodeType": "Return", - "src": "572:8:9" + "src": "635:8:9" } ] }, - "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1216, + "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", + "id": 1212, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1188, + "id": 1184, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1185, + "id": 1181, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1216, - "src": "217:9:9", + "scope": 1212, + "src": "242:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16319,10 +16173,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1184, + "id": 1180, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "217:7:9", + "src": "242:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16333,11 +16187,11 @@ }, { "constant": false, - "id": 1187, + "id": 1183, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1216, - "src": "228:9:9", + "scope": 1212, + "src": "253:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16345,10 +16199,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1186, + "id": 1182, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "228:7:9", + "src": "253:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16358,20 +16212,19 @@ "visibility": "internal" } ], - "src": "216:22:9" + "src": "241:22:9" }, - "payable": false, "returnParameters": { - "id": 1191, + "id": 1187, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1190, + "id": 1186, "name": "", "nodeType": "VariableDeclaration", - "scope": 1216, - "src": "262:7:9", + "scope": 1212, + "src": "287:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16379,10 +16232,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1189, + "id": 1185, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "262:7:9", + "src": "287:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16392,19 +16245,19 @@ "visibility": "internal" } ], - "src": "261:9:9" + "src": "286:9:9" }, - "scope": 1309, - "src": "204:381:9", + "scope": 1305, + "src": "229:421:9", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1239, + "id": 1235, "nodeType": "Block", - "src": "762:203:9", + "src": "845:229:9", "statements": [ { "expression": { @@ -16416,19 +16269,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1228, + "id": 1224, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1226, + "id": 1222, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, - "src": "776:1:9", + "referencedDeclaration": 1216, + "src": "929:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16439,14 +16292,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1227, + "id": 1223, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "780:1:9", + "src": "933:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16454,7 +16307,7 @@ }, "value": "0" }, - "src": "776:5:9", + "src": "929:5:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16468,21 +16321,21 @@ "typeString": "bool" } ], - "id": 1225, + "id": 1221, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "768:7:9", + "referencedDeclaration": 1537, + "src": "921:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1229, + "id": 1225, "isConstant": false, "isLValue": false, "isPure": false, @@ -16490,28 +16343,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "768:14:9", + "src": "921:14:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1230, + "id": 1226, "nodeType": "ExpressionStatement", - "src": "768:14:9" + "src": "921:14:9" }, { "assignments": [ - 1232 + 1228 ], "declarations": [ { "constant": false, - "id": 1232, + "id": 1228, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1240, - "src": "846:9:9", + "scope": 1235, + "src": "945:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16519,10 +16372,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1231, + "id": 1227, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "846:7:9", + "src": "945:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16532,26 +16385,26 @@ "visibility": "internal" } ], - "id": 1236, + "id": 1232, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1235, + "id": 1231, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1233, + "id": 1229, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1218, - "src": "858:1:9", + "referencedDeclaration": 1214, + "src": "957:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16561,66 +16414,65 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1234, + "id": 1230, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, - "src": "862:1:9", + "referencedDeclaration": 1216, + "src": "961:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "858:5:9", + "src": "957:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "846:17:9" + "src": "945:17:9" }, { "expression": { "argumentTypes": null, - "id": 1237, + "id": 1233, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "959:1:9", + "referencedDeclaration": 1228, + "src": "1066:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1224, - "id": 1238, + "functionReturnParameters": 1220, + "id": 1234, "nodeType": "Return", - "src": "952:8:9" + "src": "1059:8:9" } ] }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1240, + "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", + "id": 1236, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1221, + "id": 1217, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1218, + "id": 1214, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1240, - "src": "708:9:9", + "scope": 1236, + "src": "791:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16628,10 +16480,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1217, + "id": 1213, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "708:7:9", + "src": "791:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16642,11 +16494,11 @@ }, { "constant": false, - "id": 1220, + "id": 1216, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1240, - "src": "719:9:9", + "scope": 1236, + "src": "802:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16654,10 +16506,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1219, + "id": 1215, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "719:7:9", + "src": "802:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16667,20 +16519,19 @@ "visibility": "internal" } ], - "src": "707:22:9" + "src": "790:22:9" }, - "payable": false, "returnParameters": { - "id": 1224, + "id": 1220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1223, + "id": 1219, "name": "", "nodeType": "VariableDeclaration", - "scope": 1240, - "src": "753:7:9", + "scope": 1236, + "src": "836:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16688,10 +16539,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1222, + "id": 1218, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "753:7:9", + "src": "836:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16701,19 +16552,19 @@ "visibility": "internal" } ], - "src": "752:9:9" + "src": "835:9:9" }, - "scope": 1309, - "src": "695:270:9", + "scope": 1305, + "src": "778:296:9", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1263, + "id": 1259, "nodeType": "Block", - "src": "1145:64:9", + "src": "1272:78:9", "statements": [ { "expression": { @@ -16725,19 +16576,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1252, + "id": 1248, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1250, + "id": 1246, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "1159:1:9", + "referencedDeclaration": 1240, + "src": "1290:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16747,18 +16598,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1251, + "id": 1247, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1242, - "src": "1164:1:9", + "referencedDeclaration": 1238, + "src": "1295:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1159:6:9", + "src": "1290:6:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -16772,21 +16623,21 @@ "typeString": "bool" } ], - "id": 1249, + "id": 1245, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1151:7:9", + "referencedDeclaration": 1537, + "src": "1282:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1253, + "id": 1249, "isConstant": false, "isLValue": false, "isPure": false, @@ -16794,28 +16645,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1151:15:9", + "src": "1282:15:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1254, + "id": 1250, "nodeType": "ExpressionStatement", - "src": "1151:15:9" + "src": "1282:15:9" }, { "assignments": [ - 1256 + 1252 ], "declarations": [ { "constant": false, - "id": 1256, + "id": 1252, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1264, - "src": "1172:9:9", + "scope": 1259, + "src": "1307:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16823,10 +16674,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1255, + "id": 1251, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1172:7:9", + "src": "1307:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16836,26 +16687,26 @@ "visibility": "internal" } ], - "id": 1260, + "id": 1256, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1259, + "id": 1255, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1257, + "id": 1253, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1242, - "src": "1184:1:9", + "referencedDeclaration": 1238, + "src": "1319:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16865,66 +16716,65 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1258, + "id": 1254, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1244, - "src": "1188:1:9", + "referencedDeclaration": 1240, + "src": "1323:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1184:5:9", + "src": "1319:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1172:17:9" + "src": "1307:17:9" }, { "expression": { "argumentTypes": null, - "id": 1261, + "id": 1257, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1256, - "src": "1203:1:9", + "referencedDeclaration": 1252, + "src": "1342:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1248, - "id": 1262, + "functionReturnParameters": 1244, + "id": 1258, "nodeType": "Return", - "src": "1196:8:9" + "src": "1335:8:9" } ] }, - "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1264, + "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", + "id": 1260, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1245, + "id": 1241, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1242, + "id": 1238, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1264, - "src": "1091:9:9", + "scope": 1260, + "src": "1218:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16932,10 +16782,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1241, + "id": 1237, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1091:7:9", + "src": "1218:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16946,11 +16796,11 @@ }, { "constant": false, - "id": 1244, + "id": 1240, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1264, - "src": "1102:9:9", + "scope": 1260, + "src": "1229:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16958,10 +16808,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1243, + "id": 1239, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1102:7:9", + "src": "1229:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16971,20 +16821,19 @@ "visibility": "internal" } ], - "src": "1090:22:9" + "src": "1217:22:9" }, - "payable": false, "returnParameters": { - "id": 1248, + "id": 1244, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1247, + "id": 1243, "name": "", "nodeType": "VariableDeclaration", - "scope": 1264, - "src": "1136:7:9", + "scope": 1260, + "src": "1263:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16992,10 +16841,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1246, + "id": 1242, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1136:7:9", + "src": "1263:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17005,32 +16854,32 @@ "visibility": "internal" } ], - "src": "1135:9:9" + "src": "1262:9:9" }, - "scope": 1309, - "src": "1078:131:9", + "scope": 1305, + "src": "1205:145:9", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1287, + "id": 1283, "nodeType": "Block", - "src": "1339:64:9", + "src": "1498:78:9", "statements": [ { "assignments": [ - 1274 + 1270 ], "declarations": [ { "constant": false, - "id": 1274, + "id": 1270, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1288, - "src": "1345:9:9", + "scope": 1283, + "src": "1508:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17038,10 +16887,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1273, + "id": 1269, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1345:7:9", + "src": "1508:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17051,26 +16900,26 @@ "visibility": "internal" } ], - "id": 1278, + "id": 1274, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1277, + "id": 1273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1275, + "id": 1271, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1266, - "src": "1357:1:9", + "referencedDeclaration": 1262, + "src": "1520:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17080,25 +16929,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1276, + "id": 1272, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1268, - "src": "1361:1:9", + "referencedDeclaration": 1264, + "src": "1524:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1357:5:9", + "src": "1520:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1345:17:9" + "src": "1508:17:9" }, { "expression": { @@ -17110,19 +16959,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1282, + "id": 1278, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1280, + "id": 1276, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "1376:1:9", + "referencedDeclaration": 1270, + "src": "1543:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17132,18 +16981,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1281, + "id": 1277, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1266, - "src": "1381:1:9", + "referencedDeclaration": 1262, + "src": "1548:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1376:6:9", + "src": "1543:6:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17157,21 +17006,21 @@ "typeString": "bool" } ], - "id": 1279, + "id": 1275, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1368:7:9", + "referencedDeclaration": 1537, + "src": "1535:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1283, + "id": 1279, "isConstant": false, "isLValue": false, "isPure": false, @@ -17179,56 +17028,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1368:15:9", + "src": "1535:15:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1284, + "id": 1280, "nodeType": "ExpressionStatement", - "src": "1368:15:9" + "src": "1535:15:9" }, { "expression": { "argumentTypes": null, - "id": 1285, + "id": 1281, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1274, - "src": "1397:1:9", + "referencedDeclaration": 1270, + "src": "1568:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1272, - "id": 1286, + "functionReturnParameters": 1268, + "id": 1282, "nodeType": "Return", - "src": "1390:8:9" + "src": "1561:8:9" } ] }, - "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1288, + "documentation": "@dev Adds two unsigned integers, reverts on overflow.", + "id": 1284, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1269, + "id": 1265, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1266, + "id": 1262, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1288, - "src": "1285:9:9", + "scope": 1284, + "src": "1444:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17236,10 +17084,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1265, + "id": 1261, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1285:7:9", + "src": "1444:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17250,11 +17098,11 @@ }, { "constant": false, - "id": 1268, + "id": 1264, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1288, - "src": "1296:9:9", + "scope": 1284, + "src": "1455:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17262,10 +17110,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1267, + "id": 1263, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1296:7:9", + "src": "1455:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17275,20 +17123,19 @@ "visibility": "internal" } ], - "src": "1284:22:9" + "src": "1443:22:9" }, - "payable": false, "returnParameters": { - "id": 1272, + "id": 1268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1271, + "id": 1267, "name": "", "nodeType": "VariableDeclaration", - "scope": 1288, - "src": "1330:7:9", + "scope": 1284, + "src": "1489:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17296,10 +17143,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1270, + "id": 1266, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1330:7:9", + "src": "1489:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17309,19 +17156,19 @@ "visibility": "internal" } ], - "src": "1329:9:9" + "src": "1488:9:9" }, - "scope": 1309, - "src": "1272:131:9", + "scope": 1305, + "src": "1431:145:9", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1307, + "id": 1303, "nodeType": "Block", - "src": "1602:44:9", + "src": "1795:54:9", "statements": [ { "expression": { @@ -17333,19 +17180,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1300, + "id": 1296, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1298, + "id": 1294, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1292, - "src": "1616:1:9", + "referencedDeclaration": 1288, + "src": "1813:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17356,14 +17203,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1299, + "id": 1295, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1621:1:9", + "src": "1818:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -17371,7 +17218,7 @@ }, "value": "0" }, - "src": "1616:6:9", + "src": "1813:6:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17385,21 +17232,21 @@ "typeString": "bool" } ], - "id": 1297, + "id": 1293, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1608:7:9", + "referencedDeclaration": 1537, + "src": "1805:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1301, + "id": 1297, "isConstant": false, "isLValue": false, "isPure": false, @@ -17407,15 +17254,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1608:15:9", + "src": "1805:15:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1302, + "id": 1298, "nodeType": "ExpressionStatement", - "src": "1608:15:9" + "src": "1805:15:9" }, { "expression": { @@ -17424,19 +17271,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1305, + "id": 1301, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1303, + "id": 1299, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1290, - "src": "1636:1:9", + "referencedDeclaration": 1286, + "src": "1837:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17446,49 +17293,48 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1304, + "id": 1300, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1292, - "src": "1640:1:9", + "referencedDeclaration": 1288, + "src": "1841:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1636:5:9", + "src": "1837:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1296, - "id": 1306, + "functionReturnParameters": 1292, + "id": 1302, "nodeType": "Return", - "src": "1629:12:9" + "src": "1830:12:9" } ] }, - "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1308, + "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", + "id": 1304, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1293, + "id": 1289, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1290, + "id": 1286, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1308, - "src": "1548:9:9", + "scope": 1304, + "src": "1741:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17496,10 +17342,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1289, + "id": 1285, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1548:7:9", + "src": "1741:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17510,11 +17356,11 @@ }, { "constant": false, - "id": 1292, + "id": 1288, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1308, - "src": "1559:9:9", + "scope": 1304, + "src": "1752:9:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17522,10 +17368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1291, + "id": 1287, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1559:7:9", + "src": "1752:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17535,20 +17381,19 @@ "visibility": "internal" } ], - "src": "1547:22:9" + "src": "1740:22:9" }, - "payable": false, "returnParameters": { - "id": 1296, + "id": 1292, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1295, + "id": 1291, "name": "", "nodeType": "VariableDeclaration", - "scope": 1308, - "src": "1593:7:9", + "scope": 1304, + "src": "1786:7:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17556,10 +17401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1294, + "id": 1290, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1593:7:9", + "src": "1786:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17569,20 +17414,20 @@ "visibility": "internal" } ], - "src": "1592:9:9" + "src": "1785:9:9" }, - "scope": 1309, - "src": "1535:111:9", + "scope": 1305, + "src": "1728:121:9", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1310, - "src": "117:1531:9" + "scope": 1306, + "src": "125:1726:9" } ], - "src": "0:1649:9" + "src": "0:1852:9" }, "id": 9 }, @@ -17591,22 +17436,22 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 1378 + 1374 ] }, - "id": 1379, + "id": 1375, "nodeType": "SourceUnit", "nodes": [ { - "id": 1311, + "id": 1307, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:10" + "src": "0:23:10" }, { "baseContracts": [], @@ -17614,9 +17459,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 1378, + "id": 1374, "linearizedBaseContracts": [ - 1378 + 1374 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -17626,18 +17471,70 @@ "documentation": null, "id": 1316, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "totalSupply", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 1312, "nodeType": "ParameterList", - "parameters": [], - "src": "156:2:10" + "parameters": [ + { + "constant": false, + "id": 1309, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1316, + "src": "155:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1311, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1316, + "src": "167:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "167:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "154:27:10" }, - "payable": false, "returnParameters": { "id": 1315, "nodeType": "ParameterList", @@ -17648,56 +17545,55 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1316, - "src": "182:7:10", + "src": "200:4:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { "id": 1313, - "name": "uint256", + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "182:7:10", + "src": "200:4:10", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "181:9:10" + "src": "199:6:10" }, - "scope": 1378, - "src": "136:55:10", - "stateMutability": "view", + "scope": 1374, + "src": "137:69:10", + "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, - "id": 1323, + "id": 1325, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "balanceOf", + "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1319, + "id": 1321, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1318, - "name": "who", + "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1323, - "src": "214:11:10", + "scope": 1325, + "src": "229:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17708,90 +17604,8 @@ "id": 1317, "name": "address", "nodeType": "ElementaryTypeName", - "src": "214:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "213:13:10" - }, - "payable": false, - "returnParameters": { - "id": 1322, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1321, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1323, - "src": "250:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "250:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "249:9:10" - }, - "scope": 1378, - "src": "195:64:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1332, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1325, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 1332, - "src": "282:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1324, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "282:7:10", + "src": "229:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17802,11 +17616,92 @@ }, { "constant": false, - "id": 1327, - "name": "spender", + "id": 1320, + "name": "value", "nodeType": "VariableDeclaration", - "scope": 1332, - "src": "297:15:10", + "scope": 1325, + "src": "246:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1319, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "246:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "228:32:10" + }, + "returnParameters": { + "id": 1324, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "279:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1322, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "279:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:6:10" + }, + "scope": 1374, + "src": "212:73:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1336, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1327, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1336, + "src": "313:12:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17817,90 +17712,8 @@ "id": 1326, "name": "address", "nodeType": "ElementaryTypeName", - "src": "297:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "281:32:10" - }, - "payable": false, - "returnParameters": { - "id": 1331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1330, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1332, - "src": "341:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "341:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "340:9:10" - }, - "scope": 1378, - "src": "263:87:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1341, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1334, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "372:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1333, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:10", + "src": "313:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17911,11 +17724,38 @@ }, { "constant": false, - "id": 1336, + "id": 1329, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1336, + "src": "327:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1328, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "327:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1331, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1341, - "src": "384:13:10", + "scope": 1336, + "src": "339:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17923,10 +17763,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1335, + "id": 1330, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "384:7:10", + "src": "339:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17936,9 +17776,62 @@ "visibility": "internal" } ], - "src": "371:27:10" + "src": "312:41:10" + }, + "returnParameters": { + "id": 1335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1334, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1336, + "src": "372:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1333, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "372:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "371:6:10" + }, + "scope": 1374, + "src": "291:87:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1341, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1337, + "nodeType": "ParameterList", + "parameters": [], + "src": "404:2:10" }, - "payable": false, "returnParameters": { "id": 1340, "nodeType": "ParameterList", @@ -17949,56 +17842,55 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1341, - "src": "417:4:10", + "src": "430:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 1338, - "name": "bool", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "417:4:10", + "src": "430:7:10", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "416:6:10" + "src": "429:9:10" }, - "scope": 1378, - "src": "354:69:10", - "stateMutability": "nonpayable", + "scope": 1374, + "src": "384:55:10", + "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, - "id": 1350, + "id": 1348, "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], - "name": "approve", + "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1346, + "id": 1344, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1343, - "name": "spender", + "name": "who", "nodeType": "VariableDeclaration", - "scope": 1350, - "src": "444:15:10", + "scope": 1348, + "src": "464:11:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18009,7 +17901,90 @@ "id": 1342, "name": "address", "nodeType": "ElementaryTypeName", - "src": "444:7:10", + "src": "464:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "463:13:10" + }, + "returnParameters": { + "id": 1347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1346, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1348, + "src": "500:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1345, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "500:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "499:9:10" + }, + "scope": 1374, + "src": "445:64:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1357, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1353, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1350, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1357, + "src": "534:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "534:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18018,96 +17993,13 @@ "value": null, "visibility": "internal" }, - { - "constant": false, - "id": 1345, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1350, - "src": "461:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1344, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "461:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "443:32:10" - }, - "payable": false, - "returnParameters": { - "id": 1349, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1348, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1350, - "src": "498:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1347, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "498:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "497:6:10" - }, - "scope": 1378, - "src": "427:77:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 1361, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1357, - "nodeType": "ParameterList", - "parameters": [ { "constant": false, "id": 1352, - "name": "from", + "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1361, - "src": "530:12:10", + "scope": 1357, + "src": "549:15:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18118,7 +18010,8 @@ "id": 1351, "name": "address", "nodeType": "ElementaryTypeName", - "src": "530:7:10", + "src": "549:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18126,40 +18019,21 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "533:32:10" + }, + "returnParameters": { + "id": 1356, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 1354, - "name": "to", + "id": 1355, + "name": "", "nodeType": "VariableDeclaration", - "scope": 1361, - "src": "544:10:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1353, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "544:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1356, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 1361, - "src": "556:13:10", + "scope": 1357, + "src": "589:7:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18167,10 +18041,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1355, + "id": 1354, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "556:7:10", + "src": "589:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18180,66 +18054,32 @@ "visibility": "internal" } ], - "src": "529:41:10" + "src": "588:9:10" }, - "payable": false, - "returnParameters": { - "id": 1360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1359, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1361, - "src": "593:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1358, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "593:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "592:6:10" - }, - "scope": 1378, - "src": "508:91:10", - "stateMutability": "nonpayable", + "scope": 1374, + "src": "515:83:10", + "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "anonymous": false, "documentation": null, - "id": 1369, + "id": 1365, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 1368, + "id": 1364, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1363, + "id": 1359, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1369, - "src": "623:20:10", + "scope": 1365, + "src": "619:20:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18247,10 +18087,11 @@ "typeString": "address" }, "typeName": { - "id": 1362, + "id": 1358, "name": "address", "nodeType": "ElementaryTypeName", - "src": "623:7:10", + "src": "619:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18261,12 +18102,12 @@ }, { "constant": false, - "id": 1365, + "id": 1361, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1369, - "src": "649:18:10", + "scope": 1365, + "src": "641:18:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18274,10 +18115,11 @@ "typeString": "address" }, "typeName": { - "id": 1364, + "id": 1360, "name": "address", "nodeType": "ElementaryTypeName", - "src": "649:7:10", + "src": "641:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18288,12 +18130,12 @@ }, { "constant": false, - "id": 1367, + "id": 1363, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1369, - "src": "673:13:10", + "scope": 1365, + "src": "661:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18301,10 +18143,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1366, + "id": 1362, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "673:7:10", + "src": "661:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18314,28 +18156,28 @@ "visibility": "internal" } ], - "src": "617:73:10" + "src": "618:57:10" }, - "src": "603:88:10" + "src": "604:72:10" }, { "anonymous": false, "documentation": null, - "id": 1377, + "id": 1373, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 1376, + "id": 1372, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1371, + "id": 1367, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1377, - "src": "715:21:10", + "scope": 1373, + "src": "697:21:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18343,10 +18185,11 @@ "typeString": "address" }, "typeName": { - "id": 1370, + "id": 1366, "name": "address", "nodeType": "ElementaryTypeName", - "src": "715:7:10", + "src": "697:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18357,12 +18200,12 @@ }, { "constant": false, - "id": 1373, + "id": 1369, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1377, - "src": "742:23:10", + "scope": 1373, + "src": "720:23:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18370,10 +18213,11 @@ "typeString": "address" }, "typeName": { - "id": 1372, + "id": 1368, "name": "address", "nodeType": "ElementaryTypeName", - "src": "742:7:10", + "src": "720:7:10", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18384,12 +18228,12 @@ }, { "constant": false, - "id": 1375, + "id": 1371, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1377, - "src": "771:13:10", + "scope": 1373, + "src": "745:13:10", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18397,10 +18241,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1374, + "id": 1370, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "771:7:10", + "src": "745:7:10", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18410,16 +18254,16 @@ "visibility": "internal" } ], - "src": "709:79:10" + "src": "696:63:10" }, - "src": "695:94:10" + "src": "682:78:10" } ], - "scope": 1379, - "src": "115:676:10" + "scope": 1375, + "src": "114:648:10" } ], - "src": "0:792:10" + "src": "0:763:10" }, "id": 10 }, @@ -18428,42 +18272,42 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "exportedSymbols": { "SafeERC20": [ - 1522 + 1519 ] }, - "id": 1523, + "id": 1520, "nodeType": "SourceUnit", "nodes": [ { - "id": 1380, + "id": 1376, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:11" + "src": "0:23:11" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 1381, + "id": 1377, "nodeType": "ImportDirective", - "scope": 1523, - "sourceUnit": 1379, - "src": "26:22:11", + "scope": 1520, + "sourceUnit": 1375, + "src": "25:22:11", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 1382, + "id": 1378, "nodeType": "ImportDirective", - "scope": 1523, - "sourceUnit": 1310, - "src": "49:33:11", + "scope": 1520, + "sourceUnit": 1306, + "src": "48:33:11", "symbolAliases": [], "unitAlias": "" }, @@ -18473,31 +18317,31 @@ "contractKind": "library", "documentation": "@title SafeERC20\n@dev Wrappers around ERC20 operations that throw on failure.\nTo use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\nwhich allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "fullyImplemented": true, - "id": 1522, + "id": 1519, "linearizedBaseContracts": [ - 1522 + 1519 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1385, + "id": 1381, "libraryName": { "contractScope": null, - "id": 1383, + "id": 1379, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1309, + "referencedDeclaration": 1305, "src": "382:8:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1309", + "typeIdentifier": "t_contract$_SafeMath_$1305", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "376:27:11", "typeName": { - "id": 1384, + "id": 1380, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "395:7:11", @@ -18509,9 +18353,9 @@ }, { "body": { - "id": 1402, + "id": 1398, "nodeType": "Block", - "src": "501:45:11", + "src": "481:51:11", "statements": [ { "expression": { @@ -18522,12 +18366,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1397, + "id": 1393, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1389, - "src": "530:2:11", + "referencedDeclaration": 1385, + "src": "514:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18535,12 +18379,12 @@ }, { "argumentTypes": null, - "id": 1398, + "id": 1394, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1391, - "src": "534:5:11", + "referencedDeclaration": 1387, + "src": "518:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18560,32 +18404,32 @@ ], "expression": { "argumentTypes": null, - "id": 1395, + "id": 1391, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "515:5:11", + "referencedDeclaration": 1383, + "src": "499:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1396, + "id": 1392, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1341, - "src": "515:14:11", + "referencedDeclaration": 1316, + "src": "499:14:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1399, + "id": 1395, "isConstant": false, "isLValue": false, "isPure": false, @@ -18593,7 +18437,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "515:25:11", + "src": "499:25:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18607,21 +18451,21 @@ "typeString": "bool" } ], - "id": 1394, + "id": 1390, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "507:7:11", + "referencedDeclaration": 1537, + "src": "491:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1400, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": false, @@ -18629,52 +18473,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "507:34:11", + "src": "491:34:11", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1401, + "id": 1397, "nodeType": "ExpressionStatement", - "src": "507:34:11" + "src": "491:34:11" } ] }, "documentation": null, - "id": 1403, + "id": 1399, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1392, + "id": 1388, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1387, + "id": 1383, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1403, - "src": "434:12:11", + "scope": 1399, + "src": "431:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1386, + "id": 1382, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1378, - "src": "434:6:11", + "referencedDeclaration": 1374, + "src": "431:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, @@ -18683,11 +18526,11 @@ }, { "constant": false, - "id": 1389, + "id": 1385, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1403, - "src": "452:10:11", + "scope": 1399, + "src": "445:10:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18695,10 +18538,11 @@ "typeString": "address" }, "typeName": { - "id": 1388, + "id": 1384, "name": "address", "nodeType": "ElementaryTypeName", - "src": "452:7:11", + "src": "445:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18709,11 +18553,11 @@ }, { "constant": false, - "id": 1391, + "id": 1387, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1403, - "src": "468:13:11", + "scope": 1399, + "src": "457:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18721,10 +18565,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1390, + "id": 1386, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "468:7:11", + "src": "457:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18734,26 +18578,25 @@ "visibility": "internal" } ], - "src": "428:57:11" + "src": "430:41:11" }, - "payable": false, "returnParameters": { - "id": 1393, + "id": 1389, "nodeType": "ParameterList", "parameters": [], - "src": "501:0:11" + "src": "481:0:11" }, - "scope": 1522, - "src": "407:139:11", + "scope": 1519, + "src": "409:123:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1423, + "id": 1419, "nodeType": "Block", - "src": "666:55:11", + "src": "628:61:11", "statements": [ { "expression": { @@ -18764,12 +18607,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1417, + "id": 1413, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1407, - "src": "699:4:11", + "referencedDeclaration": 1403, + "src": "665:4:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18777,12 +18620,12 @@ }, { "argumentTypes": null, - "id": 1418, + "id": 1414, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1409, - "src": "705:2:11", + "referencedDeclaration": 1405, + "src": "671:2:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -18790,12 +18633,12 @@ }, { "argumentTypes": null, - "id": 1419, + "id": 1415, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1411, - "src": "709:5:11", + "referencedDeclaration": 1407, + "src": "675:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -18819,32 +18662,32 @@ ], "expression": { "argumentTypes": null, - "id": 1415, + "id": 1411, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1405, - "src": "680:5:11", + "referencedDeclaration": 1401, + "src": "646:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1416, + "id": 1412, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1361, - "src": "680:18:11", + "referencedDeclaration": 1336, + "src": "646:18:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 1420, + "id": 1416, "isConstant": false, "isLValue": false, "isPure": false, @@ -18852,7 +18695,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "680:35:11", + "src": "646:35:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -18866,21 +18709,21 @@ "typeString": "bool" } ], - "id": 1414, + "id": 1410, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "672:7:11", + "referencedDeclaration": 1537, + "src": "638:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1421, + "id": 1417, "isConstant": false, "isLValue": false, "isPure": false, @@ -18888,117 +18731,118 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "672:44:11", + "src": "638:44:11", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1422, + "id": 1418, "nodeType": "ExpressionStatement", - "src": "672:44:11" + "src": "638:44:11" } ] }, "documentation": null, - "id": 1424, + "id": 1420, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1412, + "id": 1408, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1405, + "id": 1401, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1424, - "src": "581:12:11", + "scope": 1420, + "src": "564:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1404, + "id": 1400, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1378, - "src": "581:6:11", + "referencedDeclaration": 1374, + "src": "564:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, "value": null, "visibility": "internal" }, + { + "constant": false, + "id": 1403, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "578:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "578:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1405, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "592:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "592:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 1407, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 1424, - "src": "599:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "599:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1409, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 1424, - "src": "617:10:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "617:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1411, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1424, - "src": "633:13:11", + "scope": 1420, + "src": "604:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19006,10 +18850,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1410, + "id": 1406, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "633:7:11", + "src": "604:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19019,26 +18863,25 @@ "visibility": "internal" } ], - "src": "575:75:11" + "src": "563:55:11" }, - "payable": false, "returnParameters": { - "id": 1413, + "id": 1409, "nodeType": "ParameterList", "parameters": [], - "src": "666:0:11" + "src": "628:0:11" }, - "scope": 1522, - "src": "550:171:11", + "scope": 1519, + "src": "538:151:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1458, + "id": 1455, "nodeType": "Block", - "src": "823:330:11", + "src": "771:353:11", "statements": [ { "expression": { @@ -19050,7 +18893,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1447, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": false, @@ -19064,19 +18907,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1436, + "id": 1432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1434, + "id": 1430, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1430, - "src": "1045:5:11", + "referencedDeclaration": 1426, + "src": "1007:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19087,14 +18930,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1435, + "id": 1431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1054:1:11", + "src": "1016:1:11", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19102,21 +18945,21 @@ }, "value": "0" }, - "src": "1045:10:11", + "src": "1007:10:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 1437, + "id": 1433, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1044:12:11", + "src": "1006:12:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19133,7 +18976,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1445, + "id": 1442, "isConstant": false, "isLValue": false, "isPure": false, @@ -19143,28 +18986,50 @@ "arguments": [ { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1440, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "1077:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "arguments": [ + { + "argumentTypes": null, + "id": 1437, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "1047:4:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeERC20_$1519", + "typeString": "library SafeERC20" + } } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SafeERC20_$1519", + "typeString": "library SafeERC20" + } + ], + "id": 1436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1039:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 1441, + "id": 1438, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1077:10:11", + "names": [], + "nodeType": "FunctionCall", + "src": "1039:13:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19172,12 +19037,12 @@ }, { "argumentTypes": null, - "id": 1442, + "id": 1439, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "1089:7:11", + "referencedDeclaration": 1424, + "src": "1054:7:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19197,32 +19062,32 @@ ], "expression": { "argumentTypes": null, - "id": 1438, + "id": 1434, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1426, - "src": "1061:5:11", + "referencedDeclaration": 1422, + "src": "1023:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1439, + "id": 1435, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1332, - "src": "1061:15:11", + "referencedDeclaration": 1357, + "src": "1023:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1443, + "id": 1440, "isConstant": false, "isLValue": false, "isPure": false, @@ -19230,7 +19095,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1061:36:11", + "src": "1023:39:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19241,14 +19106,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1444, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1101:1:11", + "src": "1066:1:11", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -19256,27 +19121,27 @@ }, "value": "0" }, - "src": "1061:41:11", + "src": "1023:44:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 1446, + "id": 1443, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1060:43:11", + "src": "1022:46:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1044:59:11", + "src": "1006:62:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19290,21 +19155,21 @@ "typeString": "bool" } ], - "id": 1433, + "id": 1429, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1036:7:11", + "referencedDeclaration": 1537, + "src": "998:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1448, + "id": 1445, "isConstant": false, "isLValue": false, "isPure": false, @@ -19312,15 +19177,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1036:68:11", + "src": "998:71:11", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1449, + "id": 1446, "nodeType": "ExpressionStatement", - "src": "1036:68:11" + "src": "998:71:11" }, { "expression": { @@ -19331,12 +19196,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1453, + "id": 1450, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "1132:7:11", + "referencedDeclaration": 1424, + "src": "1101:7:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19344,12 +19209,12 @@ }, { "argumentTypes": null, - "id": 1454, + "id": 1451, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1430, - "src": "1141:5:11", + "referencedDeclaration": 1426, + "src": "1110:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19369,32 +19234,32 @@ ], "expression": { "argumentTypes": null, - "id": 1451, + "id": 1448, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1426, - "src": "1118:5:11", + "referencedDeclaration": 1422, + "src": "1087:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1452, + "id": 1449, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "1118:13:11", + "referencedDeclaration": 1325, + "src": "1087:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1455, + "id": 1452, "isConstant": false, "isLValue": false, "isPure": false, @@ -19402,7 +19267,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1118:29:11", + "src": "1087:29:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19416,21 +19281,21 @@ "typeString": "bool" } ], - "id": 1450, + "id": 1447, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1110:7:11", + "referencedDeclaration": 1537, + "src": "1079:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1456, + "id": 1453, "isConstant": false, "isLValue": false, "isPure": false, @@ -19438,52 +19303,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1110:38:11", + "src": "1079:38:11", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1457, + "id": 1454, "nodeType": "ExpressionStatement", - "src": "1110:38:11" + "src": "1079:38:11" } ] }, "documentation": null, - "id": 1459, + "id": 1456, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1431, + "id": 1427, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1426, + "id": 1422, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "751:12:11", + "scope": 1456, + "src": "716:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1425, + "id": 1421, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1378, - "src": "751:6:11", + "referencedDeclaration": 1374, + "src": "716:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, @@ -19492,11 +19356,11 @@ }, { "constant": false, - "id": 1428, + "id": 1424, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "769:15:11", + "scope": 1456, + "src": "730:15:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19504,10 +19368,11 @@ "typeString": "address" }, "typeName": { - "id": 1427, + "id": 1423, "name": "address", "nodeType": "ElementaryTypeName", - "src": "769:7:11", + "src": "730:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19518,11 +19383,11 @@ }, { "constant": false, - "id": 1430, + "id": 1426, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1459, - "src": "790:13:11", + "scope": 1456, + "src": "747:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19530,10 +19395,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1429, + "id": 1425, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "790:7:11", + "src": "747:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19543,39 +19408,38 @@ "visibility": "internal" } ], - "src": "745:62:11" + "src": "715:46:11" }, - "payable": false, "returnParameters": { - "id": 1432, + "id": 1428, "nodeType": "ParameterList", "parameters": [], - "src": "823:0:11" + "src": "771:0:11" }, - "scope": 1522, - "src": "725:428:11", + "scope": 1519, + "src": "695:429:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1489, + "id": 1486, "nodeType": "Block", - "src": "1265:135:11", + "src": "1216:145:11", "statements": [ { "assignments": [ - 1469 + 1466 ], "declarations": [ { "constant": false, - "id": 1469, + "id": 1466, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1490, - "src": "1271:20:11", + "scope": 1486, + "src": "1226:20:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19583,10 +19447,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1468, + "id": 1465, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1271:7:11", + "src": "1226:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19596,18 +19460,18 @@ "visibility": "internal" } ], - "id": 1480, + "id": 1477, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1478, + "id": 1475, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1465, - "src": "1338:5:11", + "referencedDeclaration": 1462, + "src": "1293:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19629,14 +19493,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1473, + "id": 1470, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1560, - "src": "1318:4:11", + "referencedDeclaration": 1558, + "src": "1273:4:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1522", + "typeIdentifier": "t_contract$_SafeERC20_$1519", "typeString": "library SafeERC20" } } @@ -19644,24 +19508,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1522", + "typeIdentifier": "t_contract$_SafeERC20_$1519", "typeString": "library SafeERC20" } ], - "id": 1472, + "id": 1469, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1310:7:11", + "src": "1265:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1474, + "id": 1471, "isConstant": false, "isLValue": false, "isPure": false, @@ -19669,7 +19533,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1310:13:11", + "src": "1265:13:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19677,12 +19541,12 @@ }, { "argumentTypes": null, - "id": 1475, + "id": 1472, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "1325:7:11", + "referencedDeclaration": 1460, + "src": "1280:7:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19702,32 +19566,32 @@ ], "expression": { "argumentTypes": null, - "id": 1470, + "id": 1467, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "1294:5:11", + "referencedDeclaration": 1458, + "src": "1249:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1471, + "id": 1468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1332, - "src": "1294:15:11", + "referencedDeclaration": 1357, + "src": "1249:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1476, + "id": 1473, "isConstant": false, "isLValue": false, "isPure": false, @@ -19735,27 +19599,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1294:39:11", + "src": "1249:39:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1477, + "id": 1474, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1288, - "src": "1294:43:11", + "referencedDeclaration": 1284, + "src": "1249:43:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1479, + "id": 1476, "isConstant": false, "isLValue": false, "isPure": false, @@ -19763,14 +19627,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1294:50:11", + "src": "1249:50:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1271:73:11" + "src": "1226:73:11" }, { "expression": { @@ -19781,12 +19645,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1484, + "id": 1481, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1463, - "src": "1372:7:11", + "referencedDeclaration": 1460, + "src": "1331:7:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19794,12 +19658,12 @@ }, { "argumentTypes": null, - "id": 1485, + "id": 1482, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1469, - "src": "1381:12:11", + "referencedDeclaration": 1466, + "src": "1340:12:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19819,32 +19683,32 @@ ], "expression": { "argumentTypes": null, - "id": 1482, + "id": 1479, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "1358:5:11", + "referencedDeclaration": 1458, + "src": "1317:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1483, + "id": 1480, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "1358:13:11", + "referencedDeclaration": 1325, + "src": "1317:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1486, + "id": 1483, "isConstant": false, "isLValue": false, "isPure": false, @@ -19852,7 +19716,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1358:36:11", + "src": "1317:36:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -19866,21 +19730,21 @@ "typeString": "bool" } ], - "id": 1481, + "id": 1478, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1350:7:11", + "referencedDeclaration": 1537, + "src": "1309:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1487, + "id": 1484, "isConstant": false, "isLValue": false, "isPure": false, @@ -19888,52 +19752,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1350:45:11", + "src": "1309:45:11", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1488, + "id": 1485, "nodeType": "ExpressionStatement", - "src": "1350:45:11" + "src": "1309:45:11" } ] }, "documentation": null, - "id": 1490, + "id": 1487, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeIncreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1466, + "id": 1463, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1461, + "id": 1458, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1490, - "src": "1193:12:11", + "scope": 1487, + "src": "1161:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1460, + "id": 1457, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1378, - "src": "1193:6:11", + "referencedDeclaration": 1374, + "src": "1161:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, @@ -19942,11 +19805,11 @@ }, { "constant": false, - "id": 1463, + "id": 1460, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1490, - "src": "1211:15:11", + "scope": 1487, + "src": "1175:15:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19954,10 +19817,11 @@ "typeString": "address" }, "typeName": { - "id": 1462, + "id": 1459, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1211:7:11", + "src": "1175:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -19968,11 +19832,11 @@ }, { "constant": false, - "id": 1465, + "id": 1462, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1490, - "src": "1232:13:11", + "scope": 1487, + "src": "1192:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -19980,10 +19844,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1464, + "id": 1461, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1232:7:11", + "src": "1192:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -19993,39 +19857,38 @@ "visibility": "internal" } ], - "src": "1187:62:11" + "src": "1160:46:11" }, - "payable": false, "returnParameters": { - "id": 1467, + "id": 1464, "nodeType": "ParameterList", "parameters": [], - "src": "1265:0:11" + "src": "1216:0:11" }, - "scope": 1522, - "src": "1157:243:11", + "scope": 1519, + "src": "1130:231:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1520, + "id": 1517, "nodeType": "Block", - "src": "1512:135:11", + "src": "1453:145:11", "statements": [ { "assignments": [ - 1500 + 1497 ], "declarations": [ { "constant": false, - "id": 1500, + "id": 1497, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1521, - "src": "1518:20:11", + "scope": 1517, + "src": "1463:20:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20033,10 +19896,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1499, + "id": 1496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1518:7:11", + "src": "1463:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20046,18 +19909,18 @@ "visibility": "internal" } ], - "id": 1511, + "id": 1508, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1509, + "id": 1506, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1496, - "src": "1585:5:11", + "referencedDeclaration": 1493, + "src": "1530:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20079,14 +19942,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1504, + "id": 1501, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1560, - "src": "1565:4:11", + "referencedDeclaration": 1558, + "src": "1510:4:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1522", + "typeIdentifier": "t_contract$_SafeERC20_$1519", "typeString": "library SafeERC20" } } @@ -20094,24 +19957,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1522", + "typeIdentifier": "t_contract$_SafeERC20_$1519", "typeString": "library SafeERC20" } ], - "id": 1503, + "id": 1500, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1557:7:11", + "src": "1502:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 1505, + "id": 1502, "isConstant": false, "isLValue": false, "isPure": false, @@ -20119,7 +19982,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:13:11", + "src": "1502:13:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20127,12 +19990,12 @@ }, { "argumentTypes": null, - "id": 1506, + "id": 1503, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "1572:7:11", + "referencedDeclaration": 1491, + "src": "1517:7:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20152,32 +20015,32 @@ ], "expression": { "argumentTypes": null, - "id": 1501, + "id": 1498, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "1541:5:11", + "referencedDeclaration": 1489, + "src": "1486:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1502, + "id": 1499, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1332, - "src": "1541:15:11", + "referencedDeclaration": 1357, + "src": "1486:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1507, + "id": 1504, "isConstant": false, "isLValue": false, "isPure": false, @@ -20185,27 +20048,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1541:39:11", + "src": "1486:39:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1508, + "id": 1505, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1264, - "src": "1541:43:11", + "referencedDeclaration": 1260, + "src": "1486:43:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 1510, + "id": 1507, "isConstant": false, "isLValue": false, "isPure": false, @@ -20213,14 +20076,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1541:50:11", + "src": "1486:50:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1518:73:11" + "src": "1463:73:11" }, { "expression": { @@ -20231,12 +20094,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1515, + "id": 1512, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1494, - "src": "1619:7:11", + "referencedDeclaration": 1491, + "src": "1568:7:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20244,12 +20107,12 @@ }, { "argumentTypes": null, - "id": 1516, + "id": 1513, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1500, - "src": "1628:12:11", + "referencedDeclaration": 1497, + "src": "1577:12:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20269,32 +20132,32 @@ ], "expression": { "argumentTypes": null, - "id": 1513, + "id": 1510, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1492, - "src": "1605:5:11", + "referencedDeclaration": 1489, + "src": "1554:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, - "id": 1514, + "id": 1511, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1350, - "src": "1605:13:11", + "referencedDeclaration": 1325, + "src": "1554:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1517, + "id": 1514, "isConstant": false, "isLValue": false, "isPure": false, @@ -20302,7 +20165,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1605:36:11", + "src": "1554:36:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -20316,21 +20179,21 @@ "typeString": "bool" } ], - "id": 1512, + "id": 1509, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1540, - 1541 + 1537, + 1538 ], - "referencedDeclaration": 1540, - "src": "1597:7:11", + "referencedDeclaration": 1537, + "src": "1546:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1518, + "id": 1515, "isConstant": false, "isLValue": false, "isPure": false, @@ -20338,52 +20201,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1597:45:11", + "src": "1546:45:11", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1519, + "id": 1516, "nodeType": "ExpressionStatement", - "src": "1597:45:11" + "src": "1546:45:11" } ] }, "documentation": null, - "id": 1521, + "id": 1518, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeDecreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1497, + "id": 1494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1492, + "id": 1489, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1521, - "src": "1440:12:11", + "scope": 1518, + "src": "1398:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1491, + "id": 1488, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1378, - "src": "1440:6:11", + "referencedDeclaration": 1374, + "src": "1398:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1378", + "typeIdentifier": "t_contract$_IERC20_$1374", "typeString": "contract IERC20" } }, @@ -20392,11 +20254,11 @@ }, { "constant": false, - "id": 1494, + "id": 1491, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1521, - "src": "1458:15:11", + "scope": 1518, + "src": "1412:15:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20404,10 +20266,11 @@ "typeString": "address" }, "typeName": { - "id": 1493, + "id": 1490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1458:7:11", + "src": "1412:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -20418,11 +20281,11 @@ }, { "constant": false, - "id": 1496, + "id": 1493, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1521, - "src": "1479:13:11", + "scope": 1518, + "src": "1429:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20430,10 +20293,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1495, + "id": 1492, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1479:7:11", + "src": "1429:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -20443,27 +20306,26 @@ "visibility": "internal" } ], - "src": "1434:62:11" + "src": "1397:46:11" }, - "payable": false, "returnParameters": { - "id": 1498, + "id": 1495, "nodeType": "ParameterList", "parameters": [], - "src": "1512:0:11" + "src": "1453:0:11" }, - "scope": 1522, - "src": "1404:243:11", + "scope": 1519, + "src": "1367:231:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1523, - "src": "353:1296:11" + "scope": 1520, + "src": "352:1248:11" } ], - "src": "0:1650:11" + "src": "0:1601:11" }, "id": 11 } diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.bin b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.bin index a36c0e042..e60d416fa 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.bin +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.bin @@ -1 +1 @@ -60806040523480156200001157600080fd5b5060405160a080620014d1833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a960028264010000000062001186620001e282021704565b50565b620001a960038264010000000062001186620001e282021704565b620001a960048264010000000062001186620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61124c80620002856000396000f3006080604052600436106101745763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610179578063162f986d146101905780631777fb4b146101a557806319a74ab3146101ce57806321b79d98146101e3578063231d4e2a146101f857806329d10b6e146102195780632e6b68491461023a578063302c11ca1461025b578063329b1c921461028c57806334cdcf26146102a1578063363aa6c7146102c25780633e6968b6146102d7578063427534a4146103035780634969ae7014610318578063608d3d3d1461034357806374be75921461036457806380258e471461038557806381a244591461039a5780638329138f146103bb57806399f4b251146103e25780639e614ca0146103f7578063b2a32cd51461040c578063be95249414610421578063cdfd0f6414610436578063ce41607a1461045d578063d43acc7914610472578063da40867914610487578063e9d618591461049c575b600080fd5b34801561018557600080fd5b5061018e6104b1565b005b34801561019c57600080fd5b5061018e6104cf565b3480156101b157600080fd5b506101ba61053e565b604080519115158252519081900360200190f35b3480156101da57600080fd5b506101ba610543565b3480156101ef57600080fd5b5061018e61057a565b34801561020457600080fd5b5061018e600160a060020a0360043516610610565b34801561022557600080fd5b5061018e600160a060020a03600435166106fc565b34801561024657600080fd5b5061018e600160a060020a0360043516610719565b34801561026757600080fd5b50610270610736565b60408051600160a060020a039092168252519081900360200190f35b34801561029857600080fd5b5061027061074b565b3480156102ad57600080fd5b506101ba600160a060020a036004351661075a565b3480156102ce57600080fd5b5061018e610775565b3480156102e357600080fd5b506102ec610826565b6040805161ffff9092168252519081900360200190f35b34801561030f57600080fd5b5061018e610837565b34801561032457600080fd5b5061032d6108a3565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506101ba600160a060020a03600435166108b7565b34801561037057600080fd5b5061018e600160a060020a03600435166108ca565b34801561039157600080fd5b5061032d6108e7565b3480156103a657600080fd5b506101ba600160a060020a03600435166108f5565b3480156103c757600080fd5b5061018e600160a060020a0360043581169060243516610908565b3480156103ee57600080fd5b5061018e6109bb565b34801561040357600080fd5b5061018e610bfc565b34801561041857600080fd5b5061018e610c6d565b34801561042d57600080fd5b5061018e610dcb565b34801561044257600080fd5b5061044b610dd4565b60408051918252519081900360200190f35b34801561046957600080fd5b5061032d610dda565b34801561047e57600080fd5b5061018e610dfd565b34801561049357600080fd5b5061018e610e06565b3480156104a857600080fd5b5061018e610e97565b6104ba336108b7565b15156104c557600080fd5b6104cd610ea0565b565b60005460a060020a900460ff16156104e657600080fd5b6104ef336108f5565b15156104fa57600080fd5b600160065460a060020a900460ff16600381111561051457fe5b1461051e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561055f57fe5b148015610575575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561059157600080fd5b600554620100009004600160a060020a031633146105ae57600080fd5b600160065460a060020a900460ff1660038111156105c857fe5b146105d257600080fd5b60065460a860020a900460ff16156105e957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610619336108b7565b151561062457600080fd5b600060065460a060020a900460ff16600381111561063e57fe5b1461064857600080fd5b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516106f9928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b5051600154600160a060020a0316919063ffffffff610f6716565b50565b610705336108f5565b151561071057600080fd5b6106f98161101f565b610722336108b7565b151561072d57600080fd5b6106f981611030565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061076d60028363ffffffff61104116565b90505b919050565b60005460a060020a900460ff161561078c57600080fd5b610795336108f5565b15156107a057600080fd5b600360065460a060020a900460ff1660038111156107ba57fe5b14156107c557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561084e57600080fd5b610857336108f5565b151561086257600080fd5b600260065460a060020a900460ff16600381111561087c57fe5b1461088657600080fd5b600680546001919060a060020a60ff02191660a060020a83610537565b60055460009060ff16600181111561057557fe5b600061076d60038363ffffffff61104116565b6108d33361075a565b15156108de57600080fd5b6106f981611078565b600554610100900460ff1690565b600061076d60048363ffffffff61104116565b60005460a060020a900460ff161561091f57600080fd5b610928336108f5565b151561093357600080fd5b600360065460a060020a900460ff16600381111561094d57fe5b1461095757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109d557600080fd5b6109de3361075a565b15156109e957600080fd5b600060055460ff1660018111156109fc57fe5b14610a0657600080fd5b600160065460a060020a900460ff166003811115610a2057fe5b14610a2a57600080fd5b60065460a860020a900460ff161515610a4257600080fd5b60065460b860020a900461ffff161515610ab8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b80565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b80576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610b9e57600080fd5b60008111610bab57600080fd5b600554600154610bd591600160a060020a039182169162010000909104168463ffffffff610f6716565b600654600154610bf891600160a060020a0391821691168363ffffffff610f6716565b5050565b60005460a060020a900460ff1615610c1357600080fd5b610c1c336108b7565b1515610c2757600080fd5b600060065460a060020a900460ff166003811115610c4157fe5b1415610c4c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610c8957600080fd5b610c92336108b7565b1515610c9d57600080fd5b600060065460a060020a900460ff166003811115610cb757fe5b14610cc157600080fd5b600060055460ff166001811115610cd457fe5b148015610ce15750600754155b15610db057600554610cfa90610100900460ff16611089565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d6e57600080fd5b505af1158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b50519050818114610da857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104cd3361113b565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104cd3361114c565b60005460a060020a900460ff1615610e1d57600080fd5b600554620100009004600160a060020a03163314610e3a57600080fd5b600160065460a060020a900460ff166003811115610e5457fe5b14610e5e57600080fd5b60065460a860020a900460ff161515610e7657600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104cd3361115d565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6020811015610f2f57600080fd5b505190506000811115610f5f57600054600154610f5f91600160a060020a0391821691168363ffffffff610f6716565b6106f961116e565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fe357600080fd5b505af1158015610ff7573d6000803e3d6000fd5b505050506040513d602081101561100d57600080fd5b5051151561101a57600080fd5b505050565b6106f960048263ffffffff61118616565b6106f960038263ffffffff61118616565b6000600160a060020a038216151561105857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106f960028263ffffffff61118616565b600060ff821615156110a6575069152d02c7e14af6800000610770565b8160ff16600114156110c3575069d3c21bcecceda1000000610770565b8160ff16600214156110e157506a01a784379d99db42000000610770565b8160ff16600314156110ff57506a027b46536c66c8e3000000610770565b8160ff166004141561111d57506a034f086f3b33b684000000610770565b8160ff166005141561077057506a0422ca8b0a00a425000000610770565b6106f960048263ffffffff6111d416565b6106f960038263ffffffff6111d416565b6106f960028263ffffffff6111d416565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561119b57600080fd5b6111a58282611041565b156111af57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03811615156111e957600080fd5b6111f38282611041565b15156111fe57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058202935a8fadd5caa8f5a9312cd903c07814b3de5662642cabdc9018c364221db570029 \ No newline at end of file +60806040523480156200001157600080fd5b5060405160a08062001458833981018060405260a08110156200003357600080fd5b5080516020820151604083015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a038416179055939492939192916200009a906401000000006200018e810204565b620000ae33640100000000620001ac810204565b620000c233640100000000620001c7810204565b600560ff85161115620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a96002826401000000006200110d620001e282021704565b50565b620001a96003826401000000006200110d620001e282021704565b620001a96004826401000000006200110d620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6111d380620002856000396000f3fe608060405234801561001057600080fd5b50600436106101ec576000357c0100000000000000000000000000000000000000000000000000000000900480634969ae70116101215780639e614ca0116100bf578063ce41607a1161008e578063ce41607a14610422578063d43acc791461042a578063da40867914610432578063e9d618591461043a576101ec565b80639e614ca0146103f0578063b2a32cd5146103f8578063be95249414610400578063cdfd0f6414610408576101ec565b806380258e47116100fb57806380258e471461038c57806381a24459146103945780638329138f146103ba57806399f4b251146103e8576101ec565b80634969ae7014610322578063608d3d3d1461034057806374be759214610366576101ec565b80632e6b68491161018e57806334cdcf261161016857806334cdcf26146102cd578063363aa6c7146102f35780633e6968b6146102fb578063427534a41461031a576101ec565b80632e6b68491461027b578063302c11ca146102a1578063329b1c92146102c5576101ec565b806319a74ab3116101ca57806319a74ab31461021f57806321b79d9814610227578063231d4e2a1461022f57806329d10b6e14610255576101ec565b80630c08bf88146101f1578063162f986d146101fb5780631777fb4b14610203575b600080fd5b6101f9610442565b005b6101f9610460565b61020b6104cf565b604080519115158252519081900360200190f35b61020b6104d4565b6101f961050b565b6101f96004803603602081101561024557600080fd5b5035600160a060020a03166105a1565b6101f96004803603602081101561026b57600080fd5b5035600160a060020a031661068b565b6101f96004803603602081101561029157600080fd5b5035600160a060020a03166106a8565b6102a96106c5565b60408051600160a060020a039092168252519081900360200190f35b6102a96106da565b61020b600480360360208110156102e357600080fd5b5035600160a060020a03166106e9565b6101f9610704565b6103036107b5565b6040805161ffff9092168252519081900360200190f35b6101f96107c6565b61032a610832565b6040805160ff9092168252519081900360200190f35b61020b6004803603602081101561035657600080fd5b5035600160a060020a0316610846565b6101f96004803603602081101561037c57600080fd5b5035600160a060020a0316610859565b61032a610876565b61020b600480360360208110156103aa57600080fd5b5035600160a060020a0316610884565b6101f9600480360360408110156103d057600080fd5b50600160a060020a0381358116916020013516610897565b6101f961094a565b6101f9610b86565b6101f9610bf7565b6101f9610d53565b610410610d5c565b60408051918252519081900360200190f35b61032a610d62565b6101f9610d85565b6101f9610d8e565b6101f9610e1f565b61044b33610846565b151561045657600080fd5b61045e610e28565b565b60005460a060020a900460ff161561047757600080fd5b61048033610884565b151561048b57600080fd5b600160065460a060020a900460ff1660038111156104a557fe5b146104af57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff1660038111156104f057fe5b148015610506575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561052257600080fd5b600554620100009004600160a060020a0316331461053f57600080fd5b600160065460a060020a900460ff16600381111561055957fe5b1461056357600080fd5b60065460a860020a900460ff161561057a57600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b6105aa33610846565b15156105b557600080fd5b600060065460a060020a900460ff1660038111156105cf57fe5b146105d957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610688928492600160a060020a03909116916370a0823191602480820192602092909190829003018186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d602081101561066d57600080fd5b5051600154600160a060020a0316919063ffffffff610eee16565b50565b61069433610884565b151561069f57600080fd5b61068881610fa6565b6106b133610846565b15156106bc57600080fd5b61068881610fb7565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b60006106fc60028363ffffffff610fc816565b90505b919050565b60005460a060020a900460ff161561071b57600080fd5b61072433610884565b151561072f57600080fd5b600360065460a060020a900460ff16600381111561074957fe5b141561075457600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff16156107dd57600080fd5b6107e633610884565b15156107f157600080fd5b600260065460a060020a900460ff16600381111561080b57fe5b1461081557600080fd5b600680546001919060a060020a60ff02191660a060020a836104c8565b60055460009060ff16600181111561050657fe5b60006106fc60038363ffffffff610fc816565b610862336106e9565b151561086d57600080fd5b61068881610fff565b600554610100900460ff1690565b60006106fc60048363ffffffff610fc816565b60005460a060020a900460ff16156108ae57600080fd5b6108b733610884565b15156108c257600080fd5b600360065460a060020a900460ff1660038111156108dc57fe5b146108e657600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60005460a060020a900460ff161561096157600080fd5b61096a336106e9565b151561097557600080fd5b600060055460ff16600181111561098857fe5b1461099257600080fd5b600160065460a060020a900460ff1660038111156109ac57fe5b146109b657600080fd5b60065460a860020a900460ff1615156109ce57600080fd5b60065460b860020a900461ffff161515610a44576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b0c565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b0c576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b60075461016d90046064600a82020460008211610b2857600080fd5b60008111610b3557600080fd5b600554600154610b5f91600160a060020a039182169162010000909104168463ffffffff610eee16565b600654600154610b8291600160a060020a0391821691168363ffffffff610eee16565b5050565b60005460a060020a900460ff1615610b9d57600080fd5b610ba633610846565b1515610bb157600080fd5b600060065460a060020a900460ff166003811115610bcb57fe5b1415610bd657600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b60005460a060020a900460ff1615610c0e57600080fd5b610c1733610846565b1515610c2257600080fd5b600060065460a060020a900460ff166003811115610c3c57fe5b14610c4657600080fd5b600060055460ff166001811115610c5957fe5b148015610c665750600754155b1561081557600554600090610c8290610100900460ff16611010565b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519293506064600a850204840192600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610cf357600080fd5b505afa158015610d07573d6000803e3d6000fd5b505050506040513d6020811015610d1d57600080fd5b50519050818114610d2d57600080fd5b600283046007555050600680546001925060a060020a60ff02191660a060020a836104c8565b61045e336110c2565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b61045e336110d3565b60005460a060020a900460ff1615610da557600080fd5b600554620100009004600160a060020a03163314610dc257600080fd5b600160065460a060020a900460ff166003811115610ddc57fe5b14610de657600080fd5b60065460a860020a900460ff161515610dfe57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b61045e336110e4565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b505190506000811115610ee657600054600154610ee691600160a060020a0391821691168363ffffffff610eee16565b6106886110f5565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505050506040513d6020811015610f9457600080fd5b50511515610fa157600080fd5b505050565b61068860048263ffffffff61110d16565b61068860038263ffffffff61110d16565b6000600160a060020a0382161515610fdf57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61068860028263ffffffff61110d16565b600060ff8216151561102d575069152d02c7e14af68000006106ff565b8160ff166001141561104a575069d3c21bcecceda10000006106ff565b8160ff166002141561106857506a01a784379d99db420000006106ff565b8160ff166003141561108657506a027b46536c66c8e30000006106ff565b8160ff16600414156110a457506a034f086f3b33b6840000006106ff565b8160ff16600514156106ff57506a0422ca8b0a00a4250000006106ff565b61068860048263ffffffff61115b16565b61068860038263ffffffff61115b16565b61068860028263ffffffff61115b16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561112257600080fd5b61112c8282610fc8565b1561113657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561117057600080fd5b61117a8282610fc8565b151561118557600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fea165627a7a72305820a2a7d81c4bf237d833a792f3dd14af3f88c7c6e7d320648513595fcbe01959490029 \ No newline at end of file diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.json index 8cf00d50a..cff6704e3 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.json @@ -393,7 +393,7 @@ "type": "constructor" } ], - "bytecode": "60806040523480156200001157600080fd5b5060405160a080620014d1833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a960028264010000000062001186620001e282021704565b50565b620001a960038264010000000062001186620001e282021704565b620001a960048264010000000062001186620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61124c80620002856000396000f3006080604052600436106101745763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610179578063162f986d146101905780631777fb4b146101a557806319a74ab3146101ce57806321b79d98146101e3578063231d4e2a146101f857806329d10b6e146102195780632e6b68491461023a578063302c11ca1461025b578063329b1c921461028c57806334cdcf26146102a1578063363aa6c7146102c25780633e6968b6146102d7578063427534a4146103035780634969ae7014610318578063608d3d3d1461034357806374be75921461036457806380258e471461038557806381a244591461039a5780638329138f146103bb57806399f4b251146103e25780639e614ca0146103f7578063b2a32cd51461040c578063be95249414610421578063cdfd0f6414610436578063ce41607a1461045d578063d43acc7914610472578063da40867914610487578063e9d618591461049c575b600080fd5b34801561018557600080fd5b5061018e6104b1565b005b34801561019c57600080fd5b5061018e6104cf565b3480156101b157600080fd5b506101ba61053e565b604080519115158252519081900360200190f35b3480156101da57600080fd5b506101ba610543565b3480156101ef57600080fd5b5061018e61057a565b34801561020457600080fd5b5061018e600160a060020a0360043516610610565b34801561022557600080fd5b5061018e600160a060020a03600435166106fc565b34801561024657600080fd5b5061018e600160a060020a0360043516610719565b34801561026757600080fd5b50610270610736565b60408051600160a060020a039092168252519081900360200190f35b34801561029857600080fd5b5061027061074b565b3480156102ad57600080fd5b506101ba600160a060020a036004351661075a565b3480156102ce57600080fd5b5061018e610775565b3480156102e357600080fd5b506102ec610826565b6040805161ffff9092168252519081900360200190f35b34801561030f57600080fd5b5061018e610837565b34801561032457600080fd5b5061032d6108a3565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506101ba600160a060020a03600435166108b7565b34801561037057600080fd5b5061018e600160a060020a03600435166108ca565b34801561039157600080fd5b5061032d6108e7565b3480156103a657600080fd5b506101ba600160a060020a03600435166108f5565b3480156103c757600080fd5b5061018e600160a060020a0360043581169060243516610908565b3480156103ee57600080fd5b5061018e6109bb565b34801561040357600080fd5b5061018e610bfc565b34801561041857600080fd5b5061018e610c6d565b34801561042d57600080fd5b5061018e610dcb565b34801561044257600080fd5b5061044b610dd4565b60408051918252519081900360200190f35b34801561046957600080fd5b5061032d610dda565b34801561047e57600080fd5b5061018e610dfd565b34801561049357600080fd5b5061018e610e06565b3480156104a857600080fd5b5061018e610e97565b6104ba336108b7565b15156104c557600080fd5b6104cd610ea0565b565b60005460a060020a900460ff16156104e657600080fd5b6104ef336108f5565b15156104fa57600080fd5b600160065460a060020a900460ff16600381111561051457fe5b1461051e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561055f57fe5b148015610575575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561059157600080fd5b600554620100009004600160a060020a031633146105ae57600080fd5b600160065460a060020a900460ff1660038111156105c857fe5b146105d257600080fd5b60065460a860020a900460ff16156105e957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610619336108b7565b151561062457600080fd5b600060065460a060020a900460ff16600381111561063e57fe5b1461064857600080fd5b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516106f9928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b5051600154600160a060020a0316919063ffffffff610f6716565b50565b610705336108f5565b151561071057600080fd5b6106f98161101f565b610722336108b7565b151561072d57600080fd5b6106f981611030565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061076d60028363ffffffff61104116565b90505b919050565b60005460a060020a900460ff161561078c57600080fd5b610795336108f5565b15156107a057600080fd5b600360065460a060020a900460ff1660038111156107ba57fe5b14156107c557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561084e57600080fd5b610857336108f5565b151561086257600080fd5b600260065460a060020a900460ff16600381111561087c57fe5b1461088657600080fd5b600680546001919060a060020a60ff02191660a060020a83610537565b60055460009060ff16600181111561057557fe5b600061076d60038363ffffffff61104116565b6108d33361075a565b15156108de57600080fd5b6106f981611078565b600554610100900460ff1690565b600061076d60048363ffffffff61104116565b60005460a060020a900460ff161561091f57600080fd5b610928336108f5565b151561093357600080fd5b600360065460a060020a900460ff16600381111561094d57fe5b1461095757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109d557600080fd5b6109de3361075a565b15156109e957600080fd5b600060055460ff1660018111156109fc57fe5b14610a0657600080fd5b600160065460a060020a900460ff166003811115610a2057fe5b14610a2a57600080fd5b60065460a860020a900460ff161515610a4257600080fd5b60065460b860020a900461ffff161515610ab8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b80565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b80576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610b9e57600080fd5b60008111610bab57600080fd5b600554600154610bd591600160a060020a039182169162010000909104168463ffffffff610f6716565b600654600154610bf891600160a060020a0391821691168363ffffffff610f6716565b5050565b60005460a060020a900460ff1615610c1357600080fd5b610c1c336108b7565b1515610c2757600080fd5b600060065460a060020a900460ff166003811115610c4157fe5b1415610c4c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610c8957600080fd5b610c92336108b7565b1515610c9d57600080fd5b600060065460a060020a900460ff166003811115610cb757fe5b14610cc157600080fd5b600060055460ff166001811115610cd457fe5b148015610ce15750600754155b15610db057600554610cfa90610100900460ff16611089565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d6e57600080fd5b505af1158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b50519050818114610da857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104cd3361113b565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104cd3361114c565b60005460a060020a900460ff1615610e1d57600080fd5b600554620100009004600160a060020a03163314610e3a57600080fd5b600160065460a060020a900460ff166003811115610e5457fe5b14610e5e57600080fd5b60065460a860020a900460ff161515610e7657600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104cd3361115d565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6020811015610f2f57600080fd5b505190506000811115610f5f57600054600154610f5f91600160a060020a0391821691168363ffffffff610f6716565b6106f961116e565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fe357600080fd5b505af1158015610ff7573d6000803e3d6000fd5b505050506040513d602081101561100d57600080fd5b5051151561101a57600080fd5b505050565b6106f960048263ffffffff61118616565b6106f960038263ffffffff61118616565b6000600160a060020a038216151561105857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106f960028263ffffffff61118616565b600060ff821615156110a6575069152d02c7e14af6800000610770565b8160ff16600114156110c3575069d3c21bcecceda1000000610770565b8160ff16600214156110e157506a01a784379d99db42000000610770565b8160ff16600314156110ff57506a027b46536c66c8e3000000610770565b8160ff166004141561111d57506a034f086f3b33b684000000610770565b8160ff166005141561077057506a0422ca8b0a00a425000000610770565b6106f960048263ffffffff6111d416565b6106f960038263ffffffff6111d416565b6106f960028263ffffffff6111d416565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561119b57600080fd5b6111a58282611041565b156111af57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03811615156111e957600080fd5b6111f38282611041565b15156111fe57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058202935a8fadd5caa8f5a9312cd903c07814b3de5662642cabdc9018c364221db570029", + "bytecode": "60806040523480156200001157600080fd5b5060405160a08062001458833981018060405260a08110156200003357600080fd5b5080516020820151604083015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a038416179055939492939192916200009a906401000000006200018e810204565b620000ae33640100000000620001ac810204565b620000c233640100000000620001c7810204565b600560ff85161115620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a96002826401000000006200110d620001e282021704565b50565b620001a96003826401000000006200110d620001e282021704565b620001a96004826401000000006200110d620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6111d380620002856000396000f3fe608060405234801561001057600080fd5b50600436106101ec576000357c0100000000000000000000000000000000000000000000000000000000900480634969ae70116101215780639e614ca0116100bf578063ce41607a1161008e578063ce41607a14610422578063d43acc791461042a578063da40867914610432578063e9d618591461043a576101ec565b80639e614ca0146103f0578063b2a32cd5146103f8578063be95249414610400578063cdfd0f6414610408576101ec565b806380258e47116100fb57806380258e471461038c57806381a24459146103945780638329138f146103ba57806399f4b251146103e8576101ec565b80634969ae7014610322578063608d3d3d1461034057806374be759214610366576101ec565b80632e6b68491161018e57806334cdcf261161016857806334cdcf26146102cd578063363aa6c7146102f35780633e6968b6146102fb578063427534a41461031a576101ec565b80632e6b68491461027b578063302c11ca146102a1578063329b1c92146102c5576101ec565b806319a74ab3116101ca57806319a74ab31461021f57806321b79d9814610227578063231d4e2a1461022f57806329d10b6e14610255576101ec565b80630c08bf88146101f1578063162f986d146101fb5780631777fb4b14610203575b600080fd5b6101f9610442565b005b6101f9610460565b61020b6104cf565b604080519115158252519081900360200190f35b61020b6104d4565b6101f961050b565b6101f96004803603602081101561024557600080fd5b5035600160a060020a03166105a1565b6101f96004803603602081101561026b57600080fd5b5035600160a060020a031661068b565b6101f96004803603602081101561029157600080fd5b5035600160a060020a03166106a8565b6102a96106c5565b60408051600160a060020a039092168252519081900360200190f35b6102a96106da565b61020b600480360360208110156102e357600080fd5b5035600160a060020a03166106e9565b6101f9610704565b6103036107b5565b6040805161ffff9092168252519081900360200190f35b6101f96107c6565b61032a610832565b6040805160ff9092168252519081900360200190f35b61020b6004803603602081101561035657600080fd5b5035600160a060020a0316610846565b6101f96004803603602081101561037c57600080fd5b5035600160a060020a0316610859565b61032a610876565b61020b600480360360208110156103aa57600080fd5b5035600160a060020a0316610884565b6101f9600480360360408110156103d057600080fd5b50600160a060020a0381358116916020013516610897565b6101f961094a565b6101f9610b86565b6101f9610bf7565b6101f9610d53565b610410610d5c565b60408051918252519081900360200190f35b61032a610d62565b6101f9610d85565b6101f9610d8e565b6101f9610e1f565b61044b33610846565b151561045657600080fd5b61045e610e28565b565b60005460a060020a900460ff161561047757600080fd5b61048033610884565b151561048b57600080fd5b600160065460a060020a900460ff1660038111156104a557fe5b146104af57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff1660038111156104f057fe5b148015610506575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561052257600080fd5b600554620100009004600160a060020a0316331461053f57600080fd5b600160065460a060020a900460ff16600381111561055957fe5b1461056357600080fd5b60065460a860020a900460ff161561057a57600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b6105aa33610846565b15156105b557600080fd5b600060065460a060020a900460ff1660038111156105cf57fe5b146105d957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610688928492600160a060020a03909116916370a0823191602480820192602092909190829003018186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d602081101561066d57600080fd5b5051600154600160a060020a0316919063ffffffff610eee16565b50565b61069433610884565b151561069f57600080fd5b61068881610fa6565b6106b133610846565b15156106bc57600080fd5b61068881610fb7565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b60006106fc60028363ffffffff610fc816565b90505b919050565b60005460a060020a900460ff161561071b57600080fd5b61072433610884565b151561072f57600080fd5b600360065460a060020a900460ff16600381111561074957fe5b141561075457600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff16156107dd57600080fd5b6107e633610884565b15156107f157600080fd5b600260065460a060020a900460ff16600381111561080b57fe5b1461081557600080fd5b600680546001919060a060020a60ff02191660a060020a836104c8565b60055460009060ff16600181111561050657fe5b60006106fc60038363ffffffff610fc816565b610862336106e9565b151561086d57600080fd5b61068881610fff565b600554610100900460ff1690565b60006106fc60048363ffffffff610fc816565b60005460a060020a900460ff16156108ae57600080fd5b6108b733610884565b15156108c257600080fd5b600360065460a060020a900460ff1660038111156108dc57fe5b146108e657600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60005460a060020a900460ff161561096157600080fd5b61096a336106e9565b151561097557600080fd5b600060055460ff16600181111561098857fe5b1461099257600080fd5b600160065460a060020a900460ff1660038111156109ac57fe5b146109b657600080fd5b60065460a860020a900460ff1615156109ce57600080fd5b60065460b860020a900461ffff161515610a44576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b0c565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b0c576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b60075461016d90046064600a82020460008211610b2857600080fd5b60008111610b3557600080fd5b600554600154610b5f91600160a060020a039182169162010000909104168463ffffffff610eee16565b600654600154610b8291600160a060020a0391821691168363ffffffff610eee16565b5050565b60005460a060020a900460ff1615610b9d57600080fd5b610ba633610846565b1515610bb157600080fd5b600060065460a060020a900460ff166003811115610bcb57fe5b1415610bd657600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b60005460a060020a900460ff1615610c0e57600080fd5b610c1733610846565b1515610c2257600080fd5b600060065460a060020a900460ff166003811115610c3c57fe5b14610c4657600080fd5b600060055460ff166001811115610c5957fe5b148015610c665750600754155b1561081557600554600090610c8290610100900460ff16611010565b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519293506064600a850204840192600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610cf357600080fd5b505afa158015610d07573d6000803e3d6000fd5b505050506040513d6020811015610d1d57600080fd5b50519050818114610d2d57600080fd5b600283046007555050600680546001925060a060020a60ff02191660a060020a836104c8565b61045e336110c2565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b61045e336110d3565b60005460a060020a900460ff1615610da557600080fd5b600554620100009004600160a060020a03163314610dc257600080fd5b600160065460a060020a900460ff166003811115610ddc57fe5b14610de657600080fd5b60065460a860020a900460ff161515610dfe57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b61045e336110e4565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b505190506000811115610ee657600054600154610ee691600160a060020a0391821691168363ffffffff610eee16565b6106886110f5565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505050506040513d6020811015610f9457600080fd5b50511515610fa157600080fd5b505050565b61068860048263ffffffff61110d16565b61068860038263ffffffff61110d16565b6000600160a060020a0382161515610fdf57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61068860028263ffffffff61110d16565b600060ff8216151561102d575069152d02c7e14af68000006106ff565b8160ff166001141561104a575069d3c21bcecceda10000006106ff565b8160ff166002141561106857506a01a784379d99db420000006106ff565b8160ff166003141561108657506a027b46536c66c8e30000006106ff565b8160ff16600414156110a457506a034f086f3b33b6840000006106ff565b8160ff16600514156106ff57506a0422ca8b0a00a4250000006106ff565b61068860048263ffffffff61115b16565b61068860038263ffffffff61115b16565b61068860028263ffffffff61115b16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561112257600080fd5b61112c8282610fc8565b1561113657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561117057600080fd5b61117a8282610fc8565b151561118557600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fea165627a7a72305820a2a7d81c4bf237d833a792f3dd14af3f88c7c6e7d320648513595fcbe01959490029", "functionHashes": { "activateMiner()": "b2a32cd5", "addCoreTeam(address)": "2e6b6849", @@ -427,7 +427,7 @@ }, "gasEstimates": { "creation": { - "codeDepositCost": "936800", + "codeDepositCost": "912600", "executionCost": "infinite", "totalCost": "infinite" }, @@ -437,16 +437,16 @@ "addSupervisor(address)": "infinite", "addSystem(address)": "infinite", "deactivateMiner()": "infinite", - "getCategory()": "784", - "getCurrentDay()": "737", - "getCurrentYear()": "960", - "getCurrentYearSupply()": "912", - "getMiner()": "724", - "getMinerType()": "744", - "getReferral()": "735", - "isAlgoMiner()": "234", + "getCategory()": "474", + "getCurrentDay()": "581", + "getCurrentYear()": "473", + "getCurrentYearSupply()": "514", + "getMiner()": "635", + "getMinerType()": "501", + "getReferral()": "646", + "isAlgoMiner()": "300", "isCoreTeam(address)": "infinite", - "isMining()": "881", + "isMining()": "880", "isSupervisor(address)": "infinite", "isSystem(address)": "infinite", "migrateMiner(address)": "infinite", @@ -457,9 +457,9 @@ "renounceSystem()": "infinite", "resetMiner(address,address)": "infinite", "resumeMining()": "infinite", - "startMining()": "21742", + "startMining()": "21741", "stopAndRemoveOwnership()": "infinite", - "stopMining()": "22182", + "stopMining()": "21695", "terminate()": "infinite" } } diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool-sol-output.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool-sol-output.json index fd6a01337..ae00e7b9d 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool-sol-output.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool-sol-output.json @@ -9,9 +9,9 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820a82cc7d287f8450e22843025dd73eaa06172ebd434e1e3cf86a642a33d96584e0029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x35 DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xa8 0x2c 0xc7 0xd2 DUP8 0xf8 GASLIMIT 0xe 0x22 DUP5 ADDRESS 0x25 0xdd PUSH20 0xEAA06172EBD434E1E3CF86A642A33D96584E0029 ", - "sourceMap": "27:1033:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27:1033:0;;;;;;;" + "object": "6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfea165627a7a72305820c142737f5004f0e270be8e9321f75139c2de559ee56245828f39cd6b8e6ac07b0029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x35 DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc1 TIMESTAMP PUSH20 0x7F5004F0E270BE8E9321F75139C2DE559EE56245 DUP3 DUP16 CODECOPY 0xcd PUSH12 0x8E6AC07B0029000000000000 ", + "sourceMap": "26:1033:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:1033:0;;;;;;;" }, "gasEstimates": { "creation": { @@ -25,7 +25,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":\"AlgoCommon\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x2314139702cc63c8daa379e521abea3be32730ba896f68f3f865749907e64539\",\"urls\":[\"bzzr://b945e0ec5a4ca8a52b5e816c5bb00807d0ca43c5363102821b36c8c4ee98a2d5\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":\"AlgoCommon\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x014debd2c96ba7aba7faef24eac1f1a5d46791b55ae55fbd51d7945bf21277e0\",\"urls\":[\"bzzr://b8d1cffc7f1bfdc8c911d90b785cf9c2723b24bd162d7cfd730e127f56932fe9\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -196,13 +196,13 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820607cdb7d48cff40583123be547a706873bba6b846ef7d5e3d0130e7698d76c6e0029", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x40 DUP1 PUSH2 0x7F2 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE PUSH2 0x6F SWAP1 PUSH5 0x100000000 PUSH2 0x93 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD DUP4 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 DUP2 DUP2 GT ISZERO PUSH2 0x87 JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP POP POP PUSH2 0x13C JUMP JUMPDEST PUSH2 0xAB PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH2 0x5E1 PUSH2 0xAE DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 DUP3 DUP3 PUSH5 0x100000000 PUSH2 0x105 DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH2 0xE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x11C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x6A7 DUP1 PUSH2 0x14B PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x53 JUMPI PUSH4 0xFFFFFFFF PUSH1 0xE0 PUSH1 0x2 EXP PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0x58 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x90 JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0xC5 JUMPI DUP1 PUSH4 0xFE4028BB EQ PUSH2 0xDA JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH2 0xFB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x119 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB1 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x139 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH2 0x154 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x15D JUMP JUMPDEST PUSH2 0x104 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x117 PUSH2 0x339 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x122 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x12D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x136 DUP2 PUSH2 0x400 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x14C PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x411 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x117 CALLER PUSH2 0x448 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 DUP2 SWAP1 PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x18A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x193 CALLER PUSH2 0x139 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x19E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 SWAP3 POP DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x1777FB4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x219 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x27A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x28E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 POP PUSH1 0x0 PUSH1 0xFF DUP4 AND LT DUP1 ISZERO SWAP1 PUSH2 0x2C0 JUMPI POP PUSH1 0x5 DUP3 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x2CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D4 DUP3 PUSH2 0x459 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x3 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2E9 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x2F9 JUMPI PUSH1 0x64 PUSH1 0xA DUP3 MUL DIV SWAP1 POP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SLOAD PUSH2 0x333 SWAP2 AND DUP6 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x50B AND JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP8 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3B2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x3F8 JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0x3F8 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0x50B AND JUMP JUMPDEST PUSH2 0x136 PUSH2 0x5AA JUMP JUMPDEST PUSH2 0x136 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x5E1 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x428 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x136 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x62F AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x476 JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x493 JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x4B1 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x4CF JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x4ED JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x14F JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x14F JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x14F JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x56E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x582 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x598 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH21 0xFF0000000000000000000000000000000000000000 NOT AND PUSH21 0x10000000000000000000000000000000000000000 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x5F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x600 DUP3 DUP3 PUSH2 0x411 JUMP JUMPDEST ISZERO PUSH2 0x60A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x644 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64E DUP3 DUP3 PUSH2 0x411 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x659 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH1 0x7C 0xdb PUSH30 0x48CFF40583123BE547A706873BBA6B846EF7D5E3D0130E7698D76C6E0029 ", - "sourceMap": "552:1259:2:-;;;822:176;8:9:-1;5:2;;;30:1;27;20:12;5:2;822:176:2;;;;;;;;;;;;;;;;;;;156:8:5;:21;;167:10;-1:-1:-1;;;;;;156:21:5;;;;;-1:-1:-1;;;;;;188:19:5;;;;-1:-1:-1;636:29:3;;;;;-1:-1:-1;;;;;636:29:3;;;;;368:24:1;;:12;;;;:24;:::i;:::-;970:9:2;:20;;982:8;;970:9;-1:-1:-1;;970:20:2;;982:8;970:20;;;;;;;;;;;;;822:176;;552:1259;;824:96:1;883:29;:16;904:7;883:20;;;;;;:29;:::i;:::-;824:96;:::o;244:167:6:-;-1:-1:-1;;;;;316:21:6;;;;308:30;;;;;;353:18;357:4;363:7;353:3;;;;:18;:::i;:::-;352:19;344:28;;;;;;-1:-1:-1;;;;;379:20:6;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;379:27:6;402:4;379:27;;;244:167::o;725:166::-;809:4;-1:-1:-1;;;;;831:21:6;;;;823:30;;;;;;-1:-1:-1;;;;;;866:20:6;:11;:20;;;;;;;;;;;;;;;725:166::o;552:1259:2:-;;;;;;;" + "object": "608060405234801561001057600080fd5b506040516040806107e88339810180604052604081101561003057600080fd5b5080516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561007f906401000000006100a3810204565b6003805483919060ff19166001838181111561009757fe5b0217905550505061014c565b6100bb6002826401000000006105c76100be82021704565b50565b600160a060020a03811615156100d357600080fd5b6100e68282640100000000610115810204565b156100f057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561012c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61068d8061015b6000396000f3fe608060405234801561001057600080fd5b506004361061005a5760e060020a60003504630c08bf88811461005f5780632e6b684914610069578063608d3d3d1461008f578063d43acc79146100c9578063fe4028bb146100d1575b600080fd5b6100676100f7565b005b6100676004803603602081101561007f57600080fd5b5035600160a060020a0316610115565b6100b5600480360360208110156100a557600080fd5b5035600160a060020a0316610135565b604080519115158252519081900360200190f35b610067610150565b610067600480360360208110156100e757600080fd5b5035600160a060020a0316610159565b61010033610135565b151561010b57600080fd5b610113610320565b565b61011e33610135565b151561012957600080fd5b610132816103e6565b50565b600061014860028363ffffffff6103f716565b90505b919050565b6101133361042e565b60005474010000000000000000000000000000000000000000900460ff161561018157600080fd5b61018a33610135565b151561019557600080fd5b600160a060020a03811660009081526004602052604090205460ff16156101bb57600080fd5b600081905080600160a060020a0316631777fb4b6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156101fc57600080fd5b505afa158015610210573d6000803e3d6000fd5b505050506040513d602081101561022657600080fd5b5051151561023357600080fd5b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561027157600080fd5b505afa158015610285573d6000803e3d6000fd5b505050506040513d602081101561029b57600080fd5b50519050600560ff821611156102b057600080fd5b60006102bb8261043f565b9050600160035460ff1660018111156102d057fe5b14156102e0576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff191660019081179091555461031a9116858363ffffffff6104f116565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b15801561038457600080fd5b505afa158015610398573d6000803e3d6000fd5b505050506040513d60208110156103ae57600080fd5b5051905060008111156103de576000546001546103de91600160a060020a0391821691168363ffffffff6104f116565b610132610590565b61013260028263ffffffff6105c716565b6000600160a060020a038216151561040e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013260028263ffffffff61061516565b600060ff8216151561045c575069152d02c7e14af680000061014b565b8160ff1660011415610479575069d3c21bcecceda100000061014b565b8160ff166002141561049757506a01a784379d99db4200000061014b565b8160ff16600314156104b557506a027b46536c66c8e300000061014b565b8160ff16600414156104d357506a034f086f3b33b68400000061014b565b8160ff166005141561014b57506a0422ca8b0a00a42500000061014b565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561055457600080fd5b505af1158015610568573d6000803e3d6000fd5b505050506040513d602081101561057e57600080fd5b5051151561058b57600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105dc57600080fd5b6105e682826103f7565b156105f057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561062a57600080fd5b61063482826103f7565b151561063f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fea165627a7a72305820da6d23ac8f4b151242d9a9cc936a0d9469d337bb92eddce5cc529e4f80d49b290029", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x40 DUP1 PUSH2 0x7E8 DUP4 CODECOPY DUP2 ADD DUP1 PUSH1 0x40 MSTORE PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x30 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x0 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB NOT SWAP2 DUP3 AND DUP2 OR PUSH1 0xA0 PUSH1 0x2 EXP PUSH1 0xFF MUL NOT AND SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP5 AND OR SWAP1 SSTORE PUSH2 0x7F SWAP1 PUSH5 0x100000000 PUSH2 0xA3 DUP2 MUL DIV JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD DUP4 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 DUP2 DUP2 GT ISZERO PUSH2 0x97 JUMPI INVALID JUMPDEST MUL OR SWAP1 SSTORE POP POP POP PUSH2 0x14C JUMP JUMPDEST PUSH2 0xBB PUSH1 0x2 DUP3 PUSH5 0x100000000 PUSH2 0x5C7 PUSH2 0xBE DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE6 DUP3 DUP3 PUSH5 0x100000000 PUSH2 0x115 DUP2 MUL DIV JUMP JUMPDEST ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x12C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x68D DUP1 PUSH2 0x15B PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x5A JUMPI PUSH1 0xE0 PUSH1 0x2 EXP PUSH1 0x0 CALLDATALOAD DIV PUSH4 0xC08BF88 DUP2 EQ PUSH2 0x5F JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x69 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x8F JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0xC9 JUMPI DUP1 PUSH4 0xFE4028BB EQ PUSH2 0xD1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x67 PUSH2 0xF7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x115 JUMP JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x135 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x67 PUSH2 0x150 JUMP JUMPDEST PUSH2 0x67 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH2 0x159 JUMP JUMPDEST PUSH2 0x100 CALLER PUSH2 0x135 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x113 PUSH2 0x320 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x11E CALLER PUSH2 0x135 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x129 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x132 DUP2 PUSH2 0x3E6 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x148 PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x3F7 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x113 CALLER PUSH2 0x42E JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x181 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18A CALLER PUSH2 0x135 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x1777FB4B PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x210 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x226 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x233 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0x80258E47 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x271 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x285 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x5 PUSH1 0xFF DUP3 AND GT ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2BB DUP3 PUSH2 0x43F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x3 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2D0 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x64 PUSH1 0xA DUP3 MUL DIV SWAP1 POP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SLOAD PUSH2 0x31A SWAP2 AND DUP6 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x4F1 AND JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD PUSH1 0x0 SWAP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x398 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x3AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0x3DE JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0x3DE SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0x4F1 AND JUMP JUMPDEST PUSH2 0x132 PUSH2 0x590 JUMP JUMPDEST PUSH2 0x132 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x5C7 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x40E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x132 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x615 AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x45C JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x14B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x479 JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x14B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x497 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x14B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x4B5 JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x14B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x4D3 JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x14B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x14B JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x14B JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 PUSH1 0x2 EXP MUL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP4 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x554 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x568 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x57E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x58B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH21 0xFF0000000000000000000000000000000000000000 NOT AND PUSH21 0x10000000000000000000000000000000000000000 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x5DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5E6 DUP3 DUP3 PUSH2 0x3F7 JUMP JUMPDEST ISZERO PUSH2 0x5F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP2 AND ISZERO ISZERO PUSH2 0x62A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x634 DUP3 DUP3 PUSH2 0x3F7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x63F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xda PUSH14 0x23AC8F4B151242D9A9CC936A0D94 PUSH10 0xD337BB92EDDCE5CC529E 0x4f DUP1 0xd4 SWAP12 0x29 STOP 0x29 ", + "sourceMap": "551:1237:2:-;;;821:176;8:9:-1;5:2;;;30:1;27;20:12;5:2;821:176:2;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;821:176:2;;;;;;;155:8:5;:21;;166:10;-1:-1:-1;;;;;;155:21:5;;;;;-1:-1:-1;;;;;;187:19:5;;;;-1:-1:-1;635:29:3;;;;;-1:-1:-1;;;;;635:29:3;;;;;366:24:1;;:12;;;;:24;:::i;:::-;969:9:2;:20;;981:8;;969:9;-1:-1:-1;;969:20:2;;981:8;969:20;;;;;;;;;;;;;821:176;;551:1237;;822:96:1;881:29;:16;902:7;881:20;;;;;;:29;:::i;:::-;822:96;:::o;259:181:6:-;-1:-1:-1;;;;;335:21:6;;;;327:30;;;;;;376:18;380:4;386:7;376:3;;;;:18;:::i;:::-;375:19;367:28;;;;;;-1:-1:-1;;;;;406:20:6;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;406:27:6;429:4;406:27;;;259:181::o;786:162::-;858:4;-1:-1:-1;;;;;882:21:6;;;;874:30;;;;;;-1:-1:-1;;;;;;921:20:6;:11;:20;;;;;;;;;;;;;;;786:162::o;551:1237:2:-;;;;;;;" }, "gasEstimates": { "creation": { - "codeDepositCost": "340600", + "codeDepositCost": "335400", "executionCost": "infinite", "totalCost": "infinite" }, @@ -222,7 +222,7 @@ "transferToMiner(address)": "fe4028bb" } }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"transferToMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"poolType\",\"type\":\"uint8\"},{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol\":\"AlgoPool\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x2314139702cc63c8daa379e521abea3be32730ba896f68f3f865749907e64539\",\"urls\":[\"bzzr://b945e0ec5a4ca8a52b5e816c5bb00807d0ca43c5363102821b36c8c4ee98a2d5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0xe6fc9b275c7a4c4f00337d2a388cc97a64ad82e5a23c24c59a4593e85a05b08a\",\"urls\":[\"bzzr://40c7674b2a3543a2b2606c70df215a876bd1a064d249e658d2bbd6fe25969c2e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol\":{\"keccak256\":\"0x044738efccefb3e008461bf78cc7bf52d39172dffd6bde0dd26446fc2e739866\",\"urls\":[\"bzzr://e8c3fa402a1f5c222df47b0b9dd0c10ea6f62afc2d269133a330f0ee7aa7297e\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x71adbf7f060599239b7a981594e43dc8fbe8597fd2853b6fe9e70ff39883d73a\",\"urls\":[\"bzzr://70691c1638cdc0f744f8c5b5a94e4f857ba40ad053816cfbd15e13ed41a3bc66\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x1b1359f75f7d5a943ab06caea36824f0a6448c5ffa1a32ed7e26cee81cf3683a\",\"urls\":[\"bzzr://26177d59d0c84fa4e632538fbd44802f219e6501b0828533badcf80701cea0f5\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x29a8fa3204dbd204355714601ce21d7d717a586a4de21009d8f2a3ca7981963f\",\"urls\":[\"bzzr://55d9b762620cef1e6f7b11a26d6cc123f5b608a59e0d36f9bc0a1e8ff0ff5c42\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"terminate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isCoreTeam\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceCoreTeam\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"transferToMiner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"poolType\",\"type\":\"uint8\"},{\"name\":\"tokenAddress\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol\":\"AlgoPool\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCommon.sol\":{\"keccak256\":\"0x014debd2c96ba7aba7faef24eac1f1a5d46791b55ae55fbd51d7945bf21277e0\",\"urls\":[\"bzzr://b8d1cffc7f1bfdc8c911d90b785cf9c2723b24bd162d7cfd730e127f56932fe9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoCoreTeamRole.sol\":{\"keccak256\":\"0x8252ea038586ac8cf89aea6810c1a75d84c2eba48d6b0ecc5f1783929de398a3\",\"urls\":[\"bzzr://3bd6a88368eeb6abb70573d16d481bc20bc22b6c0d3e60702c59c9fab4202528\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol\":{\"keccak256\":\"0xc30444f5c43be3fa9d5c27d4c8d3024c8e8182215d0750b120094fe5f7beb1cd\",\"urls\":[\"bzzr://fb67170fc2d84ce83219d2091c6df3183a413d26c81cfeaa632a6afc78cebb1c\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol\":{\"keccak256\":\"0x2c964fd13fcc46f0326055bd50569f2bfb32ea7963780763d77b85ed51320205\",\"urls\":[\"bzzr://3fd83f4de7769670f420f04909921357a8ace3b9e0eb08b7c9df0ee57741d347\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol\":{\"keccak256\":\"0x861339f0f02c28b332f5d8dc165127fa1a402bbbfd7c3923acca26a6139e4f2b\",\"urls\":[\"bzzr://87e5728ff1289cbcc9669fae3a5b994b3a4e0788a2673595adcac700eea8c411\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol\":{\"keccak256\":\"0x8704856f4ea109e3df4805b3b3dd7d9b9026e94f80c42c6d750356d46036a530\",\"urls\":[\"bzzr://18db91d498a487cbc7085490ff2bf017849f88bb4032ea7d840bab3561c45cf4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x05fcee7431cd35cd312e14e7f316a44ca3ccc5fb3b859aefc15c1a5db94add7e\",\"urls\":[\"bzzr://5ba67fb83aa7806883a335d53a27dcf1f53b75fa38dedd57893cc84633aa4d4c\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -409,15 +409,16 @@ "Roles": { "abi": [], "devdoc": { + "details": "Library for managing addresses assigned to a Role.", "methods": {}, "title": "Roles" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820ba9d82b11504517181f938ed511f09c0a22046ef39e2e32460a2175b508e16a80029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xba SWAP14 DUP3 0xb1 ISZERO DIV MLOAD PUSH18 0x81F938ED511F09C0A22046EF39E2E32460A2 OR JUMPDEST POP DUP15 AND 0xa8 STOP 0x29 ", - "sourceMap": "109:784:6:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582072caac54fe9b00b8b816307b2a5ded8de356c5be6012002ca36f81b18422d8260029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 PUSH19 0xCAAC54FE9B00B8B816307B2A5DED8DE356C5BE PUSH1 0x12 STOP 0x2c LOG3 PUSH16 0x81B18422D82600290000000000000000 ", + "sourceMap": "108:842:6:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -433,7 +434,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xa6e47d62e68903c8fff23500d80e7cc8085b9127995803478d9982cd8a6d49e4\",\"urls\":[\"bzzr://7c87eb3c145fe7592c97baa287501faff7e81c1965333c9b042ffb6b387e94a1\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing addresses assigned to a Role.\",\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzzr://f704341d520fbc98716541f1b3f67737f0ee6e94adf072a66acb2bd25d593c2b\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -443,15 +444,16 @@ "SafeMath": { "abi": [], "devdoc": { + "details": "Unsigned math operations with safety checks that revert on error", "methods": {}, "title": "SafeMath" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820da2bd0dd3588878574232c2d13f92e16f4b0e8ad94ede9adb0d087f862d4f8cf0029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xda 0x2b 0xd0 0xdd CALLDATALOAD DUP9 DUP8 DUP6 PUSH21 0x232C2D13F92E16F4B0E8AD94EDE9ADB0D087F862D4 0xf8 0xcf STOP 0x29 ", - "sourceMap": "117:1531:7:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820c8fdc9a15986ffb647c7551d6f3c5b251c8209308e82491b559a3ee6cc289f670029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc8 REVERT 0xc9 LOG1 MSIZE DUP7 SELFDESTRUCT 0xb6 0x47 0xc7 SSTORE SAR PUSH16 0x3C5B251C8209308E82491B559A3EE6CC 0x28 SWAP16 PUSH8 0x29000000000000 ", + "sourceMap": "125:1726:7:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -469,7 +471,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Unsigned math operations with safety checks that revert on error\",\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -653,6 +655,7 @@ } ], "devdoc": { + "details": "see https://github.com/ethereum/EIPs/issues/20", "methods": {}, "title": "ERC20 interface" }, @@ -683,15 +686,16 @@ "SafeERC20": { "abi": [], "devdoc": { + "details": "Wrappers around ERC20 operations that throw on failure. To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "methods": {}, "title": "SafeERC20" }, "evm": { "bytecode": { "linkReferences": {}, - "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820c0f55d8db2bd761049fa5ba6b6c207a4d595b758946aba3715580373517606710029", - "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN STOP PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT STOP LOG1 PUSH6 0x627A7A723058 KECCAK256 0xc0 0xf5 0x5d DUP14 0xb2 0xbd PUSH23 0x1049FA5BA6B6C207A4D595B758946ABA37155803735176 MOD PUSH18 0x2900000000000000000000000000000000 ", - "sourceMap": "353:1296:9:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" + "object": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820f19c7b62e065f91bc3f26e33372ab3fae2852e0b472cd6bb775c347272d9d5120029", + "opcodes": "PUSH1 0x4C PUSH1 0x2C PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x0 DUP2 EQ PUSH1 0x1C JUMPI PUSH1 0x1E JUMP JUMPDEST INVALID JUMPDEST POP ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG1 PUSH6 0x627A7A723058 KECCAK256 CALL SWAP13 PUSH28 0x62E065F91BC3F26E33372AB3FAE2852E0B472CD6BB775C347272D9D5 SLT STOP 0x29 ", + "sourceMap": "352:1248:9:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24" }, "gasEstimates": { "creation": { @@ -709,7 +713,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{},\"title\":\"SafeERC20\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xdd18f05c74536a06166c90a17ec3c6932853764f292bed314ceb23e730ff83af\",\"urls\":[\"bzzr://1d8a608339978ac18782f7051816cf23b4072d8814979e3ef74788cc6025cca0\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc8a7f15fa44eb10057f8bcb58418d3aed6f5267d211d18f93f3d4e0293e3da44\",\"urls\":[\"bzzr://8825e2508348b01a091ff47b8525e583b6e5604f6679684f805d67a9a6a2a7e9\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x0a172a0ef8681d4a7d8034d003670a9b1968d914b0bfa64e13ddca289a85d24a\",\"urls\":[\"bzzr://733b6203c967b44d6de90b5c6b144e58a380a3f29befb2dc70e765dae2f1ca18\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.4+commit.9549d8ff\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure. To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"methods\":{},\"title\":\"SafeERC20\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzzr://41ca38f6b0fa4b77b0feec43e422cfbec48b7eb38a41edf0b85c77e8d9a296b1\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzzr://48248e86f64407a95f241d6c5c8cfea6b4d4ebf4ebb467e5c98c8af3868fafe4\"]},\"d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0x05fcee7431cd35cd312e14e7f316a44ca3ccc5fb3b859aefc15c1a5db94add7e\",\"urls\":[\"bzzr://5ba67fb83aa7806883a335d53a27dcf1f53b75fa38dedd57893cc84633aa4d4c\"]}},\"version\":1}", "userdoc": { "methods": {} } @@ -732,11 +736,11 @@ "id": 1, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:0" + "src": "0:22:0" }, { "baseContracts": [], @@ -757,7 +761,7 @@ "name": "TOKEN_FACTOR", "nodeType": "VariableDeclaration", "scope": 97, - "src": "56:58:0", + "src": "55:58:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -768,7 +772,7 @@ "id": 2, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "56:7:0", + "src": "55:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -795,7 +799,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "97:2:0", + "src": "96:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -818,7 +822,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "111:2:0", + "src": "110:2:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_18_by_1", @@ -840,7 +844,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "103:7:0", + "src": "102:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" @@ -855,13 +859,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "103:11:0", + "src": "102:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "97:17:0", + "src": "96:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -875,7 +879,7 @@ "name": "CAT_0_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "121:61:0", + "src": "120:61:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -886,7 +890,7 @@ "id": 9, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "121:7:0", + "src": "120:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -913,7 +917,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "161:6:0", + "src": "160:6:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100000_by_1", @@ -930,13 +934,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "170:12:0", + "src": "169:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "161:21:0", + "src": "160:21:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -950,7 +954,7 @@ "name": "CAT_1_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "189:62:0", + "src": "188:62:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -961,7 +965,7 @@ "id": 14, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "189:7:0", + "src": "188:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -988,7 +992,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "229:7:0", + "src": "228:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1005,13 +1009,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "239:12:0", + "src": "238:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "229:22:0", + "src": "228:22:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1025,7 +1029,7 @@ "name": "CAT_2_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "258:66:0", + "src": "257:66:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1036,7 +1040,7 @@ "id": 19, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "258:7:0", + "src": "257:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1074,7 +1078,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "298:1:0", + "src": "297:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -1094,7 +1098,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "302:7:0", + "src": "301:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1102,7 +1106,7 @@ }, "value": "1000000" }, - "src": "298:11:0", + "src": "297:11:0", "typeDescriptions": { "typeIdentifier": "t_rational_2000000_by_1", "typeString": "int_const 2000000" @@ -1117,13 +1121,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "312:12:0", + "src": "311:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "298:26:0", + "src": "297:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1137,7 +1141,7 @@ "name": "CAT_3_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "331:66:0", + "src": "330:66:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1148,7 +1152,7 @@ "id": 26, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "331:7:0", + "src": "330:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1186,7 +1190,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "371:1:0", + "src": "370:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -1206,7 +1210,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "375:7:0", + "src": "374:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1214,7 +1218,7 @@ }, "value": "1000000" }, - "src": "371:11:0", + "src": "370:11:0", "typeDescriptions": { "typeIdentifier": "t_rational_3000000_by_1", "typeString": "int_const 3000000" @@ -1229,13 +1233,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "385:12:0", + "src": "384:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "371:26:0", + "src": "370:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1249,7 +1253,7 @@ "name": "CAT_4_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "404:66:0", + "src": "403:66:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1260,7 +1264,7 @@ "id": 33, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "404:7:0", + "src": "403:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1298,7 +1302,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "444:1:0", + "src": "443:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -1318,7 +1322,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "448:7:0", + "src": "447:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1326,7 +1330,7 @@ }, "value": "1000000" }, - "src": "444:11:0", + "src": "443:11:0", "typeDescriptions": { "typeIdentifier": "t_rational_4000000_by_1", "typeString": "int_const 4000000" @@ -1341,13 +1345,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "458:12:0", + "src": "457:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "444:26:0", + "src": "443:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1361,7 +1365,7 @@ "name": "CAT_5_VALUE", "nodeType": "VariableDeclaration", "scope": 97, - "src": "477:66:0", + "src": "476:66:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1372,7 +1376,7 @@ "id": 40, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "477:7:0", + "src": "476:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1410,7 +1414,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "517:1:0", + "src": "516:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -1430,7 +1434,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "521:7:0", + "src": "520:7:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000000_by_1", @@ -1438,7 +1442,7 @@ }, "value": "1000000" }, - "src": "517:11:0", + "src": "516:11:0", "typeDescriptions": { "typeIdentifier": "t_rational_5000000_by_1", "typeString": "int_const 5000000" @@ -1453,13 +1457,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 8, - "src": "531:12:0", + "src": "530:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "517:26:0", + "src": "516:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1471,7 +1475,7 @@ "body": { "id": 95, "nodeType": "Block", - "src": "631:426:0", + "src": "630:426:0", "statements": [ { "condition": { @@ -1492,7 +1496,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "645:8:0", + "src": "644:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1510,7 +1514,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "657:1:0", + "src": "656:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1518,7 +1522,7 @@ }, "value": "0" }, - "src": "645:13:0", + "src": "644:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1543,7 +1547,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "714:8:0", + "src": "713:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1561,7 +1565,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "726:1:0", + "src": "725:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1569,7 +1573,7 @@ }, "value": "1" }, - "src": "714:13:0", + "src": "713:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1594,7 +1598,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "783:8:0", + "src": "782:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1612,7 +1616,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "795:1:0", + "src": "794:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -1620,7 +1624,7 @@ }, "value": "2" }, - "src": "783:13:0", + "src": "782:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1645,7 +1649,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "852:8:0", + "src": "851:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1663,7 +1667,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "864:1:0", + "src": "863:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -1671,7 +1675,7 @@ }, "value": "3" }, - "src": "852:13:0", + "src": "851:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1696,7 +1700,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "921:8:0", + "src": "920:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1714,7 +1718,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "933:1:0", + "src": "932:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -1722,7 +1726,7 @@ }, "value": "4" }, - "src": "921:13:0", + "src": "920:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1747,7 +1751,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 48, - "src": "990:8:0", + "src": "989:8:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1765,7 +1769,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1002:1:0", + "src": "1001:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -1773,7 +1777,7 @@ }, "value": "5" }, - "src": "990:13:0", + "src": "989:13:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1782,11 +1786,11 @@ "falseBody": null, "id": 89, "nodeType": "IfStatement", - "src": "987:63:0", + "src": "986:63:0", "trueBody": { "id": 88, "nodeType": "Block", - "src": "1005:45:0", + "src": "1004:45:0", "statements": [ { "expression": { @@ -1796,7 +1800,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 46, - "src": "1027:11:0", + "src": "1026:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1805,18 +1809,18 @@ "functionReturnParameters": 52, "id": 87, "nodeType": "Return", - "src": "1020:18:0" + "src": "1019:18:0" } ] } }, "id": 90, "nodeType": "IfStatement", - "src": "918:132:0", + "src": "917:132:0", "trueBody": { "id": 82, "nodeType": "Block", - "src": "936:45:0", + "src": "935:45:0", "statements": [ { "expression": { @@ -1826,7 +1830,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 39, - "src": "958:11:0", + "src": "957:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1835,18 +1839,18 @@ "functionReturnParameters": 52, "id": 81, "nodeType": "Return", - "src": "951:18:0" + "src": "950:18:0" } ] } }, "id": 91, "nodeType": "IfStatement", - "src": "849:201:0", + "src": "848:201:0", "trueBody": { "id": 76, "nodeType": "Block", - "src": "867:45:0", + "src": "866:45:0", "statements": [ { "expression": { @@ -1856,7 +1860,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 32, - "src": "889:11:0", + "src": "888:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1865,18 +1869,18 @@ "functionReturnParameters": 52, "id": 75, "nodeType": "Return", - "src": "882:18:0" + "src": "881:18:0" } ] } }, "id": 92, "nodeType": "IfStatement", - "src": "780:270:0", + "src": "779:270:0", "trueBody": { "id": 70, "nodeType": "Block", - "src": "798:45:0", + "src": "797:45:0", "statements": [ { "expression": { @@ -1886,7 +1890,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 25, - "src": "820:11:0", + "src": "819:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1895,18 +1899,18 @@ "functionReturnParameters": 52, "id": 69, "nodeType": "Return", - "src": "813:18:0" + "src": "812:18:0" } ] } }, "id": 93, "nodeType": "IfStatement", - "src": "711:339:0", + "src": "710:339:0", "trueBody": { "id": 64, "nodeType": "Block", - "src": "729:45:0", + "src": "728:45:0", "statements": [ { "expression": { @@ -1916,7 +1920,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 18, - "src": "751:11:0", + "src": "750:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1925,18 +1929,18 @@ "functionReturnParameters": 52, "id": 63, "nodeType": "Return", - "src": "744:18:0" + "src": "743:18:0" } ] } }, "id": 94, "nodeType": "IfStatement", - "src": "642:408:0", + "src": "641:408:0", "trueBody": { "id": 58, "nodeType": "Block", - "src": "660:45:0", + "src": "659:45:0", "statements": [ { "expression": { @@ -1946,7 +1950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13, - "src": "682:11:0", + "src": "681:11:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1955,7 +1959,7 @@ "functionReturnParameters": 52, "id": 57, "nodeType": "Return", - "src": "675:18:0" + "src": "674:18:0" } ] } @@ -1965,8 +1969,7 @@ "documentation": null, "id": 96, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getCapacityByCategory", "nodeType": "FunctionDefinition", @@ -1980,7 +1983,7 @@ "name": "category", "nodeType": "VariableDeclaration", "scope": 96, - "src": "583:14:0", + "src": "582:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1991,7 +1994,7 @@ "id": 47, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "583:5:0", + "src": "582:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2001,9 +2004,8 @@ "visibility": "internal" } ], - "src": "582:16:0" + "src": "581:16:0" }, - "payable": false, "returnParameters": { "id": 52, "nodeType": "ParameterList", @@ -2014,7 +2016,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 96, - "src": "622:7:0", + "src": "621:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2025,7 +2027,7 @@ "id": 50, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "622:7:0", + "src": "621:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2035,20 +2037,20 @@ "visibility": "internal" } ], - "src": "621:9:0" + "src": "620:9:0" }, "scope": 97, - "src": "552:505:0", + "src": "551:505:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], "scope": 98, - "src": "27:1033:0" + "src": "26:1033:0" } ], - "src": "0:1060:0" + "src": "0:1059:0" }, "id": 0 }, @@ -2067,12 +2069,11 @@ "id": 99, "literals": [ "solidity", - "^", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:24:1" + "src": "0:22:1" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", @@ -2080,8 +2081,8 @@ "id": 100, "nodeType": "ImportDirective", "scope": 185, - "sourceUnit": 537, - "src": "28:189:1", + "sourceUnit": 533, + "src": "26:189:1", "symbolAliases": [], "unitAlias": "" }, @@ -2105,24 +2106,24 @@ "id": 101, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 536, - "src": "260:5:1", + "referencedDeclaration": 532, + "src": "258:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$536", + "typeIdentifier": "t_contract$_Roles_$532", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", - "src": "254:27:1", + "src": "252:27:1", "typeName": { "contractScope": null, "id": 102, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 449, - "src": "270:10:1", + "referencedDeclaration": 445, + "src": "268:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role" } } @@ -2133,11 +2134,11 @@ "name": "_coreTeamMembers", "nodeType": "VariableDeclaration", "scope": 184, - "src": "289:35:1", + "src": "287:35:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage", + "typeIdentifier": "t_struct$_Role_$445_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -2145,10 +2146,10 @@ "id": 104, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 449, - "src": "289:10:1", + "referencedDeclaration": 445, + "src": "287:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -2159,7 +2160,7 @@ "body": { "id": 113, "nodeType": "Block", - "src": "357:43:1", + "src": "355:43:1", "statements": [ { "expression": { @@ -2173,8 +2174,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "381:3:1", + "referencedDeclaration": 889, + "src": "379:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2188,18 +2189,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "381:10:1", + "src": "379:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 108, @@ -2207,7 +2208,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 171, - "src": "368:12:1", + "src": "366:12:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -2221,7 +2222,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "368:24:1", + "src": "366:24:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2229,15 +2230,14 @@ }, "id": 112, "nodeType": "ExpressionStatement", - "src": "368:24:1" + "src": "366:24:1" } ] }, "documentation": null, "id": 114, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", @@ -2245,17 +2245,16 @@ "id": 106, "nodeType": "ParameterList", "parameters": [], - "src": "345:2:1" + "src": "343:2:1" }, - "payable": false, "returnParameters": { "id": 107, "nodeType": "ParameterList", "parameters": [], - "src": "357:0:1" + "src": "355:0:1" }, "scope": 184, - "src": "333:67:1", + "src": "331:67:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -2264,7 +2263,7 @@ "body": { "id": 124, "nodeType": "Block", - "src": "432:62:1", + "src": "430:62:1", "statements": [ { "expression": { @@ -2281,8 +2280,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "462:3:1", + "referencedDeclaration": 889, + "src": "460:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2296,18 +2295,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "462:10:1", + "src": "460:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 117, @@ -2315,7 +2314,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 138, - "src": "451:10:1", + "src": "449:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" @@ -2329,7 +2328,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "451:22:1", + "src": "449:22:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2347,11 +2346,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "443:7:1", + "referencedDeclaration": 892, + "src": "441:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2365,7 +2364,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "443:31:1", + "src": "441:31:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2373,12 +2372,12 @@ }, "id": 122, "nodeType": "ExpressionStatement", - "src": "443:31:1" + "src": "441:31:1" }, { "id": 123, "nodeType": "PlaceholderStatement", - "src": "485:1:1" + "src": "483:1:1" } ] }, @@ -2390,16 +2389,16 @@ "id": 115, "nodeType": "ParameterList", "parameters": [], - "src": "429:2:1" + "src": "427:2:1" }, - "src": "408:86:1", + "src": "406:86:1", "visibility": "internal" }, { "body": { "id": 137, "nodeType": "Block", - "src": "566:55:1", + "src": "564:55:1", "statements": [ { "expression": { @@ -2412,7 +2411,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 127, - "src": "605:7:1", + "src": "603:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2433,9 +2432,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, - "src": "584:16:1", + "src": "582:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage", + "typeIdentifier": "t_struct$_Role_$445_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2446,10 +2445,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 535, - "src": "584:20:1", + "referencedDeclaration": 531, + "src": "582:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$449_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$445_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$445_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -2461,7 +2460,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "584:29:1", + "src": "582:29:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2470,15 +2469,14 @@ "functionReturnParameters": 131, "id": 136, "nodeType": "Return", - "src": "577:36:1" + "src": "575:36:1" } ] }, "documentation": null, "id": 138, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isCoreTeam", "nodeType": "FunctionDefinition", @@ -2492,7 +2490,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 138, - "src": "522:15:1", + "src": "520:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2503,7 +2501,8 @@ "id": 126, "name": "address", "nodeType": "ElementaryTypeName", - "src": "522:7:1", + "src": "520:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2513,9 +2512,8 @@ "visibility": "internal" } ], - "src": "521:17:1" + "src": "519:17:1" }, - "payable": false, "returnParameters": { "id": 131, "nodeType": "ParameterList", @@ -2526,7 +2524,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 138, - "src": "560:4:1", + "src": "558:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2537,7 +2535,7 @@ "id": 129, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "560:4:1", + "src": "558:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2547,10 +2545,10 @@ "visibility": "internal" } ], - "src": "559:6:1" + "src": "557:6:1" }, "scope": 184, - "src": "502:119:1", + "src": "500:119:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -2559,7 +2557,7 @@ "body": { "id": 149, "nodeType": "Block", - "src": "687:40:1", + "src": "685:40:1", "statements": [ { "expression": { @@ -2572,7 +2570,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 140, - "src": "711:7:1", + "src": "709:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2591,7 +2589,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 171, - "src": "698:12:1", + "src": "696:12:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -2605,7 +2603,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "698:21:1", + "src": "696:21:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2613,15 +2611,14 @@ }, "id": 148, "nodeType": "ExpressionStatement", - "src": "698:21:1" + "src": "696:21:1" } ] }, "documentation": null, "id": 150, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -2633,14 +2630,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "674:12:1", + "src": "672:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "674:12:1" + "src": "672:12:1" } ], "name": "addCoreTeam", @@ -2655,7 +2652,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 150, - "src": "650:15:1", + "src": "648:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2666,7 +2663,8 @@ "id": 139, "name": "address", "nodeType": "ElementaryTypeName", - "src": "650:7:1", + "src": "648:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2676,17 +2674,16 @@ "visibility": "internal" } ], - "src": "649:17:1" + "src": "647:17:1" }, - "payable": false, "returnParameters": { "id": 144, "nodeType": "ParameterList", "parameters": [], - "src": "687:0:1" + "src": "685:0:1" }, "scope": 184, - "src": "629:98:1", + "src": "627:98:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2695,7 +2692,7 @@ "body": { "id": 158, "nodeType": "Block", - "src": "770:46:1", + "src": "768:46:1", "statements": [ { "expression": { @@ -2709,8 +2706,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "797:3:1", + "referencedDeclaration": 889, + "src": "795:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -2724,18 +2721,18 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "797:10:1", + "src": "795:10:1", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } ], "id": 153, @@ -2743,7 +2740,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 183, - "src": "781:15:1", + "src": "779:15:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" @@ -2757,7 +2754,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "781:27:1", + "src": "779:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2765,15 +2762,14 @@ }, "id": 157, "nodeType": "ExpressionStatement", - "src": "781:27:1" + "src": "779:27:1" } ] }, "documentation": null, "id": 159, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "renounceCoreTeam", "nodeType": "FunctionDefinition", @@ -2781,17 +2777,16 @@ "id": 151, "nodeType": "ParameterList", "parameters": [], - "src": "760:2:1" + "src": "758:2:1" }, - "payable": false, "returnParameters": { "id": 152, "nodeType": "ParameterList", "parameters": [], - "src": "770:0:1" + "src": "768:0:1" }, "scope": 184, - "src": "735:81:1", + "src": "733:81:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2800,7 +2795,7 @@ "body": { "id": 170, "nodeType": "Block", - "src": "872:48:1", + "src": "870:48:1", "statements": [ { "expression": { @@ -2813,7 +2808,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 161, - "src": "904:7:1", + "src": "902:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2834,9 +2829,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, - "src": "883:16:1", + "src": "881:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage", + "typeIdentifier": "t_struct$_Role_$445_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2847,10 +2842,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 481, - "src": "883:20:1", + "referencedDeclaration": 477, + "src": "881:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$449_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$445_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$445_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -2862,7 +2857,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "883:29:1", + "src": "881:29:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2870,15 +2865,14 @@ }, "id": 169, "nodeType": "ExpressionStatement", - "src": "883:29:1" + "src": "881:29:1" } ] }, "documentation": null, "id": 171, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_addCoreTeam", "nodeType": "FunctionDefinition", @@ -2892,7 +2886,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 171, - "src": "846:15:1", + "src": "844:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2903,7 +2897,8 @@ "id": 160, "name": "address", "nodeType": "ElementaryTypeName", - "src": "846:7:1", + "src": "844:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2913,17 +2908,16 @@ "visibility": "internal" } ], - "src": "845:17:1" + "src": "843:17:1" }, - "payable": false, "returnParameters": { "id": 163, "nodeType": "ParameterList", "parameters": [], - "src": "872:0:1" + "src": "870:0:1" }, "scope": 184, - "src": "824:96:1", + "src": "822:96:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -2932,7 +2926,7 @@ "body": { "id": 182, "nodeType": "Block", - "src": "979:51:1", + "src": "977:51:1", "statements": [ { "expression": { @@ -2945,7 +2939,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 173, - "src": "1014:7:1", + "src": "1012:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2966,9 +2960,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, - "src": "990:16:1", + "src": "988:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage", + "typeIdentifier": "t_struct$_Role_$445_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2979,10 +2973,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 512, - "src": "990:23:1", + "referencedDeclaration": 508, + "src": "988:23:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$449_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$445_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$445_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -2994,7 +2988,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "990:32:1", + "src": "988:32:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3002,15 +2996,14 @@ }, "id": 181, "nodeType": "ExpressionStatement", - "src": "990:32:1" + "src": "988:32:1" } ] }, "documentation": null, "id": 183, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_removeCoreTeam", "nodeType": "FunctionDefinition", @@ -3024,7 +3017,7 @@ "name": "account", "nodeType": "VariableDeclaration", "scope": 183, - "src": "953:15:1", + "src": "951:15:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3035,7 +3028,8 @@ "id": 172, "name": "address", "nodeType": "ElementaryTypeName", - "src": "953:7:1", + "src": "951:7:1", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3045,27 +3039,26 @@ "visibility": "internal" } ], - "src": "952:17:1" + "src": "950:17:1" }, - "payable": false, "returnParameters": { "id": 175, "nodeType": "ParameterList", "parameters": [], - "src": "979:0:1" + "src": "977:0:1" }, "scope": 184, - "src": "928:102:1", + "src": "926:102:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 185, - "src": "221:812:1" + "src": "219:812:1" } ], - "src": "0:1035:1" + "src": "0:1033:1" }, "id": 1 }, @@ -3074,30 +3067,30 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/AlgoPool.sol", "exportedSymbols": { "AlgoPool": [ - 315 + 311 ] }, - "id": 316, + "id": 312, "nodeType": "SourceUnit", "nodes": [ { "id": 186, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:2" + "src": "0:22:2" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "id": 187, "nodeType": "ImportDirective", - "scope": 316, - "sourceUnit": 734, - "src": "27:195:2", + "scope": 312, + "sourceUnit": 730, + "src": "26:195:2", "symbolAliases": [], "unitAlias": "" }, @@ -3106,9 +3099,9 @@ "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "id": 188, "nodeType": "ImportDirective", - "scope": 316, - "sourceUnit": 878, - "src": "224:198:2", + "scope": 312, + "sourceUnit": 875, + "src": "223:198:2", "symbolAliases": [], "unitAlias": "" }, @@ -3117,9 +3110,9 @@ "file": "./IAlgoMiner.sol", "id": 189, "nodeType": "ImportDirective", - "scope": 316, - "sourceUnit": 406, - "src": "426:26:2", + "scope": 312, + "sourceUnit": 402, + "src": "425:26:2", "symbolAliases": [], "unitAlias": "" }, @@ -3128,9 +3121,9 @@ "file": "./AlgoCommon.sol", "id": 190, "nodeType": "ImportDirective", - "scope": 316, + "scope": 312, "sourceUnit": 98, - "src": "454:26:2", + "src": "453:26:2", "symbolAliases": [], "unitAlias": "" }, @@ -3139,9 +3132,9 @@ "file": "./ERC20TokenHolder.sol", "id": 191, "nodeType": "ImportDirective", - "scope": 316, - "sourceUnit": 373, - "src": "482:32:2", + "scope": 312, + "sourceUnit": 369, + "src": "481:32:2", "symbolAliases": [], "unitAlias": "" }, @@ -3150,9 +3143,9 @@ "file": "./AlgoCoreTeamRole.sol", "id": 192, "nodeType": "ImportDirective", - "scope": 316, + "scope": 312, "sourceUnit": 185, - "src": "516:32:2", + "src": "515:32:2", "symbolAliases": [], "unitAlias": "" }, @@ -3166,7 +3159,7 @@ "name": "AlgoCommon", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 97, - "src": "573:10:2", + "src": "572:10:2", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoCommon_$97", "typeString": "contract AlgoCommon" @@ -3174,7 +3167,7 @@ }, "id": 194, "nodeType": "InheritanceSpecifier", - "src": "573:10:2" + "src": "572:10:2" }, { "arguments": null, @@ -3183,16 +3176,16 @@ "id": 195, "name": "ERC20TokenHolder", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 372, - "src": "585:16:2", + "referencedDeclaration": 368, + "src": "584:16:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$372", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$368", "typeString": "contract ERC20TokenHolder" } }, "id": 196, "nodeType": "InheritanceSpecifier", - "src": "585:16:2" + "src": "584:16:2" }, { "arguments": null, @@ -3202,7 +3195,7 @@ "name": "AlgoCoreTeamRole", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 184, - "src": "603:16:2", + "src": "602:16:2", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoCoreTeamRole_$184", "typeString": "contract AlgoCoreTeamRole" @@ -3210,24 +3203,24 @@ }, "id": 198, "nodeType": "InheritanceSpecifier", - "src": "603:16:2" + "src": "602:16:2" } ], "contractDependencies": [ - 97, - 372, + 438, 184, - 442 + 368, + 97 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 315, + "id": 311, "linearizedBaseContracts": [ - 315, + 311, 184, - 372, - 442, + 368, + 438, 97 ], "name": "AlgoPool", @@ -3240,24 +3233,24 @@ "id": 199, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 877, - "src": "633:9:2", + "referencedDeclaration": 874, + "src": "632:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$877", + "typeIdentifier": "t_contract$_SafeERC20_$874", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "627:27:2", + "src": "626:27:2", "typeName": { "contractScope": null, "id": 200, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 733, - "src": "647:6:2", + "referencedDeclaration": 729, + "src": "646:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } } @@ -3270,26 +3263,26 @@ "id": 202, "name": "MinerPool", "nodeType": "EnumValue", - "src": "687:9:2" + "src": "686:9:2" }, { "id": 203, "name": "ReferralPool", "nodeType": "EnumValue", - "src": "707:12:2" + "src": "706:12:2" } ], "name": "PoolType", "nodeType": "EnumDefinition", - "src": "662:64:2" + "src": "661:64:2" }, { "constant": false, "id": 206, "name": "_poolType", "nodeType": "VariableDeclaration", - "scope": 315, - "src": "734:26:2", + "scope": 311, + "src": "733:26:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3302,7 +3295,7 @@ "name": "PoolType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 204, - "src": "734:8:2", + "src": "733:8:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3316,8 +3309,8 @@ "id": 210, "name": "_fundedMiners", "nodeType": "VariableDeclaration", - "scope": 315, - "src": "767:46:2", + "scope": 311, + "src": "766:46:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3330,14 +3323,14 @@ "id": 207, "name": "address", "nodeType": "ElementaryTypeName", - "src": "775:7:2", + "src": "774:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "767:24:2", + "src": "766:24:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -3346,7 +3339,7 @@ "id": 208, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "786:4:2", + "src": "785:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3360,7 +3353,7 @@ "body": { "id": 226, "nodeType": "Block", - "src": "959:39:2", + "src": "958:39:2", "statements": [ { "expression": { @@ -3377,7 +3370,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "970:9:2", + "src": "969:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3392,13 +3385,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "982:8:2", + "src": "981:8:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" } }, - "src": "970:20:2", + "src": "969:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3406,15 +3399,14 @@ }, "id": 225, "nodeType": "ExpressionStatement", - "src": "970:20:2" + "src": "969:20:2" } ] }, "documentation": null, "id": 227, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [ { "arguments": [ @@ -3425,7 +3417,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 214, - "src": "901:12:2", + "src": "900:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3439,15 +3431,15 @@ "name": "ERC20TokenHolder", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 372, - "src": "884:16:2", + "referencedDeclaration": 368, + "src": "883:16:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$372_$", + "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$368_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "884:30:2" + "src": "883:30:2" }, { "arguments": [], @@ -3459,14 +3451,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "924:16:2", + "src": "923:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$184_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "924:18:2" + "src": "923:18:2" } ], "name": "", @@ -3481,7 +3473,7 @@ "name": "poolType", "nodeType": "VariableDeclaration", "scope": 227, - "src": "834:17:2", + "src": "833:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3494,7 +3486,7 @@ "name": "PoolType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 204, - "src": "834:8:2", + "src": "833:8:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3509,7 +3501,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 227, - "src": "853:20:2", + "src": "852:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3520,7 +3512,8 @@ "id": 213, "name": "address", "nodeType": "ElementaryTypeName", - "src": "853:7:2", + "src": "852:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3530,26 +3523,25 @@ "visibility": "internal" } ], - "src": "833:41:2" + "src": "832:41:2" }, - "payable": false, "returnParameters": { "id": 221, "nodeType": "ParameterList", "parameters": [], - "src": "959:0:2" + "src": "958:0:2" }, - "scope": 315, - "src": "822:176:2", + "scope": 311, + "src": "821:176:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 304, + "id": 300, "nodeType": "Block", - "src": "1087:641:2", + "src": "1086:619:2", "statements": [ { "expression": { @@ -3565,7 +3557,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1106:28:2", + "src": "1105:28:2", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -3575,7 +3567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 210, - "src": "1107:13:2", + "src": "1106:13:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -3589,7 +3581,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1121:12:2", + "src": "1120:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3600,7 +3592,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1107:27:2", + "src": "1106:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3623,11 +3615,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1098:7:2", + "referencedDeclaration": 892, + "src": "1097:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3641,7 +3633,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1098:37:2", + "src": "1097:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3649,7 +3641,7 @@ }, "id": 242, "nodeType": "ExpressionStatement", - "src": "1098:37:2" + "src": "1097:37:2" }, { "assignments": [ @@ -3661,12 +3653,12 @@ "id": 244, "name": "algoMiner", "nodeType": "VariableDeclaration", - "scope": 305, - "src": "1148:20:2", + "scope": 300, + "src": "1147:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$405", + "typeIdentifier": "t_contract$_IAlgoMiner_$401", "typeString": "contract IAlgoMiner" }, "typeName": { @@ -3674,10 +3666,10 @@ "id": 243, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 405, - "src": "1148:10:2", + "referencedDeclaration": 401, + "src": "1147:10:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$405", + "typeIdentifier": "t_contract$_IAlgoMiner_$401", "typeString": "contract IAlgoMiner" } }, @@ -3696,7 +3688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1182:12:2", + "src": "1181:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3714,10 +3706,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "1171:10:2", + "referencedDeclaration": 401, + "src": "1170:10:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$405_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$401_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -3729,14 +3721,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1171:24:2", + "src": "1170:24:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$405", + "typeIdentifier": "t_contract$_IAlgoMiner_$401", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "1148:47:2" + "src": "1147:47:2" }, { "expression": { @@ -3754,9 +3746,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1224:9:2", + "src": "1223:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$405", + "typeIdentifier": "t_contract$_IAlgoMiner_$401", "typeString": "contract IAlgoMiner" } }, @@ -3767,8 +3759,8 @@ "lValueRequested": false, "memberName": "isAlgoMiner", "nodeType": "MemberAccess", - "referencedDeclaration": 379, - "src": "1224:21:2", + "referencedDeclaration": 375, + "src": "1223:21:2", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_bool_$", "typeString": "function () pure external returns (bool)" @@ -3782,7 +3774,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1224:23:2", + "src": "1223:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3800,11 +3792,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1216:7:2", + "referencedDeclaration": 892, + "src": "1215:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3818,7 +3810,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1216:32:2", + "src": "1215:32:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3826,7 +3818,7 @@ }, "id": 254, "nodeType": "ExpressionStatement", - "src": "1216:32:2" + "src": "1215:32:2" }, { "assignments": [ @@ -3838,8 +3830,8 @@ "id": 256, "name": "minerCategory", "nodeType": "VariableDeclaration", - "scope": 305, - "src": "1269:19:2", + "scope": 300, + "src": "1268:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3850,7 +3842,7 @@ "id": 255, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1269:5:2", + "src": "1268:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3873,9 +3865,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1291:9:2", + "src": "1290:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$405", + "typeIdentifier": "t_contract$_IAlgoMiner_$401", "typeString": "contract IAlgoMiner" } }, @@ -3886,8 +3878,8 @@ "lValueRequested": false, "memberName": "getCategory", "nodeType": "MemberAccess", - "referencedDeclaration": 389, - "src": "1291:21:2", + "referencedDeclaration": 385, + "src": "1290:21:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -3901,14 +3893,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1291:23:2", + "src": "1290:23:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "1269:45:2" + "src": "1268:45:2" }, { "expression": { @@ -3917,117 +3909,48 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, - "id": 268, + "id": 264, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 262, + "name": "minerCategory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 256, + "src": "1334:13:2", + "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 262, - "name": "minerCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1335:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1352:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1335:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "&&", + "operator": "<=", "rightExpression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 267, + "hexValue": "35", + "id": 263, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 265, - "name": "minerCategory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1357:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "35", - "id": 266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1374:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - }, - "src": "1357:18:2", + "nodeType": "Literal", + "src": "1351:1:2", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" }, - "src": "1335:40:2", + "src": "1334:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4045,17 +3968,17 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1327:7:2", + "referencedDeclaration": 892, + "src": "1326:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 269, + "id": 265, "isConstant": false, "isLValue": false, "isPure": false, @@ -4063,28 +3986,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1327:49:2", + "src": "1326:27:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 270, + "id": 266, "nodeType": "ExpressionStatement", - "src": "1327:49:2" + "src": "1326:27:2" }, { "assignments": [ - 272 + 268 ], "declarations": [ { "constant": false, - "id": 272, + "id": 268, "name": "value", "nodeType": "VariableDeclaration", - "scope": 305, - "src": "1389:13:2", + "scope": 300, + "src": "1366:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4092,10 +4015,10 @@ "typeString": "uint256" }, "typeName": { - "id": 271, + "id": 267, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1389:7:2", + "src": "1366:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4105,18 +4028,18 @@ "visibility": "internal" } ], - "id": 276, + "id": 272, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 274, + "id": 270, "name": "minerCategory", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1427:13:2", + "src": "1404:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4130,18 +4053,18 @@ "typeString": "uint8" } ], - "id": 273, + "id": 269, "name": "getCapacityByCategory", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, - "src": "1405:21:2", + "src": "1382:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_uint256_$", "typeString": "function (uint8) pure returns (uint256)" } }, - "id": 275, + "id": 271, "isConstant": false, "isLValue": false, "isPure": false, @@ -4149,14 +4072,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1405:36:2", + "src": "1382:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1389:52:2" + "src": "1366:52:2" }, { "condition": { @@ -4165,19 +4088,19 @@ "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" }, - "id": 280, + "id": 276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 277, + "id": 273, "name": "_poolType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "1536:9:2", + "src": "1513:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -4189,18 +4112,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 278, + "id": 274, "name": "PoolType", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 204, - "src": "1549:8:2", + "src": "1526:8:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_PoolType_$204_$", "typeString": "type(enum AlgoPool.PoolType)" } }, - "id": 279, + "id": 275, "isConstant": false, "isLValue": false, "isPure": true, @@ -4208,43 +4131,43 @@ "memberName": "ReferralPool", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1549:21:2", + "src": "1526:21:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" } }, - "src": "1536:34:2", + "src": "1513:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 290, + "id": 286, "nodeType": "IfStatement", - "src": "1533:90:2", + "src": "1510:90:2", "trueBody": { - "id": 289, + "id": 285, "nodeType": "Block", - "src": "1572:51:2", + "src": "1549:51:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 287, + "id": 283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 281, + "id": 277, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 272, - "src": "1587:5:2", + "referencedDeclaration": 268, + "src": "1564:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4258,7 +4181,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 286, + "id": 282, "isConstant": false, "isLValue": false, "isPure": false, @@ -4269,19 +4192,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 284, + "id": 280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 282, + "id": 278, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 272, - "src": "1595:5:2", + "referencedDeclaration": 268, + "src": "1572:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4292,14 +4215,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3130", - "id": 283, + "id": 279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1603:2:2", + "src": "1580:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -4307,7 +4230,7 @@ }, "value": "10" }, - "src": "1595:10:2", + "src": "1572:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4318,14 +4241,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "313030", - "id": 285, + "id": 281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1608:3:2", + "src": "1585:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -4333,21 +4256,21 @@ }, "value": "100" }, - "src": "1595:16:2", + "src": "1572:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1587:24:2", + "src": "1564:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 288, + "id": 284, "nodeType": "ExpressionStatement", - "src": "1587:24:2" + "src": "1564:24:2" } ] } @@ -4355,7 +4278,7 @@ { "expression": { "argumentTypes": null, - "id": 295, + "id": 291, "isConstant": false, "isLValue": false, "isPure": false, @@ -4364,26 +4287,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 291, + "id": 287, "name": "_fundedMiners", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 210, - "src": "1635:13:2", + "src": "1612:13:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 293, + "id": 289, "indexExpression": { "argumentTypes": null, - "id": 292, + "id": 288, "name": "minerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1649:12:2", + "src": "1626:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4394,7 +4317,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1635:27:2", + "src": "1612:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4405,14 +4328,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 294, + "id": 290, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1665:4:2", + "src": "1642:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4420,15 +4343,15 @@ }, "value": "true" }, - "src": "1635:34:2", + "src": "1612:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 296, + "id": 292, "nodeType": "ExpressionStatement", - "src": "1635:34:2" + "src": "1612:34:2" }, { "expression": { @@ -4436,12 +4359,12 @@ "arguments": [ { "argumentTypes": null, - "id": 300, + "id": 296, "name": "minerAddress", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1700:12:2", + "src": "1677:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4449,12 +4372,12 @@ }, { "argumentTypes": null, - "id": 301, + "id": 297, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 272, - "src": "1714:5:2", + "referencedDeclaration": 268, + "src": "1691:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4474,32 +4397,32 @@ ], "expression": { "argumentTypes": null, - "id": 297, + "id": 293, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "1680:6:2", + "referencedDeclaration": 323, + "src": "1657:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 299, + "id": 295, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 758, - "src": "1680:19:2", + "referencedDeclaration": 754, + "src": "1657:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$733_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$733_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$729_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$729_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 302, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -4507,23 +4430,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1680:40:2", + "src": "1657:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 303, + "id": 299, "nodeType": "ExpressionStatement", - "src": "1680:40:2" + "src": "1657:40:2" } ] }, "documentation": null, - "id": 305, + "id": 301, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, @@ -4534,15 +4456,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 433, - "src": "1060:13:2", + "referencedDeclaration": 429, + "src": "1059:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1060:13:2" + "src": "1059:13:2" }, { "arguments": null, @@ -4554,14 +4476,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "1074:12:2", + "src": "1073:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1074:12:2" + "src": "1073:12:2" } ], "name": "transferToMiner", @@ -4575,8 +4497,8 @@ "id": 229, "name": "minerAddress", "nodeType": "VariableDeclaration", - "scope": 305, - "src": "1031:20:2", + "scope": 301, + "src": "1030:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4587,7 +4509,8 @@ "id": 228, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1031:7:2", + "src": "1030:7:2", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4597,26 +4520,25 @@ "visibility": "internal" } ], - "src": "1030:22:2" + "src": "1029:22:2" }, - "payable": false, "returnParameters": { "id": 235, "nodeType": "ParameterList", "parameters": [], - "src": "1087:0:2" + "src": "1086:0:2" }, - "scope": 315, - "src": "1006:722:2", + "scope": 311, + "src": "1005:700:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 313, + "id": 309, "nodeType": "Block", - "src": "1777:31:2", + "src": "1754:31:2", "statements": [ { "expression": { @@ -4624,20 +4546,20 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 310, + "id": 306, "name": "_terminate", "nodeType": "Identifier", "overloadedDeclarations": [ - 371 + 367 ], - "referencedDeclaration": 371, - "src": "1788:10:2", + "referencedDeclaration": 367, + "src": "1765:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 311, + "id": 307, "isConstant": false, "isLValue": false, "isPure": false, @@ -4645,71 +4567,69 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1788:12:2", + "src": "1765:12:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 312, + "id": 308, "nodeType": "ExpressionStatement", - "src": "1788:12:2" + "src": "1765:12:2" } ] }, "documentation": null, - "id": 314, + "id": 310, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [ { "arguments": null, - "id": 308, + "id": 304, "modifierName": { "argumentTypes": null, - "id": 307, + "id": 303, "name": "onlyCoreTeam", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "1764:12:2", + "src": "1741:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1764:12:2" + "src": "1741:12:2" } ], "name": "terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 306, + "id": 302, "nodeType": "ParameterList", "parameters": [], - "src": "1754:2:2" + "src": "1731:2:2" }, - "payable": false, "returnParameters": { - "id": 309, + "id": 305, "nodeType": "ParameterList", "parameters": [], - "src": "1777:0:2" + "src": "1754:0:2" }, - "scope": 315, - "src": "1736:72:2", + "scope": 311, + "src": "1713:72:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 316, - "src": "552:1259:2" + "scope": 312, + "src": "551:1237:2" } ], - "src": "0:1813:2" + "src": "0:1790:2" }, "id": 2 }, @@ -4718,52 +4638,52 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/ERC20TokenHolder.sol", "exportedSymbols": { "ERC20TokenHolder": [ - 372 + 368 ] }, - "id": 373, + "id": 369, "nodeType": "SourceUnit", "nodes": [ { - "id": 317, + "id": 313, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:3" + "src": "0:22:3" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", - "id": 318, + "id": 314, "nodeType": "ImportDirective", - "scope": 373, - "sourceUnit": 734, - "src": "27:195:3", + "scope": 369, + "sourceUnit": 730, + "src": "26:195:3", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "file": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", - "id": 319, + "id": 315, "nodeType": "ImportDirective", - "scope": 373, - "sourceUnit": 878, - "src": "224:198:3", + "scope": 369, + "sourceUnit": 875, + "src": "223:198:3", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "file": "./Terminable.sol", - "id": 320, + "id": 316, "nodeType": "ImportDirective", - "scope": 373, - "sourceUnit": 443, - "src": "426:26:3", + "scope": 369, + "sourceUnit": 439, + "src": "425:26:3", "symbolAliases": [], "unitAlias": "" }, @@ -4773,86 +4693,86 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 321, + "id": 317, "name": "Terminable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 442, - "src": "485:10:3", + "referencedDeclaration": 438, + "src": "484:10:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Terminable_$442", + "typeIdentifier": "t_contract$_Terminable_$438", "typeString": "contract Terminable" } }, - "id": 322, + "id": 318, "nodeType": "InheritanceSpecifier", - "src": "485:10:3" + "src": "484:10:3" } ], "contractDependencies": [ - 442 + 438 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 372, + "id": 368, "linearizedBaseContracts": [ - 372, - 442 + 368, + 438 ], "name": "ERC20TokenHolder", "nodeType": "ContractDefinition", "nodes": [ { - "id": 325, + "id": 321, "libraryName": { "contractScope": null, - "id": 323, + "id": 319, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 877, - "src": "509:9:3", + "referencedDeclaration": 874, + "src": "508:9:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$877", + "typeIdentifier": "t_contract$_SafeERC20_$874", "typeString": "library SafeERC20" } }, "nodeType": "UsingForDirective", - "src": "503:27:3", + "src": "502:27:3", "typeName": { "contractScope": null, - "id": 324, + "id": 320, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 733, - "src": "523:6:3", + "referencedDeclaration": 729, + "src": "522:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } } }, { "constant": false, - "id": 327, + "id": 323, "name": "_token", "nodeType": "VariableDeclaration", - "scope": 372, - "src": "538:22:3", + "scope": 368, + "src": "537:22:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 326, + "id": 322, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 733, - "src": "538:6:3", + "referencedDeclaration": 729, + "src": "537:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, @@ -4861,28 +4781,28 @@ }, { "body": { - "id": 340, + "id": 336, "nodeType": "Block", - "src": "625:48:3", + "src": "624:48:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 338, + "id": 334, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 334, + "id": 330, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "636:6:3", + "referencedDeclaration": 323, + "src": "635:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, @@ -4893,12 +4813,12 @@ "arguments": [ { "argumentTypes": null, - "id": 336, + "id": 332, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "652:12:3", + "referencedDeclaration": 325, + "src": "651:12:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4912,18 +4832,18 @@ "typeString": "address" } ], - "id": 335, + "id": 331, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "645:6:3", + "referencedDeclaration": 729, + "src": "644:6:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$733_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$729_$", "typeString": "type(contract IERC20)" } }, - "id": 337, + "id": 333, "isConstant": false, "isLValue": false, "isPure": false, @@ -4931,63 +4851,62 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "645:20:3", + "src": "644:20:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "src": "636:29:3", + "src": "635:29:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 339, + "id": 335, "nodeType": "ExpressionStatement", - "src": "636:29:3" + "src": "635:29:3" } ] }, "documentation": null, - "id": 341, + "id": 337, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [ { "arguments": [], - "id": 332, + "id": 328, "modifierName": { "argumentTypes": null, - "id": 331, + "id": 327, "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "603:10:3", + "referencedDeclaration": 438, + "src": "602:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$442_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$438_$", "typeString": "type(contract Terminable)" } }, "nodeType": "ModifierInvocation", - "src": "603:12:3" + "src": "602:12:3" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 330, + "id": 326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 329, + "id": 325, "name": "tokenAddress", "nodeType": "VariableDeclaration", - "scope": 341, - "src": "581:20:3", + "scope": 337, + "src": "580:20:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4995,10 +4914,11 @@ "typeString": "address" }, "typeName": { - "id": 328, + "id": 324, "name": "address", "nodeType": "ElementaryTypeName", - "src": "581:7:3", + "src": "580:7:3", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5008,39 +4928,38 @@ "visibility": "internal" } ], - "src": "580:22:3" + "src": "579:22:3" }, - "payable": false, "returnParameters": { - "id": 333, + "id": 329, "nodeType": "ParameterList", "parameters": [], - "src": "625:0:3" + "src": "624:0:3" }, - "scope": 372, - "src": "569:104:3", + "scope": 368, + "src": "568:104:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 370, + "id": 366, "nodeType": "Block", - "src": "712:214:3", + "src": "711:214:3", "statements": [ { "assignments": [ - 345 + 341 ], "declarations": [ { "constant": false, - "id": 345, + "id": 341, "name": "currentBalance", "nodeType": "VariableDeclaration", - "scope": 371, - "src": "723:22:3", + "scope": 366, + "src": "722:22:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5048,10 +4967,10 @@ "typeString": "uint256" }, "typeName": { - "id": 344, + "id": 340, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "723:7:3", + "src": "722:7:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5061,7 +4980,7 @@ "visibility": "internal" } ], - "id": 352, + "id": 348, "initialValue": { "argumentTypes": null, "arguments": [ @@ -5070,14 +4989,14 @@ "arguments": [ { "argumentTypes": null, - "id": 349, + "id": 345, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 921, - "src": "773:4:3", + "referencedDeclaration": 919, + "src": "772:4:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$372", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$368", "typeString": "contract ERC20TokenHolder" } } @@ -5085,24 +5004,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ERC20TokenHolder_$372", + "typeIdentifier": "t_contract$_ERC20TokenHolder_$368", "typeString": "contract ERC20TokenHolder" } ], - "id": 348, + "id": 344, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "765:7:3", + "src": "764:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 350, + "id": 346, "isConstant": false, "isLValue": false, "isPure": false, @@ -5110,7 +5029,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "765:13:3", + "src": "764:13:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5126,32 +5045,32 @@ ], "expression": { "argumentTypes": null, - "id": 346, + "id": 342, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "748:6:3", + "referencedDeclaration": 323, + "src": "747:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 347, + "id": 343, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 678, - "src": "748:16:3", + "referencedDeclaration": 703, + "src": "747:16:3", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" } }, - "id": 351, + "id": 347, "isConstant": false, "isLValue": false, "isPure": false, @@ -5159,14 +5078,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "748:31:3", + "src": "747:31:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "723:56:3" + "src": "722:56:3" }, { "condition": { @@ -5175,19 +5094,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 355, + "id": 351, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 353, + "id": 349, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 345, - "src": "793:14:3", + "referencedDeclaration": 341, + "src": "792:14:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5198,14 +5117,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 354, + "id": 350, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "810:1:3", + "src": "809:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5213,20 +5132,20 @@ }, "value": "0" }, - "src": "793:18:3", + "src": "792:18:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 364, + "id": 360, "nodeType": "IfStatement", - "src": "790:95:3", + "src": "789:95:3", "trueBody": { - "id": 363, + "id": 359, "nodeType": "Block", - "src": "813:72:3", + "src": "812:72:3", "statements": [ { "expression": { @@ -5234,12 +5153,12 @@ "arguments": [ { "argumentTypes": null, - "id": 359, + "id": 355, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "848:8:3", + "referencedDeclaration": 405, + "src": "847:8:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5247,12 +5166,12 @@ }, { "argumentTypes": null, - "id": 360, + "id": 356, "name": "currentBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 345, - "src": "858:14:3", + "referencedDeclaration": 341, + "src": "857:14:3", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5272,32 +5191,32 @@ ], "expression": { "argumentTypes": null, - "id": 356, + "id": 352, "name": "_token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "828:6:3", + "referencedDeclaration": 323, + "src": "827:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 358, + "id": 354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 758, - "src": "828:19:3", + "referencedDeclaration": 754, + "src": "827:19:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$733_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$733_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$729_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$729_$", "typeString": "function (contract IERC20,address,uint256)" } }, - "id": 361, + "id": 357, "isConstant": false, "isLValue": false, "isPure": false, @@ -5305,15 +5224,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "828:45:3", + "src": "827:45:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 362, + "id": 358, "nodeType": "ExpressionStatement", - "src": "828:45:3" + "src": "827:45:3" } ] } @@ -5326,32 +5245,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 365, + "id": 361, "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 442, - "src": "895:10:3", + "referencedDeclaration": 438, + "src": "894:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$442_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$438_$", "typeString": "type(contract Terminable)" } }, - "id": 367, + "id": 363, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "_terminate", "nodeType": "MemberAccess", - "referencedDeclaration": 441, - "src": "895:21:3", + "referencedDeclaration": 437, + "src": "894:21:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 368, + "id": 364, "isConstant": false, "isLValue": false, "isPure": false, @@ -5359,51 +5278,49 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "895:23:3", + "src": "894:23:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 369, + "id": 365, "nodeType": "ExpressionStatement", - "src": "895:23:3" + "src": "894:23:3" } ] }, "documentation": null, - "id": 371, + "id": 367, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 342, + "id": 338, "nodeType": "ParameterList", "parameters": [], - "src": "700:2:3" + "src": "699:2:3" }, - "payable": false, "returnParameters": { - "id": 343, + "id": 339, "nodeType": "ParameterList", "parameters": [], - "src": "712:0:3" + "src": "711:0:3" }, - "scope": 372, - "src": "681:245:3", + "scope": 368, + "src": "680:245:3", "stateMutability": "nonpayable", - "superFunction": 441, + "superFunction": 437, "visibility": "internal" } ], - "scope": 373, - "src": "456:473:3" + "scope": 369, + "src": "455:473:3" } ], - "src": "0:929:3" + "src": "0:928:3" }, "id": 3 }, @@ -5412,21 +5329,21 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol", "exportedSymbols": { "IAlgoMiner": [ - 405 + 401 ] }, - "id": 406, + "id": 402, "nodeType": "SourceUnit", "nodes": [ { - "id": 374, + "id": 370, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:4" + "src": "0:22:4" }, { "baseContracts": [], @@ -5434,9 +5351,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 405, + "id": 401, "linearizedBaseContracts": [ - 405 + 401 ], "name": "IAlgoMiner", "nodeType": "ContractDefinition", @@ -5444,31 +5361,29 @@ { "body": null, "documentation": null, - "id": 379, + "id": 375, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isAlgoMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 375, + "id": 371, "nodeType": "ParameterList", "parameters": [], - "src": "74:2:4" + "src": "73:2:4" }, - "payable": false, "returnParameters": { - "id": 378, + "id": 374, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 377, + "id": 373, "name": "", "nodeType": "VariableDeclaration", - "scope": 379, - "src": "98:4:4", + "scope": 375, + "src": "97:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5476,10 +5391,10 @@ "typeString": "bool" }, "typeName": { - "id": 376, + "id": 372, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "98:4:4", + "src": "97:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5489,10 +5404,10 @@ "visibility": "internal" } ], - "src": "97:6:4" + "src": "96:6:4" }, - "scope": 405, - "src": "54:50:4", + "scope": 401, + "src": "53:50:4", "stateMutability": "pure", "superFunction": null, "visibility": "public" @@ -5500,31 +5415,29 @@ { "body": null, "documentation": null, - "id": 384, + "id": 380, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getMinerType", "nodeType": "FunctionDefinition", "parameters": { - "id": 380, + "id": 376, "nodeType": "ParameterList", "parameters": [], - "src": "131:2:4" + "src": "130:2:4" }, - "payable": false, "returnParameters": { - "id": 383, + "id": 379, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 382, + "id": 378, "name": "", "nodeType": "VariableDeclaration", - "scope": 384, - "src": "155:5:4", + "scope": 380, + "src": "154:5:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5532,10 +5445,10 @@ "typeString": "uint8" }, "typeName": { - "id": 381, + "id": 377, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "155:5:4", + "src": "154:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5545,10 +5458,10 @@ "visibility": "internal" } ], - "src": "154:7:4" + "src": "153:7:4" }, - "scope": 405, - "src": "110:52:4", + "scope": 401, + "src": "109:52:4", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5556,31 +5469,29 @@ { "body": null, "documentation": null, - "id": 389, + "id": 385, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getCategory", "nodeType": "FunctionDefinition", "parameters": { - "id": 385, + "id": 381, "nodeType": "ParameterList", "parameters": [], - "src": "188:2:4" + "src": "187:2:4" }, - "payable": false, "returnParameters": { - "id": 388, + "id": 384, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 387, + "id": 383, "name": "", "nodeType": "VariableDeclaration", - "scope": 389, - "src": "212:5:4", + "scope": 385, + "src": "211:5:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5588,10 +5499,10 @@ "typeString": "uint8" }, "typeName": { - "id": 386, + "id": 382, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "212:5:4", + "src": "211:5:4", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5601,10 +5512,10 @@ "visibility": "internal" } ], - "src": "211:7:4" + "src": "210:7:4" }, - "scope": 405, - "src": "168:51:4", + "scope": 401, + "src": "167:51:4", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5612,31 +5523,29 @@ { "body": null, "documentation": null, - "id": 394, + "id": 390, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getMiner", "nodeType": "FunctionDefinition", "parameters": { - "id": 390, + "id": 386, "nodeType": "ParameterList", "parameters": [], - "src": "242:2:4" + "src": "241:2:4" }, - "payable": false, "returnParameters": { - "id": 393, + "id": 389, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 392, + "id": 388, "name": "", "nodeType": "VariableDeclaration", - "scope": 394, - "src": "266:7:4", + "scope": 390, + "src": "265:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5644,10 +5553,11 @@ "typeString": "address" }, "typeName": { - "id": 391, + "id": 387, "name": "address", "nodeType": "ElementaryTypeName", - "src": "266:7:4", + "src": "265:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5657,10 +5567,10 @@ "visibility": "internal" } ], - "src": "265:9:4" + "src": "264:9:4" }, - "scope": 405, - "src": "225:50:4", + "scope": 401, + "src": "224:50:4", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5668,31 +5578,29 @@ { "body": null, "documentation": null, - "id": 399, + "id": 395, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { - "id": 395, + "id": 391, "nodeType": "ParameterList", "parameters": [], - "src": "301:2:4" + "src": "300:2:4" }, - "payable": false, "returnParameters": { - "id": 398, + "id": 394, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 397, + "id": 393, "name": "", "nodeType": "VariableDeclaration", - "scope": 399, - "src": "325:7:4", + "scope": 395, + "src": "324:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5700,10 +5608,11 @@ "typeString": "address" }, "typeName": { - "id": 396, + "id": 392, "name": "address", "nodeType": "ElementaryTypeName", - "src": "325:7:4", + "src": "324:7:4", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5713,10 +5622,10 @@ "visibility": "internal" } ], - "src": "324:9:4" + "src": "323:9:4" }, - "scope": 405, - "src": "281:53:4", + "scope": 401, + "src": "280:53:4", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5724,31 +5633,29 @@ { "body": null, "documentation": null, - "id": 404, + "id": 400, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "isMining", "nodeType": "FunctionDefinition", "parameters": { - "id": 400, + "id": 396, "nodeType": "ParameterList", "parameters": [], - "src": "357:2:4" + "src": "356:2:4" }, - "payable": false, "returnParameters": { - "id": 403, + "id": 399, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 402, + "id": 398, "name": "", "nodeType": "VariableDeclaration", - "scope": 404, - "src": "381:4:4", + "scope": 400, + "src": "380:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5756,10 +5663,10 @@ "typeString": "bool" }, "typeName": { - "id": 401, + "id": 397, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "381:4:4", + "src": "380:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5769,20 +5676,20 @@ "visibility": "internal" } ], - "src": "380:6:4" + "src": "379:6:4" }, - "scope": 405, - "src": "340:47:4", + "scope": 401, + "src": "339:47:4", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 406, - "src": "27:363:4" + "scope": 402, + "src": "26:363:4" } ], - "src": "0:390:4" + "src": "0:389:4" }, "id": 4 }, @@ -5791,21 +5698,21 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "exportedSymbols": { "Terminable": [ - 442 + 438 ] }, - "id": 443, + "id": 439, "nodeType": "SourceUnit", "nodes": [ { - "id": 407, + "id": 403, "literals": [ "solidity", - "0.4", - ".24" + "0.5", + ".4" ], "nodeType": "PragmaDirective", - "src": "0:23:5" + "src": "0:22:5" }, { "baseContracts": [], @@ -5813,20 +5720,20 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 442, + "id": 438, "linearizedBaseContracts": [ - 442 + 438 ], "name": "Terminable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 409, + "id": 405, "name": "_creator", "nodeType": "VariableDeclaration", - "scope": 442, - "src": "56:25:5", + "scope": 438, + "src": "55:25:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5834,10 +5741,11 @@ "typeString": "address" }, "typeName": { - "id": 408, + "id": 404, "name": "address", "nodeType": "ElementaryTypeName", - "src": "56:7:5", + "src": "55:7:5", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5848,11 +5756,11 @@ }, { "constant": false, - "id": 411, + "id": 407, "name": "_terminated", "nodeType": "VariableDeclaration", - "scope": 442, - "src": "88:25:5", + "scope": 438, + "src": "87:25:5", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -5860,10 +5768,10 @@ "typeString": "bool" }, "typeName": { - "id": 410, + "id": 406, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "88:4:5", + "src": "87:4:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5874,26 +5782,26 @@ }, { "body": { - "id": 423, + "id": 419, "nodeType": "Block", - "src": "145:70:5", + "src": "144:70:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 417, + "id": 413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 414, + "id": 410, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "156:8:5", + "referencedDeclaration": 405, + "src": "155:8:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5905,18 +5813,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 415, + "id": 411, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "167:3:5", + "referencedDeclaration": 889, + "src": "166:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 416, + "id": 412, "isConstant": false, "isLValue": false, "isPure": false, @@ -5924,38 +5832,38 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "167:10:5", + "src": "166:10:5", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "156:21:5", + "src": "155:21:5", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 418, + "id": 414, "nodeType": "ExpressionStatement", - "src": "156:21:5" + "src": "155:21:5" }, { "expression": { "argumentTypes": null, - "id": 421, + "id": 417, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 419, + "id": 415, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "188:11:5", + "referencedDeclaration": 407, + "src": "187:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5966,14 +5874,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 420, + "id": 416, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "202:5:5", + "src": "201:5:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5981,50 +5889,48 @@ }, "value": "false" }, - "src": "188:19:5", + "src": "187:19:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 422, + "id": 418, "nodeType": "ExpressionStatement", - "src": "188:19:5" + "src": "187:19:5" } ] }, "documentation": null, - "id": 424, + "id": 420, "implemented": true, - "isConstructor": true, - "isDeclaredConst": false, + "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 412, + "id": 408, "nodeType": "ParameterList", "parameters": [], - "src": "133:2:5" + "src": "132:2:5" }, - "payable": false, "returnParameters": { - "id": 413, + "id": 409, "nodeType": "ParameterList", "parameters": [], - "src": "145:0:5" + "src": "144:0:5" }, - "scope": 442, - "src": "122:93:5", + "scope": 438, + "src": "121:93:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 432, + "id": 428, "nodeType": "Block", - "src": "248:52:5", + "src": "247:52:5", "statements": [ { "expression": { @@ -6032,7 +5938,7 @@ "arguments": [ { "argumentTypes": null, - "id": 428, + "id": 424, "isConstant": false, "isLValue": false, "isPure": false, @@ -6040,15 +5946,15 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "267:12:5", + "src": "266:12:5", "subExpression": { "argumentTypes": null, - "id": 427, + "id": 423, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "268:11:5", + "referencedDeclaration": 407, + "src": "267:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6067,21 +5973,21 @@ "typeString": "bool" } ], - "id": 426, + "id": 422, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "259:7:5", + "referencedDeclaration": 892, + "src": "258:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 429, + "id": 425, "isConstant": false, "isLValue": false, "isPure": false, @@ -6089,58 +5995,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "259:21:5", + "src": "258:21:5", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 430, + "id": 426, "nodeType": "ExpressionStatement", - "src": "259:21:5" + "src": "258:21:5" }, { - "id": 431, + "id": 427, "nodeType": "PlaceholderStatement", - "src": "291:1:5" + "src": "290:1:5" } ] }, "documentation": null, - "id": 433, + "id": 429, "name": "notTerminated", "nodeType": "ModifierDefinition", "parameters": { - "id": 425, + "id": 421, "nodeType": "ParameterList", "parameters": [], - "src": "245:2:5" + "src": "244:2:5" }, - "src": "223:77:5", + "src": "222:77:5", "visibility": "internal" }, { "body": { - "id": 440, + "id": 436, "nodeType": "Block", - "src": "339:37:5", + "src": "338:37:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 438, + "id": 434, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 436, + "id": 432, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "350:11:5", + "referencedDeclaration": 407, + "src": "349:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6151,14 +6057,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 437, + "id": 433, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "364:4:5", + "src": "363:4:5", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6166,51 +6072,49 @@ }, "value": "true" }, - "src": "350:18:5", + "src": "349:18:5", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 439, + "id": 435, "nodeType": "ExpressionStatement", - "src": "350:18:5" + "src": "349:18:5" } ] }, "documentation": null, - "id": 441, + "id": 437, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 434, + "id": 430, "nodeType": "ParameterList", "parameters": [], - "src": "327:2:5" + "src": "326:2:5" }, - "payable": false, "returnParameters": { - "id": 435, + "id": 431, "nodeType": "ParameterList", "parameters": [], - "src": "339:0:5" + "src": "338:0:5" }, - "scope": 442, - "src": "308:68:5", + "scope": 438, + "src": "307:68:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 443, - "src": "27:352:5" + "scope": 439, + "src": "26:352:5" } ], - "src": "0:379:5" + "src": "0:378:5" }, "id": 5 }, @@ -6219,22 +6123,22 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 536 + 532 ] }, - "id": 537, + "id": 533, "nodeType": "SourceUnit", "nodes": [ { - "id": 444, + "id": 440, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:6" + "src": "0:23:6" }, { "baseContracts": [], @@ -6242,24 +6146,24 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 536, + "id": 532, "linearizedBaseContracts": [ - 536 + 532 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 449, + "id": 445, "members": [ { "constant": false, - "id": 448, + "id": 444, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 449, - "src": "145:32:6", + "scope": 445, + "src": "150:32:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6267,28 +6171,28 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 447, + "id": 443, "keyType": { - "id": 445, + "id": 441, "name": "address", "nodeType": "ElementaryTypeName", - "src": "154:7:6", + "src": "159:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "145:25:6", + "src": "150:25:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { - "id": 446, + "id": 442, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "165:4:6", + "src": "170:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6301,15 +6205,15 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 536, - "src": "127:55:6", + "scope": 532, + "src": "128:61:6", "visibility": "public" }, { "body": { - "id": 480, + "id": 476, "nodeType": "Block", - "src": "302:109:6", + "src": "317:123:6", "statements": [ { "expression": { @@ -6321,19 +6225,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 461, + "id": 457, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 457, + "id": 453, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 453, - "src": "316:7:6", + "referencedDeclaration": 449, + "src": "335:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6347,14 +6251,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 459, + "id": 455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "335:1:6", + "src": "354:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6370,20 +6274,20 @@ "typeString": "int_const 0" } ], - "id": 458, + "id": 454, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "327:7:6", + "src": "346:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 460, + "id": 456, "isConstant": false, "isLValue": false, "isPure": true, @@ -6391,13 +6295,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "327:10:6", + "src": "346:10:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "316:21:6", + "src": "335:21:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6411,21 +6315,21 @@ "typeString": "bool" } ], - "id": 456, + "id": 452, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "308:7:6", + "referencedDeclaration": 892, + "src": "327:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 462, + "id": 458, "isConstant": false, "isLValue": false, "isPure": false, @@ -6433,15 +6337,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "308:30:6", + "src": "327:30:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 463, + "id": 459, "nodeType": "ExpressionStatement", - "src": "308:30:6" + "src": "327:30:6" }, { "expression": { @@ -6449,7 +6353,7 @@ "arguments": [ { "argumentTypes": null, - "id": 469, + "id": 465, "isConstant": false, "isLValue": false, "isPure": false, @@ -6457,31 +6361,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "352:19:6", + "src": "375:19:6", "subExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 466, + "id": 462, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 451, - "src": "357:4:6", + "referencedDeclaration": 447, + "src": "380:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 467, + "id": 463, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 453, - "src": "363:7:6", + "referencedDeclaration": 449, + "src": "386:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6491,7 +6395,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -6499,18 +6403,18 @@ "typeString": "address" } ], - "id": 465, + "id": 461, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "353:3:6", + "referencedDeclaration": 531, + "src": "376:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$445_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 468, + "id": 464, "isConstant": false, "isLValue": false, "isPure": false, @@ -6518,7 +6422,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "353:18:6", + "src": "376:18:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6537,21 +6441,21 @@ "typeString": "bool" } ], - "id": 464, + "id": 460, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "344:7:6", + "referencedDeclaration": 892, + "src": "367:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 470, + "id": 466, "isConstant": false, "isLValue": false, "isPure": false, @@ -6559,20 +6463,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "344:28:6", + "src": "367:28:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 471, + "id": 467, "nodeType": "ExpressionStatement", - "src": "344:28:6" + "src": "367:28:6" }, { "expression": { "argumentTypes": null, - "id": 478, + "id": 474, "isConstant": false, "isLValue": false, "isPure": false, @@ -6583,40 +6487,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 472, + "id": 468, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 451, - "src": "379:4:6", + "referencedDeclaration": 447, + "src": "406:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 475, + "id": 471, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 448, - "src": "379:11:6", + "referencedDeclaration": 444, + "src": "406:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 476, + "id": 472, "indexExpression": { "argumentTypes": null, - "id": 474, + "id": 470, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 453, - "src": "391:7:6", + "referencedDeclaration": 449, + "src": "418:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6627,7 +6531,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "379:20:6", + "src": "406:20:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6638,14 +6542,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 477, + "id": 473, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "402:4:6", + "src": "429:4:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6653,52 +6557,51 @@ }, "value": "true" }, - "src": "379:27:6", + "src": "406:27:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 479, + "id": 475, "nodeType": "ExpressionStatement", - "src": "379:27:6" + "src": "406:27:6" } ] }, "documentation": "@dev give an account access to this role", - "id": 481, + "id": 477, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 454, + "id": 450, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 451, + "id": 447, "name": "role", "nodeType": "VariableDeclaration", - "scope": 481, - "src": "257:17:6", + "scope": 477, + "src": "272:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 450, + "id": 446, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 449, - "src": "257:4:6", + "referencedDeclaration": 445, + "src": "272:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -6707,11 +6610,11 @@ }, { "constant": false, - "id": 453, + "id": 449, "name": "account", "nodeType": "VariableDeclaration", - "scope": 481, - "src": "276:15:6", + "scope": 477, + "src": "291:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6719,10 +6622,11 @@ "typeString": "address" }, "typeName": { - "id": 452, + "id": 448, "name": "address", "nodeType": "ElementaryTypeName", - "src": "276:7:6", + "src": "291:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6732,26 +6636,25 @@ "visibility": "internal" } ], - "src": "256:36:6" + "src": "271:36:6" }, - "payable": false, "returnParameters": { - "id": 455, + "id": 451, "nodeType": "ParameterList", "parameters": [], - "src": "302:0:6" + "src": "317:0:6" }, - "scope": 536, - "src": "244:167:6", + "scope": 532, + "src": "259:181:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 511, + "id": 507, "nodeType": "Block", - "src": "538:109:6", + "src": "575:123:6", "statements": [ { "expression": { @@ -6763,19 +6666,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 493, + "id": 489, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 489, + "id": 485, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "552:7:6", + "referencedDeclaration": 481, + "src": "593:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6789,14 +6692,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 491, + "id": 487, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "571:1:6", + "src": "612:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6812,20 +6715,20 @@ "typeString": "int_const 0" } ], - "id": 490, + "id": 486, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "563:7:6", + "src": "604:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 492, + "id": 488, "isConstant": false, "isLValue": false, "isPure": true, @@ -6833,13 +6736,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "563:10:6", + "src": "604:10:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "552:21:6", + "src": "593:21:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6853,21 +6756,21 @@ "typeString": "bool" } ], - "id": 488, + "id": 484, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "544:7:6", + "referencedDeclaration": 892, + "src": "585:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 494, + "id": 490, "isConstant": false, "isLValue": false, "isPure": false, @@ -6875,15 +6778,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "544:30:6", + "src": "585:30:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 495, + "id": 491, "nodeType": "ExpressionStatement", - "src": "544:30:6" + "src": "585:30:6" }, { "expression": { @@ -6894,25 +6797,25 @@ "arguments": [ { "argumentTypes": null, - "id": 498, + "id": 494, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "592:4:6", + "referencedDeclaration": 479, + "src": "637:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 499, + "id": 495, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "598:7:6", + "referencedDeclaration": 481, + "src": "643:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6922,7 +6825,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -6930,18 +6833,18 @@ "typeString": "address" } ], - "id": 497, + "id": 493, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 535, - "src": "588:3:6", + "referencedDeclaration": 531, + "src": "633:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$445_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 500, + "id": 496, "isConstant": false, "isLValue": false, "isPure": false, @@ -6949,7 +6852,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "588:18:6", + "src": "633:18:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6963,21 +6866,21 @@ "typeString": "bool" } ], - "id": 496, + "id": 492, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "580:7:6", + "referencedDeclaration": 892, + "src": "625:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 501, + "id": 497, "isConstant": false, "isLValue": false, "isPure": false, @@ -6985,20 +6888,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "580:27:6", + "src": "625:27:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 502, + "id": 498, "nodeType": "ExpressionStatement", - "src": "580:27:6" + "src": "625:27:6" }, { "expression": { "argumentTypes": null, - "id": 509, + "id": 505, "isConstant": false, "isLValue": false, "isPure": false, @@ -7009,40 +6912,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 503, + "id": 499, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 483, - "src": "614:4:6", + "referencedDeclaration": 479, + "src": "663:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 506, + "id": 502, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 448, - "src": "614:11:6", + "referencedDeclaration": 444, + "src": "663:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 507, + "id": 503, "indexExpression": { "argumentTypes": null, - "id": 505, + "id": 501, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "626:7:6", + "referencedDeclaration": 481, + "src": "675:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7053,7 +6956,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "614:20:6", + "src": "663:20:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7064,14 +6967,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 508, + "id": 504, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "637:5:6", + "src": "686:5:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7079,52 +6982,51 @@ }, "value": "false" }, - "src": "614:28:6", + "src": "663:28:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 510, + "id": 506, "nodeType": "ExpressionStatement", - "src": "614:28:6" + "src": "663:28:6" } ] }, "documentation": "@dev remove an account's access to this role", - "id": 512, + "id": 508, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 486, + "id": 482, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 483, + "id": 479, "name": "role", "nodeType": "VariableDeclaration", - "scope": 512, - "src": "493:17:6", + "scope": 508, + "src": "530:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 482, + "id": 478, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 449, - "src": "493:4:6", + "referencedDeclaration": 445, + "src": "530:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -7133,11 +7035,11 @@ }, { "constant": false, - "id": 485, + "id": 481, "name": "account", "nodeType": "VariableDeclaration", - "scope": 512, - "src": "512:15:6", + "scope": 508, + "src": "549:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7145,10 +7047,11 @@ "typeString": "address" }, "typeName": { - "id": 484, + "id": 480, "name": "address", "nodeType": "ElementaryTypeName", - "src": "512:7:6", + "src": "549:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7158,26 +7061,25 @@ "visibility": "internal" } ], - "src": "492:36:6" + "src": "529:36:6" }, - "payable": false, "returnParameters": { - "id": 487, + "id": 483, "nodeType": "ParameterList", "parameters": [], - "src": "538:0:6" + "src": "575:0:6" }, - "scope": 536, - "src": "477:170:6", + "scope": 532, + "src": "514:184:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 534, + "id": 530, "nodeType": "Block", - "src": "817:74:6", + "src": "864:84:6", "statements": [ { "expression": { @@ -7189,19 +7091,19 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 526, + "id": 522, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 522, + "id": 518, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "831:7:6", + "referencedDeclaration": 512, + "src": "882:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7215,14 +7117,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 524, + "id": 520, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "850:1:6", + "src": "901:1:6", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7238,20 +7140,20 @@ "typeString": "int_const 0" } ], - "id": 523, + "id": 519, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "842:7:6", + "src": "893:7:6", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 525, + "id": 521, "isConstant": false, "isLValue": false, "isPure": true, @@ -7259,13 +7161,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "842:10:6", + "src": "893:10:6", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_address_payable", + "typeString": "address payable" } }, - "src": "831:21:6", + "src": "882:21:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7279,21 +7181,21 @@ "typeString": "bool" } ], - "id": 521, + "id": 517, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "823:7:6", + "referencedDeclaration": 892, + "src": "874:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 527, + "id": 523, "isConstant": false, "isLValue": false, "isPure": false, @@ -7301,15 +7203,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "823:30:6", + "src": "874:30:6", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 528, + "id": 524, "nodeType": "ExpressionStatement", - "src": "823:30:6" + "src": "874:30:6" }, { "expression": { @@ -7318,40 +7220,40 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 529, + "id": 525, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "866:4:6", + "referencedDeclaration": 510, + "src": "921:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 530, + "id": 526, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 448, - "src": "866:11:6", + "referencedDeclaration": 444, + "src": "921:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 532, + "id": 528, "indexExpression": { "argumentTypes": null, - "id": 531, + "id": 527, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "878:7:6", + "referencedDeclaration": 512, + "src": "933:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7362,53 +7264,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "866:20:6", + "src": "921:20:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 520, - "id": 533, + "functionReturnParameters": 516, + "id": 529, "nodeType": "Return", - "src": "859:27:6" + "src": "914:27:6" } ] }, "documentation": "@dev check if an account has this role\n@return bool", - "id": 535, + "id": 531, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 517, + "id": 513, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 514, + "id": 510, "name": "role", "nodeType": "VariableDeclaration", - "scope": 535, - "src": "738:17:6", + "scope": 531, + "src": "799:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 513, + "id": 509, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 449, - "src": "738:4:6", + "referencedDeclaration": 445, + "src": "799:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$449_storage_ptr", + "typeIdentifier": "t_struct$_Role_$445_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -7417,11 +7318,11 @@ }, { "constant": false, - "id": 516, + "id": 512, "name": "account", "nodeType": "VariableDeclaration", - "scope": 535, - "src": "757:15:6", + "scope": 531, + "src": "818:15:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7429,10 +7330,11 @@ "typeString": "address" }, "typeName": { - "id": 515, + "id": 511, "name": "address", "nodeType": "ElementaryTypeName", - "src": "757:7:6", + "src": "818:7:6", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7442,20 +7344,19 @@ "visibility": "internal" } ], - "src": "737:36:6" + "src": "798:36:6" }, - "payable": false, "returnParameters": { - "id": 520, + "id": 516, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 519, + "id": 515, "name": "", "nodeType": "VariableDeclaration", - "scope": 535, - "src": "809:4:6", + "scope": 531, + "src": "858:4:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7463,10 +7364,10 @@ "typeString": "bool" }, "typeName": { - "id": 518, + "id": 514, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "809:4:6", + "src": "858:4:6", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7476,20 +7377,20 @@ "visibility": "internal" } ], - "src": "808:6:6" + "src": "857:6:6" }, - "scope": 536, - "src": "725:166:6", + "scope": 532, + "src": "786:162:6", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 537, - "src": "109:784:6" + "scope": 533, + "src": "108:842:6" } ], - "src": "0:894:6" + "src": "0:951:6" }, "id": 6 }, @@ -7498,41 +7399,41 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 664 + 660 ] }, - "id": 665, + "id": 661, "nodeType": "SourceUnit", "nodes": [ { - "id": 538, + "id": 534, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:7" + "src": "0:23:7" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "library", - "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", + "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 664, + "id": 660, "linearizedBaseContracts": [ - 664 + 660 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 570, + "id": 566, "nodeType": "Block", - "src": "271:314:7", + "src": "296:354:7", "statements": [ { "condition": { @@ -7541,19 +7442,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 549, + "id": 545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 547, + "id": 543, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "486:1:7", + "referencedDeclaration": 536, + "src": "527:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7564,14 +7465,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 548, + "id": 544, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "491:1:7", + "src": "532:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7579,33 +7480,33 @@ }, "value": "0" }, - "src": "486:6:7", + "src": "527:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 553, + "id": 549, "nodeType": "IfStatement", - "src": "482:35:7", + "src": "523:45:7", "trueBody": { - "id": 552, + "id": 548, "nodeType": "Block", - "src": "494:23:7", + "src": "535:33:7", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 550, + "id": 546, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "509:1:7", + "src": "556:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7613,26 +7514,26 @@ }, "value": "0" }, - "functionReturnParameters": 546, - "id": 551, + "functionReturnParameters": 542, + "id": 547, "nodeType": "Return", - "src": "502:8:7" + "src": "549:8:7" } ] } }, { "assignments": [ - 555 + 551 ], "declarations": [ { "constant": false, - "id": 555, + "id": 551, "name": "c", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "523:9:7", + "scope": 566, + "src": "578:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7640,10 +7541,10 @@ "typeString": "uint256" }, "typeName": { - "id": 554, + "id": 550, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "523:7:7", + "src": "578:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7653,26 +7554,26 @@ "visibility": "internal" } ], - "id": 559, + "id": 555, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 558, + "id": 554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 556, + "id": 552, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "535:1:7", + "referencedDeclaration": 536, + "src": "590:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7682,25 +7583,25 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 557, + "id": 553, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "539:1:7", + "referencedDeclaration": 538, + "src": "594:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "535:5:7", + "src": "590:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "523:17:7" + "src": "578:17:7" }, { "expression": { @@ -7712,7 +7613,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 565, + "id": 561, "isConstant": false, "isLValue": false, "isPure": false, @@ -7723,19 +7624,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 563, + "id": 559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 561, + "id": 557, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 555, - "src": "554:1:7", + "referencedDeclaration": 551, + "src": "613:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7745,18 +7646,18 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 562, + "id": 558, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "558:1:7", + "referencedDeclaration": 536, + "src": "617:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "554:5:7", + "src": "613:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7766,18 +7667,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 564, + "id": 560, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 542, - "src": "563:1:7", + "referencedDeclaration": 538, + "src": "622:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "554:10:7", + "src": "613:10:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7791,21 +7692,21 @@ "typeString": "bool" } ], - "id": 560, + "id": 556, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "546:7:7", + "referencedDeclaration": 892, + "src": "605:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 566, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, @@ -7813,56 +7714,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "546:19:7", + "src": "605:19:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 567, + "id": 563, "nodeType": "ExpressionStatement", - "src": "546:19:7" + "src": "605:19:7" }, { "expression": { "argumentTypes": null, - "id": 568, + "id": 564, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 555, - "src": "579:1:7", + "referencedDeclaration": 551, + "src": "642:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 546, - "id": 569, + "functionReturnParameters": 542, + "id": 565, "nodeType": "Return", - "src": "572:8:7" + "src": "635:8:7" } ] }, - "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 571, + "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", + "id": 567, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 543, + "id": 539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 540, + "id": 536, "name": "a", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "217:9:7", + "scope": 567, + "src": "242:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7870,10 +7770,10 @@ "typeString": "uint256" }, "typeName": { - "id": 539, + "id": 535, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "217:7:7", + "src": "242:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7884,11 +7784,11 @@ }, { "constant": false, - "id": 542, + "id": 538, "name": "b", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "228:9:7", + "scope": 567, + "src": "253:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7896,10 +7796,10 @@ "typeString": "uint256" }, "typeName": { - "id": 541, + "id": 537, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "228:7:7", + "src": "253:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7909,20 +7809,19 @@ "visibility": "internal" } ], - "src": "216:22:7" + "src": "241:22:7" }, - "payable": false, "returnParameters": { - "id": 546, + "id": 542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 545, + "id": 541, "name": "", "nodeType": "VariableDeclaration", - "scope": 571, - "src": "262:7:7", + "scope": 567, + "src": "287:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7930,10 +7829,10 @@ "typeString": "uint256" }, "typeName": { - "id": 544, + "id": 540, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "262:7:7", + "src": "287:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7943,19 +7842,19 @@ "visibility": "internal" } ], - "src": "261:9:7" + "src": "286:9:7" }, - "scope": 664, - "src": "204:381:7", + "scope": 660, + "src": "229:421:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 594, + "id": 590, "nodeType": "Block", - "src": "762:203:7", + "src": "845:229:7", "statements": [ { "expression": { @@ -7967,19 +7866,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 583, + "id": 579, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 581, + "id": 577, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 575, - "src": "776:1:7", + "referencedDeclaration": 571, + "src": "929:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7990,14 +7889,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 582, + "id": 578, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "780:1:7", + "src": "933:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8005,7 +7904,7 @@ }, "value": "0" }, - "src": "776:5:7", + "src": "929:5:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8019,21 +7918,21 @@ "typeString": "bool" } ], - "id": 580, + "id": 576, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "768:7:7", + "referencedDeclaration": 892, + "src": "921:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 584, + "id": 580, "isConstant": false, "isLValue": false, "isPure": false, @@ -8041,28 +7940,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "768:14:7", + "src": "921:14:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 585, + "id": 581, "nodeType": "ExpressionStatement", - "src": "768:14:7" + "src": "921:14:7" }, { "assignments": [ - 587 + 583 ], "declarations": [ { "constant": false, - "id": 587, + "id": 583, "name": "c", "nodeType": "VariableDeclaration", - "scope": 595, - "src": "846:9:7", + "scope": 590, + "src": "945:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8070,10 +7969,10 @@ "typeString": "uint256" }, "typeName": { - "id": 586, + "id": 582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "846:7:7", + "src": "945:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8083,26 +7982,26 @@ "visibility": "internal" } ], - "id": 591, + "id": 587, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 590, + "id": 586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 588, + "id": 584, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 573, - "src": "858:1:7", + "referencedDeclaration": 569, + "src": "957:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8112,66 +8011,65 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 589, + "id": 585, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 575, - "src": "862:1:7", + "referencedDeclaration": 571, + "src": "961:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "858:5:7", + "src": "957:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "846:17:7" + "src": "945:17:7" }, { "expression": { "argumentTypes": null, - "id": 592, + "id": 588, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 587, - "src": "959:1:7", + "referencedDeclaration": 583, + "src": "1066:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 579, - "id": 593, + "functionReturnParameters": 575, + "id": 589, "nodeType": "Return", - "src": "952:8:7" + "src": "1059:8:7" } ] }, - "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 595, + "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", + "id": 591, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 576, + "id": 572, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 573, + "id": 569, "name": "a", "nodeType": "VariableDeclaration", - "scope": 595, - "src": "708:9:7", + "scope": 591, + "src": "791:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8179,10 +8077,10 @@ "typeString": "uint256" }, "typeName": { - "id": 572, + "id": 568, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "708:7:7", + "src": "791:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8193,11 +8091,11 @@ }, { "constant": false, - "id": 575, + "id": 571, "name": "b", "nodeType": "VariableDeclaration", - "scope": 595, - "src": "719:9:7", + "scope": 591, + "src": "802:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8205,10 +8103,10 @@ "typeString": "uint256" }, "typeName": { - "id": 574, + "id": 570, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "719:7:7", + "src": "802:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8218,20 +8116,19 @@ "visibility": "internal" } ], - "src": "707:22:7" + "src": "790:22:7" }, - "payable": false, "returnParameters": { - "id": 579, + "id": 575, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 578, + "id": 574, "name": "", "nodeType": "VariableDeclaration", - "scope": 595, - "src": "753:7:7", + "scope": 591, + "src": "836:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8239,10 +8136,10 @@ "typeString": "uint256" }, "typeName": { - "id": 577, + "id": 573, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "753:7:7", + "src": "836:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8252,19 +8149,19 @@ "visibility": "internal" } ], - "src": "752:9:7" + "src": "835:9:7" }, - "scope": 664, - "src": "695:270:7", + "scope": 660, + "src": "778:296:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 618, + "id": 614, "nodeType": "Block", - "src": "1145:64:7", + "src": "1272:78:7", "statements": [ { "expression": { @@ -8276,19 +8173,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 607, + "id": 603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 605, + "id": 601, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 599, - "src": "1159:1:7", + "referencedDeclaration": 595, + "src": "1290:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8298,18 +8195,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 606, + "id": 602, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "1164:1:7", + "referencedDeclaration": 593, + "src": "1295:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1159:6:7", + "src": "1290:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8323,21 +8220,21 @@ "typeString": "bool" } ], - "id": 604, + "id": 600, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1151:7:7", + "referencedDeclaration": 892, + "src": "1282:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 608, + "id": 604, "isConstant": false, "isLValue": false, "isPure": false, @@ -8345,28 +8242,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1151:15:7", + "src": "1282:15:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 609, + "id": 605, "nodeType": "ExpressionStatement", - "src": "1151:15:7" + "src": "1282:15:7" }, { "assignments": [ - 611 + 607 ], "declarations": [ { "constant": false, - "id": 611, + "id": 607, "name": "c", "nodeType": "VariableDeclaration", - "scope": 619, - "src": "1172:9:7", + "scope": 614, + "src": "1307:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8374,10 +8271,10 @@ "typeString": "uint256" }, "typeName": { - "id": 610, + "id": 606, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1172:7:7", + "src": "1307:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8387,26 +8284,26 @@ "visibility": "internal" } ], - "id": 615, + "id": 611, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 614, + "id": 610, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 612, + "id": 608, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 597, - "src": "1184:1:7", + "referencedDeclaration": 593, + "src": "1319:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8416,66 +8313,65 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 613, + "id": 609, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 599, - "src": "1188:1:7", + "referencedDeclaration": 595, + "src": "1323:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1184:5:7", + "src": "1319:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1172:17:7" + "src": "1307:17:7" }, { "expression": { "argumentTypes": null, - "id": 616, + "id": 612, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1203:1:7", + "referencedDeclaration": 607, + "src": "1342:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 603, - "id": 617, + "functionReturnParameters": 599, + "id": 613, "nodeType": "Return", - "src": "1196:8:7" + "src": "1335:8:7" } ] }, - "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 619, + "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", + "id": 615, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 600, + "id": 596, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 597, + "id": 593, "name": "a", "nodeType": "VariableDeclaration", - "scope": 619, - "src": "1091:9:7", + "scope": 615, + "src": "1218:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8483,10 +8379,10 @@ "typeString": "uint256" }, "typeName": { - "id": 596, + "id": 592, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1091:7:7", + "src": "1218:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8497,11 +8393,11 @@ }, { "constant": false, - "id": 599, + "id": 595, "name": "b", "nodeType": "VariableDeclaration", - "scope": 619, - "src": "1102:9:7", + "scope": 615, + "src": "1229:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8509,10 +8405,10 @@ "typeString": "uint256" }, "typeName": { - "id": 598, + "id": 594, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1102:7:7", + "src": "1229:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8522,20 +8418,19 @@ "visibility": "internal" } ], - "src": "1090:22:7" + "src": "1217:22:7" }, - "payable": false, "returnParameters": { - "id": 603, + "id": 599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 602, + "id": 598, "name": "", "nodeType": "VariableDeclaration", - "scope": 619, - "src": "1136:7:7", + "scope": 615, + "src": "1263:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8543,10 +8438,10 @@ "typeString": "uint256" }, "typeName": { - "id": 601, + "id": 597, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1136:7:7", + "src": "1263:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8556,32 +8451,32 @@ "visibility": "internal" } ], - "src": "1135:9:7" + "src": "1262:9:7" }, - "scope": 664, - "src": "1078:131:7", + "scope": 660, + "src": "1205:145:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 642, + "id": 638, "nodeType": "Block", - "src": "1339:64:7", + "src": "1498:78:7", "statements": [ { "assignments": [ - 629 + 625 ], "declarations": [ { "constant": false, - "id": 629, + "id": 625, "name": "c", "nodeType": "VariableDeclaration", - "scope": 643, - "src": "1345:9:7", + "scope": 638, + "src": "1508:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8589,10 +8484,10 @@ "typeString": "uint256" }, "typeName": { - "id": 628, + "id": 624, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1345:7:7", + "src": "1508:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8602,26 +8497,26 @@ "visibility": "internal" } ], - "id": 633, + "id": 629, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 632, + "id": 628, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 630, + "id": 626, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "1357:1:7", + "referencedDeclaration": 617, + "src": "1520:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8631,25 +8526,25 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 631, + "id": 627, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 623, - "src": "1361:1:7", + "referencedDeclaration": 619, + "src": "1524:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1357:5:7", + "src": "1520:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1345:17:7" + "src": "1508:17:7" }, { "expression": { @@ -8661,19 +8556,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 637, + "id": 633, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 635, + "id": 631, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 629, - "src": "1376:1:7", + "referencedDeclaration": 625, + "src": "1543:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8683,18 +8578,18 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 636, + "id": 632, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "1381:1:7", + "referencedDeclaration": 617, + "src": "1548:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1376:6:7", + "src": "1543:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8708,21 +8603,21 @@ "typeString": "bool" } ], - "id": 634, + "id": 630, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1368:7:7", + "referencedDeclaration": 892, + "src": "1535:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 638, + "id": 634, "isConstant": false, "isLValue": false, "isPure": false, @@ -8730,56 +8625,55 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1368:15:7", + "src": "1535:15:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 639, + "id": 635, "nodeType": "ExpressionStatement", - "src": "1368:15:7" + "src": "1535:15:7" }, { "expression": { "argumentTypes": null, - "id": 640, + "id": 636, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 629, - "src": "1397:1:7", + "referencedDeclaration": 625, + "src": "1568:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 627, - "id": 641, + "functionReturnParameters": 623, + "id": 637, "nodeType": "Return", - "src": "1390:8:7" + "src": "1561:8:7" } ] }, - "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 643, + "documentation": "@dev Adds two unsigned integers, reverts on overflow.", + "id": 639, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 624, + "id": 620, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 621, + "id": 617, "name": "a", "nodeType": "VariableDeclaration", - "scope": 643, - "src": "1285:9:7", + "scope": 639, + "src": "1444:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8787,10 +8681,10 @@ "typeString": "uint256" }, "typeName": { - "id": 620, + "id": 616, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1285:7:7", + "src": "1444:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8801,11 +8695,11 @@ }, { "constant": false, - "id": 623, + "id": 619, "name": "b", "nodeType": "VariableDeclaration", - "scope": 643, - "src": "1296:9:7", + "scope": 639, + "src": "1455:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8813,10 +8707,10 @@ "typeString": "uint256" }, "typeName": { - "id": 622, + "id": 618, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1296:7:7", + "src": "1455:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8826,20 +8720,19 @@ "visibility": "internal" } ], - "src": "1284:22:7" + "src": "1443:22:7" }, - "payable": false, "returnParameters": { - "id": 627, + "id": 623, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 626, + "id": 622, "name": "", "nodeType": "VariableDeclaration", - "scope": 643, - "src": "1330:7:7", + "scope": 639, + "src": "1489:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8847,10 +8740,10 @@ "typeString": "uint256" }, "typeName": { - "id": 625, + "id": 621, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1330:7:7", + "src": "1489:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8860,19 +8753,19 @@ "visibility": "internal" } ], - "src": "1329:9:7" + "src": "1488:9:7" }, - "scope": 664, - "src": "1272:131:7", + "scope": 660, + "src": "1431:145:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 662, + "id": 658, "nodeType": "Block", - "src": "1602:44:7", + "src": "1795:54:7", "statements": [ { "expression": { @@ -8884,19 +8777,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 655, + "id": 651, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 653, + "id": 649, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "1616:1:7", + "referencedDeclaration": 643, + "src": "1813:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8907,14 +8800,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 654, + "id": 650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1621:1:7", + "src": "1818:1:7", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -8922,7 +8815,7 @@ }, "value": "0" }, - "src": "1616:6:7", + "src": "1813:6:7", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8936,21 +8829,21 @@ "typeString": "bool" } ], - "id": 652, + "id": 648, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1608:7:7", + "referencedDeclaration": 892, + "src": "1805:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 656, + "id": 652, "isConstant": false, "isLValue": false, "isPure": false, @@ -8958,15 +8851,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1608:15:7", + "src": "1805:15:7", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 657, + "id": 653, "nodeType": "ExpressionStatement", - "src": "1608:15:7" + "src": "1805:15:7" }, { "expression": { @@ -8975,19 +8868,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 660, + "id": 656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 658, + "id": 654, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "1636:1:7", + "referencedDeclaration": 641, + "src": "1837:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8997,49 +8890,48 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 659, + "id": 655, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "1640:1:7", + "referencedDeclaration": 643, + "src": "1841:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1636:5:7", + "src": "1837:5:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 651, - "id": 661, + "functionReturnParameters": 647, + "id": 657, "nodeType": "Return", - "src": "1629:12:7" + "src": "1830:12:7" } ] }, - "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 663, + "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", + "id": 659, "implemented": true, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 648, + "id": 644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 645, + "id": 641, "name": "a", "nodeType": "VariableDeclaration", - "scope": 663, - "src": "1548:9:7", + "scope": 659, + "src": "1741:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9047,10 +8939,10 @@ "typeString": "uint256" }, "typeName": { - "id": 644, + "id": 640, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1548:7:7", + "src": "1741:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9061,11 +8953,11 @@ }, { "constant": false, - "id": 647, + "id": 643, "name": "b", "nodeType": "VariableDeclaration", - "scope": 663, - "src": "1559:9:7", + "scope": 659, + "src": "1752:9:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9073,10 +8965,10 @@ "typeString": "uint256" }, "typeName": { - "id": 646, + "id": 642, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1559:7:7", + "src": "1752:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9086,20 +8978,19 @@ "visibility": "internal" } ], - "src": "1547:22:7" + "src": "1740:22:7" }, - "payable": false, "returnParameters": { - "id": 651, + "id": 647, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 650, + "id": 646, "name": "", "nodeType": "VariableDeclaration", - "scope": 663, - "src": "1593:7:7", + "scope": 659, + "src": "1786:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9107,10 +8998,10 @@ "typeString": "uint256" }, "typeName": { - "id": 649, + "id": 645, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1593:7:7", + "src": "1786:7:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9120,20 +9011,20 @@ "visibility": "internal" } ], - "src": "1592:9:7" + "src": "1785:9:7" }, - "scope": 664, - "src": "1535:111:7", + "scope": 660, + "src": "1728:121:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 665, - "src": "117:1531:7" + "scope": 661, + "src": "125:1726:7" } ], - "src": "0:1649:7" + "src": "0:1852:7" }, "id": 7 }, @@ -9142,22 +9033,22 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 733 + 729 ] }, - "id": 734, + "id": 730, "nodeType": "SourceUnit", "nodes": [ { - "id": 666, + "id": 662, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:8" + "src": "0:23:8" }, { "baseContracts": [], @@ -9165,9 +9056,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 733, + "id": 729, "linearizedBaseContracts": [ - 733 + 729 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -9177,18 +9068,70 @@ "documentation": null, "id": 671, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "totalSupply", + "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { "id": 667, "nodeType": "ParameterList", - "parameters": [], - "src": "156:2:8" + "parameters": [ + { + "constant": false, + "id": 664, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 671, + "src": "155:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 663, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 666, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 671, + "src": "167:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "167:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "154:27:8" }, - "payable": false, "returnParameters": { "id": 670, "nodeType": "ParameterList", @@ -9199,56 +9142,55 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 671, - "src": "182:7:8", + "src": "200:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" }, "typeName": { "id": 668, - "name": "uint256", + "name": "bool", "nodeType": "ElementaryTypeName", - "src": "182:7:8", + "src": "200:4:8", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, "value": null, "visibility": "internal" } ], - "src": "181:9:8" + "src": "199:6:8" }, - "scope": 733, - "src": "136:55:8", - "stateMutability": "view", + "scope": 729, + "src": "137:69:8", + "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, - "id": 678, + "id": 680, "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, + "kind": "function", "modifiers": [], - "name": "balanceOf", + "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 674, + "id": 676, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 673, - "name": "who", + "name": "spender", "nodeType": "VariableDeclaration", - "scope": 678, - "src": "214:11:8", + "scope": 680, + "src": "229:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9259,90 +9201,8 @@ "id": 672, "name": "address", "nodeType": "ElementaryTypeName", - "src": "214:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "213:13:8" - }, - "payable": false, - "returnParameters": { - "id": 677, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 676, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 678, - "src": "250:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "250:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "249:9:8" - }, - "scope": 733, - "src": "195:64:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 687, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": true, - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 683, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 680, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 687, - "src": "282:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 679, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "282:7:8", + "src": "229:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9353,11 +9213,92 @@ }, { "constant": false, - "id": 682, - "name": "spender", + "id": 675, + "name": "value", "nodeType": "VariableDeclaration", - "scope": 687, - "src": "297:15:8", + "scope": 680, + "src": "246:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 674, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "246:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "228:32:8" + }, + "returnParameters": { + "id": 679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 678, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 680, + "src": "279:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 677, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "279:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:6:8" + }, + "scope": 729, + "src": "212:73:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 691, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 687, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 682, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 691, + "src": "313:12:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9368,90 +9309,8 @@ "id": 681, "name": "address", "nodeType": "ElementaryTypeName", - "src": "297:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "281:32:8" - }, - "payable": false, - "returnParameters": { - "id": 686, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 685, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 687, - "src": "341:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 684, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "341:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "340:9:8" - }, - "scope": 733, - "src": "263:87:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 696, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 696, - "src": "372:10:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 688, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:8", + "src": "313:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9462,11 +9321,38 @@ }, { "constant": false, - "id": 691, + "id": 684, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 691, + "src": "327:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 683, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "327:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 686, "name": "value", "nodeType": "VariableDeclaration", - "scope": 696, - "src": "384:13:8", + "scope": 691, + "src": "339:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9474,10 +9360,10 @@ "typeString": "uint256" }, "typeName": { - "id": 690, + "id": 685, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "384:7:8", + "src": "339:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9487,9 +9373,62 @@ "visibility": "internal" } ], - "src": "371:27:8" + "src": "312:41:8" + }, + "returnParameters": { + "id": 690, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 689, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 691, + "src": "372:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 688, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "372:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "371:6:8" + }, + "scope": 729, + "src": "291:87:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 696, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 692, + "nodeType": "ParameterList", + "parameters": [], + "src": "404:2:8" }, - "payable": false, "returnParameters": { "id": 695, "nodeType": "ParameterList", @@ -9500,56 +9439,55 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 696, - "src": "417:4:8", + "src": "430:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { "id": 693, - "name": "bool", + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "417:4:8", + "src": "430:7:8", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "416:6:8" + "src": "429:9:8" }, - "scope": 733, - "src": "354:69:8", - "stateMutability": "nonpayable", + "scope": 729, + "src": "384:55:8", + "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": null, - "id": 705, + "id": 703, "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], - "name": "approve", + "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 701, + "id": 699, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 698, - "name": "spender", + "name": "who", "nodeType": "VariableDeclaration", - "scope": 705, - "src": "444:15:8", + "scope": 703, + "src": "464:11:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9560,7 +9498,90 @@ "id": 697, "name": "address", "nodeType": "ElementaryTypeName", - "src": "444:7:8", + "src": "464:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "463:13:8" + }, + "returnParameters": { + "id": 702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 701, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 703, + "src": "500:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "500:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "499:9:8" + }, + "scope": 729, + "src": "445:64:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 712, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 705, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 712, + "src": "534:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 704, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "534:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9569,96 +9590,13 @@ "value": null, "visibility": "internal" }, - { - "constant": false, - "id": 700, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 705, - "src": "461:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "443:32:8" - }, - "payable": false, - "returnParameters": { - "id": 704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 703, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 705, - "src": "498:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 702, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "498:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "497:6:8" - }, - "scope": 733, - "src": "427:77:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 716, - "implemented": false, - "isConstructor": false, - "isDeclaredConst": false, - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 712, - "nodeType": "ParameterList", - "parameters": [ { "constant": false, "id": 707, - "name": "from", + "name": "spender", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "530:12:8", + "scope": 712, + "src": "549:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9669,7 +9607,8 @@ "id": 706, "name": "address", "nodeType": "ElementaryTypeName", - "src": "530:7:8", + "src": "549:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9677,40 +9616,21 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "533:32:8" + }, + "returnParameters": { + "id": 711, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 709, - "name": "to", + "id": 710, + "name": "", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "544:10:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "544:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 711, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "556:13:8", + "scope": 712, + "src": "589:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9718,10 +9638,10 @@ "typeString": "uint256" }, "typeName": { - "id": 710, + "id": 709, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "556:7:8", + "src": "589:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9731,66 +9651,32 @@ "visibility": "internal" } ], - "src": "529:41:8" + "src": "588:9:8" }, - "payable": false, - "returnParameters": { - "id": 715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 714, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "593:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 713, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "593:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "592:6:8" - }, - "scope": 733, - "src": "508:91:8", - "stateMutability": "nonpayable", + "scope": 729, + "src": "515:83:8", + "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "anonymous": false, "documentation": null, - "id": 724, + "id": 720, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 723, + "id": 719, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 718, + "id": 714, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 724, - "src": "623:20:8", + "scope": 720, + "src": "619:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9798,10 +9684,11 @@ "typeString": "address" }, "typeName": { - "id": 717, + "id": 713, "name": "address", "nodeType": "ElementaryTypeName", - "src": "623:7:8", + "src": "619:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9812,12 +9699,12 @@ }, { "constant": false, - "id": 720, + "id": 716, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 724, - "src": "649:18:8", + "scope": 720, + "src": "641:18:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9825,10 +9712,11 @@ "typeString": "address" }, "typeName": { - "id": 719, + "id": 715, "name": "address", "nodeType": "ElementaryTypeName", - "src": "649:7:8", + "src": "641:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9839,12 +9727,12 @@ }, { "constant": false, - "id": 722, + "id": 718, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 724, - "src": "673:13:8", + "scope": 720, + "src": "661:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9852,10 +9740,10 @@ "typeString": "uint256" }, "typeName": { - "id": 721, + "id": 717, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "673:7:8", + "src": "661:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9865,28 +9753,28 @@ "visibility": "internal" } ], - "src": "617:73:8" + "src": "618:57:8" }, - "src": "603:88:8" + "src": "604:72:8" }, { "anonymous": false, "documentation": null, - "id": 732, + "id": 728, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 731, + "id": 727, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 726, + "id": 722, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 732, - "src": "715:21:8", + "scope": 728, + "src": "697:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9894,10 +9782,11 @@ "typeString": "address" }, "typeName": { - "id": 725, + "id": 721, "name": "address", "nodeType": "ElementaryTypeName", - "src": "715:7:8", + "src": "697:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9908,12 +9797,12 @@ }, { "constant": false, - "id": 728, + "id": 724, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 732, - "src": "742:23:8", + "scope": 728, + "src": "720:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9921,10 +9810,11 @@ "typeString": "address" }, "typeName": { - "id": 727, + "id": 723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "742:7:8", + "src": "720:7:8", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9935,12 +9825,12 @@ }, { "constant": false, - "id": 730, + "id": 726, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 732, - "src": "771:13:8", + "scope": 728, + "src": "745:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9948,10 +9838,10 @@ "typeString": "uint256" }, "typeName": { - "id": 729, + "id": 725, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "771:7:8", + "src": "745:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9961,16 +9851,16 @@ "visibility": "internal" } ], - "src": "709:79:8" + "src": "696:63:8" }, - "src": "695:94:8" + "src": "682:78:8" } ], - "scope": 734, - "src": "115:676:8" + "scope": 730, + "src": "114:648:8" } ], - "src": "0:792:8" + "src": "0:763:8" }, "id": 8 }, @@ -9979,42 +9869,42 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/SafeERC20.sol", "exportedSymbols": { "SafeERC20": [ - 877 + 874 ] }, - "id": 878, + "id": 875, "nodeType": "SourceUnit", "nodes": [ { - "id": 735, + "id": 731, "literals": [ "solidity", "^", - "0.4", - ".24" + "0.5", + ".0" ], "nodeType": "PragmaDirective", - "src": "0:24:9" + "src": "0:23:9" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 736, + "id": 732, "nodeType": "ImportDirective", - "scope": 878, - "sourceUnit": 734, - "src": "26:22:9", + "scope": 875, + "sourceUnit": 730, + "src": "25:22:9", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 737, + "id": 733, "nodeType": "ImportDirective", - "scope": 878, - "sourceUnit": 665, - "src": "49:33:9", + "scope": 875, + "sourceUnit": 661, + "src": "48:33:9", "symbolAliases": [], "unitAlias": "" }, @@ -10024,31 +9914,31 @@ "contractKind": "library", "documentation": "@title SafeERC20\n@dev Wrappers around ERC20 operations that throw on failure.\nTo use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,\nwhich allows you to call the safe operations as `token.safeTransfer(...)`, etc.", "fullyImplemented": true, - "id": 877, + "id": 874, "linearizedBaseContracts": [ - 877 + 874 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 740, + "id": 736, "libraryName": { "contractScope": null, - "id": 738, + "id": 734, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 664, + "referencedDeclaration": 660, "src": "382:8:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$664", + "typeIdentifier": "t_contract$_SafeMath_$660", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "376:27:9", "typeName": { - "id": 739, + "id": 735, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "395:7:9", @@ -10060,9 +9950,9 @@ }, { "body": { - "id": 757, + "id": 753, "nodeType": "Block", - "src": "501:45:9", + "src": "481:51:9", "statements": [ { "expression": { @@ -10073,12 +9963,12 @@ "arguments": [ { "argumentTypes": null, - "id": 752, + "id": 748, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 744, - "src": "530:2:9", + "referencedDeclaration": 740, + "src": "514:2:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10086,12 +9976,12 @@ }, { "argumentTypes": null, - "id": 753, + "id": 749, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 746, - "src": "534:5:9", + "referencedDeclaration": 742, + "src": "518:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10111,32 +10001,32 @@ ], "expression": { "argumentTypes": null, - "id": 750, + "id": 746, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "515:5:9", + "referencedDeclaration": 738, + "src": "499:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 751, + "id": 747, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 696, - "src": "515:14:9", + "referencedDeclaration": 671, + "src": "499:14:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 754, + "id": 750, "isConstant": false, "isLValue": false, "isPure": false, @@ -10144,7 +10034,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "515:25:9", + "src": "499:25:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10158,21 +10048,21 @@ "typeString": "bool" } ], - "id": 749, + "id": 745, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "507:7:9", + "referencedDeclaration": 892, + "src": "491:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 755, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, @@ -10180,52 +10070,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "507:34:9", + "src": "491:34:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 756, + "id": 752, "nodeType": "ExpressionStatement", - "src": "507:34:9" + "src": "491:34:9" } ] }, "documentation": null, - "id": 758, + "id": 754, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 747, + "id": 743, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 742, + "id": 738, "name": "token", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "434:12:9", + "scope": 754, + "src": "431:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 741, + "id": 737, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 733, - "src": "434:6:9", + "referencedDeclaration": 729, + "src": "431:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, @@ -10234,11 +10123,11 @@ }, { "constant": false, - "id": 744, + "id": 740, "name": "to", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "452:10:9", + "scope": 754, + "src": "445:10:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10246,10 +10135,11 @@ "typeString": "address" }, "typeName": { - "id": 743, + "id": 739, "name": "address", "nodeType": "ElementaryTypeName", - "src": "452:7:9", + "src": "445:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10260,11 +10150,11 @@ }, { "constant": false, - "id": 746, + "id": 742, "name": "value", "nodeType": "VariableDeclaration", - "scope": 758, - "src": "468:13:9", + "scope": 754, + "src": "457:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10272,10 +10162,10 @@ "typeString": "uint256" }, "typeName": { - "id": 745, + "id": 741, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "468:7:9", + "src": "457:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10285,26 +10175,25 @@ "visibility": "internal" } ], - "src": "428:57:9" + "src": "430:41:9" }, - "payable": false, "returnParameters": { - "id": 748, + "id": 744, "nodeType": "ParameterList", "parameters": [], - "src": "501:0:9" + "src": "481:0:9" }, - "scope": 877, - "src": "407:139:9", + "scope": 874, + "src": "409:123:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 778, + "id": 774, "nodeType": "Block", - "src": "666:55:9", + "src": "628:61:9", "statements": [ { "expression": { @@ -10315,12 +10204,12 @@ "arguments": [ { "argumentTypes": null, - "id": 772, + "id": 768, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 762, - "src": "699:4:9", + "referencedDeclaration": 758, + "src": "665:4:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10328,12 +10217,12 @@ }, { "argumentTypes": null, - "id": 773, + "id": 769, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 764, - "src": "705:2:9", + "referencedDeclaration": 760, + "src": "671:2:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10341,12 +10230,12 @@ }, { "argumentTypes": null, - "id": 774, + "id": 770, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "709:5:9", + "referencedDeclaration": 762, + "src": "675:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10370,32 +10259,32 @@ ], "expression": { "argumentTypes": null, - "id": 770, + "id": 766, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 760, - "src": "680:5:9", + "referencedDeclaration": 756, + "src": "646:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 771, + "id": 767, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 716, - "src": "680:18:9", + "referencedDeclaration": 691, + "src": "646:18:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) external returns (bool)" } }, - "id": 775, + "id": 771, "isConstant": false, "isLValue": false, "isPure": false, @@ -10403,7 +10292,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "680:35:9", + "src": "646:35:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10417,21 +10306,21 @@ "typeString": "bool" } ], - "id": 769, + "id": 765, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "672:7:9", + "referencedDeclaration": 892, + "src": "638:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 776, + "id": 772, "isConstant": false, "isLValue": false, "isPure": false, @@ -10439,117 +10328,118 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "672:44:9", + "src": "638:44:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 777, + "id": 773, "nodeType": "ExpressionStatement", - "src": "672:44:9" + "src": "638:44:9" } ] }, "documentation": null, - "id": 779, + "id": 775, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 767, + "id": 763, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 760, + "id": 756, "name": "token", "nodeType": "VariableDeclaration", - "scope": 779, - "src": "581:12:9", + "scope": 775, + "src": "564:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 759, + "id": 755, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 733, - "src": "581:6:9", + "referencedDeclaration": 729, + "src": "564:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, "value": null, "visibility": "internal" }, + { + "constant": false, + "id": 758, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "578:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "578:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 760, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "592:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 759, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "592:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, { "constant": false, "id": 762, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 779, - "src": "599:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 761, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "599:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 764, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 779, - "src": "617:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 763, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "617:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 766, "name": "value", "nodeType": "VariableDeclaration", - "scope": 779, - "src": "633:13:9", + "scope": 775, + "src": "604:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10557,10 +10447,10 @@ "typeString": "uint256" }, "typeName": { - "id": 765, + "id": 761, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "633:7:9", + "src": "604:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10570,26 +10460,25 @@ "visibility": "internal" } ], - "src": "575:75:9" + "src": "563:55:9" }, - "payable": false, "returnParameters": { - "id": 768, + "id": 764, "nodeType": "ParameterList", "parameters": [], - "src": "666:0:9" + "src": "628:0:9" }, - "scope": 877, - "src": "550:171:9", + "scope": 874, + "src": "538:151:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 813, + "id": 810, "nodeType": "Block", - "src": "823:330:9", + "src": "771:353:9", "statements": [ { "expression": { @@ -10601,7 +10490,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 802, + "id": 799, "isConstant": false, "isLValue": false, "isPure": false, @@ -10615,19 +10504,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 791, + "id": 787, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 789, + "id": 785, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "1045:5:9", + "referencedDeclaration": 781, + "src": "1007:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10638,14 +10527,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 790, + "id": 786, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1054:1:9", + "src": "1016:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10653,21 +10542,21 @@ }, "value": "0" }, - "src": "1045:10:9", + "src": "1007:10:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 792, + "id": 788, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1044:12:9", + "src": "1006:12:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10684,7 +10573,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 800, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -10694,28 +10583,50 @@ "arguments": [ { "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 795, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 892, - "src": "1077:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "arguments": [ + { + "argumentTypes": null, + "id": 792, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 913, + "src": "1047:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeERC20_$874", + "typeString": "library SafeERC20" + } } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SafeERC20_$874", + "typeString": "library SafeERC20" + } + ], + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1039:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 796, + "id": 793, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1077:10:9", + "names": [], + "nodeType": "FunctionCall", + "src": "1039:13:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10723,12 +10634,12 @@ }, { "argumentTypes": null, - "id": 797, + "id": 794, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "1089:7:9", + "referencedDeclaration": 779, + "src": "1054:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10748,32 +10659,32 @@ ], "expression": { "argumentTypes": null, - "id": 793, + "id": 789, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "1061:5:9", + "referencedDeclaration": 777, + "src": "1023:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 794, + "id": 790, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 687, - "src": "1061:15:9", + "referencedDeclaration": 712, + "src": "1023:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 798, + "id": 795, "isConstant": false, "isLValue": false, "isPure": false, @@ -10781,7 +10692,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1061:36:9", + "src": "1023:39:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10792,14 +10703,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 799, + "id": 796, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1101:1:9", + "src": "1066:1:9", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10807,27 +10718,27 @@ }, "value": "0" }, - "src": "1061:41:9", + "src": "1023:44:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 801, + "id": 798, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1060:43:9", + "src": "1022:46:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1044:59:9", + "src": "1006:62:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10841,21 +10752,21 @@ "typeString": "bool" } ], - "id": 788, + "id": 784, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1036:7:9", + "referencedDeclaration": 892, + "src": "998:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 803, + "id": 800, "isConstant": false, "isLValue": false, "isPure": false, @@ -10863,15 +10774,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1036:68:9", + "src": "998:71:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 804, + "id": 801, "nodeType": "ExpressionStatement", - "src": "1036:68:9" + "src": "998:71:9" }, { "expression": { @@ -10882,12 +10793,12 @@ "arguments": [ { "argumentTypes": null, - "id": 808, + "id": 805, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "1132:7:9", + "referencedDeclaration": 779, + "src": "1101:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10895,12 +10806,12 @@ }, { "argumentTypes": null, - "id": 809, + "id": 806, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 785, - "src": "1141:5:9", + "referencedDeclaration": 781, + "src": "1110:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10920,32 +10831,32 @@ ], "expression": { "argumentTypes": null, - "id": 806, + "id": 803, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 781, - "src": "1118:5:9", + "referencedDeclaration": 777, + "src": "1087:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 807, + "id": 804, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 705, - "src": "1118:13:9", + "referencedDeclaration": 680, + "src": "1087:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 810, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -10953,7 +10864,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1118:29:9", + "src": "1087:29:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10967,21 +10878,21 @@ "typeString": "bool" } ], - "id": 805, + "id": 802, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1110:7:9", + "referencedDeclaration": 892, + "src": "1079:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 811, + "id": 808, "isConstant": false, "isLValue": false, "isPure": false, @@ -10989,52 +10900,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1110:38:9", + "src": "1079:38:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 812, + "id": 809, "nodeType": "ExpressionStatement", - "src": "1110:38:9" + "src": "1079:38:9" } ] }, "documentation": null, - "id": 814, + "id": 811, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 786, + "id": 782, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 781, + "id": 777, "name": "token", "nodeType": "VariableDeclaration", - "scope": 814, - "src": "751:12:9", + "scope": 811, + "src": "716:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 780, + "id": 776, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 733, - "src": "751:6:9", + "referencedDeclaration": 729, + "src": "716:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, @@ -11043,11 +10953,11 @@ }, { "constant": false, - "id": 783, + "id": 779, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 814, - "src": "769:15:9", + "scope": 811, + "src": "730:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11055,10 +10965,11 @@ "typeString": "address" }, "typeName": { - "id": 782, + "id": 778, "name": "address", "nodeType": "ElementaryTypeName", - "src": "769:7:9", + "src": "730:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11069,11 +10980,11 @@ }, { "constant": false, - "id": 785, + "id": 781, "name": "value", "nodeType": "VariableDeclaration", - "scope": 814, - "src": "790:13:9", + "scope": 811, + "src": "747:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11081,10 +10992,10 @@ "typeString": "uint256" }, "typeName": { - "id": 784, + "id": 780, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "790:7:9", + "src": "747:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11094,39 +11005,38 @@ "visibility": "internal" } ], - "src": "745:62:9" + "src": "715:46:9" }, - "payable": false, "returnParameters": { - "id": 787, + "id": 783, "nodeType": "ParameterList", "parameters": [], - "src": "823:0:9" + "src": "771:0:9" }, - "scope": 877, - "src": "725:428:9", + "scope": 874, + "src": "695:429:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 844, + "id": 841, "nodeType": "Block", - "src": "1265:135:9", + "src": "1216:145:9", "statements": [ { "assignments": [ - 824 + 821 ], "declarations": [ { "constant": false, - "id": 824, + "id": 821, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 845, - "src": "1271:20:9", + "scope": 841, + "src": "1226:20:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11134,10 +11044,10 @@ "typeString": "uint256" }, "typeName": { - "id": 823, + "id": 820, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1271:7:9", + "src": "1226:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11147,18 +11057,18 @@ "visibility": "internal" } ], - "id": 835, + "id": 832, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 833, + "id": 830, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "1338:5:9", + "referencedDeclaration": 817, + "src": "1293:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11180,14 +11090,14 @@ "arguments": [ { "argumentTypes": null, - "id": 828, + "id": 825, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "1318:4:9", + "referencedDeclaration": 913, + "src": "1273:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$877", + "typeIdentifier": "t_contract$_SafeERC20_$874", "typeString": "library SafeERC20" } } @@ -11195,24 +11105,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$877", + "typeIdentifier": "t_contract$_SafeERC20_$874", "typeString": "library SafeERC20" } ], - "id": 827, + "id": 824, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1310:7:9", + "src": "1265:7:9", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 829, + "id": 826, "isConstant": false, "isLValue": false, "isPure": false, @@ -11220,7 +11130,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1310:13:9", + "src": "1265:13:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11228,12 +11138,12 @@ }, { "argumentTypes": null, - "id": 830, + "id": 827, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "1325:7:9", + "referencedDeclaration": 815, + "src": "1280:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11253,32 +11163,32 @@ ], "expression": { "argumentTypes": null, - "id": 825, + "id": 822, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "1294:5:9", + "referencedDeclaration": 813, + "src": "1249:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 826, + "id": 823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 687, - "src": "1294:15:9", + "referencedDeclaration": 712, + "src": "1249:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 831, + "id": 828, "isConstant": false, "isLValue": false, "isPure": false, @@ -11286,27 +11196,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1294:39:9", + "src": "1249:39:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 832, + "id": 829, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 643, - "src": "1294:43:9", + "referencedDeclaration": 639, + "src": "1249:43:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 834, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -11314,14 +11224,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1294:50:9", + "src": "1249:50:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1271:73:9" + "src": "1226:73:9" }, { "expression": { @@ -11332,12 +11242,12 @@ "arguments": [ { "argumentTypes": null, - "id": 839, + "id": 836, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 818, - "src": "1372:7:9", + "referencedDeclaration": 815, + "src": "1331:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11345,12 +11255,12 @@ }, { "argumentTypes": null, - "id": 840, + "id": 837, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "1381:12:9", + "referencedDeclaration": 821, + "src": "1340:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11370,32 +11280,32 @@ ], "expression": { "argumentTypes": null, - "id": 837, + "id": 834, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 816, - "src": "1358:5:9", + "referencedDeclaration": 813, + "src": "1317:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 838, + "id": 835, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 705, - "src": "1358:13:9", + "referencedDeclaration": 680, + "src": "1317:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 841, + "id": 838, "isConstant": false, "isLValue": false, "isPure": false, @@ -11403,7 +11313,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1358:36:9", + "src": "1317:36:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11417,21 +11327,21 @@ "typeString": "bool" } ], - "id": 836, + "id": 833, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1350:7:9", + "referencedDeclaration": 892, + "src": "1309:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 842, + "id": 839, "isConstant": false, "isLValue": false, "isPure": false, @@ -11439,52 +11349,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1350:45:9", + "src": "1309:45:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 843, + "id": 840, "nodeType": "ExpressionStatement", - "src": "1350:45:9" + "src": "1309:45:9" } ] }, "documentation": null, - "id": 845, + "id": 842, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeIncreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 821, + "id": 818, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 816, + "id": 813, "name": "token", "nodeType": "VariableDeclaration", - "scope": 845, - "src": "1193:12:9", + "scope": 842, + "src": "1161:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 815, + "id": 812, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 733, - "src": "1193:6:9", + "referencedDeclaration": 729, + "src": "1161:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, @@ -11493,11 +11402,11 @@ }, { "constant": false, - "id": 818, + "id": 815, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 845, - "src": "1211:15:9", + "scope": 842, + "src": "1175:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11505,10 +11414,11 @@ "typeString": "address" }, "typeName": { - "id": 817, + "id": 814, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1211:7:9", + "src": "1175:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11519,11 +11429,11 @@ }, { "constant": false, - "id": 820, + "id": 817, "name": "value", "nodeType": "VariableDeclaration", - "scope": 845, - "src": "1232:13:9", + "scope": 842, + "src": "1192:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11531,10 +11441,10 @@ "typeString": "uint256" }, "typeName": { - "id": 819, + "id": 816, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1232:7:9", + "src": "1192:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11544,39 +11454,38 @@ "visibility": "internal" } ], - "src": "1187:62:9" + "src": "1160:46:9" }, - "payable": false, "returnParameters": { - "id": 822, + "id": 819, "nodeType": "ParameterList", "parameters": [], - "src": "1265:0:9" + "src": "1216:0:9" }, - "scope": 877, - "src": "1157:243:9", + "scope": 874, + "src": "1130:231:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 875, + "id": 872, "nodeType": "Block", - "src": "1512:135:9", + "src": "1453:145:9", "statements": [ { "assignments": [ - 855 + 852 ], "declarations": [ { "constant": false, - "id": 855, + "id": 852, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1518:20:9", + "scope": 872, + "src": "1463:20:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11584,10 +11493,10 @@ "typeString": "uint256" }, "typeName": { - "id": 854, + "id": 851, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1518:7:9", + "src": "1463:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11597,18 +11506,18 @@ "visibility": "internal" } ], - "id": 866, + "id": 863, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 864, + "id": 861, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "1585:5:9", + "referencedDeclaration": 848, + "src": "1530:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11630,14 +11539,14 @@ "arguments": [ { "argumentTypes": null, - "id": 859, + "id": 856, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, - "src": "1565:4:9", + "referencedDeclaration": 913, + "src": "1510:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$877", + "typeIdentifier": "t_contract$_SafeERC20_$874", "typeString": "library SafeERC20" } } @@ -11645,24 +11554,24 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$877", + "typeIdentifier": "t_contract$_SafeERC20_$874", "typeString": "library SafeERC20" } ], - "id": 858, + "id": 855, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1557:7:9", + "src": "1502:7:9", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, - "id": 860, + "id": 857, "isConstant": false, "isLValue": false, "isPure": false, @@ -11670,7 +11579,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1557:13:9", + "src": "1502:13:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11678,12 +11587,12 @@ }, { "argumentTypes": null, - "id": 861, + "id": 858, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 849, - "src": "1572:7:9", + "referencedDeclaration": 846, + "src": "1517:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11703,32 +11612,32 @@ ], "expression": { "argumentTypes": null, - "id": 856, + "id": 853, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 847, - "src": "1541:5:9", + "referencedDeclaration": 844, + "src": "1486:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 857, + "id": 854, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 687, - "src": "1541:15:9", + "referencedDeclaration": 712, + "src": "1486:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 862, + "id": 859, "isConstant": false, "isLValue": false, "isPure": false, @@ -11736,27 +11645,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1541:39:9", + "src": "1486:39:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 863, + "id": 860, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 619, - "src": "1541:43:9", + "referencedDeclaration": 615, + "src": "1486:43:9", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 865, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, @@ -11764,14 +11673,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1541:50:9", + "src": "1486:50:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1518:73:9" + "src": "1463:73:9" }, { "expression": { @@ -11782,12 +11691,12 @@ "arguments": [ { "argumentTypes": null, - "id": 870, + "id": 867, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 849, - "src": "1619:7:9", + "referencedDeclaration": 846, + "src": "1568:7:9", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11795,12 +11704,12 @@ }, { "argumentTypes": null, - "id": 871, + "id": 868, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 855, - "src": "1628:12:9", + "referencedDeclaration": 852, + "src": "1577:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11820,32 +11729,32 @@ ], "expression": { "argumentTypes": null, - "id": 868, + "id": 865, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 847, - "src": "1605:5:9", + "referencedDeclaration": 844, + "src": "1554:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, - "id": 869, + "id": 866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 705, - "src": "1605:13:9", + "referencedDeclaration": 680, + "src": "1554:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 872, + "id": 869, "isConstant": false, "isLValue": false, "isPure": false, @@ -11853,7 +11762,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1605:36:9", + "src": "1554:36:9", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11867,21 +11776,21 @@ "typeString": "bool" } ], - "id": 867, + "id": 864, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 895, - 896 + 892, + 893 ], - "referencedDeclaration": 895, - "src": "1597:7:9", + "referencedDeclaration": 892, + "src": "1546:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 873, + "id": 870, "isConstant": false, "isLValue": false, "isPure": false, @@ -11889,52 +11798,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1597:45:9", + "src": "1546:45:9", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 874, + "id": 871, "nodeType": "ExpressionStatement", - "src": "1597:45:9" + "src": "1546:45:9" } ] }, "documentation": null, - "id": 876, + "id": 873, "implemented": true, - "isConstructor": false, - "isDeclaredConst": false, + "kind": "function", "modifiers": [], "name": "safeDecreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 852, + "id": 849, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 847, + "id": 844, "name": "token", "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1440:12:9", + "scope": 873, + "src": "1398:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 846, + "id": 843, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 733, - "src": "1440:6:9", + "referencedDeclaration": 729, + "src": "1398:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$733", + "typeIdentifier": "t_contract$_IERC20_$729", "typeString": "contract IERC20" } }, @@ -11943,11 +11851,11 @@ }, { "constant": false, - "id": 849, + "id": 846, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1458:15:9", + "scope": 873, + "src": "1412:15:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11955,10 +11863,11 @@ "typeString": "address" }, "typeName": { - "id": 848, + "id": 845, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1458:7:9", + "src": "1412:7:9", + "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11969,11 +11878,11 @@ }, { "constant": false, - "id": 851, + "id": 848, "name": "value", "nodeType": "VariableDeclaration", - "scope": 876, - "src": "1479:13:9", + "scope": 873, + "src": "1429:13:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11981,10 +11890,10 @@ "typeString": "uint256" }, "typeName": { - "id": 850, + "id": 847, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1479:7:9", + "src": "1429:7:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11994,27 +11903,26 @@ "visibility": "internal" } ], - "src": "1434:62:9" + "src": "1397:46:9" }, - "payable": false, "returnParameters": { - "id": 853, + "id": 850, "nodeType": "ParameterList", "parameters": [], - "src": "1512:0:9" + "src": "1453:0:9" }, - "scope": 877, - "src": "1404:243:9", + "scope": 874, + "src": "1367:231:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 878, - "src": "353:1296:9" + "scope": 875, + "src": "352:1248:9" } ], - "src": "0:1650:9" + "src": "0:1601:9" }, "id": 9 } diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.bin b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.bin index e02c608ef..51814af0e 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.bin +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.bin @@ -1 +1 @@ -608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820607cdb7d48cff40583123be547a706873bba6b846ef7d5e3d0130e7698d76c6e0029 \ No newline at end of file +608060405234801561001057600080fd5b506040516040806107e88339810180604052604081101561003057600080fd5b5080516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561007f906401000000006100a3810204565b6003805483919060ff19166001838181111561009757fe5b0217905550505061014c565b6100bb6002826401000000006105c76100be82021704565b50565b600160a060020a03811615156100d357600080fd5b6100e68282640100000000610115810204565b156100f057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561012c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61068d8061015b6000396000f3fe608060405234801561001057600080fd5b506004361061005a5760e060020a60003504630c08bf88811461005f5780632e6b684914610069578063608d3d3d1461008f578063d43acc79146100c9578063fe4028bb146100d1575b600080fd5b6100676100f7565b005b6100676004803603602081101561007f57600080fd5b5035600160a060020a0316610115565b6100b5600480360360208110156100a557600080fd5b5035600160a060020a0316610135565b604080519115158252519081900360200190f35b610067610150565b610067600480360360208110156100e757600080fd5b5035600160a060020a0316610159565b61010033610135565b151561010b57600080fd5b610113610320565b565b61011e33610135565b151561012957600080fd5b610132816103e6565b50565b600061014860028363ffffffff6103f716565b90505b919050565b6101133361042e565b60005474010000000000000000000000000000000000000000900460ff161561018157600080fd5b61018a33610135565b151561019557600080fd5b600160a060020a03811660009081526004602052604090205460ff16156101bb57600080fd5b600081905080600160a060020a0316631777fb4b6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156101fc57600080fd5b505afa158015610210573d6000803e3d6000fd5b505050506040513d602081101561022657600080fd5b5051151561023357600080fd5b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561027157600080fd5b505afa158015610285573d6000803e3d6000fd5b505050506040513d602081101561029b57600080fd5b50519050600560ff821611156102b057600080fd5b60006102bb8261043f565b9050600160035460ff1660018111156102d057fe5b14156102e0576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff191660019081179091555461031a9116858363ffffffff6104f116565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b15801561038457600080fd5b505afa158015610398573d6000803e3d6000fd5b505050506040513d60208110156103ae57600080fd5b5051905060008111156103de576000546001546103de91600160a060020a0391821691168363ffffffff6104f116565b610132610590565b61013260028263ffffffff6105c716565b6000600160a060020a038216151561040e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013260028263ffffffff61061516565b600060ff8216151561045c575069152d02c7e14af680000061014b565b8160ff1660011415610479575069d3c21bcecceda100000061014b565b8160ff166002141561049757506a01a784379d99db4200000061014b565b8160ff16600314156104b557506a027b46536c66c8e300000061014b565b8160ff16600414156104d357506a034f086f3b33b68400000061014b565b8160ff166005141561014b57506a0422ca8b0a00a42500000061014b565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561055457600080fd5b505af1158015610568573d6000803e3d6000fd5b505050506040513d602081101561057e57600080fd5b5051151561058b57600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105dc57600080fd5b6105e682826103f7565b156105f057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561062a57600080fd5b61063482826103f7565b151561063f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fea165627a7a72305820da6d23ac8f4b151242d9a9cc936a0d9469d337bb92eddce5cc529e4f80d49b290029 \ No newline at end of file diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.json index 011ad68c3..c0e18880b 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.json @@ -81,7 +81,7 @@ "type": "constructor" } ], - "bytecode": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820607cdb7d48cff40583123be547a706873bba6b846ef7d5e3d0130e7698d76c6e0029", + "bytecode": "608060405234801561001057600080fd5b506040516040806107e88339810180604052604081101561003057600080fd5b5080516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561007f906401000000006100a3810204565b6003805483919060ff19166001838181111561009757fe5b0217905550505061014c565b6100bb6002826401000000006105c76100be82021704565b50565b600160a060020a03811615156100d357600080fd5b6100e68282640100000000610115810204565b156100f057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561012c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61068d8061015b6000396000f3fe608060405234801561001057600080fd5b506004361061005a5760e060020a60003504630c08bf88811461005f5780632e6b684914610069578063608d3d3d1461008f578063d43acc79146100c9578063fe4028bb146100d1575b600080fd5b6100676100f7565b005b6100676004803603602081101561007f57600080fd5b5035600160a060020a0316610115565b6100b5600480360360208110156100a557600080fd5b5035600160a060020a0316610135565b604080519115158252519081900360200190f35b610067610150565b610067600480360360208110156100e757600080fd5b5035600160a060020a0316610159565b61010033610135565b151561010b57600080fd5b610113610320565b565b61011e33610135565b151561012957600080fd5b610132816103e6565b50565b600061014860028363ffffffff6103f716565b90505b919050565b6101133361042e565b60005474010000000000000000000000000000000000000000900460ff161561018157600080fd5b61018a33610135565b151561019557600080fd5b600160a060020a03811660009081526004602052604090205460ff16156101bb57600080fd5b600081905080600160a060020a0316631777fb4b6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156101fc57600080fd5b505afa158015610210573d6000803e3d6000fd5b505050506040513d602081101561022657600080fd5b5051151561023357600080fd5b600081600160a060020a03166380258e476040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561027157600080fd5b505afa158015610285573d6000803e3d6000fd5b505050506040513d602081101561029b57600080fd5b50519050600560ff821611156102b057600080fd5b60006102bb8261043f565b9050600160035460ff1660018111156102d057fe5b14156102e0576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff191660019081179091555461031a9116858363ffffffff6104f116565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a08231916024808301926020929190829003018186803b15801561038457600080fd5b505afa158015610398573d6000803e3d6000fd5b505050506040513d60208110156103ae57600080fd5b5051905060008111156103de576000546001546103de91600160a060020a0391821691168363ffffffff6104f116565b610132610590565b61013260028263ffffffff6105c716565b6000600160a060020a038216151561040e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013260028263ffffffff61061516565b600060ff8216151561045c575069152d02c7e14af680000061014b565b8160ff1660011415610479575069d3c21bcecceda100000061014b565b8160ff166002141561049757506a01a784379d99db4200000061014b565b8160ff16600314156104b557506a027b46536c66c8e300000061014b565b8160ff16600414156104d357506a034f086f3b33b68400000061014b565b8160ff166005141561014b57506a0422ca8b0a00a42500000061014b565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561055457600080fd5b505af1158015610568573d6000803e3d6000fd5b505050506040513d602081101561057e57600080fd5b5051151561058b57600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105dc57600080fd5b6105e682826103f7565b156105f057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561062a57600080fd5b61063482826103f7565b151561063f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916905556fea165627a7a72305820da6d23ac8f4b151242d9a9cc936a0d9469d337bb92eddce5cc529e4f80d49b290029", "functionHashes": { "addCoreTeam(address)": "2e6b6849", "isCoreTeam(address)": "608d3d3d", @@ -91,7 +91,7 @@ }, "gasEstimates": { "creation": { - "codeDepositCost": "340600", + "codeDepositCost": "335400", "executionCost": "infinite", "totalCost": "infinite" }, diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/package-lock.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/package-lock.json index e2076f62f..18c9528d6 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/package-lock.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/package-lock.json @@ -5,15 +5,23 @@ "requires": true, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -23,23 +31,18 @@ "concat-map": "0.0.1" } }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" } }, @@ -48,31 +51,56 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, + "command-exists": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "is-arrayish": "^0.2.1" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "locate-path": "^2.0.0" } }, "fs-extra": { @@ -97,6 +125,11 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -115,11 +148,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -139,31 +167,20 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "^1.0.0" - } - }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "jsonfile": { "version": "2.4.0", @@ -173,6 +190,17 @@ "graceful-fs": "^4.1.6" } }, + "keccak": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "requires": { + "bindings": "^1.2.1", + "inherits": "^2.0.3", + "nan": "^2.2.1", + "safe-buffer": "^5.1.0" + } + }, "klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", @@ -189,28 +217,42 @@ "invert-kv": "^1.0.0" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + } }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -219,15 +261,17 @@ "brace-expansion": "^1.1.7" } }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "nan": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", + "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "path-key": "^2.0.0" } }, "number-is-nan": { @@ -244,85 +288,70 @@ } }, "openzeppelin-solidity": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.0.0.tgz", - "integrity": "sha512-SolpxQFArtiYnlSNg3dZ9sz0WVlKtPqSOcJkXRllaZp4+Lpfqz3vxF0yoh7g75TszKPyadqoJmU7+GM/vwh9SA==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.1.3.tgz", + "integrity": "sha512-Zz595xw6w4ZrNU3JJJTlPd8bHFbHv5OkJlkqsM2i+NBs6CzImoHI3dZ+nmhkfR+p52cGXKmayAGbnfdCum1SMg==" }, "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "lcid": "^1.0.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "error-ex": "^1.2.0" + "p-try": "^1.0.0" } }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { + "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "require-directory": { "version": "2.1.1", @@ -330,9 +359,9 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "require-main-filename": { "version": "1.0.1", @@ -340,13 +369,18 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", @@ -357,90 +391,81 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "solc": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.24.tgz", - "integrity": "sha512-2xd7Cf1HeVwrIb6Bu1cwY2/TaLRodrppCq3l7rhLimFQgmxptXhTC3+/wesVLpB09F1A2kZgvbMOgH7wvhFnBQ==", + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" + "shebang-regex": "^1.0.0" } }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { + "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "solc": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.4.tgz", + "integrity": "sha512-Jz3yz2mct0AYzR83/jBgxDqrLXTHhYUg2G2PVJbMMt5Vu+8e3Of1Mn3nvjPw5mh46jrzt8l4fBN7vHqG5ZF0cw==", + "requires": { + "command-exists": "^1.2.8", + "fs-extra": "^0.30.0", + "keccak": "^1.0.2", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33", + "yargs": "^11.0.0" + } }, "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "is-utf8": "^0.2.0" + "os-tmpdir": "~1.0.2" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "isexe": "^2.0.0" } }, "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wrap-ansi": { "version": "2.1.0", @@ -449,6 +474,39 @@ "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "wrappy": { @@ -461,34 +519,36 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, "yargs": { - "version": "4.8.1", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "requires": { - "cliui": "^3.2.0", + "cliui": "^4.0.0", "decamelize": "^1.1.1", + "find-up": "^2.1.0", "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", + "os-locale": "^2.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" + "yargs-parser": "^9.0.2" } }, "yargs-parser": { - "version": "2.4.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" + "camelcase": "^4.1.0" } } } diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/package.json b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/package.json index c6ec5d4db..e0362baf7 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/package.json +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/package.json @@ -9,7 +9,7 @@ "author": "", "license": "ISC", "dependencies": { - "openzeppelin-solidity": "2.0.0", - "solc": "0.4.24" + "openzeppelin-solidity": "2.1.3", + "solc": "0.5.4" } }