diff --git a/labs/algo-erc20-token/test/AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests/AlgoTokenV1Tests.cs b/labs/algo-erc20-token/test/AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests/AlgoTokenV1Tests.cs index f19264bde..78e097536 100644 --- a/labs/algo-erc20-token/test/AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests/AlgoTokenV1Tests.cs +++ b/labs/algo-erc20-token/test/AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests/AlgoTokenV1Tests.cs @@ -17,7 +17,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests [Fact] public async Task DeployContractAndTransferTokensTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var account1 = new Account(EthNetwork.Instance.PrefundedPrivateKey); var account2 = EthAccountFactory.Create(); @@ -39,7 +39,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoErc20Token.IntegrationTests [Fact] public async Task PausableFeatureTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var account1 = new Account(EthNetwork.Instance.PrefundedPrivateKey); var account2 = EthAccountFactory.Create(); 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 2850b2e05..26773a58a 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 @@ -11,12 +11,12 @@ import "./AlgoCoreTeamRole.sol"; contract AlgoFees is ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole { using SafeERC20 for IERC20; - uint256 constant CAT_0_VALUE_PROPORTION = 1; - uint256 constant CAT_1_VALUE_PROPORTION = 10; - uint256 constant CAT_2_VALUE_PROPORTION = 20; - uint256 constant CAT_3_VALUE_PROPORTION = 30; - uint256 constant CAT_4_VALUE_PROPORTION = 40; - uint256 constant CAT_5_VALUE_PROPORTION = 50; + uint256 private constant CAT_0_VALUE_PROPORTION = 1; + uint256 private constant CAT_1_VALUE_PROPORTION = 10; + uint256 private constant CAT_2_VALUE_PROPORTION = 20; + uint256 private constant CAT_3_VALUE_PROPORTION = 30; + uint256 private constant CAT_4_VALUE_PROPORTION = 40; + uint256 private constant CAT_5_VALUE_PROPORTION = 50; address[] private _miners; mapping(address => uint256) private _minersByAddress; 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 c41b5b855..3a70d76f9 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 @@ -13,7 +13,7 @@ import "./AlgoSupervisorRole.sol"; contract AlgoMiner is AlgoCommon, ERC20TokenHolder, AlgoSystemRole, AlgoCoreTeamRole, AlgoSupervisorRole, IAlgoMiner { using SafeERC20 for IERC20; - uint256 public constant DAYS_PER_YEAR = 365; + uint256 private constant DAYS_PER_YEAR = 365; enum 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 8b4ffcc9c..523febd74 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 @@ -17,7 +17,7 @@ contract AlgoPool is AlgoCommon, ERC20TokenHolder, AlgoCoreTeamRole { } PoolType private _poolType; - mapping(address => bool) _fundedMiners; + mapping(address => bool) private _fundedMiners; constructor(PoolType poolType, address tokenAddress) ERC20TokenHolder(tokenAddress) 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 f2f99092c..324b8aec5 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,9 +259,9 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a72305820c97e98efb9f61c8f769238044b274ddcf265ed47d4444eab2134a813ff57783b0029", - "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 0xc9 PUSH31 0x98EFB9F61C8F769238044B274DDCF265ED47D4444EAB2134A813FF57783B00 0x29 ", - "sourceMap": "556:4724:1:-;;;1070:235;8:9:-1;5:2;;;30:1;27;20:12;5:2;1070: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;1225:7:1;27:10:-1;;39:1;23:18;;45:23;;1246:1:1;1225:24;;;;;;;;-1:-1:-1;;;;;;1225:24:1;;;556:4724;;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:4724:1:-;;;;;;;" + "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:-;;;;;;;" }, "gasEstimates": { "creation": { @@ -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\":\"0x143e742903e9fb652810dd60b96a084f550c5308784c4797270c651a3f407447\",\"urls\":[\"bzzr://a56b09e9fc46585c07a4fd9cd33c6624e86c745582536921fc16a9eda742f988\"]},\"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\":\"0xdc21d3ce2e847a83e62a95fc4e8a31305771c1c6549fba2102ae9a7caa09a1e5\",\"urls\":[\"bzzr://291aa93e18c12398d6d8031308b1a0231d253ec061a5449d0335bd476554383e\"]},\"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.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}", "userdoc": { "methods": {} } @@ -459,6 +459,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "getReferral", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -503,6 +517,7 @@ "getCategory()": "80258e47", "getMiner()": "302c11ca", "getMinerType()": "4969ae70", + "getReferral()": "329b1c92", "isAlgoMiner()": "1777fb4b", "isMining()": "19a74ab3" } @@ -882,7 +897,7 @@ "id": 2, "nodeType": "ImportDirective", "scope": 87, - "sourceUnit": 910, + "sourceUnit": 915, "src": "28:189:0", "symbolAliases": [], "unitAlias": "" @@ -907,10 +922,10 @@ "id": 3, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 909, + "referencedDeclaration": 914, "src": "260:5:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$909", + "typeIdentifier": "t_contract$_Roles_$914", "typeString": "library Roles" } }, @@ -921,10 +936,10 @@ "id": 4, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "270:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } } @@ -939,7 +954,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -947,10 +962,10 @@ "id": 6, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "289:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -975,7 +990,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "381:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1083,7 +1098,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "462:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1149,10 +1164,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "443:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -1237,7 +1252,7 @@ "referencedDeclaration": 7, "src": "584:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1248,10 +1263,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 908, + "referencedDeclaration": 913, "src": "584:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -1511,7 +1526,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "797:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1638,7 +1653,7 @@ "referencedDeclaration": 7, "src": "883:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1649,10 +1664,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 854, + "referencedDeclaration": 859, "src": "883:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -1770,7 +1785,7 @@ "referencedDeclaration": 7, "src": "990:16:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -1781,10 +1796,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 885, + "referencedDeclaration": 890, "src": "990:23:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -1898,7 +1913,7 @@ "id": 89, "nodeType": "ImportDirective", "scope": 607, - "sourceUnit": 1107, + "sourceUnit": 1112, "src": "27:195:1", "symbolAliases": [], "unitAlias": "" @@ -1909,7 +1924,7 @@ "id": 90, "nodeType": "ImportDirective", "scope": 607, - "sourceUnit": 1251, + "sourceUnit": 1256, "src": "224:198:1", "symbolAliases": [], "unitAlias": "" @@ -1920,7 +1935,7 @@ "id": 91, "nodeType": "ImportDirective", "scope": 607, - "sourceUnit": 779, + "sourceUnit": 784, "src": "426:26:1", "symbolAliases": [], "unitAlias": "" @@ -2017,9 +2032,9 @@ ], "contractDependencies": [ 86, - 693, 750, - 815 + 693, + 820 ], "contractKind": "contract", "documentation": null, @@ -2030,7 +2045,7 @@ 86, 693, 750, - 815 + 820 ], "name": "AlgoFees", "nodeType": "ContractDefinition", @@ -2042,10 +2057,10 @@ "id": 101, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1250, + "referencedDeclaration": 1255, "src": "641:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } }, @@ -2056,10 +2071,10 @@ "id": 102, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "655:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } } @@ -2070,7 +2085,7 @@ "name": "CAT_0_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "670:43:1", + "src": "670:51:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2097,7 +2112,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "712:1:1", + "src": "720:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2105,7 +2120,7 @@ }, "value": "1" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2113,7 +2128,7 @@ "name": "CAT_1_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "720:44:1", + "src": "728:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2124,7 +2139,7 @@ "id": 107, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "720:7:1", + "src": "728:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2140,7 +2155,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "762:2:1", + "src": "778:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -2148,7 +2163,7 @@ }, "value": "10" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2156,7 +2171,7 @@ "name": "CAT_2_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "771:44:1", + "src": "787:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2167,7 +2182,7 @@ "id": 110, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "771:7:1", + "src": "787:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2183,7 +2198,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "813:2:1", + "src": "837:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", @@ -2191,7 +2206,7 @@ }, "value": "20" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2199,7 +2214,7 @@ "name": "CAT_3_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "822:44:1", + "src": "846:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2210,7 +2225,7 @@ "id": 113, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "822:7:1", + "src": "846:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2226,7 +2241,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "864:2:1", + "src": "896:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_30_by_1", @@ -2234,7 +2249,7 @@ }, "value": "30" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2242,7 +2257,7 @@ "name": "CAT_4_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "873:44:1", + "src": "905:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2253,7 +2268,7 @@ "id": 116, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "873:7:1", + "src": "905:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2269,7 +2284,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "915:2:1", + "src": "955:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_40_by_1", @@ -2277,7 +2292,7 @@ }, "value": "40" }, - "visibility": "internal" + "visibility": "private" }, { "constant": true, @@ -2285,7 +2300,7 @@ "name": "CAT_5_VALUE_PROPORTION", "nodeType": "VariableDeclaration", "scope": 606, - "src": "924:44:1", + "src": "964:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2296,7 +2311,7 @@ "id": 119, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "924:7:1", + "src": "964:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2312,7 +2327,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "966:2:1", + "src": "1014:2:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", @@ -2320,7 +2335,7 @@ }, "value": "50" }, - "visibility": "internal" + "visibility": "private" }, { "constant": false, @@ -2328,7 +2343,7 @@ "name": "_miners", "nodeType": "VariableDeclaration", "scope": 606, - "src": "977:25:1", + "src": "1025:25:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2340,7 +2355,7 @@ "id": 122, "name": "address", "nodeType": "ElementaryTypeName", - "src": "977:7:1", + "src": "1025:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2349,7 +2364,7 @@ "id": 123, "length": null, "nodeType": "ArrayTypeName", - "src": "977:9:1", + "src": "1025:9:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -2364,7 +2379,7 @@ "name": "_minersByAddress", "nodeType": "VariableDeclaration", "scope": 606, - "src": "1009:52:1", + "src": "1057:52:1", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2377,14 +2392,14 @@ "id": 125, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1017:7:1", + "src": "1065:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "1009:27:1", + "src": "1057:27:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -2393,7 +2408,7 @@ "id": 126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1028:7:1", + "src": "1076:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2407,7 +2422,7 @@ "body": { "id": 148, "nodeType": "Block", - "src": "1214:91:1", + "src": "1262:91:1", "statements": [ { "expression": { @@ -2426,7 +2441,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1246:1:1", + "src": "1294:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2448,7 +2463,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1238:7:1", + "src": "1286:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -2463,7 +2478,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1238:10:1", + "src": "1286:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2484,7 +2499,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1225:7:1", + "src": "1273:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -2498,7 +2513,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1225:12:1", + "src": "1273:12:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" @@ -2512,7 +2527,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1225:24:1", + "src": "1273:24:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2520,7 +2535,7 @@ }, "id": 147, "nodeType": "ExpressionStatement", - "src": "1225:24:1" + "src": "1273:24:1" } ] }, @@ -2539,7 +2554,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 130, - "src": "1130:12:1", + "src": "1178:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2554,14 +2569,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 750, - "src": "1113:16:1", + "src": "1161:16:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$750_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "1113:30:1" + "src": "1161:30:1" }, { "arguments": [], @@ -2573,14 +2588,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 693, - "src": "1153:14:1", + "src": "1201:14:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoSystemRole_$693_$", "typeString": "type(contract AlgoSystemRole)" } }, "nodeType": "ModifierInvocation", - "src": "1153:16:1" + "src": "1201:16:1" }, { "arguments": [], @@ -2592,14 +2607,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 86, - "src": "1179:16:1", + "src": "1227:16:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$86_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "1179:18:1" + "src": "1227:18:1" } ], "name": "", @@ -2614,7 +2629,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 149, - "src": "1082:20:1", + "src": "1130:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2625,7 +2640,7 @@ "id": 129, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1082:7:1", + "src": "1130:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2635,17 +2650,17 @@ "visibility": "internal" } ], - "src": "1081:22:1" + "src": "1129:22:1" }, "payable": false, "returnParameters": { "id": 139, "nodeType": "ParameterList", "parameters": [], - "src": "1214:0:1" + "src": "1262:0:1" }, "scope": 606, - "src": "1070:235:1", + "src": "1118:235:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2654,7 +2669,7 @@ "body": { "id": 214, "nodeType": "Block", - "src": "1392:442:1", + "src": "1440:442:1", "statements": [ { "expression": { @@ -2680,7 +2695,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1411:7:1", + "src": "1459:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -2694,7 +2709,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1411:14:1", + "src": "1459:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2712,7 +2727,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1428:4:1", + "src": "1476:4:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1000_by_1", @@ -2720,7 +2735,7 @@ }, "value": "1000" }, - "src": "1411:21:1", + "src": "1459:21:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2738,11 +2753,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1403:7:1", + "referencedDeclaration": 1273, + "src": "1451:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2756,7 +2771,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1403:30:1", + "src": "1451:30:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2764,7 +2779,7 @@ }, "id": 164, "nodeType": "ExpressionStatement", - "src": "1403:30:1" + "src": "1451:30:1" }, { "expression": { @@ -2790,7 +2805,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "1452:16:1", + "src": "1500:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -2804,7 +2819,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1469:12:1", + "src": "1517:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2815,7 +2830,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1452:30:1", + "src": "1500:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2833,7 +2848,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1486:1:1", + "src": "1534:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2841,7 +2856,7 @@ }, "value": "0" }, - "src": "1452:35:1", + "src": "1500:35:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2859,11 +2874,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1444:7:1", + "referencedDeclaration": 1273, + "src": "1492:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -2877,7 +2892,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1444:44:1", + "src": "1492:44:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -2885,7 +2900,7 @@ }, "id": 172, "nodeType": "ExpressionStatement", - "src": "1444:44:1" + "src": "1492:44:1" }, { "assignments": [ @@ -2898,11 +2913,11 @@ "name": "algoMiner", "nodeType": "VariableDeclaration", "scope": 215, - "src": "1501:20:1", + "src": "1549:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" }, "typeName": { @@ -2910,10 +2925,10 @@ "id": 173, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 778, - "src": "1501:10:1", + "referencedDeclaration": 783, + "src": "1549:10:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -2932,7 +2947,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1535:12:1", + "src": "1583:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2950,10 +2965,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 778, - "src": "1524:10:1", + "referencedDeclaration": 783, + "src": "1572:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$778_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -2965,14 +2980,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1524:24:1", + "src": "1572:24:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "1501:47:1" + "src": "1549:47:1" }, { "expression": { @@ -2990,9 +3005,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 174, - "src": "1577:9:1", + "src": "1625:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -3004,7 +3019,7 @@ "memberName": "isAlgoMiner", "nodeType": "MemberAccess", "referencedDeclaration": 757, - "src": "1577:21:1", + "src": "1625:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_bool_$", "typeString": "function () pure external returns (bool)" @@ -3018,7 +3033,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1577:23:1", + "src": "1625:23:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3036,11 +3051,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1569:7:1", + "referencedDeclaration": 1273, + "src": "1617:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3054,7 +3069,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1569:32:1", + "src": "1617:32:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3062,7 +3077,7 @@ }, "id": 184, "nodeType": "ExpressionStatement", - "src": "1569:32:1" + "src": "1617:32:1" }, { "assignments": [ @@ -3075,7 +3090,7 @@ "name": "minerCategory", "nodeType": "VariableDeclaration", "scope": 215, - "src": "1622:19:1", + "src": "1670:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3086,7 +3101,7 @@ "id": 185, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1622:5:1", + "src": "1670:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3109,9 +3124,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 174, - "src": "1644:9:1", + "src": "1692:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -3123,7 +3138,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 767, - "src": "1644:21:1", + "src": "1692:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -3137,14 +3152,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1644:23:1", + "src": "1692:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "1622:45:1" + "src": "1670:45:1" }, { "expression": { @@ -3179,7 +3194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "1688:13:1", + "src": "1736:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3197,7 +3212,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1705:1:1", + "src": "1753:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3205,7 +3220,7 @@ }, "value": "0" }, - "src": "1688:18:1", + "src": "1736:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3231,7 +3246,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 186, - "src": "1710:13:1", + "src": "1758:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3249,7 +3264,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1727:1:1", + "src": "1775:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -3257,13 +3272,13 @@ }, "value": "5" }, - "src": "1710:18:1", + "src": "1758:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1688:40:1", + "src": "1736:40:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3281,11 +3296,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1680:7:1", + "referencedDeclaration": 1273, + "src": "1728:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3299,7 +3314,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1680:49:1", + "src": "1728:49:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3307,7 +3322,7 @@ }, "id": 200, "nodeType": "ExpressionStatement", - "src": "1680:49:1" + "src": "1728:49:1" }, { "expression": { @@ -3326,7 +3341,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "1742:16:1", + "src": "1790:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -3340,7 +3355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1759:12:1", + "src": "1807:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3351,7 +3366,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1742:30:1", + "src": "1790:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3368,7 +3383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1775:7:1", + "src": "1823:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3382,13 +3397,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1775:14:1", + "src": "1823:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1742:47:1", + "src": "1790:47:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3396,7 +3411,7 @@ }, "id": 207, "nodeType": "ExpressionStatement", - "src": "1742:47:1" + "src": "1790:47:1" }, { "expression": { @@ -3409,7 +3424,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 151, - "src": "1813:12:1", + "src": "1861:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3430,7 +3445,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1800:7:1", + "src": "1848:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3444,7 +3459,7 @@ "memberName": "push", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1800:12:1", + "src": "1848:12:1", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", "typeString": "function (address) returns (uint256)" @@ -3458,7 +3473,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1800:26:1", + "src": "1848:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3466,7 +3481,7 @@ }, "id": 213, "nodeType": "ExpressionStatement", - "src": "1800:26:1" + "src": "1848:26:1" } ] }, @@ -3485,15 +3500,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 806, - "src": "1365:13:1", + "referencedDeclaration": 811, + "src": "1413:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1365:13:1" + "src": "1413:13:1" }, { "arguments": null, @@ -3505,14 +3520,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1379:12:1", + "src": "1427:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1379:12:1" + "src": "1427:12:1" } ], "name": "registerMiner", @@ -3527,7 +3542,7 @@ "name": "minerAddress", "nodeType": "VariableDeclaration", "scope": 215, - "src": "1336:20:1", + "src": "1384:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3538,7 +3553,7 @@ "id": 150, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1336:7:1", + "src": "1384:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3548,17 +3563,17 @@ "visibility": "internal" } ], - "src": "1335:22:1" + "src": "1383:22:1" }, "payable": false, "returnParameters": { "id": 157, "nodeType": "ParameterList", "parameters": [], - "src": "1392:0:1" + "src": "1440:0:1" }, "scope": 606, - "src": "1313:521:1", + "src": "1361:521:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3567,7 +3582,7 @@ "body": { "id": 293, "nodeType": "Block", - "src": "1923:682:1", + "src": "1971:682:1", "statements": [ { "expression": { @@ -3593,7 +3608,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1942:7:1", + "src": "1990:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3607,7 +3622,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1942:14:1", + "src": "1990:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3625,7 +3640,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1959:1:1", + "src": "2007:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3633,7 +3648,7 @@ }, "value": "1" }, - "src": "1942:18:1", + "src": "1990:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3651,11 +3666,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "1934:7:1", + "referencedDeclaration": 1273, + "src": "1982:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3669,7 +3684,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1934:27:1", + "src": "1982:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3677,7 +3692,7 @@ }, "id": 230, "nodeType": "ExpressionStatement", - "src": "1934:27:1" + "src": "1982:27:1" }, { "condition": { @@ -3700,7 +3715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1977:7:1", + "src": "2025:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3714,7 +3729,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1977:14:1", + "src": "2025:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3732,7 +3747,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1995:1:1", + "src": "2043:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -3740,7 +3755,7 @@ }, "value": "2" }, - "src": "1977:19:1", + "src": "2025:19:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3749,7 +3764,7 @@ "falseBody": { "id": 291, "nodeType": "Block", - "src": "2210:388:1", + "src": "2258:388:1", "statements": [ { "condition": { @@ -3772,7 +3787,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2242:16:1", + "src": "2290:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -3786,7 +3801,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2259:12:1", + "src": "2307:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3797,7 +3812,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2242:30:1", + "src": "2290:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3814,7 +3829,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2276:7:1", + "src": "2324:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3828,13 +3843,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2276:14:1", + "src": "2324:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2242:48:1", + "src": "2290:48:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3843,11 +3858,11 @@ "falseBody": null, "id": 272, "nodeType": "IfStatement", - "src": "2239:214:1", + "src": "2287:214:1", "trueBody": { "id": 271, "nodeType": "Block", - "src": "2292:161:1", + "src": "2340:161:1", "statements": [ { "expression": { @@ -3866,7 +3881,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2368:7:1", + "src": "2416:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3882,7 +3897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2376:16:1", + "src": "2424:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -3896,7 +3911,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2393:12:1", + "src": "2441:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3907,7 +3922,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2376:30:1", + "src": "2424:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3918,7 +3933,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2368:39:1", + "src": "2416:39:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3935,7 +3950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2410:7:1", + "src": "2458:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3962,7 +3977,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2418:7:1", + "src": "2466:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -3976,7 +3991,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2418:14:1", + "src": "2466:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3994,7 +4009,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2435:1:1", + "src": "2483:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4002,7 +4017,7 @@ }, "value": "1" }, - "src": "2418:18:1", + "src": "2466:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4013,13 +4028,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2410:27:1", + "src": "2458:27:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2368:69:1", + "src": "2416:69:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4027,7 +4042,7 @@ }, "id": 270, "nodeType": "ExpressionStatement", - "src": "2368:69:1" + "src": "2416:69:1" } ] } @@ -4043,7 +4058,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2469:34:1", + "src": "2517:34:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -4053,7 +4068,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2476:7:1", + "src": "2524:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4080,7 +4095,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2484:7:1", + "src": "2532:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4094,7 +4109,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2484:14:1", + "src": "2532:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4112,7 +4127,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2501:1:1", + "src": "2549:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4120,7 +4135,7 @@ }, "value": "1" }, - "src": "2484:18:1", + "src": "2532:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4131,7 +4146,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2476:27:1", + "src": "2524:27:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4144,7 +4159,7 @@ }, "id": 280, "nodeType": "ExpressionStatement", - "src": "2469:34:1" + "src": "2517:34:1" }, { "expression": { @@ -4157,7 +4172,7 @@ "nodeType": "UnaryOperation", "operator": "--", "prefix": false, - "src": "2518:16:1", + "src": "2566:16:1", "subExpression": { "argumentTypes": null, "expression": { @@ -4167,7 +4182,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2518:7:1", + "src": "2566:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4181,7 +4196,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2518:14:1", + "src": "2566:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4194,7 +4209,7 @@ }, "id": 285, "nodeType": "ExpressionStatement", - "src": "2518:16:1" + "src": "2566:16:1" }, { "expression": { @@ -4207,7 +4222,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2549:37:1", + "src": "2597:37:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -4217,7 +4232,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2556:16:1", + "src": "2604:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -4231,7 +4246,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2573:12:1", + "src": "2621:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4242,7 +4257,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2556:30:1", + "src": "2604:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4255,17 +4270,17 @@ }, "id": 290, "nodeType": "ExpressionStatement", - "src": "2549:37:1" + "src": "2597:37:1" } ] }, "id": 292, "nodeType": "IfStatement", - "src": "1974:624:1", + "src": "2022:624:1", "trueBody": { "id": 251, "nodeType": "Block", - "src": "1998:206:1", + "src": "2046:206:1", "statements": [ { "expression": { @@ -4278,7 +4293,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2080:17:1", + "src": "2128:17:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -4288,7 +4303,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2087:7:1", + "src": "2135:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4305,7 +4320,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2095:1:1", + "src": "2143:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4318,7 +4333,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2087:10:1", + "src": "2135:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4331,7 +4346,7 @@ }, "id": 239, "nodeType": "ExpressionStatement", - "src": "2080:17:1" + "src": "2128:17:1" }, { "expression": { @@ -4350,7 +4365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2112:7:1", + "src": "2160:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4364,7 +4379,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2112:14:1", + "src": "2160:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4382,7 +4397,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2129:1:1", + "src": "2177:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4390,7 +4405,7 @@ }, "value": "1" }, - "src": "2112:18:1", + "src": "2160:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4398,7 +4413,7 @@ }, "id": 245, "nodeType": "ExpressionStatement", - "src": "2112:18:1" + "src": "2160:18:1" }, { "expression": { @@ -4411,7 +4426,7 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "2145:37:1", + "src": "2193:37:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -4421,7 +4436,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 128, - "src": "2152:16:1", + "src": "2200:16:1", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" @@ -4435,7 +4450,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 217, - "src": "2169:12:1", + "src": "2217:12:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4446,7 +4461,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2152:30:1", + "src": "2200:30:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4459,7 +4474,7 @@ }, "id": 250, "nodeType": "ExpressionStatement", - "src": "2145:37:1" + "src": "2193:37:1" } ] } @@ -4481,15 +4496,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 806, - "src": "1896:13:1", + "referencedDeclaration": 811, + "src": "1944:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1896:13:1" + "src": "1944:13:1" }, { "arguments": null, @@ -4501,14 +4516,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1910:12:1", + "src": "1958:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1910:12:1" + "src": "1958:12:1" } ], "name": "unregisterMiner", @@ -4523,7 +4538,7 @@ "name": "minerAddress", "nodeType": "VariableDeclaration", "scope": 294, - "src": "1867:20:1", + "src": "1915:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4534,7 +4549,7 @@ "id": 216, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1867:7:1", + "src": "1915:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4544,17 +4559,17 @@ "visibility": "internal" } ], - "src": "1866:22:1" + "src": "1914:22:1" }, "payable": false, "returnParameters": { "id": 223, "nodeType": "ParameterList", "parameters": [], - "src": "1923:0:1" + "src": "1971:0:1" }, "scope": 606, - "src": "1842:763:1", + "src": "1890:763:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4563,7 +4578,7 @@ "body": { "id": 570, "nodeType": "Block", - "src": "2661:2307:1", + "src": "2709:2307:1", "statements": [ { "expression": { @@ -4589,7 +4604,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2680:7:1", + "src": "2728:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -4603,7 +4618,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2680:14:1", + "src": "2728:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4621,7 +4636,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2697:1:1", + "src": "2745:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4629,7 +4644,7 @@ }, "value": "1" }, - "src": "2680:18:1", + "src": "2728:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4647,11 +4662,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "2672:7:1", + "referencedDeclaration": 1273, + "src": "2720:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4665,7 +4680,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2672:27:1", + "src": "2720:27:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4673,7 +4688,7 @@ }, "id": 307, "nodeType": "ExpressionStatement", - "src": "2672:27:1" + "src": "2720:27:1" }, { "assignments": [ @@ -4686,7 +4701,7 @@ "name": "currentFeesBalance", "nodeType": "VariableDeclaration", "scope": 571, - "src": "2712:26:1", + "src": "2760:26:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4697,7 +4712,7 @@ "id": 308, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2712:7:1", + "src": "2760:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4720,8 +4735,8 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1296, - "src": "2766:4:1", + "referencedDeclaration": 1301, + "src": "2814:4:1", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoFees_$606", "typeString": "contract AlgoFees" @@ -4741,7 +4756,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2758:7:1", + "src": "2806:7:1", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -4756,7 +4771,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2758:13:1", + "src": "2806:13:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4777,9 +4792,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "2741:6:1", + "src": "2789:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -4790,8 +4805,8 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1051, - "src": "2741:16:1", + "referencedDeclaration": 1056, + "src": "2789:16:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -4805,14 +4820,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2741:31:1", + "src": "2789:31:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2712:60:1" + "src": "2760:60:1" }, { "expression": { @@ -4836,7 +4851,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "2787:18:1", + "src": "2835:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4854,7 +4869,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2808:1:1", + "src": "2856:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4862,7 +4877,7 @@ }, "value": "0" }, - "src": "2787:22:1", + "src": "2835:22:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4880,11 +4895,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, - "src": "2779:7:1", + "referencedDeclaration": 1273, + "src": "2827:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4898,7 +4913,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2779:31:1", + "src": "2827:31:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4906,7 +4921,7 @@ }, "id": 322, "nodeType": "ExpressionStatement", - "src": "2779:31:1" + "src": "2827:31:1" }, { "assignments": [], @@ -4917,7 +4932,7 @@ "name": "miners", "nodeType": "VariableDeclaration", "scope": 571, - "src": "2894:24:1", + "src": "2942:24:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4929,7 +4944,7 @@ "id": 325, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2894:7:1", + "src": "2942:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4946,7 +4961,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2902:1:1", + "src": "2950:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": null, @@ -4955,7 +4970,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "2894:10:1", + "src": "2942:10:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -4968,13 +4983,13 @@ "id": 328, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "2894:24:1" + "src": "2942:24:1" }, { "body": { "id": 420, "nodeType": "Block", - "src": "2975:657:1", + "src": "3023:657:1", "statements": [ { "assignments": [ @@ -4987,11 +5002,11 @@ "name": "algoMiner", "nodeType": "VariableDeclaration", "scope": 571, - "src": "2990:20:1", + "src": "3038:20:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" }, "typeName": { @@ -4999,10 +5014,10 @@ "id": 340, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 778, - "src": "2990:10:1", + "referencedDeclaration": 783, + "src": "3038:10:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -5023,7 +5038,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "3024:7:1", + "src": "3072:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -5037,7 +5052,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "3032:1:1", + "src": "3080:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5048,7 +5063,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3024:10:1", + "src": "3072:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5066,10 +5081,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 778, - "src": "3013:10:1", + "referencedDeclaration": 783, + "src": "3061:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$778_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -5081,14 +5096,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3013:22:1", + "src": "3061:22:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "2990:45:1" + "src": "3038:45:1" }, { "condition": { @@ -5101,7 +5116,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3055:21:1", + "src": "3103:21:1", "subExpression": { "argumentTypes": null, "arguments": [], @@ -5114,9 +5129,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "3056:9:1", + "src": "3104:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -5127,8 +5142,8 @@ "lValueRequested": false, "memberName": "isMining", "nodeType": "MemberAccess", - "referencedDeclaration": 772, - "src": "3056:18:1", + "referencedDeclaration": 782, + "src": "3104:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", "typeString": "function () view external returns (bool)" @@ -5142,7 +5157,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3056:20:1", + "src": "3104:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5156,11 +5171,11 @@ "falseBody": null, "id": 353, "nodeType": "IfStatement", - "src": "3052:34:1", + "src": "3100:34:1", "trueBody": { "id": 352, "nodeType": "Continue", - "src": "3078:8:1" + "src": "3126:8:1" } }, { @@ -5174,7 +5189,7 @@ "name": "minerCategory", "nodeType": "VariableDeclaration", "scope": 571, - "src": "3103:19:1", + "src": "3151:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5185,7 +5200,7 @@ "id": 354, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3103:5:1", + "src": "3151:5:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5208,9 +5223,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "3125:9:1", + "src": "3173:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -5222,7 +5237,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 767, - "src": "3125:21:1", + "src": "3173:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -5236,14 +5251,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3125:23:1", + "src": "3173:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "3103:45:1" + "src": "3151:45:1" }, { "condition": { @@ -5264,7 +5279,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3168:13:1", + "src": "3216:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5282,7 +5297,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3185:1:1", + "src": "3233:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5290,7 +5305,7 @@ }, "value": "0" }, - "src": "3168:18:1", + "src": "3216:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5315,7 +5330,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3243:13:1", + "src": "3291:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5333,7 +5348,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3260:1:1", + "src": "3308:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5341,7 +5356,7 @@ }, "value": "1" }, - "src": "3243:18:1", + "src": "3291:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5366,7 +5381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3318:13:1", + "src": "3366:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5384,7 +5399,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3335:1:1", + "src": "3383:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5392,7 +5407,7 @@ }, "value": "2" }, - "src": "3318:18:1", + "src": "3366:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5417,7 +5432,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3393:13:1", + "src": "3441:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5435,7 +5450,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3410:1:1", + "src": "3458:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5443,7 +5458,7 @@ }, "value": "3" }, - "src": "3393:18:1", + "src": "3441:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5468,7 +5483,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3468:13:1", + "src": "3516:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5486,7 +5501,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3485:1:1", + "src": "3533:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -5494,7 +5509,7 @@ }, "value": "4" }, - "src": "3468:18:1", + "src": "3516:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5519,7 +5534,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "3543:13:1", + "src": "3591:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5537,7 +5552,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3560:1:1", + "src": "3608:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -5545,7 +5560,7 @@ }, "value": "5" }, - "src": "3543:18:1", + "src": "3591:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5554,11 +5569,11 @@ "falseBody": null, "id": 414, "nodeType": "IfStatement", - "src": "3540:69:1", + "src": "3588:69:1", "trueBody": { "id": 413, "nodeType": "Block", - "src": "3563:46:1", + "src": "3611:46:1", "statements": [ { "expression": { @@ -5571,7 +5586,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3582:11:1", + "src": "3630:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5581,7 +5596,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3582:6:1", + "src": "3630:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5598,7 +5613,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3589:1:1", + "src": "3637:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -5611,7 +5626,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3582:9:1", + "src": "3630:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5624,18 +5639,18 @@ }, "id": 412, "nodeType": "ExpressionStatement", - "src": "3582:11:1" + "src": "3630:11:1" } ] } }, "id": 415, "nodeType": "IfStatement", - "src": "3465:144:1", + "src": "3513:144:1", "trueBody": { "id": 404, "nodeType": "Block", - "src": "3488:46:1", + "src": "3536:46:1", "statements": [ { "expression": { @@ -5648,7 +5663,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3507:11:1", + "src": "3555:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5658,7 +5673,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3507:6:1", + "src": "3555:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5675,7 +5690,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3514:1:1", + "src": "3562:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -5688,7 +5703,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3507:9:1", + "src": "3555:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5701,18 +5716,18 @@ }, "id": 403, "nodeType": "ExpressionStatement", - "src": "3507:11:1" + "src": "3555:11:1" } ] } }, "id": 416, "nodeType": "IfStatement", - "src": "3390:219:1", + "src": "3438:219:1", "trueBody": { "id": 395, "nodeType": "Block", - "src": "3413:46:1", + "src": "3461:46:1", "statements": [ { "expression": { @@ -5725,7 +5740,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3432:11:1", + "src": "3480:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5735,7 +5750,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3432:6:1", + "src": "3480:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5752,7 +5767,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3439:1:1", + "src": "3487:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5765,7 +5780,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3432:9:1", + "src": "3480:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5778,18 +5793,18 @@ }, "id": 394, "nodeType": "ExpressionStatement", - "src": "3432:11:1" + "src": "3480:11:1" } ] } }, "id": 417, "nodeType": "IfStatement", - "src": "3315:294:1", + "src": "3363:294:1", "trueBody": { "id": 386, "nodeType": "Block", - "src": "3338:46:1", + "src": "3386:46:1", "statements": [ { "expression": { @@ -5802,7 +5817,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3357:11:1", + "src": "3405:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5812,7 +5827,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3357:6:1", + "src": "3405:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5829,7 +5844,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3364:1:1", + "src": "3412:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5842,7 +5857,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3357:9:1", + "src": "3405:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5855,18 +5870,18 @@ }, "id": 385, "nodeType": "ExpressionStatement", - "src": "3357:11:1" + "src": "3405:11:1" } ] } }, "id": 418, "nodeType": "IfStatement", - "src": "3240:369:1", + "src": "3288:369:1", "trueBody": { "id": 377, "nodeType": "Block", - "src": "3263:46:1", + "src": "3311:46:1", "statements": [ { "expression": { @@ -5879,7 +5894,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3282:11:1", + "src": "3330:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5889,7 +5904,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3282:6:1", + "src": "3330:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5906,7 +5921,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3289:1:1", + "src": "3337:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5919,7 +5934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3282:9:1", + "src": "3330:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5932,18 +5947,18 @@ }, "id": 376, "nodeType": "ExpressionStatement", - "src": "3282:11:1" + "src": "3330:11:1" } ] } }, "id": 419, "nodeType": "IfStatement", - "src": "3165:444:1", + "src": "3213:444:1", "trueBody": { "id": 368, "nodeType": "Block", - "src": "3188:46:1", + "src": "3236:46:1", "statements": [ { "expression": { @@ -5956,7 +5971,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3207:11:1", + "src": "3255:11:1", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -5966,7 +5981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3207:6:1", + "src": "3255:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -5983,7 +5998,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3214:1:1", + "src": "3262:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5996,7 +6011,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3207:9:1", + "src": "3255:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6009,7 +6024,7 @@ }, "id": 367, "nodeType": "ExpressionStatement", - "src": "3207:11:1" + "src": "3255:11:1" } ] } @@ -6034,7 +6049,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "2950:1:1", + "src": "2998:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6051,7 +6066,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "2954:7:1", + "src": "3002:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -6065,13 +6080,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2954:14:1", + "src": "3002:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2950:18:1", + "src": "2998:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6089,7 +6104,7 @@ "name": "i", "nodeType": "VariableDeclaration", "scope": 571, - "src": "2935:9:1", + "src": "2983:9:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6100,7 +6115,7 @@ "id": 329, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2935:7:1", + "src": "2983:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6121,7 +6136,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2947:1:1", + "src": "2995:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6130,7 +6145,7 @@ "value": "1" }, "nodeType": "VariableDeclarationStatement", - "src": "2935:13:1" + "src": "2983:13:1" }, "loopExpression": { "expression": { @@ -6143,7 +6158,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2970:3:1", + "src": "3018:3:1", "subExpression": { "argumentTypes": null, "id": 337, @@ -6151,7 +6166,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "2970:1:1", + "src": "3018:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6164,10 +6179,10 @@ }, "id": 339, "nodeType": "ExpressionStatement", - "src": "2970:3:1" + "src": "3018:3:1" }, "nodeType": "ForStatement", - "src": "2931:701:1" + "src": "2979:701:1" }, { "assignments": [ @@ -6180,7 +6195,7 @@ "name": "totalProportion", "nodeType": "VariableDeclaration", "scope": 571, - "src": "3720:23:1", + "src": "3768:23:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6191,7 +6206,7 @@ "id": 422, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3720:7:1", + "src": "3768:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6275,7 +6290,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, - "src": "3746:22:1", + "src": "3794:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6292,7 +6307,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3771:6:1", + "src": "3819:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6309,7 +6324,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3778:1:1", + "src": "3826:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6322,13 +6337,13 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3771:9:1", + "src": "3819:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:34:1", + "src": "3794:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6354,7 +6369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 109, - "src": "3796:22:1", + "src": "3844:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6371,7 +6386,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3821:6:1", + "src": "3869:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6388,7 +6403,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3828:1:1", + "src": "3876:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6401,19 +6416,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3821:9:1", + "src": "3869:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3796:34:1", + "src": "3844:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:84:1", + "src": "3794:84:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6439,7 +6454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 112, - "src": "3846:22:1", + "src": "3894:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6456,7 +6471,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3871:6:1", + "src": "3919:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6473,7 +6488,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3878:1:1", + "src": "3926:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6486,19 +6501,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3871:9:1", + "src": "3919:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3846:34:1", + "src": "3894:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:134:1", + "src": "3794:134:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6524,7 +6539,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "3896:22:1", + "src": "3944:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6541,7 +6556,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3921:6:1", + "src": "3969:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6558,7 +6573,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3928:1:1", + "src": "3976:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -6571,19 +6586,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3921:9:1", + "src": "3969:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3896:34:1", + "src": "3944:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:184:1", + "src": "3794:184:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6609,7 +6624,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, - "src": "3946:22:1", + "src": "3994:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6626,7 +6641,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "3971:6:1", + "src": "4019:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6643,7 +6658,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3978:1:1", + "src": "4026:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -6656,19 +6671,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3971:9:1", + "src": "4019:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3946:34:1", + "src": "3994:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:234:1", + "src": "3794:234:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6694,7 +6709,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 121, - "src": "3996:22:1", + "src": "4044:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6711,7 +6726,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "4021:6:1", + "src": "4069:6:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6728,7 +6743,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4028:1:1", + "src": "4076:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -6741,26 +6756,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4021:9:1", + "src": "4069:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3996:34:1", + "src": "4044:34:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3746:284:1", + "src": "3794:284:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3720:310:1" + "src": "3768:310:1" }, { "assignments": [], @@ -6771,7 +6786,7 @@ "name": "feePerMiner", "nodeType": "VariableDeclaration", "scope": 571, - "src": "4051:29:1", + "src": "4099:29:1", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6783,7 +6798,7 @@ "id": 462, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4051:7:1", + "src": "4099:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6800,7 +6815,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4059:1:1", + "src": "4107:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": null, @@ -6809,7 +6824,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "4051:10:1", + "src": "4099:10:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -6822,7 +6837,7 @@ "id": 465, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "4051:29:1" + "src": "4099:29:1" }, { "expression": { @@ -6841,7 +6856,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4093:11:1", + "src": "4141:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -6858,7 +6873,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4105:1:1", + "src": "4153:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6871,7 +6886,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4093:14:1", + "src": "4141:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6908,7 +6923,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4110:18:1", + "src": "4158:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6923,13 +6938,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 106, - "src": "4131:22:1", + "src": "4179:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4110:43:1", + "src": "4158:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6944,19 +6959,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4156:15:1", + "src": "4204:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4110:61:1", + "src": "4158:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4093:78:1", + "src": "4141:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6964,7 +6979,7 @@ }, "id": 475, "nodeType": "ExpressionStatement", - "src": "4093:78:1" + "src": "4141:78:1" }, { "expression": { @@ -6983,7 +6998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4182:11:1", + "src": "4230:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7000,7 +7015,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4194:1:1", + "src": "4242:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7013,7 +7028,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4182:14:1", + "src": "4230:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7050,7 +7065,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4199:18:1", + "src": "4247:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7065,13 +7080,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 109, - "src": "4220:22:1", + "src": "4268:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4199:43:1", + "src": "4247:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7086,19 +7101,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4245:15:1", + "src": "4293:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4199:61:1", + "src": "4247:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4182:78:1", + "src": "4230:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7106,7 +7121,7 @@ }, "id": 485, "nodeType": "ExpressionStatement", - "src": "4182:78:1" + "src": "4230:78:1" }, { "expression": { @@ -7125,7 +7140,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4271:11:1", + "src": "4319:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7142,7 +7157,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4283:1:1", + "src": "4331:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -7155,7 +7170,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4271:14:1", + "src": "4319:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7192,7 +7207,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4288:18:1", + "src": "4336:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7207,13 +7222,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 112, - "src": "4309:22:1", + "src": "4357:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4288:43:1", + "src": "4336:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7228,19 +7243,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4334:15:1", + "src": "4382:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4288:61:1", + "src": "4336:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4271:78:1", + "src": "4319:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7248,7 +7263,7 @@ }, "id": 495, "nodeType": "ExpressionStatement", - "src": "4271:78:1" + "src": "4319:78:1" }, { "expression": { @@ -7267,7 +7282,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4360:11:1", + "src": "4408:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7284,7 +7299,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4372:1:1", + "src": "4420:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -7297,7 +7312,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4360:14:1", + "src": "4408:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7334,7 +7349,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4377:18:1", + "src": "4425:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7349,13 +7364,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 115, - "src": "4398:22:1", + "src": "4446:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4377:43:1", + "src": "4425:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7370,19 +7385,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4423:15:1", + "src": "4471:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4377:61:1", + "src": "4425:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4360:78:1", + "src": "4408:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7390,7 +7405,7 @@ }, "id": 505, "nodeType": "ExpressionStatement", - "src": "4360:78:1" + "src": "4408:78:1" }, { "expression": { @@ -7409,7 +7424,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4449:11:1", + "src": "4497:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7426,7 +7441,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4461:1:1", + "src": "4509:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -7439,7 +7454,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4449:14:1", + "src": "4497:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7476,7 +7491,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4466:18:1", + "src": "4514:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7491,13 +7506,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 118, - "src": "4487:22:1", + "src": "4535:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4466:43:1", + "src": "4514:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7512,19 +7527,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4512:15:1", + "src": "4560:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4466:61:1", + "src": "4514:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4449:78:1", + "src": "4497:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7532,7 +7547,7 @@ }, "id": 515, "nodeType": "ExpressionStatement", - "src": "4449:78:1" + "src": "4497:78:1" }, { "expression": { @@ -7551,7 +7566,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4538:11:1", + "src": "4586:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -7568,7 +7583,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4550:1:1", + "src": "4598:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -7581,7 +7596,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4538:14:1", + "src": "4586:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7618,7 +7633,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 309, - "src": "4555:18:1", + "src": "4603:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7633,13 +7648,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 121, - "src": "4576:22:1", + "src": "4624:22:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4555:43:1", + "src": "4603:43:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7654,19 +7669,19 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 423, - "src": "4601:15:1", + "src": "4649:15:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4555:61:1", + "src": "4603:61:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4538:78:1", + "src": "4586:78:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7674,13 +7689,13 @@ }, "id": 525, "nodeType": "ExpressionStatement", - "src": "4538:78:1" + "src": "4586:78:1" }, { "body": { "id": 568, "nodeType": "Block", - "src": "4716:245:1", + "src": "4764:245:1", "statements": [ { "expression": { @@ -7697,9 +7712,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "4731:9:1", + "src": "4779:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -7717,7 +7732,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "4754:7:1", + "src": "4802:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -7731,7 +7746,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "4762:1:1", + "src": "4810:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7742,7 +7757,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4754:10:1", + "src": "4802:10:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7760,10 +7775,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 778, - "src": "4743:10:1", + "referencedDeclaration": 783, + "src": "4791:10:1", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$778_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$783_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -7775,21 +7790,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4743:22:1", + "src": "4791:22:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, - "src": "4731:34:1", + "src": "4779:34:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, "id": 544, "nodeType": "ExpressionStatement", - "src": "4731:34:1" + "src": "4779:34:1" }, { "condition": { @@ -7802,7 +7817,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4785:21:1", + "src": "4833:21:1", "subExpression": { "argumentTypes": null, "arguments": [], @@ -7815,9 +7830,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "4786:9:1", + "src": "4834:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -7828,8 +7843,8 @@ "lValueRequested": false, "memberName": "isMining", "nodeType": "MemberAccess", - "referencedDeclaration": 772, - "src": "4786:18:1", + "referencedDeclaration": 782, + "src": "4834:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", "typeString": "function () view external returns (bool)" @@ -7843,7 +7858,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4786:20:1", + "src": "4834:20:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7857,11 +7872,11 @@ "falseBody": null, "id": 550, "nodeType": "IfStatement", - "src": "4782:34:1", + "src": "4830:34:1", "trueBody": { "id": 549, "nodeType": "Continue", - "src": "4808:8:1" + "src": "4856:8:1" } }, { @@ -7879,7 +7894,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "4833:13:1", + "src": "4881:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7899,9 +7914,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "4849:9:1", + "src": "4897:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -7913,7 +7928,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 767, - "src": "4849:21:1", + "src": "4897:21:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -7927,13 +7942,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4849:23:1", + "src": "4897:23:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "4833:39:1", + "src": "4881:39:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7941,7 +7956,7 @@ }, "id": 556, "nodeType": "ExpressionStatement", - "src": "4833:39:1" + "src": "4881:39:1" }, { "expression": { @@ -7959,9 +7974,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 341, - "src": "4900:9:1", + "src": "4948:9:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$778", + "typeIdentifier": "t_contract$_IAlgoMiner_$783", "typeString": "contract IAlgoMiner" } }, @@ -7972,8 +7987,8 @@ "lValueRequested": false, "memberName": "getMiner", "nodeType": "MemberAccess", - "referencedDeclaration": 777, - "src": "4900:18:1", + "referencedDeclaration": 772, + "src": "4948:18:1", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" @@ -7987,7 +8002,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4900:20:1", + "src": "4948:20:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8002,7 +8017,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 464, - "src": "4922:11:1", + "src": "4970:11:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -8016,7 +8031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, - "src": "4934:13:1", + "src": "4982:13:1", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8027,7 +8042,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4922:26:1", + "src": "4970:26:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8052,9 +8067,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 705, - "src": "4880:6:1", + "src": "4928:6:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -8065,10 +8080,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1131, - "src": "4880:19:1", + "referencedDeclaration": 1136, + "src": "4928:19:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1106_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1106_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1111_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1111_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -8080,7 +8095,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4880:69:1", + "src": "4928:69:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8088,7 +8103,7 @@ }, "id": 567, "nodeType": "ExpressionStatement", - "src": "4880:69:1" + "src": "4928:69:1" } ] }, @@ -8110,7 +8125,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "4691:1:1", + "src": "4739:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8127,7 +8142,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "4695:7:1", + "src": "4743:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -8141,13 +8156,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4695:14:1", + "src": "4743:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4691:18:1", + "src": "4739:18:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8169,7 +8184,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "4684:1:1", + "src": "4732:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8187,7 +8202,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4688:1:1", + "src": "4736:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8195,7 +8210,7 @@ }, "value": "1" }, - "src": "4684:5:1", + "src": "4732:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8203,7 +8218,7 @@ }, "id": 529, "nodeType": "ExpressionStatement", - "src": "4684:5:1" + "src": "4732:5:1" }, "loopExpression": { "expression": { @@ -8216,7 +8231,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4711:3:1", + "src": "4759:3:1", "subExpression": { "argumentTypes": null, "id": 534, @@ -8224,7 +8239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 330, - "src": "4711:1:1", + "src": "4759:1:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8237,10 +8252,10 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "4711:3:1" + "src": "4759:3:1" }, "nodeType": "ForStatement", - "src": "4680:281:1" + "src": "4728:281:1" } ] }, @@ -8259,15 +8274,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 806, - "src": "2636:13:1", + "referencedDeclaration": 811, + "src": "2684:13:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2636:13:1" + "src": "2684:13:1" }, { "arguments": null, @@ -8279,14 +8294,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 634, - "src": "2650:10:1", + "src": "2698:10:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2650:10:1" + "src": "2698:10:1" } ], "name": "mine", @@ -8295,17 +8310,17 @@ "id": 295, "nodeType": "ParameterList", "parameters": [], - "src": "2626:2:1" + "src": "2674:2:1" }, "payable": false, "returnParameters": { "id": 300, "nodeType": "ParameterList", "parameters": [], - "src": "2661:0:1" + "src": "2709:0:1" }, "scope": 606, - "src": "2613:2355:1", + "src": "2661:2355:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8314,7 +8329,7 @@ "body": { "id": 579, "nodeType": "Block", - "src": "5017:31:1", + "src": "5065:31:1", "statements": [ { "expression": { @@ -8329,7 +8344,7 @@ 749 ], "referencedDeclaration": 749, - "src": "5028:10:1", + "src": "5076:10:1", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -8343,7 +8358,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5028:12:1", + "src": "5076:12:1", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8351,7 +8366,7 @@ }, "id": 578, "nodeType": "ExpressionStatement", - "src": "5028:12:1" + "src": "5076:12:1" } ] }, @@ -8371,14 +8386,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "5004:12:1", + "src": "5052:12:1", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5004:12:1" + "src": "5052:12:1" } ], "name": "terminate", @@ -8387,17 +8402,17 @@ "id": 572, "nodeType": "ParameterList", "parameters": [], - "src": "4994:2:1" + "src": "5042:2:1" }, "payable": false, "returnParameters": { "id": 575, "nodeType": "ParameterList", "parameters": [], - "src": "5017:0:1" + "src": "5065:0:1" }, "scope": 606, - "src": "4976:72:1", + "src": "5024:72:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8406,7 +8421,7 @@ "body": { "id": 590, "nodeType": "Block", - "src": "5111:44:1", + "src": "5159:44:1", "statements": [ { "expression": { @@ -8429,7 +8444,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "5129:7:1", + "src": "5177:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -8443,7 +8458,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5129:14:1", + "src": "5177:14:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8461,7 +8476,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5146:1:1", + "src": "5194:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8469,7 +8484,7 @@ }, "value": "1" }, - "src": "5129:18:1", + "src": "5177:18:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8478,7 +8493,7 @@ "functionReturnParameters": 584, "id": 589, "nodeType": "Return", - "src": "5122:25:1" + "src": "5170:25:1" } ] }, @@ -8494,7 +8509,7 @@ "id": 581, "nodeType": "ParameterList", "parameters": [], - "src": "5078:2:1" + "src": "5126:2:1" }, "payable": false, "returnParameters": { @@ -8507,7 +8522,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 591, - "src": "5102:7:1", + "src": "5150:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8518,7 +8533,7 @@ "id": 582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5102:7:1", + "src": "5150:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8528,10 +8543,10 @@ "visibility": "internal" } ], - "src": "5101:9:1" + "src": "5149:9:1" }, "scope": 606, - "src": "5056:99:1", + "src": "5104:99:1", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8540,7 +8555,7 @@ "body": { "id": 604, "nodeType": "Block", - "src": "5233:44:1", + "src": "5281:44:1", "statements": [ { "expression": { @@ -8552,7 +8567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "5251:7:1", + "src": "5299:7:1", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[] storage ref" @@ -8577,7 +8592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 593, - "src": "5259:5:1", + "src": "5307:5:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8595,7 +8610,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5267:1:1", + "src": "5315:1:1", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -8603,7 +8618,7 @@ }, "value": "1" }, - "src": "5259:9:1", + "src": "5307:9:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8614,7 +8629,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5251:18:1", + "src": "5299:18:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8623,7 +8638,7 @@ "functionReturnParameters": 597, "id": 603, "nodeType": "Return", - "src": "5244:25:1" + "src": "5292:25:1" } ] }, @@ -8645,7 +8660,7 @@ "name": "index", "nodeType": "VariableDeclaration", "scope": 605, - "src": "5188:13:1", + "src": "5236:13:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8656,7 +8671,7 @@ "id": 592, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5188:7:1", + "src": "5236:7:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8666,7 +8681,7 @@ "visibility": "internal" } ], - "src": "5187:15:1" + "src": "5235:15:1" }, "payable": false, "returnParameters": { @@ -8679,7 +8694,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 605, - "src": "5224:7:1", + "src": "5272:7:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8690,7 +8705,7 @@ "id": 595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5224:7:1", + "src": "5272:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8700,20 +8715,20 @@ "visibility": "internal" } ], - "src": "5223:9:1" + "src": "5271:9:1" }, "scope": 606, - "src": "5163:114:1", + "src": "5211:114:1", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], "scope": 607, - "src": "556:4724:1" + "src": "556:4772:1" } ], - "src": "0:5280:1" + "src": "0:5328:1" }, "id": 1 }, @@ -8745,7 +8760,7 @@ "id": 609, "nodeType": "ImportDirective", "scope": 694, - "sourceUnit": 910, + "sourceUnit": 915, "src": "28:189:2", "symbolAliases": [], "unitAlias": "" @@ -8770,10 +8785,10 @@ "id": 610, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 909, + "referencedDeclaration": 914, "src": "258:5:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$909", + "typeIdentifier": "t_contract$_Roles_$914", "typeString": "library Roles" } }, @@ -8784,10 +8799,10 @@ "id": 611, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "268:10:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } } @@ -8802,7 +8817,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -8810,10 +8825,10 @@ "id": 613, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "287:10:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -8838,7 +8853,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "375:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -8946,7 +8961,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "452:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -9012,10 +9027,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "435:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -9100,7 +9115,7 @@ "referencedDeclaration": 614, "src": "572:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -9111,10 +9126,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 908, + "referencedDeclaration": 913, "src": "572:18:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -9374,7 +9389,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "773:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -9501,7 +9516,7 @@ "referencedDeclaration": 614, "src": "857:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -9512,10 +9527,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 854, + "referencedDeclaration": 859, "src": "857:18:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -9633,7 +9648,7 @@ "referencedDeclaration": 614, "src": "960:14:2", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage", + "typeIdentifier": "t_struct$_Role_$827_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -9644,10 +9659,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 885, + "referencedDeclaration": 890, "src": "960:21:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$822_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$827_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -9761,7 +9776,7 @@ "id": 696, "nodeType": "ImportDirective", "scope": 751, - "sourceUnit": 1107, + "sourceUnit": 1112, "src": "27:195:3", "symbolAliases": [], "unitAlias": "" @@ -9772,7 +9787,7 @@ "id": 697, "nodeType": "ImportDirective", "scope": 751, - "sourceUnit": 1251, + "sourceUnit": 1256, "src": "224:198:3", "symbolAliases": [], "unitAlias": "" @@ -9783,7 +9798,7 @@ "id": 698, "nodeType": "ImportDirective", "scope": 751, - "sourceUnit": 816, + "sourceUnit": 821, "src": "426:26:3", "symbolAliases": [], "unitAlias": "" @@ -9797,10 +9812,10 @@ "id": 699, "name": "Terminable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 815, + "referencedDeclaration": 820, "src": "485:10:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Terminable_$815", + "typeIdentifier": "t_contract$_Terminable_$820", "typeString": "contract Terminable" } }, @@ -9810,7 +9825,7 @@ } ], "contractDependencies": [ - 815 + 820 ], "contractKind": "contract", "documentation": null, @@ -9818,7 +9833,7 @@ "id": 750, "linearizedBaseContracts": [ 750, - 815 + 820 ], "name": "ERC20TokenHolder", "nodeType": "ContractDefinition", @@ -9830,10 +9845,10 @@ "id": 701, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1250, + "referencedDeclaration": 1255, "src": "509:9:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } }, @@ -9844,10 +9859,10 @@ "id": 702, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "523:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } } @@ -9862,7 +9877,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { @@ -9870,10 +9885,10 @@ "id": 704, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "538:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -9903,7 +9918,7 @@ "referencedDeclaration": 705, "src": "636:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -9937,10 +9952,10 @@ "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "645:6:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$1106_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$1111_$", "typeString": "type(contract IERC20)" } }, @@ -9954,13 +9969,13 @@ "nodeType": "FunctionCall", "src": "645:20:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, "src": "636:29:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -9985,10 +10000,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 815, + "referencedDeclaration": 820, "src": "603:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$815_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$820_$", "typeString": "type(contract Terminable)" } }, @@ -10095,7 +10110,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1292, + "referencedDeclaration": 1297, "src": "773:4:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20TokenHolder_$750", @@ -10154,7 +10169,7 @@ "referencedDeclaration": 705, "src": "748:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -10165,7 +10180,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1051, + "referencedDeclaration": 1056, "src": "748:16:3", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -10259,7 +10274,7 @@ "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 782, + "referencedDeclaration": 787, "src": "848:8:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10300,7 +10315,7 @@ "referencedDeclaration": 705, "src": "828:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -10311,10 +10326,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1131, + "referencedDeclaration": 1136, "src": "828:19:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1106_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1106_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1111_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1111_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -10351,10 +10366,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 815, + "referencedDeclaration": 820, "src": "895:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$815_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$820_$", "typeString": "type(contract Terminable)" } }, @@ -10365,7 +10380,7 @@ "lValueRequested": false, "memberName": "_terminate", "nodeType": "MemberAccess", - "referencedDeclaration": 814, + "referencedDeclaration": 819, "src": "895:21:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", @@ -10416,7 +10431,7 @@ "scope": 750, "src": "681:245:3", "stateMutability": "nonpayable", - "superFunction": 814, + "superFunction": 819, "visibility": "internal" } ], @@ -10433,10 +10448,10 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol", "exportedSymbols": { "IAlgoMiner": [ - 778 + 783 ] }, - "id": 779, + "id": 784, "nodeType": "SourceUnit", "nodes": [ { @@ -10455,9 +10470,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 778, + "id": 783, "linearizedBaseContracts": [ - 778 + 783 ], "name": "IAlgoMiner", "nodeType": "ContractDefinition", @@ -10512,7 +10527,7 @@ ], "src": "97:6:4" }, - "scope": 778, + "scope": 783, "src": "54:50:4", "stateMutability": "pure", "superFunction": null, @@ -10568,7 +10583,7 @@ ], "src": "154:7:4" }, - "scope": 778, + "scope": 783, "src": "110:52:4", "stateMutability": "view", "superFunction": null, @@ -10624,7 +10639,7 @@ ], "src": "211:7:4" }, - "scope": 778, + "scope": 783, "src": "168:51:4", "stateMutability": "view", "superFunction": null, @@ -10638,7 +10653,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "isMining", + "name": "getMiner", "nodeType": "FunctionDefinition", "parameters": { "id": 768, @@ -10657,31 +10672,31 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 772, - "src": "266:4:4", + "src": "266:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { "id": 769, - "name": "bool", + "name": "address", "nodeType": "ElementaryTypeName", - "src": "266:4:4", + "src": "266:7:4", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "265:6:4" + "src": "265:9:4" }, - "scope": 778, - "src": "225:47:4", + "scope": 783, + "src": "225:50:4", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -10694,13 +10709,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "getMiner", + "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { "id": 773, "nodeType": "ParameterList", "parameters": [], - "src": "295:2:4" + "src": "301:2:4" }, "payable": false, "returnParameters": { @@ -10713,7 +10728,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 777, - "src": "319:7:4", + "src": "325:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10724,7 +10739,7 @@ "id": 774, "name": "address", "nodeType": "ElementaryTypeName", - "src": "319:7:4", + "src": "325:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10734,20 +10749,76 @@ "visibility": "internal" } ], - "src": "318:9:4" + "src": "324:9:4" }, - "scope": 778, - "src": "278:50: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", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 779, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "381:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:6:4" + }, + "scope": 783, + "src": "340:47:4", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 779, - "src": "27:304:4" + "scope": 784, + "src": "27:363:4" } ], - "src": "0:331:4" + "src": "0:390:4" }, "id": 4 }, @@ -10756,14 +10827,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "exportedSymbols": { "Terminable": [ - 815 + 820 ] }, - "id": 816, + "id": 821, "nodeType": "SourceUnit", "nodes": [ { - "id": 780, + "id": 785, "literals": [ "solidity", "0.4", @@ -10778,19 +10849,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 815, + "id": 820, "linearizedBaseContracts": [ - 815 + 820 ], "name": "Terminable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 782, + "id": 787, "name": "_creator", "nodeType": "VariableDeclaration", - "scope": 815, + "scope": 820, "src": "56:25:5", "stateVariable": true, "storageLocation": "default", @@ -10799,7 +10870,7 @@ "typeString": "address" }, "typeName": { - "id": 781, + "id": 786, "name": "address", "nodeType": "ElementaryTypeName", "src": "56:7:5", @@ -10813,10 +10884,10 @@ }, { "constant": false, - "id": 784, + "id": 789, "name": "_terminated", "nodeType": "VariableDeclaration", - "scope": 815, + "scope": 820, "src": "88:25:5", "stateVariable": true, "storageLocation": "default", @@ -10825,7 +10896,7 @@ "typeString": "bool" }, "typeName": { - "id": 783, + "id": 788, "name": "bool", "nodeType": "ElementaryTypeName", "src": "88:4:5", @@ -10839,25 +10910,25 @@ }, { "body": { - "id": 796, + "id": 801, "nodeType": "Block", "src": "145:70:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 790, + "id": 795, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 787, + "id": 792, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 782, + "referencedDeclaration": 787, "src": "156:8:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10870,18 +10941,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 788, + "id": 793, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "167:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 789, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, @@ -10901,25 +10972,25 @@ "typeString": "address" } }, - "id": 791, + "id": 796, "nodeType": "ExpressionStatement", "src": "156:21:5" }, { "expression": { "argumentTypes": null, - "id": 794, + "id": 799, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 792, + "id": 797, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 784, + "referencedDeclaration": 789, "src": "188:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10931,7 +11002,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 793, + "id": 798, "isConstant": false, "isLValue": false, "isPure": true, @@ -10952,14 +11023,14 @@ "typeString": "bool" } }, - "id": 795, + "id": 800, "nodeType": "ExpressionStatement", "src": "188:19:5" } ] }, "documentation": null, - "id": 797, + "id": 802, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -10967,19 +11038,19 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 785, + "id": 790, "nodeType": "ParameterList", "parameters": [], "src": "133:2:5" }, "payable": false, "returnParameters": { - "id": 786, + "id": 791, "nodeType": "ParameterList", "parameters": [], "src": "145:0:5" }, - "scope": 815, + "scope": 820, "src": "122:93:5", "stateMutability": "nonpayable", "superFunction": null, @@ -10987,7 +11058,7 @@ }, { "body": { - "id": 805, + "id": 810, "nodeType": "Block", "src": "248:52:5", "statements": [ @@ -10997,7 +11068,7 @@ "arguments": [ { "argumentTypes": null, - "id": 801, + "id": 806, "isConstant": false, "isLValue": false, "isPure": false, @@ -11008,11 +11079,11 @@ "src": "267:12:5", "subExpression": { "argumentTypes": null, - "id": 800, + "id": 805, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 784, + "referencedDeclaration": 789, "src": "268:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11032,21 +11103,21 @@ "typeString": "bool" } ], - "id": 799, + "id": 804, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "259:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 802, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -11060,23 +11131,23 @@ "typeString": "tuple()" } }, - "id": 803, + "id": 808, "nodeType": "ExpressionStatement", "src": "259:21:5" }, { - "id": 804, + "id": 809, "nodeType": "PlaceholderStatement", "src": "291:1:5" } ] }, "documentation": null, - "id": 806, + "id": 811, "name": "notTerminated", "nodeType": "ModifierDefinition", "parameters": { - "id": 798, + "id": 803, "nodeType": "ParameterList", "parameters": [], "src": "245:2:5" @@ -11086,25 +11157,25 @@ }, { "body": { - "id": 813, + "id": 818, "nodeType": "Block", "src": "339:37:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 811, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 809, + "id": 814, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 784, + "referencedDeclaration": 789, "src": "350:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11116,7 +11187,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 810, + "id": 815, "isConstant": false, "isLValue": false, "isPure": true, @@ -11137,14 +11208,14 @@ "typeString": "bool" } }, - "id": 812, + "id": 817, "nodeType": "ExpressionStatement", "src": "350:18:5" } ] }, "documentation": null, - "id": 814, + "id": 819, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -11152,26 +11223,26 @@ "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 807, + "id": 812, "nodeType": "ParameterList", "parameters": [], "src": "327:2:5" }, "payable": false, "returnParameters": { - "id": 808, + "id": 813, "nodeType": "ParameterList", "parameters": [], "src": "339:0:5" }, - "scope": 815, + "scope": 820, "src": "308:68:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 816, + "scope": 821, "src": "27:352:5" } ], @@ -11184,14 +11255,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 909 + 914 ] }, - "id": 910, + "id": 915, "nodeType": "SourceUnit", "nodes": [ { - "id": 817, + "id": 822, "literals": [ "solidity", "^", @@ -11207,23 +11278,23 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 909, + "id": 914, "linearizedBaseContracts": [ - 909 + 914 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 822, + "id": 827, "members": [ { "constant": false, - "id": 821, + "id": 826, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 822, + "scope": 827, "src": "145:32:6", "stateVariable": false, "storageLocation": "default", @@ -11232,9 +11303,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 820, + "id": 825, "keyType": { - "id": 818, + "id": 823, "name": "address", "nodeType": "ElementaryTypeName", "src": "154:7:6", @@ -11250,7 +11321,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 819, + "id": 824, "name": "bool", "nodeType": "ElementaryTypeName", "src": "165:4:6", @@ -11266,13 +11337,13 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 909, + "scope": 914, "src": "127:55:6", "visibility": "public" }, { "body": { - "id": 853, + "id": 858, "nodeType": "Block", "src": "302:109:6", "statements": [ @@ -11286,18 +11357,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 834, + "id": 839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 830, + "id": 835, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 826, + "referencedDeclaration": 831, "src": "316:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11312,7 +11383,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 832, + "id": 837, "isConstant": false, "isLValue": false, "isPure": true, @@ -11335,7 +11406,7 @@ "typeString": "int_const 0" } ], - "id": 831, + "id": 836, "isConstant": false, "isLValue": false, "isPure": true, @@ -11348,7 +11419,7 @@ }, "typeName": "address" }, - "id": 833, + "id": 838, "isConstant": false, "isLValue": false, "isPure": true, @@ -11376,21 +11447,21 @@ "typeString": "bool" } ], - "id": 829, + "id": 834, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "308:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 835, + "id": 840, "isConstant": false, "isLValue": false, "isPure": false, @@ -11404,7 +11475,7 @@ "typeString": "tuple()" } }, - "id": 836, + "id": 841, "nodeType": "ExpressionStatement", "src": "308:30:6" }, @@ -11414,7 +11485,7 @@ "arguments": [ { "argumentTypes": null, - "id": 842, + "id": 847, "isConstant": false, "isLValue": false, "isPure": false, @@ -11428,24 +11499,24 @@ "arguments": [ { "argumentTypes": null, - "id": 839, + "id": 844, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, + "referencedDeclaration": 829, "src": "357:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 840, + "id": 845, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 826, + "referencedDeclaration": 831, "src": "363:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11456,7 +11527,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -11464,18 +11535,18 @@ "typeString": "address" } ], - "id": 838, + "id": 843, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, + "referencedDeclaration": 913, "src": "353:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 841, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, @@ -11502,21 +11573,21 @@ "typeString": "bool" } ], - "id": 837, + "id": 842, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "344:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 843, + "id": 848, "isConstant": false, "isLValue": false, "isPure": false, @@ -11530,14 +11601,14 @@ "typeString": "tuple()" } }, - "id": 844, + "id": 849, "nodeType": "ExpressionStatement", "src": "344:28:6" }, { "expression": { "argumentTypes": null, - "id": 851, + "id": 856, "isConstant": false, "isLValue": false, "isPure": false, @@ -11548,39 +11619,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 845, + "id": 850, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, + "referencedDeclaration": 829, "src": "379:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 848, + "id": 853, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 821, + "referencedDeclaration": 826, "src": "379:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 849, + "id": 854, "indexExpression": { "argumentTypes": null, - "id": 847, + "id": 852, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 826, + "referencedDeclaration": 831, "src": "391:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11603,7 +11674,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 850, + "id": 855, "isConstant": false, "isLValue": false, "isPure": true, @@ -11624,14 +11695,14 @@ "typeString": "bool" } }, - "id": 852, + "id": 857, "nodeType": "ExpressionStatement", "src": "379:27:6" } ] }, "documentation": "@dev give an account access to this role", - "id": 854, + "id": 859, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -11639,31 +11710,31 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 827, + "id": 832, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 824, + "id": 829, "name": "role", "nodeType": "VariableDeclaration", - "scope": 854, + "scope": 859, "src": "257:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 823, + "id": 828, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "257:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -11672,10 +11743,10 @@ }, { "constant": false, - "id": 826, + "id": 831, "name": "account", "nodeType": "VariableDeclaration", - "scope": 854, + "scope": 859, "src": "276:15:6", "stateVariable": false, "storageLocation": "default", @@ -11684,7 +11755,7 @@ "typeString": "address" }, "typeName": { - "id": 825, + "id": 830, "name": "address", "nodeType": "ElementaryTypeName", "src": "276:7:6", @@ -11701,12 +11772,12 @@ }, "payable": false, "returnParameters": { - "id": 828, + "id": 833, "nodeType": "ParameterList", "parameters": [], "src": "302:0:6" }, - "scope": 909, + "scope": 914, "src": "244:167:6", "stateMutability": "nonpayable", "superFunction": null, @@ -11714,7 +11785,7 @@ }, { "body": { - "id": 884, + "id": 889, "nodeType": "Block", "src": "538:109:6", "statements": [ @@ -11728,18 +11799,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 866, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 862, + "id": 867, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 858, + "referencedDeclaration": 863, "src": "552:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11754,7 +11825,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 864, + "id": 869, "isConstant": false, "isLValue": false, "isPure": true, @@ -11777,7 +11848,7 @@ "typeString": "int_const 0" } ], - "id": 863, + "id": 868, "isConstant": false, "isLValue": false, "isPure": true, @@ -11790,7 +11861,7 @@ }, "typeName": "address" }, - "id": 865, + "id": 870, "isConstant": false, "isLValue": false, "isPure": true, @@ -11818,21 +11889,21 @@ "typeString": "bool" } ], - "id": 861, + "id": 866, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "544:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 867, + "id": 872, "isConstant": false, "isLValue": false, "isPure": false, @@ -11846,7 +11917,7 @@ "typeString": "tuple()" } }, - "id": 868, + "id": 873, "nodeType": "ExpressionStatement", "src": "544:30:6" }, @@ -11859,24 +11930,24 @@ "arguments": [ { "argumentTypes": null, - "id": 871, + "id": 876, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, + "referencedDeclaration": 861, "src": "592:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 872, + "id": 877, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 858, + "referencedDeclaration": 863, "src": "598:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11887,7 +11958,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -11895,18 +11966,18 @@ "typeString": "address" } ], - "id": 870, + "id": 875, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, + "referencedDeclaration": 913, "src": "588:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$822_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$827_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 873, + "id": 878, "isConstant": false, "isLValue": false, "isPure": false, @@ -11928,21 +11999,21 @@ "typeString": "bool" } ], - "id": 869, + "id": 874, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "580:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 874, + "id": 879, "isConstant": false, "isLValue": false, "isPure": false, @@ -11956,14 +12027,14 @@ "typeString": "tuple()" } }, - "id": 875, + "id": 880, "nodeType": "ExpressionStatement", "src": "580:27:6" }, { "expression": { "argumentTypes": null, - "id": 882, + "id": 887, "isConstant": false, "isLValue": false, "isPure": false, @@ -11974,39 +12045,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 876, + "id": 881, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 856, + "referencedDeclaration": 861, "src": "614:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 879, + "id": 884, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 821, + "referencedDeclaration": 826, "src": "614:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 880, + "id": 885, "indexExpression": { "argumentTypes": null, - "id": 878, + "id": 883, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 858, + "referencedDeclaration": 863, "src": "626:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12029,7 +12100,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 881, + "id": 886, "isConstant": false, "isLValue": false, "isPure": true, @@ -12050,14 +12121,14 @@ "typeString": "bool" } }, - "id": 883, + "id": 888, "nodeType": "ExpressionStatement", "src": "614:28:6" } ] }, "documentation": "@dev remove an account's access to this role", - "id": 885, + "id": 890, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -12065,31 +12136,31 @@ "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 859, + "id": 864, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 856, + "id": 861, "name": "role", "nodeType": "VariableDeclaration", - "scope": 885, + "scope": 890, "src": "493:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 855, + "id": 860, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "493:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12098,10 +12169,10 @@ }, { "constant": false, - "id": 858, + "id": 863, "name": "account", "nodeType": "VariableDeclaration", - "scope": 885, + "scope": 890, "src": "512:15:6", "stateVariable": false, "storageLocation": "default", @@ -12110,7 +12181,7 @@ "typeString": "address" }, "typeName": { - "id": 857, + "id": 862, "name": "address", "nodeType": "ElementaryTypeName", "src": "512:7:6", @@ -12127,12 +12198,12 @@ }, "payable": false, "returnParameters": { - "id": 860, + "id": 865, "nodeType": "ParameterList", "parameters": [], "src": "538:0:6" }, - "scope": 909, + "scope": 914, "src": "477:170:6", "stateMutability": "nonpayable", "superFunction": null, @@ -12140,7 +12211,7 @@ }, { "body": { - "id": 907, + "id": 912, "nodeType": "Block", "src": "817:74:6", "statements": [ @@ -12154,18 +12225,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 899, + "id": 904, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 895, + "id": 900, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 889, + "referencedDeclaration": 894, "src": "831:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12180,7 +12251,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 897, + "id": 902, "isConstant": false, "isLValue": false, "isPure": true, @@ -12203,7 +12274,7 @@ "typeString": "int_const 0" } ], - "id": 896, + "id": 901, "isConstant": false, "isLValue": false, "isPure": true, @@ -12216,7 +12287,7 @@ }, "typeName": "address" }, - "id": 898, + "id": 903, "isConstant": false, "isLValue": false, "isPure": true, @@ -12244,21 +12315,21 @@ "typeString": "bool" } ], - "id": 894, + "id": 899, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "823:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 900, + "id": 905, "isConstant": false, "isLValue": false, "isPure": false, @@ -12272,7 +12343,7 @@ "typeString": "tuple()" } }, - "id": 901, + "id": 906, "nodeType": "ExpressionStatement", "src": "823:30:6" }, @@ -12283,39 +12354,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 902, + "id": 907, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 892, "src": "866:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 903, + "id": 908, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 821, + "referencedDeclaration": 826, "src": "866:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 905, + "id": 910, "indexExpression": { "argumentTypes": null, - "id": 904, + "id": 909, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 889, + "referencedDeclaration": 894, "src": "878:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12333,15 +12404,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 893, - "id": 906, + "functionReturnParameters": 898, + "id": 911, "nodeType": "Return", "src": "859:27:6" } ] }, "documentation": "@dev check if an account has this role\n@return bool", - "id": 908, + "id": 913, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -12349,31 +12420,31 @@ "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 890, + "id": 895, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 887, + "id": 892, "name": "role", "nodeType": "VariableDeclaration", - "scope": 908, + "scope": 913, "src": "738:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 886, + "id": 891, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 822, + "referencedDeclaration": 827, "src": "738:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$822_storage_ptr", + "typeIdentifier": "t_struct$_Role_$827_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12382,10 +12453,10 @@ }, { "constant": false, - "id": 889, + "id": 894, "name": "account", "nodeType": "VariableDeclaration", - "scope": 908, + "scope": 913, "src": "757:15:6", "stateVariable": false, "storageLocation": "default", @@ -12394,7 +12465,7 @@ "typeString": "address" }, "typeName": { - "id": 888, + "id": 893, "name": "address", "nodeType": "ElementaryTypeName", "src": "757:7:6", @@ -12411,15 +12482,15 @@ }, "payable": false, "returnParameters": { - "id": 893, + "id": 898, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 892, + "id": 897, "name": "", "nodeType": "VariableDeclaration", - "scope": 908, + "scope": 913, "src": "809:4:6", "stateVariable": false, "storageLocation": "default", @@ -12428,7 +12499,7 @@ "typeString": "bool" }, "typeName": { - "id": 891, + "id": 896, "name": "bool", "nodeType": "ElementaryTypeName", "src": "809:4:6", @@ -12443,14 +12514,14 @@ ], "src": "808:6:6" }, - "scope": 909, + "scope": 914, "src": "725:166:6", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 910, + "scope": 915, "src": "109:784:6" } ], @@ -12463,14 +12534,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1037 + 1042 ] }, - "id": 1038, + "id": 1043, "nodeType": "SourceUnit", "nodes": [ { - "id": 911, + "id": 916, "literals": [ "solidity", "^", @@ -12486,16 +12557,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1037, + "id": 1042, "linearizedBaseContracts": [ - 1037 + 1042 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 943, + "id": 948, "nodeType": "Block", "src": "271:314:7", "statements": [ @@ -12506,18 +12577,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 922, + "id": 927, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 920, + "id": 925, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, + "referencedDeclaration": 918, "src": "486:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12529,7 +12600,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 921, + "id": 926, "isConstant": false, "isLValue": false, "isPure": true, @@ -12551,11 +12622,11 @@ } }, "falseBody": null, - "id": 926, + "id": 931, "nodeType": "IfStatement", "src": "482:35:7", "trueBody": { - "id": 925, + "id": 930, "nodeType": "Block", "src": "494:23:7", "statements": [ @@ -12563,7 +12634,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 923, + "id": 928, "isConstant": false, "isLValue": false, "isPure": true, @@ -12578,8 +12649,8 @@ }, "value": "0" }, - "functionReturnParameters": 919, - "id": 924, + "functionReturnParameters": 924, + "id": 929, "nodeType": "Return", "src": "502:8:7" } @@ -12588,15 +12659,15 @@ }, { "assignments": [ - 928 + 933 ], "declarations": [ { "constant": false, - "id": 928, + "id": 933, "name": "c", "nodeType": "VariableDeclaration", - "scope": 944, + "scope": 949, "src": "523:9:7", "stateVariable": false, "storageLocation": "default", @@ -12605,7 +12676,7 @@ "typeString": "uint256" }, "typeName": { - "id": 927, + "id": 932, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:7", @@ -12618,25 +12689,25 @@ "visibility": "internal" } ], - "id": 932, + "id": 937, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 931, + "id": 936, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 929, + "id": 934, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, + "referencedDeclaration": 918, "src": "535:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12647,11 +12718,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 930, + "id": 935, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, + "referencedDeclaration": 920, "src": "539:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12677,7 +12748,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 938, + "id": 943, "isConstant": false, "isLValue": false, "isPure": false, @@ -12688,18 +12759,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 936, + "id": 941, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 934, + "id": 939, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, + "referencedDeclaration": 933, "src": "554:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12710,11 +12781,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 935, + "id": 940, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, + "referencedDeclaration": 918, "src": "558:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12731,11 +12802,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 937, + "id": 942, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 915, + "referencedDeclaration": 920, "src": "563:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12756,21 +12827,21 @@ "typeString": "bool" } ], - "id": 933, + "id": 938, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "546:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 939, + "id": 944, "isConstant": false, "isLValue": false, "isPure": false, @@ -12784,33 +12855,33 @@ "typeString": "tuple()" } }, - "id": 940, + "id": 945, "nodeType": "ExpressionStatement", "src": "546:19:7" }, { "expression": { "argumentTypes": null, - "id": 941, + "id": 946, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 928, + "referencedDeclaration": 933, "src": "579:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 919, - "id": 942, + "functionReturnParameters": 924, + "id": 947, "nodeType": "Return", "src": "572:8:7" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 944, + "id": 949, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -12818,15 +12889,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 916, + "id": 921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 913, + "id": 918, "name": "a", "nodeType": "VariableDeclaration", - "scope": 944, + "scope": 949, "src": "217:9:7", "stateVariable": false, "storageLocation": "default", @@ -12835,7 +12906,7 @@ "typeString": "uint256" }, "typeName": { - "id": 912, + "id": 917, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:7", @@ -12849,10 +12920,10 @@ }, { "constant": false, - "id": 915, + "id": 920, "name": "b", "nodeType": "VariableDeclaration", - "scope": 944, + "scope": 949, "src": "228:9:7", "stateVariable": false, "storageLocation": "default", @@ -12861,7 +12932,7 @@ "typeString": "uint256" }, "typeName": { - "id": 914, + "id": 919, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:7", @@ -12878,15 +12949,15 @@ }, "payable": false, "returnParameters": { - "id": 919, + "id": 924, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 918, + "id": 923, "name": "", "nodeType": "VariableDeclaration", - "scope": 944, + "scope": 949, "src": "262:7:7", "stateVariable": false, "storageLocation": "default", @@ -12895,7 +12966,7 @@ "typeString": "uint256" }, "typeName": { - "id": 917, + "id": 922, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:7", @@ -12910,7 +12981,7 @@ ], "src": "261:9:7" }, - "scope": 1037, + "scope": 1042, "src": "204:381:7", "stateMutability": "pure", "superFunction": null, @@ -12918,7 +12989,7 @@ }, { "body": { - "id": 967, + "id": 972, "nodeType": "Block", "src": "762:203:7", "statements": [ @@ -12932,18 +13003,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 956, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 954, + "id": 959, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 948, + "referencedDeclaration": 953, "src": "776:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12955,7 +13026,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 955, + "id": 960, "isConstant": false, "isLValue": false, "isPure": true, @@ -12984,21 +13055,21 @@ "typeString": "bool" } ], - "id": 953, + "id": 958, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "768:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 957, + "id": 962, "isConstant": false, "isLValue": false, "isPure": false, @@ -13012,21 +13083,21 @@ "typeString": "tuple()" } }, - "id": 958, + "id": 963, "nodeType": "ExpressionStatement", "src": "768:14:7" }, { "assignments": [ - 960 + 965 ], "declarations": [ { "constant": false, - "id": 960, + "id": 965, "name": "c", "nodeType": "VariableDeclaration", - "scope": 968, + "scope": 973, "src": "846:9:7", "stateVariable": false, "storageLocation": "default", @@ -13035,7 +13106,7 @@ "typeString": "uint256" }, "typeName": { - "id": 959, + "id": 964, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:7", @@ -13048,25 +13119,25 @@ "visibility": "internal" } ], - "id": 964, + "id": 969, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 963, + "id": 968, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 961, + "id": 966, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 946, + "referencedDeclaration": 951, "src": "858:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13077,11 +13148,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 962, + "id": 967, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 948, + "referencedDeclaration": 953, "src": "862:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13100,26 +13171,26 @@ { "expression": { "argumentTypes": null, - "id": 965, + "id": 970, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 960, + "referencedDeclaration": 965, "src": "959:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 952, - "id": 966, + "functionReturnParameters": 957, + "id": 971, "nodeType": "Return", "src": "952:8:7" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 968, + "id": 973, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13127,15 +13198,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 949, + "id": 954, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 946, + "id": 951, "name": "a", "nodeType": "VariableDeclaration", - "scope": 968, + "scope": 973, "src": "708:9:7", "stateVariable": false, "storageLocation": "default", @@ -13144,7 +13215,7 @@ "typeString": "uint256" }, "typeName": { - "id": 945, + "id": 950, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:7", @@ -13158,10 +13229,10 @@ }, { "constant": false, - "id": 948, + "id": 953, "name": "b", "nodeType": "VariableDeclaration", - "scope": 968, + "scope": 973, "src": "719:9:7", "stateVariable": false, "storageLocation": "default", @@ -13170,7 +13241,7 @@ "typeString": "uint256" }, "typeName": { - "id": 947, + "id": 952, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:7", @@ -13187,15 +13258,15 @@ }, "payable": false, "returnParameters": { - "id": 952, + "id": 957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 951, + "id": 956, "name": "", "nodeType": "VariableDeclaration", - "scope": 968, + "scope": 973, "src": "753:7:7", "stateVariable": false, "storageLocation": "default", @@ -13204,7 +13275,7 @@ "typeString": "uint256" }, "typeName": { - "id": 950, + "id": 955, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:7", @@ -13219,7 +13290,7 @@ ], "src": "752:9:7" }, - "scope": 1037, + "scope": 1042, "src": "695:270:7", "stateMutability": "pure", "superFunction": null, @@ -13227,7 +13298,7 @@ }, { "body": { - "id": 991, + "id": 996, "nodeType": "Block", "src": "1145:64:7", "statements": [ @@ -13241,18 +13312,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 980, + "id": 985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 978, + "id": 983, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, + "referencedDeclaration": 977, "src": "1159:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13263,11 +13334,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 979, + "id": 984, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, + "referencedDeclaration": 975, "src": "1164:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13288,21 +13359,21 @@ "typeString": "bool" } ], - "id": 977, + "id": 982, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1151:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 981, + "id": 986, "isConstant": false, "isLValue": false, "isPure": false, @@ -13316,21 +13387,21 @@ "typeString": "tuple()" } }, - "id": 982, + "id": 987, "nodeType": "ExpressionStatement", "src": "1151:15:7" }, { "assignments": [ - 984 + 989 ], "declarations": [ { "constant": false, - "id": 984, + "id": 989, "name": "c", "nodeType": "VariableDeclaration", - "scope": 992, + "scope": 997, "src": "1172:9:7", "stateVariable": false, "storageLocation": "default", @@ -13339,7 +13410,7 @@ "typeString": "uint256" }, "typeName": { - "id": 983, + "id": 988, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:7", @@ -13352,25 +13423,25 @@ "visibility": "internal" } ], - "id": 988, + "id": 993, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 987, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 985, + "id": 990, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, + "referencedDeclaration": 975, "src": "1184:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13381,11 +13452,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 986, + "id": 991, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 972, + "referencedDeclaration": 977, "src": "1188:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13404,26 +13475,26 @@ { "expression": { "argumentTypes": null, - "id": 989, + "id": 994, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 984, + "referencedDeclaration": 989, "src": "1203:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 976, - "id": 990, + "functionReturnParameters": 981, + "id": 995, "nodeType": "Return", "src": "1196:8:7" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 992, + "id": 997, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13431,15 +13502,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 973, + "id": 978, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 970, + "id": 975, "name": "a", "nodeType": "VariableDeclaration", - "scope": 992, + "scope": 997, "src": "1091:9:7", "stateVariable": false, "storageLocation": "default", @@ -13448,7 +13519,7 @@ "typeString": "uint256" }, "typeName": { - "id": 969, + "id": 974, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:7", @@ -13462,10 +13533,10 @@ }, { "constant": false, - "id": 972, + "id": 977, "name": "b", "nodeType": "VariableDeclaration", - "scope": 992, + "scope": 997, "src": "1102:9:7", "stateVariable": false, "storageLocation": "default", @@ -13474,7 +13545,7 @@ "typeString": "uint256" }, "typeName": { - "id": 971, + "id": 976, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:7", @@ -13491,15 +13562,15 @@ }, "payable": false, "returnParameters": { - "id": 976, + "id": 981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 975, + "id": 980, "name": "", "nodeType": "VariableDeclaration", - "scope": 992, + "scope": 997, "src": "1136:7:7", "stateVariable": false, "storageLocation": "default", @@ -13508,7 +13579,7 @@ "typeString": "uint256" }, "typeName": { - "id": 974, + "id": 979, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:7", @@ -13523,7 +13594,7 @@ ], "src": "1135:9:7" }, - "scope": 1037, + "scope": 1042, "src": "1078:131:7", "stateMutability": "pure", "superFunction": null, @@ -13531,21 +13602,21 @@ }, { "body": { - "id": 1015, + "id": 1020, "nodeType": "Block", "src": "1339:64:7", "statements": [ { "assignments": [ - 1002 + 1007 ], "declarations": [ { "constant": false, - "id": 1002, + "id": 1007, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1016, + "scope": 1021, "src": "1345:9:7", "stateVariable": false, "storageLocation": "default", @@ -13554,7 +13625,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1001, + "id": 1006, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:7", @@ -13567,25 +13638,25 @@ "visibility": "internal" } ], - "id": 1006, + "id": 1011, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1005, + "id": 1010, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1003, + "id": 1008, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 994, + "referencedDeclaration": 999, "src": "1357:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13596,11 +13667,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1004, + "id": 1009, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 996, + "referencedDeclaration": 1001, "src": "1361:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13626,18 +13697,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1010, + "id": 1015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1008, + "id": 1013, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 1007, "src": "1376:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13648,11 +13719,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1009, + "id": 1014, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 994, + "referencedDeclaration": 999, "src": "1381:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13673,21 +13744,21 @@ "typeString": "bool" } ], - "id": 1007, + "id": 1012, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1368:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1011, + "id": 1016, "isConstant": false, "isLValue": false, "isPure": false, @@ -13701,33 +13772,33 @@ "typeString": "tuple()" } }, - "id": 1012, + "id": 1017, "nodeType": "ExpressionStatement", "src": "1368:15:7" }, { "expression": { "argumentTypes": null, - "id": 1013, + "id": 1018, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 1007, "src": "1397:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1000, - "id": 1014, + "functionReturnParameters": 1005, + "id": 1019, "nodeType": "Return", "src": "1390:8:7" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1016, + "id": 1021, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13735,15 +13806,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 997, + "id": 1002, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 994, + "id": 999, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1016, + "scope": 1021, "src": "1285:9:7", "stateVariable": false, "storageLocation": "default", @@ -13752,7 +13823,7 @@ "typeString": "uint256" }, "typeName": { - "id": 993, + "id": 998, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:7", @@ -13766,10 +13837,10 @@ }, { "constant": false, - "id": 996, + "id": 1001, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1016, + "scope": 1021, "src": "1296:9:7", "stateVariable": false, "storageLocation": "default", @@ -13778,7 +13849,7 @@ "typeString": "uint256" }, "typeName": { - "id": 995, + "id": 1000, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:7", @@ -13795,15 +13866,15 @@ }, "payable": false, "returnParameters": { - "id": 1000, + "id": 1005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 999, + "id": 1004, "name": "", "nodeType": "VariableDeclaration", - "scope": 1016, + "scope": 1021, "src": "1330:7:7", "stateVariable": false, "storageLocation": "default", @@ -13812,7 +13883,7 @@ "typeString": "uint256" }, "typeName": { - "id": 998, + "id": 1003, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:7", @@ -13827,7 +13898,7 @@ ], "src": "1329:9:7" }, - "scope": 1037, + "scope": 1042, "src": "1272:131:7", "stateMutability": "pure", "superFunction": null, @@ -13835,7 +13906,7 @@ }, { "body": { - "id": 1035, + "id": 1040, "nodeType": "Block", "src": "1602:44:7", "statements": [ @@ -13849,18 +13920,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1028, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1026, + "id": 1031, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, + "referencedDeclaration": 1025, "src": "1616:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13872,7 +13943,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1027, + "id": 1032, "isConstant": false, "isLValue": false, "isPure": true, @@ -13901,21 +13972,21 @@ "typeString": "bool" } ], - "id": 1025, + "id": 1030, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1608:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1029, + "id": 1034, "isConstant": false, "isLValue": false, "isPure": false, @@ -13929,7 +14000,7 @@ "typeString": "tuple()" } }, - "id": 1030, + "id": 1035, "nodeType": "ExpressionStatement", "src": "1608:15:7" }, @@ -13940,18 +14011,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1033, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1031, + "id": 1036, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1018, + "referencedDeclaration": 1023, "src": "1636:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13962,11 +14033,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1032, + "id": 1037, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1020, + "referencedDeclaration": 1025, "src": "1640:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -13979,15 +14050,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1024, - "id": 1034, + "functionReturnParameters": 1029, + "id": 1039, "nodeType": "Return", "src": "1629:12:7" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1036, + "id": 1041, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -13995,15 +14066,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1021, + "id": 1026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1018, + "id": 1023, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1041, "src": "1548:9:7", "stateVariable": false, "storageLocation": "default", @@ -14012,7 +14083,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1017, + "id": 1022, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:7", @@ -14026,10 +14097,10 @@ }, { "constant": false, - "id": 1020, + "id": 1025, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1041, "src": "1559:9:7", "stateVariable": false, "storageLocation": "default", @@ -14038,7 +14109,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1019, + "id": 1024, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:7", @@ -14055,15 +14126,15 @@ }, "payable": false, "returnParameters": { - "id": 1024, + "id": 1029, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1023, + "id": 1028, "name": "", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1041, "src": "1593:7:7", "stateVariable": false, "storageLocation": "default", @@ -14072,7 +14143,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1022, + "id": 1027, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:7", @@ -14087,14 +14158,14 @@ ], "src": "1592:9:7" }, - "scope": 1037, + "scope": 1042, "src": "1535:111:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1038, + "scope": 1043, "src": "117:1531:7" } ], @@ -14107,14 +14178,14 @@ "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": [ - 1106 + 1111 ] }, - "id": 1107, + "id": 1112, "nodeType": "SourceUnit", "nodes": [ { - "id": 1039, + "id": 1044, "literals": [ "solidity", "^", @@ -14130,9 +14201,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 1106, + "id": 1111, "linearizedBaseContracts": [ - 1106 + 1111 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -14140,7 +14211,7 @@ { "body": null, "documentation": null, - "id": 1044, + "id": 1049, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -14148,22 +14219,22 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 1040, + "id": 1045, "nodeType": "ParameterList", "parameters": [], "src": "156:2:8" }, "payable": false, "returnParameters": { - "id": 1043, + "id": 1048, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1042, + "id": 1047, "name": "", "nodeType": "VariableDeclaration", - "scope": 1044, + "scope": 1049, "src": "182:7:8", "stateVariable": false, "storageLocation": "default", @@ -14172,7 +14243,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1041, + "id": 1046, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "182:7:8", @@ -14187,7 +14258,7 @@ ], "src": "181:9:8" }, - "scope": 1106, + "scope": 1111, "src": "136:55:8", "stateMutability": "view", "superFunction": null, @@ -14196,7 +14267,7 @@ { "body": null, "documentation": null, - "id": 1051, + "id": 1056, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -14204,15 +14275,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1047, + "id": 1052, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1046, + "id": 1051, "name": "who", "nodeType": "VariableDeclaration", - "scope": 1051, + "scope": 1056, "src": "214:11:8", "stateVariable": false, "storageLocation": "default", @@ -14221,7 +14292,7 @@ "typeString": "address" }, "typeName": { - "id": 1045, + "id": 1050, "name": "address", "nodeType": "ElementaryTypeName", "src": "214:7:8", @@ -14238,15 +14309,15 @@ }, "payable": false, "returnParameters": { - "id": 1050, + "id": 1055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1049, + "id": 1054, "name": "", "nodeType": "VariableDeclaration", - "scope": 1051, + "scope": 1056, "src": "250:7:8", "stateVariable": false, "storageLocation": "default", @@ -14255,7 +14326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1048, + "id": 1053, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "250:7:8", @@ -14270,7 +14341,7 @@ ], "src": "249:9:8" }, - "scope": 1106, + "scope": 1111, "src": "195:64:8", "stateMutability": "view", "superFunction": null, @@ -14279,7 +14350,7 @@ { "body": null, "documentation": null, - "id": 1060, + "id": 1065, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -14287,15 +14358,15 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1056, + "id": 1061, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1053, + "id": 1058, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1060, + "scope": 1065, "src": "282:13:8", "stateVariable": false, "storageLocation": "default", @@ -14304,7 +14375,7 @@ "typeString": "address" }, "typeName": { - "id": 1052, + "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", "src": "282:7:8", @@ -14318,10 +14389,10 @@ }, { "constant": false, - "id": 1055, + "id": 1060, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1060, + "scope": 1065, "src": "297:15:8", "stateVariable": false, "storageLocation": "default", @@ -14330,7 +14401,7 @@ "typeString": "address" }, "typeName": { - "id": 1054, + "id": 1059, "name": "address", "nodeType": "ElementaryTypeName", "src": "297:7:8", @@ -14347,15 +14418,15 @@ }, "payable": false, "returnParameters": { - "id": 1059, + "id": 1064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1058, + "id": 1063, "name": "", "nodeType": "VariableDeclaration", - "scope": 1060, + "scope": 1065, "src": "341:7:8", "stateVariable": false, "storageLocation": "default", @@ -14364,7 +14435,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1057, + "id": 1062, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "341:7:8", @@ -14379,7 +14450,7 @@ ], "src": "340:9:8" }, - "scope": 1106, + "scope": 1111, "src": "263:87:8", "stateMutability": "view", "superFunction": null, @@ -14388,7 +14459,7 @@ { "body": null, "documentation": null, - "id": 1069, + "id": 1074, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -14396,15 +14467,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1065, + "id": 1070, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1062, + "id": 1067, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1069, + "scope": 1074, "src": "372:10:8", "stateVariable": false, "storageLocation": "default", @@ -14413,7 +14484,7 @@ "typeString": "address" }, "typeName": { - "id": 1061, + "id": 1066, "name": "address", "nodeType": "ElementaryTypeName", "src": "372:7:8", @@ -14427,10 +14498,10 @@ }, { "constant": false, - "id": 1064, + "id": 1069, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1069, + "scope": 1074, "src": "384:13:8", "stateVariable": false, "storageLocation": "default", @@ -14439,7 +14510,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1063, + "id": 1068, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "384:7:8", @@ -14456,15 +14527,15 @@ }, "payable": false, "returnParameters": { - "id": 1068, + "id": 1073, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1067, + "id": 1072, "name": "", "nodeType": "VariableDeclaration", - "scope": 1069, + "scope": 1074, "src": "417:4:8", "stateVariable": false, "storageLocation": "default", @@ -14473,7 +14544,7 @@ "typeString": "bool" }, "typeName": { - "id": 1066, + "id": 1071, "name": "bool", "nodeType": "ElementaryTypeName", "src": "417:4:8", @@ -14488,7 +14559,7 @@ ], "src": "416:6:8" }, - "scope": 1106, + "scope": 1111, "src": "354:69:8", "stateMutability": "nonpayable", "superFunction": null, @@ -14497,7 +14568,7 @@ { "body": null, "documentation": null, - "id": 1078, + "id": 1083, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -14505,15 +14576,15 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1074, + "id": 1079, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1071, + "id": 1076, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1078, + "scope": 1083, "src": "444:15:8", "stateVariable": false, "storageLocation": "default", @@ -14522,7 +14593,7 @@ "typeString": "address" }, "typeName": { - "id": 1070, + "id": 1075, "name": "address", "nodeType": "ElementaryTypeName", "src": "444:7:8", @@ -14536,10 +14607,10 @@ }, { "constant": false, - "id": 1073, + "id": 1078, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1078, + "scope": 1083, "src": "461:13:8", "stateVariable": false, "storageLocation": "default", @@ -14548,7 +14619,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1072, + "id": 1077, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "461:7:8", @@ -14565,15 +14636,15 @@ }, "payable": false, "returnParameters": { - "id": 1077, + "id": 1082, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1076, + "id": 1081, "name": "", "nodeType": "VariableDeclaration", - "scope": 1078, + "scope": 1083, "src": "498:4:8", "stateVariable": false, "storageLocation": "default", @@ -14582,7 +14653,7 @@ "typeString": "bool" }, "typeName": { - "id": 1075, + "id": 1080, "name": "bool", "nodeType": "ElementaryTypeName", "src": "498:4:8", @@ -14597,7 +14668,7 @@ ], "src": "497:6:8" }, - "scope": 1106, + "scope": 1111, "src": "427:77:8", "stateMutability": "nonpayable", "superFunction": null, @@ -14606,7 +14677,7 @@ { "body": null, "documentation": null, - "id": 1089, + "id": 1094, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -14614,15 +14685,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1085, + "id": 1090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1080, + "id": 1085, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "530:12:8", "stateVariable": false, "storageLocation": "default", @@ -14631,7 +14702,7 @@ "typeString": "address" }, "typeName": { - "id": 1079, + "id": 1084, "name": "address", "nodeType": "ElementaryTypeName", "src": "530:7:8", @@ -14645,10 +14716,10 @@ }, { "constant": false, - "id": 1082, + "id": 1087, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "544:10:8", "stateVariable": false, "storageLocation": "default", @@ -14657,7 +14728,7 @@ "typeString": "address" }, "typeName": { - "id": 1081, + "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", "src": "544:7:8", @@ -14671,10 +14742,10 @@ }, { "constant": false, - "id": 1084, + "id": 1089, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "556:13:8", "stateVariable": false, "storageLocation": "default", @@ -14683,7 +14754,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1083, + "id": 1088, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "556:7:8", @@ -14700,15 +14771,15 @@ }, "payable": false, "returnParameters": { - "id": 1088, + "id": 1093, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1087, + "id": 1092, "name": "", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "593:4:8", "stateVariable": false, "storageLocation": "default", @@ -14717,7 +14788,7 @@ "typeString": "bool" }, "typeName": { - "id": 1086, + "id": 1091, "name": "bool", "nodeType": "ElementaryTypeName", "src": "593:4:8", @@ -14732,7 +14803,7 @@ ], "src": "592:6:8" }, - "scope": 1106, + "scope": 1111, "src": "508:91:8", "stateMutability": "nonpayable", "superFunction": null, @@ -14741,20 +14812,20 @@ { "anonymous": false, "documentation": null, - "id": 1097, + "id": 1102, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 1096, + "id": 1101, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1091, + "id": 1096, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1097, + "scope": 1102, "src": "623:20:8", "stateVariable": false, "storageLocation": "default", @@ -14763,7 +14834,7 @@ "typeString": "address" }, "typeName": { - "id": 1090, + "id": 1095, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:8", @@ -14777,11 +14848,11 @@ }, { "constant": false, - "id": 1093, + "id": 1098, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1097, + "scope": 1102, "src": "649:18:8", "stateVariable": false, "storageLocation": "default", @@ -14790,7 +14861,7 @@ "typeString": "address" }, "typeName": { - "id": 1092, + "id": 1097, "name": "address", "nodeType": "ElementaryTypeName", "src": "649:7:8", @@ -14804,11 +14875,11 @@ }, { "constant": false, - "id": 1095, + "id": 1100, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1097, + "scope": 1102, "src": "673:13:8", "stateVariable": false, "storageLocation": "default", @@ -14817,7 +14888,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1094, + "id": 1099, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "673:7:8", @@ -14837,20 +14908,20 @@ { "anonymous": false, "documentation": null, - "id": 1105, + "id": 1110, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 1104, + "id": 1109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1099, + "id": 1104, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1105, + "scope": 1110, "src": "715:21:8", "stateVariable": false, "storageLocation": "default", @@ -14859,7 +14930,7 @@ "typeString": "address" }, "typeName": { - "id": 1098, + "id": 1103, "name": "address", "nodeType": "ElementaryTypeName", "src": "715:7:8", @@ -14873,11 +14944,11 @@ }, { "constant": false, - "id": 1101, + "id": 1106, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1105, + "scope": 1110, "src": "742:23:8", "stateVariable": false, "storageLocation": "default", @@ -14886,7 +14957,7 @@ "typeString": "address" }, "typeName": { - "id": 1100, + "id": 1105, "name": "address", "nodeType": "ElementaryTypeName", "src": "742:7:8", @@ -14900,11 +14971,11 @@ }, { "constant": false, - "id": 1103, + "id": 1108, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1105, + "scope": 1110, "src": "771:13:8", "stateVariable": false, "storageLocation": "default", @@ -14913,7 +14984,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1102, + "id": 1107, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "771:7:8", @@ -14931,7 +15002,7 @@ "src": "695:94:8" } ], - "scope": 1107, + "scope": 1112, "src": "115:676:8" } ], @@ -14944,14 +15015,14 @@ "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": [ - 1250 + 1255 ] }, - "id": 1251, + "id": 1256, "nodeType": "SourceUnit", "nodes": [ { - "id": 1108, + "id": 1113, "literals": [ "solidity", "^", @@ -14964,10 +15035,10 @@ { "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": 1109, + "id": 1114, "nodeType": "ImportDirective", - "scope": 1251, - "sourceUnit": 1107, + "scope": 1256, + "sourceUnit": 1112, "src": "26:22:9", "symbolAliases": [], "unitAlias": "" @@ -14975,10 +15046,10 @@ { "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": 1110, + "id": 1115, "nodeType": "ImportDirective", - "scope": 1251, - "sourceUnit": 1038, + "scope": 1256, + "sourceUnit": 1043, "src": "49:33:9", "symbolAliases": [], "unitAlias": "" @@ -14989,31 +15060,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": 1250, + "id": 1255, "linearizedBaseContracts": [ - 1250 + 1255 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1113, + "id": 1118, "libraryName": { "contractScope": null, - "id": 1111, + "id": 1116, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1037, + "referencedDeclaration": 1042, "src": "382:8:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1037", + "typeIdentifier": "t_contract$_SafeMath_$1042", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "376:27:9", "typeName": { - "id": 1112, + "id": 1117, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "395:7:9", @@ -15025,7 +15096,7 @@ }, { "body": { - "id": 1130, + "id": 1135, "nodeType": "Block", "src": "501:45:9", "statements": [ @@ -15038,11 +15109,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1125, + "id": 1130, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1117, + "referencedDeclaration": 1122, "src": "530:2:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15051,11 +15122,11 @@ }, { "argumentTypes": null, - "id": 1126, + "id": 1131, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1119, + "referencedDeclaration": 1124, "src": "534:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15076,32 +15147,32 @@ ], "expression": { "argumentTypes": null, - "id": 1123, + "id": 1128, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1115, + "referencedDeclaration": 1120, "src": "515:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1124, + "id": 1129, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1069, + "referencedDeclaration": 1074, "src": "515:14:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1127, + "id": 1132, "isConstant": false, "isLValue": false, "isPure": false, @@ -15123,21 +15194,21 @@ "typeString": "bool" } ], - "id": 1122, + "id": 1127, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "507:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1128, + "id": 1133, "isConstant": false, "isLValue": false, "isPure": false, @@ -15151,14 +15222,14 @@ "typeString": "tuple()" } }, - "id": 1129, + "id": 1134, "nodeType": "ExpressionStatement", "src": "507:34:9" } ] }, "documentation": null, - "id": 1131, + "id": 1136, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15166,31 +15237,31 @@ "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1120, + "id": 1125, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1115, + "id": 1120, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1131, + "scope": 1136, "src": "434:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1114, + "id": 1119, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "434:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -15199,10 +15270,10 @@ }, { "constant": false, - "id": 1117, + "id": 1122, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1131, + "scope": 1136, "src": "452:10:9", "stateVariable": false, "storageLocation": "default", @@ -15211,7 +15282,7 @@ "typeString": "address" }, "typeName": { - "id": 1116, + "id": 1121, "name": "address", "nodeType": "ElementaryTypeName", "src": "452:7:9", @@ -15225,10 +15296,10 @@ }, { "constant": false, - "id": 1119, + "id": 1124, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1131, + "scope": 1136, "src": "468:13:9", "stateVariable": false, "storageLocation": "default", @@ -15237,7 +15308,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1118, + "id": 1123, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "468:7:9", @@ -15254,12 +15325,12 @@ }, "payable": false, "returnParameters": { - "id": 1121, + "id": 1126, "nodeType": "ParameterList", "parameters": [], "src": "501:0:9" }, - "scope": 1250, + "scope": 1255, "src": "407:139:9", "stateMutability": "nonpayable", "superFunction": null, @@ -15267,7 +15338,7 @@ }, { "body": { - "id": 1151, + "id": 1156, "nodeType": "Block", "src": "666:55:9", "statements": [ @@ -15280,11 +15351,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1145, + "id": 1150, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1135, + "referencedDeclaration": 1140, "src": "699:4:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15293,11 +15364,11 @@ }, { "argumentTypes": null, - "id": 1146, + "id": 1151, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1137, + "referencedDeclaration": 1142, "src": "705:2:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15306,11 +15377,11 @@ }, { "argumentTypes": null, - "id": 1147, + "id": 1152, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1139, + "referencedDeclaration": 1144, "src": "709:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15335,32 +15406,32 @@ ], "expression": { "argumentTypes": null, - "id": 1143, + "id": 1148, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1133, + "referencedDeclaration": 1138, "src": "680:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1144, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "680: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": 1148, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, @@ -15382,21 +15453,21 @@ "typeString": "bool" } ], - "id": 1142, + "id": 1147, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "672:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1149, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, @@ -15410,14 +15481,14 @@ "typeString": "tuple()" } }, - "id": 1150, + "id": 1155, "nodeType": "ExpressionStatement", "src": "672:44:9" } ] }, "documentation": null, - "id": 1152, + "id": 1157, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15425,31 +15496,31 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1140, + "id": 1145, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1133, + "id": 1138, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "581:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1132, + "id": 1137, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "581:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -15458,10 +15529,10 @@ }, { "constant": false, - "id": 1135, + "id": 1140, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "599:12:9", "stateVariable": false, "storageLocation": "default", @@ -15470,7 +15541,7 @@ "typeString": "address" }, "typeName": { - "id": 1134, + "id": 1139, "name": "address", "nodeType": "ElementaryTypeName", "src": "599:7:9", @@ -15484,10 +15555,10 @@ }, { "constant": false, - "id": 1137, + "id": 1142, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "617:10:9", "stateVariable": false, "storageLocation": "default", @@ -15496,7 +15567,7 @@ "typeString": "address" }, "typeName": { - "id": 1136, + "id": 1141, "name": "address", "nodeType": "ElementaryTypeName", "src": "617:7:9", @@ -15510,10 +15581,10 @@ }, { "constant": false, - "id": 1139, + "id": 1144, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "633:13:9", "stateVariable": false, "storageLocation": "default", @@ -15522,7 +15593,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1138, + "id": 1143, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "633:7:9", @@ -15539,12 +15610,12 @@ }, "payable": false, "returnParameters": { - "id": 1141, + "id": 1146, "nodeType": "ParameterList", "parameters": [], "src": "666:0:9" }, - "scope": 1250, + "scope": 1255, "src": "550:171:9", "stateMutability": "nonpayable", "superFunction": null, @@ -15552,7 +15623,7 @@ }, { "body": { - "id": 1186, + "id": 1191, "nodeType": "Block", "src": "823:330:9", "statements": [ @@ -15566,7 +15637,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1175, + "id": 1180, "isConstant": false, "isLValue": false, "isPure": false, @@ -15580,18 +15651,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1164, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1162, + "id": 1167, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1158, + "referencedDeclaration": 1163, "src": "1045:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15603,7 +15674,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1163, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": true, @@ -15625,7 +15696,7 @@ } } ], - "id": 1165, + "id": 1170, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -15649,7 +15720,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1173, + "id": 1178, "isConstant": false, "isLValue": false, "isPure": false, @@ -15661,18 +15732,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1168, + "id": 1173, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, + "referencedDeclaration": 1270, "src": "1077:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1169, + "id": 1174, "isConstant": false, "isLValue": false, "isPure": false, @@ -15688,11 +15759,11 @@ }, { "argumentTypes": null, - "id": 1170, + "id": 1175, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, + "referencedDeclaration": 1161, "src": "1089:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15713,32 +15784,32 @@ ], "expression": { "argumentTypes": null, - "id": 1166, + "id": 1171, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, + "referencedDeclaration": 1159, "src": "1061:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1167, + "id": 1172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1060, + "referencedDeclaration": 1065, "src": "1061:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1171, + "id": 1176, "isConstant": false, "isLValue": false, "isPure": false, @@ -15757,7 +15828,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1172, + "id": 1177, "isConstant": false, "isLValue": false, "isPure": true, @@ -15779,7 +15850,7 @@ } } ], - "id": 1174, + "id": 1179, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -15806,21 +15877,21 @@ "typeString": "bool" } ], - "id": 1161, + "id": 1166, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1036:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1176, + "id": 1181, "isConstant": false, "isLValue": false, "isPure": false, @@ -15834,7 +15905,7 @@ "typeString": "tuple()" } }, - "id": 1177, + "id": 1182, "nodeType": "ExpressionStatement", "src": "1036:68:9" }, @@ -15847,11 +15918,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1181, + "id": 1186, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, + "referencedDeclaration": 1161, "src": "1132:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15860,11 +15931,11 @@ }, { "argumentTypes": null, - "id": 1182, + "id": 1187, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1158, + "referencedDeclaration": 1163, "src": "1141:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15885,32 +15956,32 @@ ], "expression": { "argumentTypes": null, - "id": 1179, + "id": 1184, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, + "referencedDeclaration": 1159, "src": "1118:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1180, + "id": 1185, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1078, + "referencedDeclaration": 1083, "src": "1118:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1183, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, @@ -15932,21 +16003,21 @@ "typeString": "bool" } ], - "id": 1178, + "id": 1183, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1110:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1184, + "id": 1189, "isConstant": false, "isLValue": false, "isPure": false, @@ -15960,14 +16031,14 @@ "typeString": "tuple()" } }, - "id": 1185, + "id": 1190, "nodeType": "ExpressionStatement", "src": "1110:38:9" } ] }, "documentation": null, - "id": 1187, + "id": 1192, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15975,31 +16046,31 @@ "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1159, + "id": 1164, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1154, + "id": 1159, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1187, + "scope": 1192, "src": "751:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1153, + "id": 1158, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "751:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -16008,10 +16079,10 @@ }, { "constant": false, - "id": 1156, + "id": 1161, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1187, + "scope": 1192, "src": "769:15:9", "stateVariable": false, "storageLocation": "default", @@ -16020,7 +16091,7 @@ "typeString": "address" }, "typeName": { - "id": 1155, + "id": 1160, "name": "address", "nodeType": "ElementaryTypeName", "src": "769:7:9", @@ -16034,10 +16105,10 @@ }, { "constant": false, - "id": 1158, + "id": 1163, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1187, + "scope": 1192, "src": "790:13:9", "stateVariable": false, "storageLocation": "default", @@ -16046,7 +16117,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1157, + "id": 1162, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "790:7:9", @@ -16063,12 +16134,12 @@ }, "payable": false, "returnParameters": { - "id": 1160, + "id": 1165, "nodeType": "ParameterList", "parameters": [], "src": "823:0:9" }, - "scope": 1250, + "scope": 1255, "src": "725:428:9", "stateMutability": "nonpayable", "superFunction": null, @@ -16076,21 +16147,21 @@ }, { "body": { - "id": 1217, + "id": 1222, "nodeType": "Block", "src": "1265:135:9", "statements": [ { "assignments": [ - 1197 + 1202 ], "declarations": [ { "constant": false, - "id": 1197, + "id": 1202, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1223, "src": "1271:20:9", "stateVariable": false, "storageLocation": "default", @@ -16099,7 +16170,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1196, + "id": 1201, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1271:7:9", @@ -16112,17 +16183,17 @@ "visibility": "internal" } ], - "id": 1208, + "id": 1213, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1206, + "id": 1211, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1193, + "referencedDeclaration": 1198, "src": "1338:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16145,14 +16216,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1201, + "id": 1206, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1286, + "referencedDeclaration": 1291, "src": "1318:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } } @@ -16160,11 +16231,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } ], - "id": 1200, + "id": 1205, "isConstant": false, "isLValue": false, "isPure": true, @@ -16177,7 +16248,7 @@ }, "typeName": "address" }, - "id": 1202, + "id": 1207, "isConstant": false, "isLValue": false, "isPure": false, @@ -16193,11 +16264,11 @@ }, { "argumentTypes": null, - "id": 1203, + "id": 1208, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1191, + "referencedDeclaration": 1196, "src": "1325:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16218,32 +16289,32 @@ ], "expression": { "argumentTypes": null, - "id": 1198, + "id": 1203, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1189, + "referencedDeclaration": 1194, "src": "1294:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1199, + "id": 1204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1060, + "referencedDeclaration": 1065, "src": "1294:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1204, + "id": 1209, "isConstant": false, "isLValue": false, "isPure": false, @@ -16257,21 +16328,21 @@ "typeString": "uint256" } }, - "id": 1205, + "id": 1210, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1016, + "referencedDeclaration": 1021, "src": "1294: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": 1207, + "id": 1212, "isConstant": false, "isLValue": false, "isPure": false, @@ -16297,11 +16368,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1212, + "id": 1217, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1191, + "referencedDeclaration": 1196, "src": "1372:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16310,11 +16381,11 @@ }, { "argumentTypes": null, - "id": 1213, + "id": 1218, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1197, + "referencedDeclaration": 1202, "src": "1381:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16335,32 +16406,32 @@ ], "expression": { "argumentTypes": null, - "id": 1210, + "id": 1215, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1189, + "referencedDeclaration": 1194, "src": "1358:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1211, + "id": 1216, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1078, + "referencedDeclaration": 1083, "src": "1358:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1214, + "id": 1219, "isConstant": false, "isLValue": false, "isPure": false, @@ -16382,21 +16453,21 @@ "typeString": "bool" } ], - "id": 1209, + "id": 1214, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1350:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1215, + "id": 1220, "isConstant": false, "isLValue": false, "isPure": false, @@ -16410,14 +16481,14 @@ "typeString": "tuple()" } }, - "id": 1216, + "id": 1221, "nodeType": "ExpressionStatement", "src": "1350:45:9" } ] }, "documentation": null, - "id": 1218, + "id": 1223, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16425,31 +16496,31 @@ "name": "safeIncreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1194, + "id": 1199, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1189, + "id": 1194, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1223, "src": "1193:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1188, + "id": 1193, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "1193:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -16458,10 +16529,10 @@ }, { "constant": false, - "id": 1191, + "id": 1196, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1223, "src": "1211:15:9", "stateVariable": false, "storageLocation": "default", @@ -16470,7 +16541,7 @@ "typeString": "address" }, "typeName": { - "id": 1190, + "id": 1195, "name": "address", "nodeType": "ElementaryTypeName", "src": "1211:7:9", @@ -16484,10 +16555,10 @@ }, { "constant": false, - "id": 1193, + "id": 1198, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1218, + "scope": 1223, "src": "1232:13:9", "stateVariable": false, "storageLocation": "default", @@ -16496,7 +16567,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1192, + "id": 1197, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1232:7:9", @@ -16513,12 +16584,12 @@ }, "payable": false, "returnParameters": { - "id": 1195, + "id": 1200, "nodeType": "ParameterList", "parameters": [], "src": "1265:0:9" }, - "scope": 1250, + "scope": 1255, "src": "1157:243:9", "stateMutability": "nonpayable", "superFunction": null, @@ -16526,21 +16597,21 @@ }, { "body": { - "id": 1248, + "id": 1253, "nodeType": "Block", "src": "1512:135:9", "statements": [ { "assignments": [ - 1228 + 1233 ], "declarations": [ { "constant": false, - "id": 1228, + "id": 1233, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1249, + "scope": 1254, "src": "1518:20:9", "stateVariable": false, "storageLocation": "default", @@ -16549,7 +16620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1227, + "id": 1232, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1518:7:9", @@ -16562,17 +16633,17 @@ "visibility": "internal" } ], - "id": 1239, + "id": 1244, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1237, + "id": 1242, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1224, + "referencedDeclaration": 1229, "src": "1585:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16595,14 +16666,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1232, + "id": 1237, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1286, + "referencedDeclaration": 1291, "src": "1565:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } } @@ -16610,11 +16681,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1250", + "typeIdentifier": "t_contract$_SafeERC20_$1255", "typeString": "library SafeERC20" } ], - "id": 1231, + "id": 1236, "isConstant": false, "isLValue": false, "isPure": true, @@ -16627,7 +16698,7 @@ }, "typeName": "address" }, - "id": 1233, + "id": 1238, "isConstant": false, "isLValue": false, "isPure": false, @@ -16643,11 +16714,11 @@ }, { "argumentTypes": null, - "id": 1234, + "id": 1239, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1222, + "referencedDeclaration": 1227, "src": "1572:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16668,32 +16739,32 @@ ], "expression": { "argumentTypes": null, - "id": 1229, + "id": 1234, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, + "referencedDeclaration": 1225, "src": "1541:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1230, + "id": 1235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1060, + "referencedDeclaration": 1065, "src": "1541:15:9", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1235, + "id": 1240, "isConstant": false, "isLValue": false, "isPure": false, @@ -16707,21 +16778,21 @@ "typeString": "uint256" } }, - "id": 1236, + "id": 1241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 992, + "referencedDeclaration": 997, "src": "1541: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": 1238, + "id": 1243, "isConstant": false, "isLValue": false, "isPure": false, @@ -16747,11 +16818,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1243, + "id": 1248, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1222, + "referencedDeclaration": 1227, "src": "1619:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16760,11 +16831,11 @@ }, { "argumentTypes": null, - "id": 1244, + "id": 1249, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1228, + "referencedDeclaration": 1233, "src": "1628:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16785,32 +16856,32 @@ ], "expression": { "argumentTypes": null, - "id": 1241, + "id": 1246, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1220, + "referencedDeclaration": 1225, "src": "1605:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, - "id": 1242, + "id": 1247, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1078, + "referencedDeclaration": 1083, "src": "1605:13:9", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1245, + "id": 1250, "isConstant": false, "isLValue": false, "isPure": false, @@ -16832,21 +16903,21 @@ "typeString": "bool" } ], - "id": 1240, + "id": 1245, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1268, - 1269 + 1273, + 1274 ], - "referencedDeclaration": 1268, + "referencedDeclaration": 1273, "src": "1597:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1246, + "id": 1251, "isConstant": false, "isLValue": false, "isPure": false, @@ -16860,14 +16931,14 @@ "typeString": "tuple()" } }, - "id": 1247, + "id": 1252, "nodeType": "ExpressionStatement", "src": "1597:45:9" } ] }, "documentation": null, - "id": 1249, + "id": 1254, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -16875,31 +16946,31 @@ "name": "safeDecreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1225, + "id": 1230, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1220, + "id": 1225, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1249, + "scope": 1254, "src": "1440:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1219, + "id": 1224, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1106, + "referencedDeclaration": 1111, "src": "1440:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1106", + "typeIdentifier": "t_contract$_IERC20_$1111", "typeString": "contract IERC20" } }, @@ -16908,10 +16979,10 @@ }, { "constant": false, - "id": 1222, + "id": 1227, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1249, + "scope": 1254, "src": "1458:15:9", "stateVariable": false, "storageLocation": "default", @@ -16920,7 +16991,7 @@ "typeString": "address" }, "typeName": { - "id": 1221, + "id": 1226, "name": "address", "nodeType": "ElementaryTypeName", "src": "1458:7:9", @@ -16934,10 +17005,10 @@ }, { "constant": false, - "id": 1224, + "id": 1229, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1249, + "scope": 1254, "src": "1479:13:9", "stateVariable": false, "storageLocation": "default", @@ -16946,7 +17017,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1223, + "id": 1228, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1479:7:9", @@ -16963,19 +17034,19 @@ }, "payable": false, "returnParameters": { - "id": 1226, + "id": 1231, "nodeType": "ParameterList", "parameters": [], "src": "1512:0:9" }, - "scope": 1250, + "scope": 1255, "src": "1404:243:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1251, + "scope": 1256, "src": "353:1296: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 f56408f66..fd3dbf5fd 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 @@ -60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a72305820c97e98efb9f61c8f769238044b274ddcf265ed47d4444eab2134a813ff57783b0029 \ No newline at end of file +60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a7230582095e26f90cc3199aca464eb563533fc93a77d60dc52f6506d09a60413c4ab2d960029 \ 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 2124d0262..4edae4a73 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": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a72305820c97e98efb9f61c8f769238044b274ddcf265ed47d4444eab2134a813ff57783b0029", + "bytecode": "60806040523480156200001157600080fd5b50604051602080620010d083398101604052516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790556200006c90640100000000620000c7810204565b6200008033640100000000620000e5810204565b50600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018054600160a060020a031916905562000193565b620000e260028264010000000062000e066200010082021704565b50565b620000e260038264010000000062000e066200010082021704565b600160a060020a03811615156200011657600080fd5b6200012b82826401000000006200015b810204565b156200013657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200017357600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610f2d80620001a36000396000f3006080604052600436106100a05763ffffffff60e060020a6000350416630c08bf8881146100a55780632e6b6849146100bc578063341ccfcb146100dd57806334cdcf26146100fe5780633d19ab1314610133578063608d3d3d1461016757806374be75921461018857806381f909f3146101a957806399f4b251146101ca578063bb52c137146101df578063d43acc7914610206578063e9d618591461021b575b600080fd5b3480156100b157600080fd5b506100ba610230565b005b3480156100c857600080fd5b506100ba600160a060020a036004351661024e565b3480156100e957600080fd5b506100ba600160a060020a036004351661026e565b34801561010a57600080fd5b5061011f600160a060020a0360043516610457565b604080519115158252519081900360200190f35b34801561013f57600080fd5b5061014b600435610470565b60408051600160a060020a039092168252519081900360200190f35b34801561017357600080fd5b5061011f600160a060020a036004351661049f565b34801561019457600080fd5b506100ba600160a060020a03600435166104b2565b3480156101b557600080fd5b506100ba600160a060020a03600435166104cf565b3480156101d657600080fd5b506100ba610686565b3480156101eb57600080fd5b506101f4610bd1565b60408051918252519081900360200190f35b34801561021257600080fd5b506100ba610bdc565b34801561022757600080fd5b506100ba610be5565b6102393361049f565b151561024457600080fd5b61024c610bee565b565b6102573361049f565b151561026257600080fd5b61026b81610cb5565b50565b60008054819074010000000000000000000000000000000000000000900460ff161561029957600080fd5b6102a23361049f565b15156102ad57600080fd5b6004546103e8116102bd57600080fd5b600160a060020a038316600090815260056020526040902054156102e057600080fd5b82915081600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561032157600080fd5b505af1158015610335573d6000803e3d6000fd5b505050506040513d602081101561034b57600080fd5b5051151561035857600080fd5b81600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561039657600080fd5b505af11580156103aa573d6000803e3d6000fd5b505050506040513d60208110156103c057600080fd5b50519050600060ff8216108015906103dc575060058160ff1611155b15156103e757600080fd5b505060048054600160a060020a039092166000818152600560205260408120849055600184018355919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101805473ffffffffffffffffffffffffffffffffffffffff19169091179055565b600061046a60028363ffffffff610cc616565b92915050565b600060048260010181548110151561048457fe5b600091825260209091200154600160a060020a031692915050565b600061046a60038363ffffffff610cc616565b6104bb33610457565b15156104c657600080fd5b61026b81610cfd565b60005474010000000000000000000000000000000000000000900460ff16156104f757600080fd5b6105003361049f565b151561050b57600080fd5b60045460011061051a57600080fd5b600454600214156105865760048054600190811061053457fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191690556001610567600482610ea0565b50600160a060020a03811660009081526005602052604081205561026b565b600454600160a060020a03821660009081526005602052604090205414610620576004805460001981019081106105b957fe5b6000918252602080832090910154600160a060020a03848116845260059092526040909220546004805492909316929181106105f157fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055505b60048054600019810190811061063257fe5b6000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff19169055600480549061066b906000198301610ea0565b50600160a060020a0316600090815260056020526040812055565b6000610690610ec4565b60008060008061069e610ec4565b60005474010000000000000000000000000000000000000000900460ff16156106c657600080fd5b6106cf33610457565b15156106da57600080fd5b6004546001106106e957600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d602081101561077957600080fd5b505196506000871161078a57600080fd5b600194505b6004548510156109395760048054869081106107a757fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b505050506040513d602081101561082f57600080fd5b5051151561083c5761092e565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561087a57600080fd5b505af115801561088e573d6000803e3d6000fd5b505050506040513d60208110156108a457600080fd5b5051925060ff831615156108c6578560005b602002018051600101905261092e565b8260ff16600114156108da578560016108b6565b8260ff16600214156108ee578560026108b6565b8260ff1660031415610902578560036108b6565b8260ff1660041415610916578560046108b6565b8260ff166005141561092e5760a08601805160010190525b60019094019361078f565b60a086015160808701516060880151604089015160208a01518a51600a90910201601490910201601e909102016028909102016032909102019150818781151561097f57fe5b04815281600a880281151561099057fe5b04602082015281601488028115156109a457fe5b04604082015281601e88028115156109b857fe5b04606082015281602888028115156109cc57fe5b04608082015281603288028115156109e057fe5b0460a0820152600194505b600454851015610bc8576004805486908110610a0357fe5b9060005260206000200160009054906101000a9004600160a060020a0316935083600160a060020a03166319a74ab36040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610a6157600080fd5b505af1158015610a75573d6000803e3d6000fd5b505050506040513d6020811015610a8b57600080fd5b50511515610a9857610bbd565b83600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b505050506040513d6020811015610b0057600080fd5b5051604080517f302c11ca0000000000000000000000000000000000000000000000000000000081529051919450610bbd91600160a060020a0387169163302c11ca9160048083019260209291908290030181600087803b158015610b6457600080fd5b505af1158015610b78573d6000803e3d6000fd5b505050506040513d6020811015610b8e57600080fd5b50518260ff861660068110610b9f57fe5b6020020151600154600160a060020a0316919063ffffffff610d0e16565b6001909401936109eb565b50505050505050565b600454600019015b90565b61024c33610dad565b61024c33610dbe565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610c5357600080fd5b505af1158015610c67573d6000803e3d6000fd5b505050506040513d6020811015610c7d57600080fd5b505190506000811115610cad57600054600154610cad91600160a060020a0391821691168363ffffffff610d0e16565b61026b610dcf565b61026b60038263ffffffff610e0616565b6000600160a060020a0382161515610cdd57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61026b60028263ffffffff610e0616565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610d7157600080fd5b505af1158015610d85573d6000803e3d6000fd5b505050506040513d6020811015610d9b57600080fd5b50511515610da857600080fd5b505050565b61026b60038263ffffffff610e5416565b61026b60028263ffffffff610e5416565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a0381161515610e1b57600080fd5b610e258282610cc6565b15610e2f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a0381161515610e6957600080fd5b610e738282610cc6565b1515610e7e57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b815481835581811115610da857600083815260209020610da8918101908301610ee3565b60c0604051908101604052806006906020820280388339509192915050565b610bd991905b80821115610efd5760008155600101610ee9565b50905600a165627a7a7230582095e26f90cc3199aca464eb563533fc93a77d60dc52f6506d09a60413c4ab2d960029", "functionHashes": { "addCoreTeam(address)": "2e6b6849", "addSystem(address)": "74be7592", 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 6731ab628..79da0244d 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 @@ -419,20 +419,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "DAYS_PER_YEAR", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": true, "inputs": [], @@ -522,18 +508,17 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b5060405160a080620014f7833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a9600282640100000000620011ac620001e282021704565b50565b620001a9600382640100000000620011ac620001e282021704565b620001a9600482640100000000620011ac620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61127280620002856000396000f30060806040526004361061017f5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610184578063162f986d1461019b5780631777fb4b146101b057806319a74ab3146101d957806321b79d98146101ee578063231d4e2a1461020357806329d10b6e146102245780632e6b684914610245578063302c11ca14610266578063329b1c921461029757806334cdcf26146102ac578063363aa6c7146102cd5780633e6968b6146102e2578063427534a41461030e5780634969ae7014610323578063608d3d3d1461034e57806374be75921461036f57806380258e471461039057806381a24459146103a55780638329138f146103c657806399f4b251146103ed5780639e614ca014610402578063b2a32cd514610417578063be9524941461042c578063c6846ef814610441578063cdfd0f6414610468578063ce41607a1461047d578063d43acc7914610492578063da408679146104a7578063e9d61859146104bc575b600080fd5b34801561019057600080fd5b506101996104d1565b005b3480156101a757600080fd5b506101996104ef565b3480156101bc57600080fd5b506101c561055e565b604080519115158252519081900360200190f35b3480156101e557600080fd5b506101c5610563565b3480156101fa57600080fd5b5061019961059a565b34801561020f57600080fd5b50610199600160a060020a0360043516610630565b34801561023057600080fd5b50610199600160a060020a036004351661071c565b34801561025157600080fd5b50610199600160a060020a0360043516610739565b34801561027257600080fd5b5061027b610756565b60408051600160a060020a039092168252519081900360200190f35b3480156102a357600080fd5b5061027b61076b565b3480156102b857600080fd5b506101c5600160a060020a036004351661077a565b3480156102d957600080fd5b50610199610795565b3480156102ee57600080fd5b506102f7610846565b6040805161ffff9092168252519081900360200190f35b34801561031a57600080fd5b50610199610857565b34801561032f57600080fd5b506103386108c3565b6040805160ff9092168252519081900360200190f35b34801561035a57600080fd5b506101c5600160a060020a03600435166108d7565b34801561037b57600080fd5b50610199600160a060020a03600435166108ea565b34801561039c57600080fd5b50610338610907565b3480156103b157600080fd5b506101c5600160a060020a0360043516610915565b3480156103d257600080fd5b50610199600160a060020a0360043581169060243516610928565b3480156103f957600080fd5b506101996109db565b34801561040e57600080fd5b50610199610c1c565b34801561042357600080fd5b50610199610c8d565b34801561043857600080fd5b50610199610deb565b34801561044d57600080fd5b50610456610df4565b60408051918252519081900360200190f35b34801561047457600080fd5b50610456610dfa565b34801561048957600080fd5b50610338610e00565b34801561049e57600080fd5b50610199610e23565b3480156104b357600080fd5b50610199610e2c565b3480156104c857600080fd5b50610199610ebd565b6104da336108d7565b15156104e557600080fd5b6104ed610ec6565b565b60005460a060020a900460ff161561050657600080fd5b61050f33610915565b151561051a57600080fd5b600160065460a060020a900460ff16600381111561053457fe5b1461053e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561057f57fe5b148015610595575060065460a860020a900460ff165b905090565b60005460a060020a900460ff16156105b157600080fd5b600554620100009004600160a060020a031633146105ce57600080fd5b600160065460a060020a900460ff1660038111156105e857fe5b146105f257600080fd5b60065460a860020a900460ff161561060957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610639336108d7565b151561064457600080fd5b600060065460a060020a900460ff16600381111561065e57fe5b1461066857600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610719928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b505050506040513d60208110156106fe57600080fd5b5051600154600160a060020a0316919063ffffffff610f8d16565b50565b61072533610915565b151561073057600080fd5b61071981611045565b610742336108d7565b151561074d57600080fd5b61071981611056565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061078d60028363ffffffff61106716565b90505b919050565b60005460a060020a900460ff16156107ac57600080fd5b6107b533610915565b15156107c057600080fd5b600360065460a060020a900460ff1660038111156107da57fe5b14156107e557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561086e57600080fd5b61087733610915565b151561088257600080fd5b600260065460a060020a900460ff16600381111561089c57fe5b146108a657600080fd5b600680546001919060a060020a60ff02191660a060020a83610557565b60055460009060ff16600181111561059557fe5b600061078d60038363ffffffff61106716565b6108f33361077a565b15156108fe57600080fd5b6107198161109e565b600554610100900460ff1690565b600061078d60048363ffffffff61106716565b60005460a060020a900460ff161561093f57600080fd5b61094833610915565b151561095357600080fd5b600360065460a060020a900460ff16600381111561096d57fe5b1461097757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109f557600080fd5b6109fe3361077a565b1515610a0957600080fd5b600060055460ff166001811115610a1c57fe5b14610a2657600080fd5b600160065460a060020a900460ff166003811115610a4057fe5b14610a4a57600080fd5b60065460a860020a900460ff161515610a6257600080fd5b60065460b860020a900461ffff161515610ad8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610ba0565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610ba0576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610bbe57600080fd5b60008111610bcb57600080fd5b600554600154610bf591600160a060020a039182169162010000909104168463ffffffff610f8d16565b600654600154610c1891600160a060020a0391821691168363ffffffff610f8d16565b5050565b60005460a060020a900460ff1615610c3357600080fd5b610c3c336108d7565b1515610c4757600080fd5b600060065460a060020a900460ff166003811115610c6157fe5b1415610c6c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610ca957600080fd5b610cb2336108d7565b1515610cbd57600080fd5b600060065460a060020a900460ff166003811115610cd757fe5b14610ce157600080fd5b600060055460ff166001811115610cf457fe5b148015610d015750600754155b15610dd057600554610d1a90610100900460ff166110af565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d8e57600080fd5b505af1158015610da2573d6000803e3d6000fd5b505050506040513d6020811015610db857600080fd5b50519050818114610dc857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104ed33611161565b61016d81565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104ed33611172565b60005460a060020a900460ff1615610e4357600080fd5b600554620100009004600160a060020a03163314610e6057600080fd5b600160065460a060020a900460ff166003811115610e7a57fe5b14610e8457600080fd5b60065460a860020a900460ff161515610e9c57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104ed33611183565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f2b57600080fd5b505af1158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506000811115610f8557600054600154610f8591600160a060020a0391821691168363ffffffff610f8d16565b610719611194565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561100957600080fd5b505af115801561101d573d6000803e3d6000fd5b505050506040513d602081101561103357600080fd5b5051151561104057600080fd5b505050565b61071960048263ffffffff6111ac16565b61071960038263ffffffff6111ac16565b6000600160a060020a038216151561107e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61071960028263ffffffff6111ac16565b600060ff821615156110cc575069152d02c7e14af6800000610790565b8160ff16600114156110e9575069d3c21bcecceda1000000610790565b8160ff166002141561110757506a01a784379d99db42000000610790565b8160ff166003141561112557506a027b46536c66c8e3000000610790565b8160ff166004141561114357506a034f086f3b33b684000000610790565b8160ff166005141561079057506a0422ca8b0a00a425000000610790565b61071960048263ffffffff6111fa16565b61071960038263ffffffff6111fa16565b61071960028263ffffffff6111fa16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a03811615156111c157600080fd5b6111cb8282611067565b156111d557600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561120f57600080fd5b6112198282611067565b151561122457600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058205f527260d789022d74031e68eb390ff4f3057e6fce4f2adde7c12af38948fde60029", - "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 0x14F7 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 0x11AC PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x3 DUP3 PUSH5 0x100000000 PUSH3 0x11AC PUSH3 0x1E2 DUP3 MUL OR DIV JUMP JUMPDEST PUSH3 0x1A9 PUSH1 0x4 DUP3 PUSH5 0x100000000 PUSH3 0x11AC 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 0x1272 DUP1 PUSH3 0x285 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x17F JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0xC08BF88 DUP2 EQ PUSH2 0x184 JUMPI DUP1 PUSH4 0x162F986D EQ PUSH2 0x19B JUMPI DUP1 PUSH4 0x1777FB4B EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0x19A74AB3 EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x21B79D98 EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0x231D4E2A EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x29D10B6E EQ PUSH2 0x224 JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0x302C11CA EQ PUSH2 0x266 JUMPI DUP1 PUSH4 0x329B1C92 EQ PUSH2 0x297 JUMPI DUP1 PUSH4 0x34CDCF26 EQ PUSH2 0x2AC JUMPI DUP1 PUSH4 0x363AA6C7 EQ PUSH2 0x2CD JUMPI DUP1 PUSH4 0x3E6968B6 EQ PUSH2 0x2E2 JUMPI DUP1 PUSH4 0x427534A4 EQ PUSH2 0x30E JUMPI DUP1 PUSH4 0x4969AE70 EQ PUSH2 0x323 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0x34E JUMPI DUP1 PUSH4 0x74BE7592 EQ PUSH2 0x36F JUMPI DUP1 PUSH4 0x80258E47 EQ PUSH2 0x390 JUMPI DUP1 PUSH4 0x81A24459 EQ PUSH2 0x3A5 JUMPI DUP1 PUSH4 0x8329138F EQ PUSH2 0x3C6 JUMPI DUP1 PUSH4 0x99F4B251 EQ PUSH2 0x3ED JUMPI DUP1 PUSH4 0x9E614CA0 EQ PUSH2 0x402 JUMPI DUP1 PUSH4 0xB2A32CD5 EQ PUSH2 0x417 JUMPI DUP1 PUSH4 0xBE952494 EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0xC6846EF8 EQ PUSH2 0x441 JUMPI DUP1 PUSH4 0xCDFD0F64 EQ PUSH2 0x468 JUMPI DUP1 PUSH4 0xCE41607A EQ PUSH2 0x47D JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0x492 JUMPI DUP1 PUSH4 0xDA408679 EQ PUSH2 0x4A7 JUMPI DUP1 PUSH4 0xE9D61859 EQ PUSH2 0x4BC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x190 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x4D1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x4EF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH2 0x55E 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 0x1E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH2 0x563 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x59A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x630 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x71C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x739 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x272 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x27B PUSH2 0x756 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 0x2A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x27B PUSH2 0x76B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x77A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x795 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2F7 PUSH2 0x846 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 0x31A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x857 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x338 PUSH2 0x8C3 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 0x35A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8D7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x37B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x8EA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x39C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x338 PUSH2 0x907 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x915 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x928 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0x9DB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xC1C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xC8D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xDEB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x44D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x456 PUSH2 0xDF4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x456 PUSH2 0xDFA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x489 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x338 PUSH2 0xE00 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xE23 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xE2C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x199 PUSH2 0xEBD JUMP JUMPDEST PUSH2 0x4DA CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4ED PUSH2 0xEC6 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x506 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x50F CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x51A 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 0x534 JUMPI INVALID JUMPDEST EQ PUSH2 0x53E 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 0x57F JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0x595 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 0x5B1 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 0x5CE 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 0x5E8 JUMPI INVALID JUMPDEST EQ PUSH2 0x5F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x609 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 0x639 CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x644 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 0x65E JUMPI INVALID JUMPDEST EQ PUSH2 0x668 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 0x719 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 0x6D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6E8 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 0x6FE 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 0xF8D AND JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x725 CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x730 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x719 DUP2 PUSH2 0x1045 JUMP JUMPDEST PUSH2 0x742 CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x74D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x719 DUP2 PUSH2 0x1056 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 0x78D PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1067 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 0x7AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7B5 CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x7C0 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 0x7DA JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x7E5 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 0x86E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x877 CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x882 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 0x89C JUMPI INVALID JUMPDEST EQ PUSH2 0x8A6 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 0x557 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x595 JUMPI INVALID JUMPDEST PUSH1 0x0 PUSH2 0x78D PUSH1 0x3 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1067 AND JUMP JUMPDEST PUSH2 0x8F3 CALLER PUSH2 0x77A JUMP JUMPDEST ISZERO ISZERO PUSH2 0x8FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x719 DUP2 PUSH2 0x109E JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x78D PUSH1 0x4 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1067 AND JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x93F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x948 CALLER PUSH2 0x915 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x953 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 0x96D JUMPI INVALID JUMPDEST EQ PUSH2 0x977 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 0x9F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9FE CALLER PUSH2 0x77A JUMP JUMPDEST ISZERO ISZERO PUSH2 0xA09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xA1C JUMPI INVALID JUMPDEST EQ PUSH2 0xA26 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 0xA40 JUMPI INVALID JUMPDEST EQ PUSH2 0xA4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xA62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xB8 PUSH1 0x2 EXP SWAP1 DIV PUSH2 0xFFFF AND ISZERO ISZERO PUSH2 0xAD8 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 0xBA0 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 0xBA0 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 0xBBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 GT PUSH2 0xBCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 SLOAD PUSH2 0xBF5 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 PUSH3 0x10000 SWAP1 SWAP2 DIV AND DUP5 PUSH4 0xFFFFFFFF PUSH2 0xF8D AND JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 SLOAD PUSH2 0xC18 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF8D AND JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC3C CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xC47 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 0xC61 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0xC6C 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 0xCA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCB2 CALLER PUSH2 0x8D7 JUMP JUMPDEST ISZERO ISZERO PUSH2 0xCBD 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 0xCD7 JUMPI INVALID JUMPDEST EQ PUSH2 0xCE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x5 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0xCF4 JUMPI INVALID JUMPDEST EQ DUP1 ISZERO PUSH2 0xD01 JUMPI POP PUSH1 0x7 SLOAD ISZERO JUMPDEST ISZERO PUSH2 0xDD0 JUMPI PUSH1 0x5 SLOAD PUSH2 0xD1A SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x10AF 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 0xD8E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xDA2 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 0xDB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP2 DUP2 EQ PUSH2 0xDC8 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 0x4ED CALLER PUSH2 0x1161 JUMP JUMPDEST PUSH2 0x16D DUP2 JUMP JUMPDEST PUSH1 0x7 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH23 0x100000000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x4ED CALLER PUSH2 0x1172 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0xA0 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xE43 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 0xE60 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 0xE7A JUMPI INVALID JUMPDEST EQ PUSH2 0xE84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0xA8 PUSH1 0x2 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO PUSH2 0xE9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH22 0xFF000000000000000000000000000000000000000000 NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x4ED CALLER PUSH2 0x1183 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 0xF2B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xF3F 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 0xF55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH1 0x0 DUP2 GT ISZERO PUSH2 0xF85 JUMPI PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD PUSH2 0xF85 SWAP2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB SWAP2 DUP3 AND SWAP2 AND DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF8D AND JUMP JUMPDEST PUSH2 0x719 PUSH2 0x1194 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 0x1009 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x101D 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 0x1033 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x1040 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x719 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11AC AND JUMP JUMPDEST PUSH2 0x719 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11AC AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB DUP3 AND ISZERO ISZERO PUSH2 0x107E 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 0x719 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11AC AND JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x10CC JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x10E9 JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x1107 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x1125 JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x1143 JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x790 JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x790 JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x790 JUMP JUMPDEST PUSH2 0x719 PUSH1 0x4 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11FA AND JUMP JUMPDEST PUSH2 0x719 PUSH1 0x3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11FA AND JUMP JUMPDEST PUSH2 0x719 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x11FA 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 0x11C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11CB DUP3 DUP3 PUSH2 0x1067 JUMP JUMPDEST ISZERO PUSH2 0x11D5 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 0x120F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1219 DUP3 DUP3 PUSH2 0x1067 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x1224 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 0x5f MSTORE PUSH19 0x60D789022D74031E68EB390FF4F3057E6FCE4F 0x2a 0xdd 0xe7 0xc1 0x2a RETURN DUP10 0x48 REVERT 0xe6 STOP 0x29 ", - "sourceMap": "620:5566:2:-;;;1311:664;8:9:-1;5:2;;;30:1;27;20:12;5:2;1311: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;;;;;1311: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;:::-;1624:1:2;1612:8;:13;;;;:30;;;;;1641:1;1629:8;:13;;;;1612:30;1604:39;;;;;;;;-1:-1:-1;;;;;1662:33:2;;;;1654:42;;;;;;1725:19;1712:9;:32;;;;;;;;;1709:109;;;-1:-1:-1;;;;;1769:36:2;;;;1761:45;;;;;;1830:10;:22;;1843:9;;1830:10;-1:-1:-1;;1830:22:2;;1843:9;1830:22;;;;;;;;;;;;-1:-1:-1;;1863:9:2;:20;;-1:-1:-1;;1863:20:2;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1894:28:2;;-1:-1:-1;;;;;1894:28:2;;;;;;;;1933:9;:34;;-1:-1:-1;;;;;;1933:34:2;;;;;;;;;;;-1:-1:-1;620:5566: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:5566:2:-;;;;;;;" + "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:-;;;;;;;" }, "gasEstimates": { "creation": { - "codeDepositCost": "944400", + "codeDepositCost": "936800", "executionCost": "infinite", "totalCost": "infinite" }, "external": { - "DAYS_PER_YEAR()": "712", "activateMiner()": "infinite", "addCoreTeam(address)": "infinite", "addSupervisor(address)": "infinite", @@ -541,8 +526,8 @@ "deactivateMiner()": "infinite", "getCategory()": "784", "getCurrentDay()": "737", - "getCurrentYear()": "982", - "getCurrentYearSupply()": "934", + "getCurrentYear()": "960", + "getCurrentYearSupply()": "912", "getMiner()": "724", "getMinerType()": "744", "getReferral()": "735", @@ -561,12 +546,11 @@ "resumeMining()": "infinite", "startMining()": "21742", "stopAndRemoveOwnership()": "infinite", - "stopMining()": "22204", + "stopMining()": "22182", "terminate()": "infinite" } }, "methodIdentifiers": { - "DAYS_PER_YEAR()": "c6846ef8", "activateMiner()": "b2a32cd5", "addCoreTeam(address)": "2e6b6849", "addSupervisor(address)": "29d10b6e", @@ -598,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\":\"DAYS_PER_YEAR\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":\"0x6539396006d7e6026ab2400540be3063f410d784fb2da2cb173a19ffc582843d\",\"urls\":[\"bzzr://0a7fc440769cf939c984395489ca31b68e34822cabe58b6dd2e94466b5cf841c\"]},\"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\":\"0xdc21d3ce2e847a83e62a95fc4e8a31305771c1c6549fba2102ae9a7caa09a1e5\",\"urls\":[\"bzzr://291aa93e18c12398d6d8031308b1a0231d253ec061a5449d0335bd476554383e\"]},\"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.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}", "userdoc": { "methods": {} } @@ -833,6 +817,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "getReferral", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -877,6 +875,7 @@ "getCategory()": "80258e47", "getMiner()": "302c11ca", "getMinerType()": "4969ae70", + "getReferral()": "329b1c92", "isAlgoMiner()": "1777fb4b", "isMining()": "19a74ab3" } @@ -2591,7 +2590,7 @@ "id": 100, "nodeType": "ImportDirective", "scope": 185, - "sourceUnit": 1177, + "sourceUnit": 1182, "src": "28:189:1", "symbolAliases": [], "unitAlias": "" @@ -2616,10 +2615,10 @@ "id": 101, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1176, + "referencedDeclaration": 1181, "src": "260:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1176", + "typeIdentifier": "t_contract$_Roles_$1181", "typeString": "library Roles" } }, @@ -2630,10 +2629,10 @@ "id": 102, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "270:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } } @@ -2648,7 +2647,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -2656,10 +2655,10 @@ "id": 104, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "289:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -2684,7 +2683,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "381:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2792,7 +2791,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "462:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2858,10 +2857,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "443:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2946,7 +2945,7 @@ "referencedDeclaration": 105, "src": "584:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2957,10 +2956,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "584:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -3220,7 +3219,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "797:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -3347,7 +3346,7 @@ "referencedDeclaration": 105, "src": "883:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -3358,10 +3357,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1121, + "referencedDeclaration": 1126, "src": "883:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -3479,7 +3478,7 @@ "referencedDeclaration": 105, "src": "990:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -3490,10 +3489,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1152, + "referencedDeclaration": 1157, "src": "990:23:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -3607,7 +3606,7 @@ "id": 187, "nodeType": "ImportDirective", "scope": 787, - "sourceUnit": 1374, + "sourceUnit": 1379, "src": "27:195:2", "symbolAliases": [], "unitAlias": "" @@ -3618,7 +3617,7 @@ "id": 188, "nodeType": "ImportDirective", "scope": 787, - "sourceUnit": 1518, + "sourceUnit": 1523, "src": "224:198:2", "symbolAliases": [], "unitAlias": "" @@ -3629,7 +3628,7 @@ "id": 189, "nodeType": "ImportDirective", "scope": 787, - "sourceUnit": 1046, + "sourceUnit": 1051, "src": "426:26:2", "symbolAliases": [], "unitAlias": "" @@ -3788,10 +3787,10 @@ "id": 205, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1045, + "referencedDeclaration": 1050, "src": "726:10:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$1045", + "typeIdentifier": "t_contract$_IAlgoMiner_$1050", "typeString": "contract IAlgoMiner" } }, @@ -3801,13 +3800,13 @@ } ], "contractDependencies": [ + 1087, + 1050, 97, - 184, - 873, - 960, 1017, - 1045, - 1082 + 960, + 184, + 873 ], "contractKind": "contract", "documentation": null, @@ -3815,12 +3814,12 @@ "id": 786, "linearizedBaseContracts": [ 786, - 1045, + 1050, 873, 184, 960, 1017, - 1082, + 1087, 97 ], "name": "AlgoMiner", @@ -3833,10 +3832,10 @@ "id": 207, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1517, + "referencedDeclaration": 1522, "src": "750:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } }, @@ -3847,10 +3846,10 @@ "id": 208, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "764:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } } @@ -3861,7 +3860,7 @@ "name": "DAYS_PER_YEAR", "nodeType": "VariableDeclaration", "scope": 786, - "src": "779:43:2", + "src": "779:44:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3888,7 +3887,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "819:3:2", + "src": "820:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_365_by_1", @@ -3896,7 +3895,7 @@ }, "value": "365" }, - "visibility": "public" + "visibility": "private" }, { "canonicalName": "AlgoMiner.MinerType", @@ -3906,18 +3905,18 @@ "id": 213, "name": "PoolBased", "nodeType": "EnumValue", - "src": "857:9:2" + "src": "858:9:2" }, { "id": 214, "name": "NonPoolBased", "nodeType": "EnumValue", - "src": "877:12:2" + "src": "878:12:2" } ], "name": "MinerType", "nodeType": "EnumDefinition", - "src": "831:65:2" + "src": "832:65:2" }, { "canonicalName": "AlgoMiner.MinerState", @@ -3927,30 +3926,30 @@ "id": 216, "name": "Deactivated", "nodeType": "EnumValue", - "src": "931:11:2" + "src": "932:11:2" }, { "id": 217, "name": "Activated", "nodeType": "EnumValue", - "src": "953:9:2" + "src": "954:9:2" }, { "id": 218, "name": "Suspended", "nodeType": "EnumValue", - "src": "973:9:2" + "src": "974:9:2" }, { "id": 219, "name": "Stopped", "nodeType": "EnumValue", - "src": "993:7:2" + "src": "994:7:2" } ], "name": "MinerState", "nodeType": "EnumDefinition", - "src": "904:103:2" + "src": "905:103:2" }, { "constant": false, @@ -3958,7 +3957,7 @@ "name": "_minerType", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1015:28:2", + "src": "1016:28:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3971,7 +3970,7 @@ "name": "MinerType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 215, - "src": "1015:9:2", + "src": "1016:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -3986,7 +3985,7 @@ "name": "_category", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1050:23:2", + "src": "1051:23:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3997,7 +3996,7 @@ "id": 223, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1050:5:2", + "src": "1051:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4012,7 +4011,7 @@ "name": "_miner", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1080:22:2", + "src": "1081:22:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4023,7 +4022,7 @@ "id": 225, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1080:7:2", + "src": "1081:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4038,7 +4037,7 @@ "name": "_referral", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1109:25:2", + "src": "1110:25:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4049,7 +4048,7 @@ "id": 227, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1109:7:2", + "src": "1110:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4064,7 +4063,7 @@ "name": "_state", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1143:25:2", + "src": "1144:25:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4077,7 +4076,7 @@ "name": "MinerState", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 220, - "src": "1143:10:2", + "src": "1144:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -4092,7 +4091,7 @@ "name": "_mining", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1175:20:2", + "src": "1176:20:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4103,7 +4102,7 @@ "id": 231, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1175:4:2", + "src": "1176:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4118,7 +4117,7 @@ "name": "_currentYear", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1202:26:2", + "src": "1203:26:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4129,7 +4128,7 @@ "id": 233, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1202:5:2", + "src": "1203:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4144,7 +4143,7 @@ "name": "_currentDay", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1235:26:2", + "src": "1236:26:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4155,7 +4154,7 @@ "id": 235, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "1235:6:2", + "src": "1236:6:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -4170,7 +4169,7 @@ "name": "_currentYearSupply", "nodeType": "VariableDeclaration", "scope": 786, - "src": "1268:34:2", + "src": "1269:34:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4181,7 +4180,7 @@ "id": 237, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1268:7:2", + "src": "1269:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4194,7 +4193,7 @@ "body": { "id": 308, "nodeType": "Block", - "src": "1583:392:2", + "src": "1584:392:2", "statements": [ { "expression": { @@ -4229,7 +4228,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "1612:8:2", + "src": "1613:8:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4247,7 +4246,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1624:1:2", + "src": "1625:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4255,7 +4254,7 @@ }, "value": "0" }, - "src": "1612:13:2", + "src": "1613:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4281,7 +4280,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "1629:8:2", + "src": "1630:8:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4299,7 +4298,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1641:1:2", + "src": "1642:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -4307,13 +4306,13 @@ }, "value": "5" }, - "src": "1629:13:2", + "src": "1630:13:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1612:30:2", + "src": "1613:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4331,11 +4330,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "1604:7:2", + "referencedDeclaration": 1540, + "src": "1605:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4349,7 +4348,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1604:39:2", + "src": "1605:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4357,7 +4356,7 @@ }, "id": 269, "nodeType": "ExpressionStatement", - "src": "1604:39:2" + "src": "1605:39:2" }, { "expression": { @@ -4381,7 +4380,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1662:19:2", + "src": "1663:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4402,7 +4401,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1693:1:2", + "src": "1694:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4424,7 +4423,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1685:7:2", + "src": "1686:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -4439,13 +4438,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1685:10:2", + "src": "1686:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1662:33:2", + "src": "1663:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4463,11 +4462,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "1654:7:2", + "referencedDeclaration": 1540, + "src": "1655:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4481,7 +4480,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1654:42:2", + "src": "1655:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4489,7 +4488,7 @@ }, "id": 277, "nodeType": "ExpressionStatement", - "src": "1654:42:2" + "src": "1655:42:2" }, { "condition": { @@ -4510,7 +4509,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "1712:9:2", + "src": "1713:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -4527,7 +4526,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "1725:9:2", + "src": "1726:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" @@ -4541,13 +4540,13 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1725:19:2", + "src": "1726:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "1712:32:2", + "src": "1713:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4556,11 +4555,11 @@ "falseBody": null, "id": 291, "nodeType": "IfStatement", - "src": "1709:109:2", + "src": "1710:109:2", "trueBody": { "id": 290, "nodeType": "Block", - "src": "1746:72:2", + "src": "1747:72:2", "statements": [ { "expression": { @@ -4584,7 +4583,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "1769:22:2", + "src": "1770:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4605,7 +4604,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1803:1:2", + "src": "1804:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4627,7 +4626,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1795:7:2", + "src": "1796:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -4642,13 +4641,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1795:10:2", + "src": "1796:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1769:36:2", + "src": "1770:36:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4666,11 +4665,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "1761:7:2", + "referencedDeclaration": 1540, + "src": "1762:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4684,7 +4683,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1761:45:2", + "src": "1762:45:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4692,7 +4691,7 @@ }, "id": 289, "nodeType": "ExpressionStatement", - "src": "1761:45:2" + "src": "1762:45:2" } ] } @@ -4712,7 +4711,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "1830:10:2", + "src": "1831:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -4727,13 +4726,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, - "src": "1843:9:2", + "src": "1844:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "1830:22:2", + "src": "1831:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -4741,7 +4740,7 @@ }, "id": 295, "nodeType": "ExpressionStatement", - "src": "1830:22:2" + "src": "1831:22:2" }, { "expression": { @@ -4758,7 +4757,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 224, - "src": "1863:9:2", + "src": "1864:9:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4773,13 +4772,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 242, - "src": "1875:8:2", + "src": "1876:8:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "1863:20:2", + "src": "1864:20:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4787,7 +4786,7 @@ }, "id": 299, "nodeType": "ExpressionStatement", - "src": "1863:20:2" + "src": "1864:20:2" }, { "expression": { @@ -4804,7 +4803,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "1894:6:2", + "src": "1895:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4819,13 +4818,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1903:19:2", + "src": "1904:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1894:28:2", + "src": "1895:28:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4833,7 +4832,7 @@ }, "id": 303, "nodeType": "ExpressionStatement", - "src": "1894:28:2" + "src": "1895:28:2" }, { "expression": { @@ -4850,7 +4849,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "1933:9:2", + "src": "1934:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4865,13 +4864,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 246, - "src": "1945:22:2", + "src": "1946:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1933:34:2", + "src": "1934:34:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4879,7 +4878,7 @@ }, "id": 307, "nodeType": "ExpressionStatement", - "src": "1933:34:2" + "src": "1934:34:2" } ] }, @@ -4898,7 +4897,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 248, - "src": "1469:12:2", + "src": "1470:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4913,14 +4912,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1017, - "src": "1452:16:2", + "src": "1453:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$1017_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "1452:30:2" + "src": "1453:30:2" }, { "arguments": [], @@ -4932,14 +4931,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 960, - "src": "1492:14:2", + "src": "1493:14:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoSystemRole_$960_$", "typeString": "type(contract AlgoSystemRole)" } }, "nodeType": "ModifierInvocation", - "src": "1492:16:2" + "src": "1493:16:2" }, { "arguments": [], @@ -4951,14 +4950,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "1518:16:2", + "src": "1519:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$184_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "1518:18:2" + "src": "1519:18:2" }, { "arguments": [], @@ -4970,14 +4969,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 873, - "src": "1546:18:2", + "src": "1547:18:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoSupervisorRole_$873_$", "typeString": "type(contract AlgoSupervisorRole)" } }, "nodeType": "ModifierInvocation", - "src": "1546:20:2" + "src": "1547:20:2" } ], "name": "", @@ -4992,7 +4991,7 @@ "name": "minerType", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1323:19:2", + "src": "1324:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5005,7 +5004,7 @@ "name": "MinerType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 215, - "src": "1323:9:2", + "src": "1324:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -5020,7 +5019,7 @@ "name": "category", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1344:14:2", + "src": "1345:14:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5031,7 +5030,7 @@ "id": 241, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1344:5:2", + "src": "1345:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5046,7 +5045,7 @@ "name": "minerAccountAddress", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1360:27:2", + "src": "1361:27:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5057,7 +5056,7 @@ "id": 243, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1360:7:2", + "src": "1361:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5072,7 +5071,7 @@ "name": "referralAccountAddress", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1389:30:2", + "src": "1390:30:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5083,7 +5082,7 @@ "id": 245, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1389:7:2", + "src": "1390:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5098,7 +5097,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 309, - "src": "1421:20:2", + "src": "1422:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5109,7 +5108,7 @@ "id": 247, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1421:7:2", + "src": "1422:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5119,17 +5118,17 @@ "visibility": "internal" } ], - "src": "1322:120:2" + "src": "1323:120:2" }, "payable": false, "returnParameters": { "id": 259, "nodeType": "ParameterList", "parameters": [], - "src": "1583:0:2" + "src": "1584:0:2" }, "scope": 786, - "src": "1311:664:2", + "src": "1312:664:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5138,7 +5137,7 @@ "body": { "id": 319, "nodeType": "Block", - "src": "2004:60:2", + "src": "2005:60:2", "statements": [ { "expression": { @@ -5163,8 +5162,8 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, - "src": "2023:3:2", + "referencedDeclaration": 1537, + "src": "2024:3:2", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" @@ -5178,7 +5177,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2023:10:2", + "src": "2024:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5193,13 +5192,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "2037:6:2", + "src": "2038:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "2023:20:2", + "src": "2024:20:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5217,11 +5216,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2015:7:2", + "referencedDeclaration": 1540, + "src": "2016:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5235,7 +5234,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2015:29:2", + "src": "2016:29:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5243,12 +5242,12 @@ }, "id": 317, "nodeType": "ExpressionStatement", - "src": "2015:29:2" + "src": "2016:29:2" }, { "id": 318, "nodeType": "PlaceholderStatement", - "src": "2055:1:2" + "src": "2056:1:2" } ] }, @@ -5260,16 +5259,16 @@ "id": 310, "nodeType": "ParameterList", "parameters": [], - "src": "2001:2:2" + "src": "2002:2:2" }, - "src": "1983:81:2", + "src": "1984:81:2", "visibility": "internal" }, { "body": { "id": 386, "nodeType": "Block", - "src": "2135:512:2", + "src": "2136:512:2", "statements": [ { "expression": { @@ -5293,7 +5292,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2154:6:2", + "src": "2155:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -5310,7 +5309,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2164:10:2", + "src": "2165:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -5324,13 +5323,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2164:22:2", + "src": "2165:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2154:32:2", + "src": "2155:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5348,11 +5347,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2146:7:2", + "referencedDeclaration": 1540, + "src": "2147:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5366,7 +5365,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2146:41:2", + "src": "2147:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5374,7 +5373,7 @@ }, "id": 333, "nodeType": "ExpressionStatement", - "src": "2146:41:2" + "src": "2147:41:2" }, { "condition": { @@ -5406,7 +5405,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "2203:10:2", + "src": "2204:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -5423,7 +5422,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "2217:9:2", + "src": "2218:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" @@ -5437,13 +5436,13 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2217:19:2", + "src": "2218:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "2203:33:2", + "src": "2204:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5469,7 +5468,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "2240:18:2", + "src": "2241:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5487,7 +5486,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2262:1:2", + "src": "2263:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5495,13 +5494,13 @@ }, "value": "0" }, - "src": "2240:23:2", + "src": "2241:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2203:60:2", + "src": "2204:60:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5510,11 +5509,11 @@ "falseBody": null, "id": 380, "nodeType": "IfStatement", - "src": "2200:398:2", + "src": "2201:398:2", "trueBody": { "id": 379, "nodeType": "Block", - "src": "2265:333:2", + "src": "2266:333:2", "statements": [ { "assignments": [ @@ -5527,7 +5526,7 @@ "name": "capacity", "nodeType": "VariableDeclaration", "scope": 387, - "src": "2282:16:2", + "src": "2283:16:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5538,7 +5537,7 @@ "id": 342, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2282:7:2", + "src": "2283:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5559,7 +5558,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 224, - "src": "2323:9:2", + "src": "2324:9:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5578,7 +5577,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, - "src": "2301:21:2", + "src": "2302:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_uint256_$", "typeString": "function (uint8) pure returns (uint256)" @@ -5592,14 +5591,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2301:32:2", + "src": "2302:32:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2282:51:2" + "src": "2283:51:2" }, { "assignments": [ @@ -5612,7 +5611,7 @@ "name": "expectedBalance", "nodeType": "VariableDeclaration", "scope": 387, - "src": "2348:23:2", + "src": "2349:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5623,7 +5622,7 @@ "id": 348, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2348:7:2", + "src": "2349:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5652,7 +5651,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "2374:8:2", + "src": "2375:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5689,7 +5688,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "2385:8:2", + "src": "2386:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5707,7 +5706,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2396:2:2", + "src": "2397:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -5715,7 +5714,7 @@ }, "value": "10" }, - "src": "2385:13:2", + "src": "2386:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5733,7 +5732,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2401:3:2", + "src": "2402:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -5741,20 +5740,20 @@ }, "value": "100" }, - "src": "2385:19:2", + "src": "2386:19:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2374:30:2", + "src": "2375:30:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2348:56:2" + "src": "2349:56:2" }, { "assignments": [ @@ -5767,7 +5766,7 @@ "name": "currentBalance", "nodeType": "VariableDeclaration", "scope": 387, - "src": "2421:22:2", + "src": "2422:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5778,7 +5777,7 @@ "id": 358, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2421:7:2", + "src": "2422:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5801,8 +5800,8 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "2471:4:2", + "referencedDeclaration": 1572, + "src": "2472:4:2", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoMiner_$786", "typeString": "contract AlgoMiner" @@ -5822,7 +5821,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2463:7:2", + "src": "2464:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -5837,7 +5836,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2463:13:2", + "src": "2464:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5858,9 +5857,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "2446:6:2", + "src": "2447:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -5871,8 +5870,8 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1318, - "src": "2446:16:2", + "referencedDeclaration": 1323, + "src": "2447:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -5886,14 +5885,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2446:31:2", + "src": "2447:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2421:56:2" + "src": "2422:56:2" }, { "expression": { @@ -5917,7 +5916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 359, - "src": "2502:14:2", + "src": "2503:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5932,13 +5931,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 349, - "src": "2520:15:2", + "src": "2521:15:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2502:33:2", + "src": "2503:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5956,11 +5955,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2494:7:2", + "referencedDeclaration": 1540, + "src": "2495:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -5974,7 +5973,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2494:42:2", + "src": "2495:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -5982,7 +5981,7 @@ }, "id": 372, "nodeType": "ExpressionStatement", - "src": "2494:42:2" + "src": "2495:42:2" }, { "expression": { @@ -5999,7 +5998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "2553:18:2", + "src": "2554:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6025,7 +6024,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 343, - "src": "2574:8:2", + "src": "2575:8:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6043,7 +6042,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2585:1:2", + "src": "2586:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6051,13 +6050,13 @@ }, "value": "2" }, - "src": "2574:12:2", + "src": "2575:12:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2553:33:2", + "src": "2554:33:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6065,7 +6064,7 @@ }, "id": 378, "nodeType": "ExpressionStatement", - "src": "2553:33:2" + "src": "2554:33:2" } ] } @@ -6085,7 +6084,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2610:6:2", + "src": "2611:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6102,7 +6101,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2619:10:2", + "src": "2620:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6116,13 +6115,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2619:20:2", + "src": "2620:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2610:29:2", + "src": "2611:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6130,7 +6129,7 @@ }, "id": 385, "nodeType": "ExpressionStatement", - "src": "2610:29:2" + "src": "2611:29:2" } ] }, @@ -6149,15 +6148,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "2108:13:2", + "referencedDeclaration": 1078, + "src": "2109:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2108:13:2" + "src": "2109:13:2" }, { "arguments": null, @@ -6169,14 +6168,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2122:12:2", + "src": "2123:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2122:12:2" + "src": "2123:12:2" } ], "name": "activateMiner", @@ -6185,17 +6184,17 @@ "id": 321, "nodeType": "ParameterList", "parameters": [], - "src": "2098:2:2" + "src": "2099:2:2" }, "payable": false, "returnParameters": { "id": 326, "nodeType": "ParameterList", "parameters": [], - "src": "2135:0:2" + "src": "2136:0:2" }, "scope": 786, - "src": "2076:571:2", + "src": "2077:571:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6204,7 +6203,7 @@ "body": { "id": 410, "nodeType": "Block", - "src": "2716:138:2", + "src": "2717:138:2", "statements": [ { "expression": { @@ -6228,7 +6227,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2735:6:2", + "src": "2736:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6245,7 +6244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2745:10:2", + "src": "2746:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6259,13 +6258,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2745:22:2", + "src": "2746:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2735:32:2", + "src": "2736:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6283,11 +6282,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2727:7:2", + "referencedDeclaration": 1540, + "src": "2728:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6301,7 +6300,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2727:41:2", + "src": "2728:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6309,7 +6308,7 @@ }, "id": 400, "nodeType": "ExpressionStatement", - "src": "2727:41:2" + "src": "2728:41:2" }, { "expression": { @@ -6326,7 +6325,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2789:6:2", + "src": "2790:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6343,7 +6342,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2798:10:2", + "src": "2799:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6357,13 +6356,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2798:22:2", + "src": "2799:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2789:31:2", + "src": "2790:31:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6371,7 +6370,7 @@ }, "id": 405, "nodeType": "ExpressionStatement", - "src": "2789:31:2" + "src": "2790:31:2" }, { "expression": { @@ -6388,7 +6387,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "2831:7:2", + "src": "2832:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6406,7 +6405,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2841:5:2", + "src": "2842:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6414,7 +6413,7 @@ }, "value": "false" }, - "src": "2831:15:2", + "src": "2832:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6422,7 +6421,7 @@ }, "id": 409, "nodeType": "ExpressionStatement", - "src": "2831:15:2" + "src": "2832:15:2" } ] }, @@ -6441,15 +6440,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "2689:13:2", + "referencedDeclaration": 1078, + "src": "2690:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2689:13:2" + "src": "2690:13:2" }, { "arguments": null, @@ -6461,14 +6460,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2703:12:2", + "src": "2704:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2703:12:2" + "src": "2704:12:2" } ], "name": "deactivateMiner", @@ -6477,17 +6476,17 @@ "id": 388, "nodeType": "ParameterList", "parameters": [], - "src": "2679:2:2" + "src": "2680:2:2" }, "payable": false, "returnParameters": { "id": 393, "nodeType": "ParameterList", "parameters": [], - "src": "2716:0:2" + "src": "2717:0:2" }, "scope": 786, - "src": "2655:199:2", + "src": "2656:199:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6496,7 +6495,7 @@ "body": { "id": 437, "nodeType": "Block", - "src": "2929:142:2", + "src": "2930:142:2", "statements": [ { "expression": { @@ -6520,7 +6519,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "2948:6:2", + "src": "2949:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6537,7 +6536,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "2958:10:2", + "src": "2959:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6551,13 +6550,13 @@ "memberName": "Deactivated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2958:22:2", + "src": "2959:22:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "2948:32:2", + "src": "2949:32:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6575,11 +6574,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "2940:7:2", + "referencedDeclaration": 1540, + "src": "2941:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6593,7 +6592,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2940:41:2", + "src": "2941:41:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6601,7 +6600,7 @@ }, "id": 424, "nodeType": "ExpressionStatement", - "src": "2940:41:2" + "src": "2941:41:2" }, { "expression": { @@ -6614,7 +6613,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 413, - "src": "3014:15:2", + "src": "3015:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6632,8 +6631,8 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "3056:4:2", + "referencedDeclaration": 1572, + "src": "3057:4:2", "typeDescriptions": { "typeIdentifier": "t_contract$_AlgoMiner_$786", "typeString": "contract AlgoMiner" @@ -6653,7 +6652,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3048:7:2", + "src": "3049:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -6668,7 +6667,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3048:13:2", + "src": "3049:13:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6689,9 +6688,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "3031:6:2", + "src": "3032:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -6702,8 +6701,8 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1318, - "src": "3031:16:2", + "referencedDeclaration": 1323, + "src": "3032:16:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view external returns (uint256)" @@ -6717,7 +6716,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3031:31:2", + "src": "3032:31:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6742,9 +6741,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "2994:6:2", + "src": "2995:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -6755,10 +6754,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1398, - "src": "2994:19:2", + "referencedDeclaration": 1403, + "src": "2995:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1373_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -6770,7 +6769,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2994:69:2", + "src": "2995:69:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6778,7 +6777,7 @@ }, "id": 436, "nodeType": "ExpressionStatement", - "src": "2994:69:2" + "src": "2995:69:2" } ] }, @@ -6798,14 +6797,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "2916:12:2", + "src": "2917:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2916:12:2" + "src": "2917:12:2" } ], "name": "migrateMiner", @@ -6820,7 +6819,7 @@ "name": "newMinerAddress", "nodeType": "VariableDeclaration", "scope": 438, - "src": "2884:23:2", + "src": "2885:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6831,7 +6830,7 @@ "id": 412, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2884:7:2", + "src": "2885:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -6841,17 +6840,17 @@ "visibility": "internal" } ], - "src": "2883:25:2" + "src": "2884:25:2" }, "payable": false, "returnParameters": { "id": 417, "nodeType": "ParameterList", "parameters": [], - "src": "2929:0:2" + "src": "2930:0:2" }, "scope": 786, - "src": "2862:209:2", + "src": "2863:209:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -6860,7 +6859,7 @@ "body": { "id": 457, "nodeType": "Block", - "src": "3138:108:2", + "src": "3139:108:2", "statements": [ { "expression": { @@ -6884,7 +6883,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3157:6:2", + "src": "3158:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6901,7 +6900,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3167:10:2", + "src": "3168:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -6915,13 +6914,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3167:20:2", + "src": "3168:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3157:30:2", + "src": "3158:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6939,11 +6938,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "3149:7:2", + "referencedDeclaration": 1540, + "src": "3150:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -6957,7 +6956,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3149:39:2", + "src": "3150:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -6965,7 +6964,7 @@ }, "id": 451, "nodeType": "ExpressionStatement", - "src": "3149:39:2" + "src": "3150:39:2" }, { "expression": { @@ -6982,7 +6981,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3209:6:2", + "src": "3210:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -6999,7 +6998,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3218:10:2", + "src": "3219:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7013,13 +7012,13 @@ "memberName": "Suspended", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3218:20:2", + "src": "3219:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3209:29:2", + "src": "3210:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7027,7 +7026,7 @@ }, "id": 456, "nodeType": "ExpressionStatement", - "src": "3209:29:2" + "src": "3210:29:2" } ] }, @@ -7046,15 +7045,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "3109:13:2", + "referencedDeclaration": 1078, + "src": "3110:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3109:13:2" + "src": "3110:13:2" }, { "arguments": null, @@ -7066,14 +7065,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "3123:14:2", + "src": "3124:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3123:14:2" + "src": "3124:14:2" } ], "name": "pauseMining", @@ -7082,17 +7081,17 @@ "id": 439, "nodeType": "ParameterList", "parameters": [], - "src": "3099:2:2" + "src": "3100:2:2" }, "payable": false, "returnParameters": { "id": 444, "nodeType": "ParameterList", "parameters": [], - "src": "3138:0:2" + "src": "3139:0:2" }, "scope": 786, - "src": "3079:167:2", + "src": "3080:167:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -7101,7 +7100,7 @@ "body": { "id": 477, "nodeType": "Block", - "src": "3314:100:2", + "src": "3315:100:2", "statements": [ { "expression": { @@ -7125,7 +7124,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3333:6:2", + "src": "3334:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7142,7 +7141,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3343:10:2", + "src": "3344:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7156,13 +7155,13 @@ "memberName": "Suspended", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3343:20:2", + "src": "3344:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3333:30:2", + "src": "3334:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7180,11 +7179,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "3325:7:2", + "referencedDeclaration": 1540, + "src": "3326:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7198,7 +7197,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3325:39:2", + "src": "3326:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7206,7 +7205,7 @@ }, "id": 471, "nodeType": "ExpressionStatement", - "src": "3325:39:2" + "src": "3326:39:2" }, { "expression": { @@ -7223,7 +7222,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3377:6:2", + "src": "3378:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7240,7 +7239,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3386:10:2", + "src": "3387:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7254,13 +7253,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3386:20:2", + "src": "3387:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3377:29:2", + "src": "3378:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7268,7 +7267,7 @@ }, "id": 476, "nodeType": "ExpressionStatement", - "src": "3377:29:2" + "src": "3378:29:2" } ] }, @@ -7287,15 +7286,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "3285:13:2", + "referencedDeclaration": 1078, + "src": "3286:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3285:13:2" + "src": "3286:13:2" }, { "arguments": null, @@ -7307,14 +7306,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "3299:14:2", + "src": "3300:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3299:14:2" + "src": "3300:14:2" } ], "name": "resumeMining", @@ -7323,17 +7322,17 @@ "id": 459, "nodeType": "ParameterList", "parameters": [], - "src": "3275:2:2" + "src": "3276:2:2" }, "payable": false, "returnParameters": { "id": 464, "nodeType": "ParameterList", "parameters": [], - "src": "3314:0:2" + "src": "3315:0:2" }, "scope": 786, - "src": "3254:160:2", + "src": "3255:160:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -7342,7 +7341,7 @@ "body": { "id": 513, "nodeType": "Block", - "src": "3492:193:2", + "src": "3493:193:2", "statements": [ { "expression": { @@ -7366,7 +7365,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3511:6:2", + "src": "3512:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7383,7 +7382,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3521:10:2", + "src": "3522:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7397,13 +7396,13 @@ "memberName": "Stopped", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3521:18:2", + "src": "3522:18:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3511:28:2", + "src": "3512:28:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7421,11 +7420,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "3503:7:2", + "referencedDeclaration": 1540, + "src": "3504:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7439,7 +7438,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3503:37:2", + "src": "3504:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7447,7 +7446,7 @@ }, "id": 491, "nodeType": "ExpressionStatement", - "src": "3503:37:2" + "src": "3504:37:2" }, { "expression": { @@ -7464,7 +7463,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3561:6:2", + "src": "3562:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7481,7 +7480,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3570:10:2", + "src": "3571:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7495,13 +7494,13 @@ "memberName": "Stopped", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3570:18:2", + "src": "3571:18:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3561:27:2", + "src": "3562:27:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7509,7 +7508,7 @@ }, "id": 496, "nodeType": "ExpressionStatement", - "src": "3561:27:2" + "src": "3562:27:2" }, { "expression": { @@ -7526,7 +7525,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "3599:7:2", + "src": "3600:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7544,7 +7543,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3609:5:2", + "src": "3610:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -7552,7 +7551,7 @@ }, "value": "false" }, - "src": "3599:15:2", + "src": "3600:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7560,7 +7559,7 @@ }, "id": 500, "nodeType": "ExpressionStatement", - "src": "3599:15:2" + "src": "3600:15:2" }, { "expression": { @@ -7577,7 +7576,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "3625:6:2", + "src": "3626:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7598,7 +7597,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3642:1:2", + "src": "3643:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7620,7 +7619,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3634:7:2", + "src": "3635:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -7635,13 +7634,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3634:10:2", + "src": "3635:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3625:19:2", + "src": "3626:19:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7649,7 +7648,7 @@ }, "id": 506, "nodeType": "ExpressionStatement", - "src": "3625:19:2" + "src": "3626:19:2" }, { "expression": { @@ -7666,7 +7665,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "3655:9:2", + "src": "3656:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7687,7 +7686,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3675:1:2", + "src": "3676:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7709,7 +7708,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3667:7:2", + "src": "3668:7:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" @@ -7724,13 +7723,13 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3667:10:2", + "src": "3668:10:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3655:22:2", + "src": "3656:22:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -7738,7 +7737,7 @@ }, "id": 512, "nodeType": "ExpressionStatement", - "src": "3655:22:2" + "src": "3656:22:2" } ] }, @@ -7757,15 +7756,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "3463:13:2", + "referencedDeclaration": 1078, + "src": "3464:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3463:13:2" + "src": "3464:13:2" }, { "arguments": null, @@ -7777,14 +7776,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "3477:14:2", + "src": "3478:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3477:14:2" + "src": "3478:14:2" } ], "name": "stopAndRemoveOwnership", @@ -7793,17 +7792,17 @@ "id": 479, "nodeType": "ParameterList", "parameters": [], - "src": "3453:2:2" + "src": "3454:2:2" }, "payable": false, "returnParameters": { "id": 484, "nodeType": "ParameterList", "parameters": [], - "src": "3492:0:2" + "src": "3493:0:2" }, "scope": 786, - "src": "3422:263:2", + "src": "3423:263:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -7812,7 +7811,7 @@ "body": { "id": 545, "nodeType": "Block", - "src": "3802:174:2", + "src": "3803:174:2", "statements": [ { "expression": { @@ -7836,7 +7835,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3821:6:2", + "src": "3822:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7853,7 +7852,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3831:10:2", + "src": "3832:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7867,13 +7866,13 @@ "memberName": "Stopped", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3831:18:2", + "src": "3832:18:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3821:28:2", + "src": "3822:28:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7891,11 +7890,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "3813:7:2", + "referencedDeclaration": 1540, + "src": "3814:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -7909,7 +7908,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3813:37:2", + "src": "3814:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -7917,7 +7916,7 @@ }, "id": 531, "nodeType": "ExpressionStatement", - "src": "3813:37:2" + "src": "3814:37:2" }, { "expression": { @@ -7934,7 +7933,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "3863:6:2", + "src": "3864:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7951,7 +7950,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "3872:10:2", + "src": "3873:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -7965,13 +7964,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "3872:20:2", + "src": "3873:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "3863:29:2", + "src": "3864:29:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -7979,7 +7978,7 @@ }, "id": 536, "nodeType": "ExpressionStatement", - "src": "3863:29:2" + "src": "3864:29:2" }, { "expression": { @@ -7996,7 +7995,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "3903:6:2", + "src": "3904:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8011,13 +8010,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 516, - "src": "3912:15:2", + "src": "3913:15:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3903:24:2", + "src": "3904:24:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8025,7 +8024,7 @@ }, "id": 540, "nodeType": "ExpressionStatement", - "src": "3903:24:2" + "src": "3904:24:2" }, { "expression": { @@ -8042,7 +8041,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "3938:9:2", + "src": "3939:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8057,13 +8056,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 518, - "src": "3950:18:2", + "src": "3951:18:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "3938:30:2", + "src": "3939:30:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8071,7 +8070,7 @@ }, "id": 544, "nodeType": "ExpressionStatement", - "src": "3938:30:2" + "src": "3939:30:2" } ] }, @@ -8090,15 +8089,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "3773:13:2", + "referencedDeclaration": 1078, + "src": "3774:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3773:13:2" + "src": "3774:13:2" }, { "arguments": null, @@ -8110,14 +8109,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 814, - "src": "3787:14:2", + "src": "3788:14:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3787:14:2" + "src": "3788:14:2" } ], "name": "resetMiner", @@ -8132,7 +8131,7 @@ "name": "newOwnerAddress", "nodeType": "VariableDeclaration", "scope": 546, - "src": "3713:23:2", + "src": "3714:23:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8143,7 +8142,7 @@ "id": 515, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3713:7:2", + "src": "3714:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8158,7 +8157,7 @@ "name": "newReferralAddress", "nodeType": "VariableDeclaration", "scope": 546, - "src": "3738:26:2", + "src": "3739:26:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8169,7 +8168,7 @@ "id": 517, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3738:7:2", + "src": "3739:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8179,17 +8178,17 @@ "visibility": "internal" } ], - "src": "3712:53:2" + "src": "3713:53:2" }, "payable": false, "returnParameters": { "id": 524, "nodeType": "ParameterList", "parameters": [], - "src": "3802:0:2" + "src": "3803:0:2" }, "scope": 786, - "src": "3693:283:2", + "src": "3694:283:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8198,7 +8197,7 @@ "body": { "id": 569, "nodeType": "Block", - "src": "4038:121:2", + "src": "4039:121:2", "statements": [ { "expression": { @@ -8222,7 +8221,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4057:6:2", + "src": "4058:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8239,7 +8238,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4067:10:2", + "src": "4068:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -8253,13 +8252,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4067:20:2", + "src": "4068:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4057:30:2", + "src": "4058:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8277,11 +8276,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4049:7:2", + "referencedDeclaration": 1540, + "src": "4050:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8295,7 +8294,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4049:39:2", + "src": "4050:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8303,7 +8302,7 @@ }, "id": 559, "nodeType": "ExpressionStatement", - "src": "4049:39:2" + "src": "4050:39:2" }, { "expression": { @@ -8319,7 +8318,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4107:8:2", + "src": "4108:8:2", "subExpression": { "argumentTypes": null, "id": 561, @@ -8327,7 +8326,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4108:7:2", + "src": "4109:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8350,11 +8349,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4099:7:2", + "referencedDeclaration": 1540, + "src": "4100:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8368,7 +8367,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4099:17:2", + "src": "4100:17:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8376,7 +8375,7 @@ }, "id": 564, "nodeType": "ExpressionStatement", - "src": "4099:17:2" + "src": "4100:17:2" }, { "expression": { @@ -8393,7 +8392,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4137:7:2", + "src": "4138:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8411,7 +8410,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4147:4:2", + "src": "4148:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8419,7 +8418,7 @@ }, "value": "true" }, - "src": "4137:14:2", + "src": "4138:14:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8427,7 +8426,7 @@ }, "id": 568, "nodeType": "ExpressionStatement", - "src": "4137:14:2" + "src": "4138:14:2" } ] }, @@ -8446,15 +8445,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "4014:13:2", + "referencedDeclaration": 1078, + "src": "4015:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4014:13:2" + "src": "4015:13:2" }, { "arguments": null, @@ -8466,14 +8465,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 320, - "src": "4028:9:2", + "src": "4029:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4028:9:2" + "src": "4029:9:2" } ], "name": "startMining", @@ -8482,17 +8481,17 @@ "id": 547, "nodeType": "ParameterList", "parameters": [], - "src": "4004:2:2" + "src": "4005:2:2" }, "payable": false, "returnParameters": { "id": 552, "nodeType": "ParameterList", "parameters": [], - "src": "4038:0:2" + "src": "4039:0:2" }, "scope": 786, - "src": "3984:175:2", + "src": "3985:175:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8501,7 +8500,7 @@ "body": { "id": 592, "nodeType": "Block", - "src": "4220:121:2", + "src": "4221:121:2", "statements": [ { "expression": { @@ -8525,7 +8524,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4239:6:2", + "src": "4240:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8542,7 +8541,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4249:10:2", + "src": "4250:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -8556,13 +8555,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4249:20:2", + "src": "4250:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4239:30:2", + "src": "4240:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8580,11 +8579,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4231:7:2", + "referencedDeclaration": 1540, + "src": "4232:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8598,7 +8597,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4231:39:2", + "src": "4232:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8606,7 +8605,7 @@ }, "id": 583, "nodeType": "ExpressionStatement", - "src": "4231:39:2" + "src": "4232:39:2" }, { "expression": { @@ -8619,7 +8618,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4289:7:2", + "src": "4290:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8637,11 +8636,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4281:7:2", + "referencedDeclaration": 1540, + "src": "4282:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8655,7 +8654,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4281:16:2", + "src": "4282:16:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8663,7 +8662,7 @@ }, "id": 587, "nodeType": "ExpressionStatement", - "src": "4281:16:2" + "src": "4282:16:2" }, { "expression": { @@ -8680,7 +8679,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4318:7:2", + "src": "4319:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8698,7 +8697,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4328:5:2", + "src": "4329:5:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -8706,7 +8705,7 @@ }, "value": "false" }, - "src": "4318:15:2", + "src": "4319:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8714,7 +8713,7 @@ }, "id": 591, "nodeType": "ExpressionStatement", - "src": "4318:15:2" + "src": "4319:15:2" } ] }, @@ -8733,15 +8732,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "4196:13:2", + "referencedDeclaration": 1078, + "src": "4197:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4196:13:2" + "src": "4197:13:2" }, { "arguments": null, @@ -8753,14 +8752,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 320, - "src": "4210:9:2", + "src": "4211:9:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4210:9:2" + "src": "4211:9:2" } ], "name": "stopMining", @@ -8769,17 +8768,17 @@ "id": 571, "nodeType": "ParameterList", "parameters": [], - "src": "4186:2:2" + "src": "4187:2:2" }, "payable": false, "returnParameters": { "id": 576, "nodeType": "ParameterList", "parameters": [], - "src": "4220:0:2" + "src": "4221:0:2" }, "scope": 786, - "src": "4167:174:2", + "src": "4168:174:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8788,7 +8787,7 @@ "body": { "id": 696, "nodeType": "Block", - "src": "4397:800:2", + "src": "4398:800:2", "statements": [ { "expression": { @@ -8812,7 +8811,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "4416:10:2", + "src": "4417:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -8829,7 +8828,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 215, - "src": "4430:9:2", + "src": "4431:9:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerType_$215_$", "typeString": "type(enum AlgoMiner.MinerType)" @@ -8843,13 +8842,13 @@ "memberName": "PoolBased", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4430:19:2", + "src": "4431:19:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" } }, - "src": "4416:33:2", + "src": "4417:33:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8867,11 +8866,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4408:7:2", + "referencedDeclaration": 1540, + "src": "4409:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8885,7 +8884,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4408:42:2", + "src": "4409:42:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8893,7 +8892,7 @@ }, "id": 606, "nodeType": "ExpressionStatement", - "src": "4408:42:2" + "src": "4409:42:2" }, { "expression": { @@ -8917,7 +8916,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "4469:6:2", + "src": "4470:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -8934,7 +8933,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "4479:10:2", + "src": "4480:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -8948,13 +8947,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4479:20:2", + "src": "4480:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "4469:30:2", + "src": "4470:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8972,11 +8971,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4461:7:2", + "referencedDeclaration": 1540, + "src": "4462:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -8990,7 +8989,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4461:39:2", + "src": "4462:39:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -8998,7 +8997,7 @@ }, "id": 613, "nodeType": "ExpressionStatement", - "src": "4461:39:2" + "src": "4462:39:2" }, { "expression": { @@ -9011,7 +9010,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "4519:7:2", + "src": "4520:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9029,11 +9028,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "4511:7:2", + "referencedDeclaration": 1540, + "src": "4512:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9047,7 +9046,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4511:16:2", + "src": "4512:16:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9055,7 +9054,7 @@ }, "id": 617, "nodeType": "ExpressionStatement", - "src": "4511:16:2" + "src": "4512:16:2" }, { "condition": { @@ -9076,7 +9075,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4543:11:2", + "src": "4544:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9094,7 +9093,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4558:1:2", + "src": "4559:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9102,7 +9101,7 @@ }, "value": "0" }, - "src": "4543:16:2", + "src": "4544:16:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9111,7 +9110,7 @@ "falseBody": { "id": 654, "nodeType": "Block", - "src": "4640:238:2", + "src": "4641:238:2", "statements": [ { "expression": { @@ -9124,7 +9123,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4655:13:2", + "src": "4656:13:2", "subExpression": { "argumentTypes": null, "id": 630, @@ -9132,7 +9131,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4655:11:2", + "src": "4656:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9145,7 +9144,7 @@ }, "id": 632, "nodeType": "ExpressionStatement", - "src": "4655:13:2" + "src": "4656:13:2" }, { "condition": { @@ -9166,7 +9165,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4686:11:2", + "src": "4687:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9195,7 +9194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "4702:13:2", + "src": "4703:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9213,7 +9212,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4718:1:2", + "src": "4719:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9221,7 +9220,7 @@ }, "value": "1" }, - "src": "4702:17:2", + "src": "4703:17:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9235,13 +9234,13 @@ "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "4701:19:2", + "src": "4702:19:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4686:34:2", + "src": "4687:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9250,11 +9249,11 @@ "falseBody": null, "id": 653, "nodeType": "IfStatement", - "src": "4683:184:2", + "src": "4684:184:2", "trueBody": { "id": 652, "nodeType": "Block", - "src": "4722:145:2", + "src": "4723:145:2", "statements": [ { "expression": { @@ -9267,7 +9266,7 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4741:14:2", + "src": "4742:14:2", "subExpression": { "argumentTypes": null, "id": 639, @@ -9275,7 +9274,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, - "src": "4741:12:2", + "src": "4742:12:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9288,7 +9287,7 @@ }, "id": 641, "nodeType": "ExpressionStatement", - "src": "4741:14:2" + "src": "4742:14:2" }, { "expression": { @@ -9305,7 +9304,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4774:11:2", + "src": "4775:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9323,7 +9322,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4788:1:2", + "src": "4789:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9331,7 +9330,7 @@ }, "value": "1" }, - "src": "4774:15:2", + "src": "4775:15:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9339,7 +9338,7 @@ }, "id": 645, "nodeType": "ExpressionStatement", - "src": "4774:15:2" + "src": "4775:15:2" }, { "expression": { @@ -9356,7 +9355,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4808:18:2", + "src": "4809:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9382,7 +9381,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4829:18:2", + "src": "4830:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9400,7 +9399,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4850:1:2", + "src": "4851:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -9408,13 +9407,13 @@ }, "value": "2" }, - "src": "4829:22:2", + "src": "4830:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4808:43:2", + "src": "4809:43:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9422,7 +9421,7 @@ }, "id": 651, "nodeType": "ExpressionStatement", - "src": "4808:43:2" + "src": "4809:43:2" } ] } @@ -9431,11 +9430,11 @@ }, "id": 655, "nodeType": "IfStatement", - "src": "4540:338:2", + "src": "4541:338:2", "trueBody": { "id": 629, "nodeType": "Block", - "src": "4561:73:2", + "src": "4562:73:2", "statements": [ { "expression": { @@ -9452,7 +9451,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, - "src": "4576:12:2", + "src": "4577:12:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9470,7 +9469,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4591:1:2", + "src": "4592:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9478,7 +9477,7 @@ }, "value": "1" }, - "src": "4576:16:2", + "src": "4577:16:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -9486,7 +9485,7 @@ }, "id": 624, "nodeType": "ExpressionStatement", - "src": "4576:16:2" + "src": "4577:16:2" }, { "expression": { @@ -9503,7 +9502,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "4607:11:2", + "src": "4608:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9521,7 +9520,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4621:1:2", + "src": "4622:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9529,7 +9528,7 @@ }, "value": "1" }, - "src": "4607:15:2", + "src": "4608:15:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -9537,7 +9536,7 @@ }, "id": 628, "nodeType": "ExpressionStatement", - "src": "4607:15:2" + "src": "4608:15:2" } ] } @@ -9553,7 +9552,7 @@ "name": "minerTokens", "nodeType": "VariableDeclaration", "scope": 697, - "src": "4890:19:2", + "src": "4891:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9564,7 +9563,7 @@ "id": 656, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4890:7:2", + "src": "4891:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9593,7 +9592,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "4912:18:2", + "src": "4913:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9608,20 +9607,20 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "4933:13:2", + "src": "4934:13:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4912:34:2", + "src": "4913:34:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4890:56:2" + "src": "4891:56:2" }, { "assignments": [ @@ -9634,7 +9633,7 @@ "name": "referralTokens", "nodeType": "VariableDeclaration", "scope": 697, - "src": "4957:22:2", + "src": "4958:22:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9645,7 +9644,7 @@ "id": 662, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4957:7:2", + "src": "4958:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9685,7 +9684,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "4982:11:2", + "src": "4983:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9703,7 +9702,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4996:2:2", + "src": "4997:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -9711,7 +9710,7 @@ }, "value": "10" }, - "src": "4982:16:2", + "src": "4983:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9729,7 +9728,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5001:3:2", + "src": "5002:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -9737,14 +9736,14 @@ }, "value": "100" }, - "src": "4982:22:2", + "src": "4983:22:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4957:47:2" + "src": "4958:47:2" }, { "expression": { @@ -9768,7 +9767,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "5025:11:2", + "src": "5026:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9786,7 +9785,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5039:1:2", + "src": "5040:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9794,7 +9793,7 @@ }, "value": "0" }, - "src": "5025:15:2", + "src": "5026:15:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9812,11 +9811,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "5017:7:2", + "referencedDeclaration": 1540, + "src": "5018:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9830,7 +9829,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5017:24:2", + "src": "5018:24:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9838,7 +9837,7 @@ }, "id": 675, "nodeType": "ExpressionStatement", - "src": "5017:24:2" + "src": "5018:24:2" }, { "expression": { @@ -9862,7 +9861,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "5060:14:2", + "src": "5061:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9880,7 +9879,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5077:1:2", + "src": "5078:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9888,7 +9887,7 @@ }, "value": "0" }, - "src": "5060:18:2", + "src": "5061:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9906,11 +9905,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, - "src": "5052:7:2", + "referencedDeclaration": 1540, + "src": "5053:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -9924,7 +9923,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5052:27:2", + "src": "5053:27:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -9932,7 +9931,7 @@ }, "id": 681, "nodeType": "ExpressionStatement", - "src": "5052:27:2" + "src": "5053:27:2" }, { "expression": { @@ -9945,7 +9944,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "5112:6:2", + "src": "5113:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9958,7 +9957,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 657, - "src": "5120:11:2", + "src": "5121:11:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9983,9 +9982,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "5092:6:2", + "src": "5093:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -9996,10 +9995,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1398, - "src": "5092:19:2", + "referencedDeclaration": 1403, + "src": "5093:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1373_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -10011,7 +10010,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5092:40:2", + "src": "5093:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10019,7 +10018,7 @@ }, "id": 688, "nodeType": "ExpressionStatement", - "src": "5092:40:2" + "src": "5093:40:2" }, { "expression": { @@ -10032,7 +10031,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "5163:9:2", + "src": "5164:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10045,7 +10044,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 663, - "src": "5174:14:2", + "src": "5175:14:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10070,9 +10069,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 972, - "src": "5143:6:2", + "src": "5144:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -10083,10 +10082,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1398, - "src": "5143:19:2", + "referencedDeclaration": 1403, + "src": "5144:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1373_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -10098,7 +10097,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5143:46:2", + "src": "5144:46:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10106,7 +10105,7 @@ }, "id": 695, "nodeType": "ExpressionStatement", - "src": "5143:46:2" + "src": "5144:46:2" } ] }, @@ -10125,15 +10124,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1073, - "src": "4372:13:2", + "referencedDeclaration": 1078, + "src": "4373:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4372:13:2" + "src": "4373:13:2" }, { "arguments": null, @@ -10145,14 +10144,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 901, - "src": "4386:10:2", + "src": "4387:10:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4386:10:2" + "src": "4387:10:2" } ], "name": "mine", @@ -10161,17 +10160,17 @@ "id": 594, "nodeType": "ParameterList", "parameters": [], - "src": "4362:2:2" + "src": "4363:2:2" }, "payable": false, "returnParameters": { "id": 599, "nodeType": "ParameterList", "parameters": [], - "src": "4397:0:2" + "src": "4398:0:2" }, "scope": 786, - "src": "4349:848:2", + "src": "4350:848:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -10180,7 +10179,7 @@ "body": { "id": 705, "nodeType": "Block", - "src": "5246:31:2", + "src": "5247:31:2", "statements": [ { "expression": { @@ -10195,7 +10194,7 @@ 1016 ], "referencedDeclaration": 1016, - "src": "5257:10:2", + "src": "5258:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -10209,7 +10208,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5257:12:2", + "src": "5258:12:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -10217,7 +10216,7 @@ }, "id": 704, "nodeType": "ExpressionStatement", - "src": "5257:12:2" + "src": "5258:12:2" } ] }, @@ -10237,14 +10236,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "5233:12:2", + "src": "5234:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "5233:12:2" + "src": "5234:12:2" } ], "name": "terminate", @@ -10253,17 +10252,17 @@ "id": 698, "nodeType": "ParameterList", "parameters": [], - "src": "5223:2:2" + "src": "5224:2:2" }, "payable": false, "returnParameters": { "id": 701, "nodeType": "ParameterList", "parameters": [], - "src": "5246:0:2" + "src": "5247:0:2" }, "scope": 786, - "src": "5205:72:2", + "src": "5206:72:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -10272,7 +10271,7 @@ "body": { "id": 713, "nodeType": "Block", - "src": "5335:30:2", + "src": "5336:30:2", "statements": [ { "expression": { @@ -10285,7 +10284,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "5353:4:2", + "src": "5354:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10296,7 +10295,7 @@ "functionReturnParameters": 710, "id": 712, "nodeType": "Return", - "src": "5346:11:2" + "src": "5347:11:2" } ] }, @@ -10312,7 +10311,7 @@ "id": 707, "nodeType": "ParameterList", "parameters": [], - "src": "5305:2:2" + "src": "5306:2:2" }, "payable": false, "returnParameters": { @@ -10325,7 +10324,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 714, - "src": "5329:4:2", + "src": "5330:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10336,7 +10335,7 @@ "id": 708, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5329:4:2", + "src": "5330:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10346,10 +10345,10 @@ "visibility": "internal" } ], - "src": "5328:6:2" + "src": "5329:6:2" }, "scope": 786, - "src": "5285:80:2", + "src": "5286:80:2", "stateMutability": "pure", "superFunction": 1024, "visibility": "public" @@ -10358,7 +10357,7 @@ "body": { "id": 723, "nodeType": "Block", - "src": "5425:43:2", + "src": "5426:43:2", "statements": [ { "expression": { @@ -10371,7 +10370,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, - "src": "5449:10:2", + "src": "5450:10:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerType_$215", "typeString": "enum AlgoMiner.MinerType" @@ -10391,7 +10390,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5443:5:2", + "src": "5444:5:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint8_$", "typeString": "type(uint8)" @@ -10406,7 +10405,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5443:17:2", + "src": "5444:17:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10415,7 +10414,7 @@ "functionReturnParameters": 718, "id": 722, "nodeType": "Return", - "src": "5436:24:2" + "src": "5437:24:2" } ] }, @@ -10431,7 +10430,7 @@ "id": 715, "nodeType": "ParameterList", "parameters": [], - "src": "5394:2:2" + "src": "5395:2:2" }, "payable": false, "returnParameters": { @@ -10444,7 +10443,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 724, - "src": "5418:5:2", + "src": "5419:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10455,7 +10454,7 @@ "id": 716, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5418:5:2", + "src": "5419:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10465,10 +10464,10 @@ "visibility": "internal" } ], - "src": "5417:7:2" + "src": "5418:7:2" }, "scope": 786, - "src": "5373:95:2", + "src": "5374:95:2", "stateMutability": "view", "superFunction": 1029, "visibility": "public" @@ -10477,7 +10476,7 @@ "body": { "id": 731, "nodeType": "Block", - "src": "5527:35:2", + "src": "5528:35:2", "statements": [ { "expression": { @@ -10487,7 +10486,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 224, - "src": "5545:9:2", + "src": "5546:9:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10496,7 +10495,7 @@ "functionReturnParameters": 728, "id": 730, "nodeType": "Return", - "src": "5538:16:2" + "src": "5539:16:2" } ] }, @@ -10512,7 +10511,7 @@ "id": 725, "nodeType": "ParameterList", "parameters": [], - "src": "5496:2:2" + "src": "5497:2:2" }, "payable": false, "returnParameters": { @@ -10525,7 +10524,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 732, - "src": "5520:5:2", + "src": "5521:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10536,7 +10535,7 @@ "id": 726, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5520:5:2", + "src": "5521:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10546,10 +10545,10 @@ "visibility": "internal" } ], - "src": "5519:7:2" + "src": "5520:7:2" }, "scope": 786, - "src": "5476:86:2", + "src": "5477:86:2", "stateMutability": "view", "superFunction": 1034, "visibility": "public" @@ -10558,7 +10557,7 @@ "body": { "id": 739, "nodeType": "Block", - "src": "5620:32:2", + "src": "5621:32:2", "statements": [ { "expression": { @@ -10568,7 +10567,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 226, - "src": "5638:6:2", + "src": "5639:6:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10577,7 +10576,7 @@ "functionReturnParameters": 736, "id": 738, "nodeType": "Return", - "src": "5631:13:2" + "src": "5632:13:2" } ] }, @@ -10593,7 +10592,7 @@ "id": 733, "nodeType": "ParameterList", "parameters": [], - "src": "5587:2:2" + "src": "5588:2:2" }, "payable": false, "returnParameters": { @@ -10606,7 +10605,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 740, - "src": "5611:7:2", + "src": "5612:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10617,7 +10616,7 @@ "id": 734, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5611:7:2", + "src": "5612:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10627,19 +10626,19 @@ "visibility": "internal" } ], - "src": "5610:9:2" + "src": "5611:9:2" }, "scope": 786, - "src": "5570:82:2", + "src": "5571:82:2", "stateMutability": "view", - "superFunction": 1044, + "superFunction": 1039, "visibility": "public" }, { "body": { "id": 747, "nodeType": "Block", - "src": "5713:35:2", + "src": "5714:35:2", "statements": [ { "expression": { @@ -10649,7 +10648,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 228, - "src": "5731:9:2", + "src": "5732:9:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10658,7 +10657,7 @@ "functionReturnParameters": 744, "id": 746, "nodeType": "Return", - "src": "5724:16:2" + "src": "5725:16:2" } ] }, @@ -10674,7 +10673,7 @@ "id": 741, "nodeType": "ParameterList", "parameters": [], - "src": "5680:2:2" + "src": "5681:2:2" }, "payable": false, "returnParameters": { @@ -10687,7 +10686,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 748, - "src": "5704:7:2", + "src": "5705:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10698,7 +10697,7 @@ "id": 742, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5704:7:2", + "src": "5705:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10708,19 +10707,19 @@ "visibility": "internal" } ], - "src": "5703:9:2" + "src": "5704:9:2" }, "scope": 786, - "src": "5660:88:2", + "src": "5661:88:2", "stateMutability": "view", - "superFunction": null, + "superFunction": 1044, "visibility": "public" }, { "body": { "id": 760, "nodeType": "Block", - "src": "5803:67:2", + "src": "5804:67:2", "statements": [ { "expression": { @@ -10752,7 +10751,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 230, - "src": "5821:6:2", + "src": "5822:6:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" @@ -10769,7 +10768,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 220, - "src": "5831:10:2", + "src": "5832:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_MinerState_$220_$", "typeString": "type(enum AlgoMiner.MinerState)" @@ -10783,13 +10782,13 @@ "memberName": "Activated", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "5831:20:2", + "src": "5832:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_MinerState_$220", "typeString": "enum AlgoMiner.MinerState" } }, - "src": "5821:30:2", + "src": "5822:30:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10804,13 +10803,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 232, - "src": "5855:7:2", + "src": "5856:7:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "5821:41:2", + "src": "5822:41:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10819,7 +10818,7 @@ "functionReturnParameters": 752, "id": 759, "nodeType": "Return", - "src": "5814:48:2" + "src": "5815:48:2" } ] }, @@ -10835,7 +10834,7 @@ "id": 749, "nodeType": "ParameterList", "parameters": [], - "src": "5773:2:2" + "src": "5774:2:2" }, "payable": false, "returnParameters": { @@ -10848,7 +10847,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 761, - "src": "5797:4:2", + "src": "5798:4:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10859,7 +10858,7 @@ "id": 750, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5797:4:2", + "src": "5798:4:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10869,19 +10868,19 @@ "visibility": "internal" } ], - "src": "5796:6:2" + "src": "5797:6:2" }, "scope": 786, - "src": "5756:114:2", + "src": "5757:114:2", "stateMutability": "view", - "superFunction": 1039, + "superFunction": 1049, "visibility": "public" }, { "body": { "id": 768, "nodeType": "Block", - "src": "5932:38:2", + "src": "5933:38:2", "statements": [ { "expression": { @@ -10891,7 +10890,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, - "src": "5950:12:2", + "src": "5951:12:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10900,7 +10899,7 @@ "functionReturnParameters": 765, "id": 767, "nodeType": "Return", - "src": "5943:19:2" + "src": "5944:19:2" } ] }, @@ -10916,7 +10915,7 @@ "id": 762, "nodeType": "ParameterList", "parameters": [], - "src": "5901:2:2" + "src": "5902:2:2" }, "payable": false, "returnParameters": { @@ -10929,7 +10928,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 769, - "src": "5925:5:2", + "src": "5926:5:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10940,7 +10939,7 @@ "id": 763, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5925:5:2", + "src": "5926:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -10950,10 +10949,10 @@ "visibility": "internal" } ], - "src": "5924:7:2" + "src": "5925:7:2" }, "scope": 786, - "src": "5878:92:2", + "src": "5879:92:2", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -10962,7 +10961,7 @@ "body": { "id": 776, "nodeType": "Block", - "src": "6032:37:2", + "src": "6033:37:2", "statements": [ { "expression": { @@ -10972,7 +10971,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 236, - "src": "6050:11:2", + "src": "6051:11:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -10981,7 +10980,7 @@ "functionReturnParameters": 773, "id": 775, "nodeType": "Return", - "src": "6043:18:2" + "src": "6044:18:2" } ] }, @@ -10997,7 +10996,7 @@ "id": 770, "nodeType": "ParameterList", "parameters": [], - "src": "6000:2:2" + "src": "6001:2:2" }, "payable": false, "returnParameters": { @@ -11010,7 +11009,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 777, - "src": "6024:6:2", + "src": "6025:6:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11021,7 +11020,7 @@ "id": 771, "name": "uint16", "nodeType": "ElementaryTypeName", - "src": "6024:6:2", + "src": "6025:6:2", "typeDescriptions": { "typeIdentifier": "t_uint16", "typeString": "uint16" @@ -11031,10 +11030,10 @@ "visibility": "internal" } ], - "src": "6023:8:2" + "src": "6024:8:2" }, "scope": 786, - "src": "5978:91:2", + "src": "5979:91:2", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -11043,7 +11042,7 @@ "body": { "id": 784, "nodeType": "Block", - "src": "6139:44:2", + "src": "6140:44:2", "statements": [ { "expression": { @@ -11053,7 +11052,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 238, - "src": "6157:18:2", + "src": "6158:18:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11062,7 +11061,7 @@ "functionReturnParameters": 781, "id": 783, "nodeType": "Return", - "src": "6150:25:2" + "src": "6151:25:2" } ] }, @@ -11078,7 +11077,7 @@ "id": 778, "nodeType": "ParameterList", "parameters": [], - "src": "6106:2:2" + "src": "6107:2:2" }, "payable": false, "returnParameters": { @@ -11091,7 +11090,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 785, - "src": "6130:7:2", + "src": "6131:7:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11102,7 +11101,7 @@ "id": 779, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6130:7:2", + "src": "6131:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11112,20 +11111,20 @@ "visibility": "internal" } ], - "src": "6129:9:2" + "src": "6130:9:2" }, "scope": 786, - "src": "6077:106:2", + "src": "6078:106:2", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], "scope": 787, - "src": "620:5566:2" + "src": "620:5567:2" } ], - "src": "0:6188:2" + "src": "0:6189:2" }, "id": 2 }, @@ -11157,7 +11156,7 @@ "id": 789, "nodeType": "ImportDirective", "scope": 874, - "sourceUnit": 1177, + "sourceUnit": 1182, "src": "28:189:3", "symbolAliases": [], "unitAlias": "" @@ -11182,10 +11181,10 @@ "id": 790, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1176, + "referencedDeclaration": 1181, "src": "262:5:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1176", + "typeIdentifier": "t_contract$_Roles_$1181", "typeString": "library Roles" } }, @@ -11196,10 +11195,10 @@ "id": 791, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "272:10:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } } @@ -11214,7 +11213,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -11222,10 +11221,10 @@ "id": 793, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "291:10:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -11250,7 +11249,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "381:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -11358,7 +11357,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "466:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -11424,10 +11423,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "445:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -11512,7 +11511,7 @@ "referencedDeclaration": 794, "src": "590:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -11523,10 +11522,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "590:16:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -11786,7 +11785,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "809:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -11913,7 +11912,7 @@ "referencedDeclaration": 794, "src": "897:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -11924,10 +11923,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1121, + "referencedDeclaration": 1126, "src": "897:16:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -12045,7 +12044,7 @@ "referencedDeclaration": 794, "src": "1002:12:3", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -12056,10 +12055,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1152, + "referencedDeclaration": 1157, "src": "1002:19:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -12174,7 +12173,7 @@ "id": 876, "nodeType": "ImportDirective", "scope": 961, - "sourceUnit": 1177, + "sourceUnit": 1182, "src": "28:189:4", "symbolAliases": [], "unitAlias": "" @@ -12199,10 +12198,10 @@ "id": 877, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1176, + "referencedDeclaration": 1181, "src": "258:5:4", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$1176", + "typeIdentifier": "t_contract$_Roles_$1181", "typeString": "library Roles" } }, @@ -12213,10 +12212,10 @@ "id": 878, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "268:10:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } } @@ -12231,7 +12230,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -12239,10 +12238,10 @@ "id": 880, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "287:10:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -12267,7 +12266,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "375:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -12375,7 +12374,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "452:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -12441,10 +12440,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "435:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -12529,7 +12528,7 @@ "referencedDeclaration": 881, "src": "572:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -12540,10 +12539,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "572:18:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -12803,7 +12802,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "773:3:4", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -12930,7 +12929,7 @@ "referencedDeclaration": 881, "src": "857:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -12941,10 +12940,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1121, + "referencedDeclaration": 1126, "src": "857:18:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -13062,7 +13061,7 @@ "referencedDeclaration": 881, "src": "960:14:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage", + "typeIdentifier": "t_struct$_Role_$1094_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -13073,10 +13072,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 1152, + "referencedDeclaration": 1157, "src": "960:21:4", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1089_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1094_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -13190,7 +13189,7 @@ "id": 963, "nodeType": "ImportDirective", "scope": 1018, - "sourceUnit": 1374, + "sourceUnit": 1379, "src": "27:195:5", "symbolAliases": [], "unitAlias": "" @@ -13201,7 +13200,7 @@ "id": 964, "nodeType": "ImportDirective", "scope": 1018, - "sourceUnit": 1518, + "sourceUnit": 1523, "src": "224:198:5", "symbolAliases": [], "unitAlias": "" @@ -13212,7 +13211,7 @@ "id": 965, "nodeType": "ImportDirective", "scope": 1018, - "sourceUnit": 1083, + "sourceUnit": 1088, "src": "426:26:5", "symbolAliases": [], "unitAlias": "" @@ -13226,10 +13225,10 @@ "id": 966, "name": "Terminable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1082, + "referencedDeclaration": 1087, "src": "485:10:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_Terminable_$1082", + "typeIdentifier": "t_contract$_Terminable_$1087", "typeString": "contract Terminable" } }, @@ -13239,7 +13238,7 @@ } ], "contractDependencies": [ - 1082 + 1087 ], "contractKind": "contract", "documentation": null, @@ -13247,7 +13246,7 @@ "id": 1017, "linearizedBaseContracts": [ 1017, - 1082 + 1087 ], "name": "ERC20TokenHolder", "nodeType": "ContractDefinition", @@ -13259,10 +13258,10 @@ "id": 968, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1517, + "referencedDeclaration": 1522, "src": "509:9:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } }, @@ -13273,10 +13272,10 @@ "id": 969, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "523:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } } @@ -13291,7 +13290,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { @@ -13299,10 +13298,10 @@ "id": 971, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "538:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13332,7 +13331,7 @@ "referencedDeclaration": 972, "src": "636:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13366,10 +13365,10 @@ "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "645:6:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$1378_$", "typeString": "type(contract IERC20)" } }, @@ -13383,13 +13382,13 @@ "nodeType": "FunctionCall", "src": "645:20:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, "src": "636:29:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13414,10 +13413,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1082, + "referencedDeclaration": 1087, "src": "603:10:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$1082_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$1087_$", "typeString": "type(contract Terminable)" } }, @@ -13524,7 +13523,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1561, + "referencedDeclaration": 1566, "src": "773:4:5", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20TokenHolder_$1017", @@ -13583,7 +13582,7 @@ "referencedDeclaration": 972, "src": "748:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13594,7 +13593,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 1318, + "referencedDeclaration": 1323, "src": "748:16:5", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -13688,7 +13687,7 @@ "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1049, + "referencedDeclaration": 1054, "src": "848:8:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13729,7 +13728,7 @@ "referencedDeclaration": 972, "src": "828:6:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -13740,10 +13739,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1398, + "referencedDeclaration": 1403, "src": "828:19:5", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1373_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1373_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$1378_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$1378_$", "typeString": "function (contract IERC20,address,uint256)" } }, @@ -13780,10 +13779,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1082, + "referencedDeclaration": 1087, "src": "895:10:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$1082_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$1087_$", "typeString": "type(contract Terminable)" } }, @@ -13794,7 +13793,7 @@ "lValueRequested": false, "memberName": "_terminate", "nodeType": "MemberAccess", - "referencedDeclaration": 1081, + "referencedDeclaration": 1086, "src": "895:21:5", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", @@ -13845,7 +13844,7 @@ "scope": 1017, "src": "681:245:5", "stateMutability": "nonpayable", - "superFunction": 1081, + "superFunction": 1086, "visibility": "internal" } ], @@ -13862,10 +13861,10 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol", "exportedSymbols": { "IAlgoMiner": [ - 1045 + 1050 ] }, - "id": 1046, + "id": 1051, "nodeType": "SourceUnit", "nodes": [ { @@ -13884,9 +13883,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 1045, + "id": 1050, "linearizedBaseContracts": [ - 1045 + 1050 ], "name": "IAlgoMiner", "nodeType": "ContractDefinition", @@ -13941,7 +13940,7 @@ ], "src": "97:6:6" }, - "scope": 1045, + "scope": 1050, "src": "54:50:6", "stateMutability": "pure", "superFunction": null, @@ -13997,7 +13996,7 @@ ], "src": "154:7:6" }, - "scope": 1045, + "scope": 1050, "src": "110:52:6", "stateMutability": "view", "superFunction": null, @@ -14053,7 +14052,7 @@ ], "src": "211:7:6" }, - "scope": 1045, + "scope": 1050, "src": "168:51:6", "stateMutability": "view", "superFunction": null, @@ -14067,7 +14066,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "isMining", + "name": "getMiner", "nodeType": "FunctionDefinition", "parameters": { "id": 1035, @@ -14086,31 +14085,31 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1039, - "src": "266:4:6", + "src": "266:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { "id": 1036, - "name": "bool", + "name": "address", "nodeType": "ElementaryTypeName", - "src": "266:4:6", + "src": "266:7:6", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "265:6:6" + "src": "265:9:6" }, - "scope": 1045, - "src": "225:47:6", + "scope": 1050, + "src": "225:50:6", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -14123,13 +14122,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "getMiner", + "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { "id": 1040, "nodeType": "ParameterList", "parameters": [], - "src": "295:2:6" + "src": "301:2:6" }, "payable": false, "returnParameters": { @@ -14142,7 +14141,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 1044, - "src": "319:7:6", + "src": "325:7:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14153,7 +14152,7 @@ "id": 1041, "name": "address", "nodeType": "ElementaryTypeName", - "src": "319:7:6", + "src": "325:7:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14163,20 +14162,76 @@ "visibility": "internal" } ], - "src": "318:9:6" + "src": "324:9:6" }, - "scope": 1045, - "src": "278:50:6", + "scope": 1050, + "src": "281:53:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1049, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isMining", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1045, + "nodeType": "ParameterList", + "parameters": [], + "src": "357:2:6" + }, + "payable": false, + "returnParameters": { + "id": 1048, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1047, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1049, + "src": "381:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1046, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "381:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:6:6" + }, + "scope": 1050, + "src": "340:47:6", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 1046, - "src": "27:304:6" + "scope": 1051, + "src": "27:363:6" } ], - "src": "0:331:6" + "src": "0:390:6" }, "id": 6 }, @@ -14185,14 +14240,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "exportedSymbols": { "Terminable": [ - 1082 + 1087 ] }, - "id": 1083, + "id": 1088, "nodeType": "SourceUnit", "nodes": [ { - "id": 1047, + "id": 1052, "literals": [ "solidity", "0.4", @@ -14207,19 +14262,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 1082, + "id": 1087, "linearizedBaseContracts": [ - 1082 + 1087 ], "name": "Terminable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 1049, + "id": 1054, "name": "_creator", "nodeType": "VariableDeclaration", - "scope": 1082, + "scope": 1087, "src": "56:25:7", "stateVariable": true, "storageLocation": "default", @@ -14228,7 +14283,7 @@ "typeString": "address" }, "typeName": { - "id": 1048, + "id": 1053, "name": "address", "nodeType": "ElementaryTypeName", "src": "56:7:7", @@ -14242,10 +14297,10 @@ }, { "constant": false, - "id": 1051, + "id": 1056, "name": "_terminated", "nodeType": "VariableDeclaration", - "scope": 1082, + "scope": 1087, "src": "88:25:7", "stateVariable": true, "storageLocation": "default", @@ -14254,7 +14309,7 @@ "typeString": "bool" }, "typeName": { - "id": 1050, + "id": 1055, "name": "bool", "nodeType": "ElementaryTypeName", "src": "88:4:7", @@ -14268,25 +14323,25 @@ }, { "body": { - "id": 1063, + "id": 1068, "nodeType": "Block", "src": "145:70:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1057, + "id": 1062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1054, + "id": 1059, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1049, + "referencedDeclaration": 1054, "src": "156:8:7", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14299,18 +14354,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1055, + "id": 1060, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "167:3:7", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1056, + "id": 1061, "isConstant": false, "isLValue": false, "isPure": false, @@ -14330,25 +14385,25 @@ "typeString": "address" } }, - "id": 1058, + "id": 1063, "nodeType": "ExpressionStatement", "src": "156:21:7" }, { "expression": { "argumentTypes": null, - "id": 1061, + "id": 1066, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1059, + "id": 1064, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1051, + "referencedDeclaration": 1056, "src": "188:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14360,7 +14415,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1060, + "id": 1065, "isConstant": false, "isLValue": false, "isPure": true, @@ -14381,14 +14436,14 @@ "typeString": "bool" } }, - "id": 1062, + "id": 1067, "nodeType": "ExpressionStatement", "src": "188:19:7" } ] }, "documentation": null, - "id": 1064, + "id": 1069, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -14396,19 +14451,19 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 1052, + "id": 1057, "nodeType": "ParameterList", "parameters": [], "src": "133:2:7" }, "payable": false, "returnParameters": { - "id": 1053, + "id": 1058, "nodeType": "ParameterList", "parameters": [], "src": "145:0:7" }, - "scope": 1082, + "scope": 1087, "src": "122:93:7", "stateMutability": "nonpayable", "superFunction": null, @@ -14416,7 +14471,7 @@ }, { "body": { - "id": 1072, + "id": 1077, "nodeType": "Block", "src": "248:52:7", "statements": [ @@ -14426,7 +14481,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1068, + "id": 1073, "isConstant": false, "isLValue": false, "isPure": false, @@ -14437,11 +14492,11 @@ "src": "267:12:7", "subExpression": { "argumentTypes": null, - "id": 1067, + "id": 1072, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1051, + "referencedDeclaration": 1056, "src": "268:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14461,21 +14516,21 @@ "typeString": "bool" } ], - "id": 1066, + "id": 1071, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "259:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1069, + "id": 1074, "isConstant": false, "isLValue": false, "isPure": false, @@ -14489,23 +14544,23 @@ "typeString": "tuple()" } }, - "id": 1070, + "id": 1075, "nodeType": "ExpressionStatement", "src": "259:21:7" }, { - "id": 1071, + "id": 1076, "nodeType": "PlaceholderStatement", "src": "291:1:7" } ] }, "documentation": null, - "id": 1073, + "id": 1078, "name": "notTerminated", "nodeType": "ModifierDefinition", "parameters": { - "id": 1065, + "id": 1070, "nodeType": "ParameterList", "parameters": [], "src": "245:2:7" @@ -14515,25 +14570,25 @@ }, { "body": { - "id": 1080, + "id": 1085, "nodeType": "Block", "src": "339:37:7", "statements": [ { "expression": { "argumentTypes": null, - "id": 1078, + "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1076, + "id": 1081, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1051, + "referencedDeclaration": 1056, "src": "350:11:7", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -14545,7 +14600,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1077, + "id": 1082, "isConstant": false, "isLValue": false, "isPure": true, @@ -14566,14 +14621,14 @@ "typeString": "bool" } }, - "id": 1079, + "id": 1084, "nodeType": "ExpressionStatement", "src": "350:18:7" } ] }, "documentation": null, - "id": 1081, + "id": 1086, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -14581,26 +14636,26 @@ "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 1074, + "id": 1079, "nodeType": "ParameterList", "parameters": [], "src": "327:2:7" }, "payable": false, "returnParameters": { - "id": 1075, + "id": 1080, "nodeType": "ParameterList", "parameters": [], "src": "339:0:7" }, - "scope": 1082, + "scope": 1087, "src": "308:68:7", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1083, + "scope": 1088, "src": "27:352:7" } ], @@ -14613,14 +14668,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 1176 + 1181 ] }, - "id": 1177, + "id": 1182, "nodeType": "SourceUnit", "nodes": [ { - "id": 1084, + "id": 1089, "literals": [ "solidity", "^", @@ -14636,23 +14691,23 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 1176, + "id": 1181, "linearizedBaseContracts": [ - 1176 + 1181 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 1089, + "id": 1094, "members": [ { "constant": false, - "id": 1088, + "id": 1093, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 1089, + "scope": 1094, "src": "145:32:8", "stateVariable": false, "storageLocation": "default", @@ -14661,9 +14716,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 1087, + "id": 1092, "keyType": { - "id": 1085, + "id": 1090, "name": "address", "nodeType": "ElementaryTypeName", "src": "154:7:8", @@ -14679,7 +14734,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 1086, + "id": 1091, "name": "bool", "nodeType": "ElementaryTypeName", "src": "165:4:8", @@ -14695,13 +14750,13 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 1176, + "scope": 1181, "src": "127:55:8", "visibility": "public" }, { "body": { - "id": 1120, + "id": 1125, "nodeType": "Block", "src": "302:109:8", "statements": [ @@ -14715,18 +14770,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1101, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1097, + "id": 1102, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1093, + "referencedDeclaration": 1098, "src": "316:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14741,7 +14796,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1099, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, @@ -14764,7 +14819,7 @@ "typeString": "int_const 0" } ], - "id": 1098, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, @@ -14777,7 +14832,7 @@ }, "typeName": "address" }, - "id": 1100, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": true, @@ -14805,21 +14860,21 @@ "typeString": "bool" } ], - "id": 1096, + "id": 1101, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "308:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1102, + "id": 1107, "isConstant": false, "isLValue": false, "isPure": false, @@ -14833,7 +14888,7 @@ "typeString": "tuple()" } }, - "id": 1103, + "id": 1108, "nodeType": "ExpressionStatement", "src": "308:30:8" }, @@ -14843,7 +14898,7 @@ "arguments": [ { "argumentTypes": null, - "id": 1109, + "id": 1114, "isConstant": false, "isLValue": false, "isPure": false, @@ -14857,24 +14912,24 @@ "arguments": [ { "argumentTypes": null, - "id": 1106, + "id": 1111, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1091, + "referencedDeclaration": 1096, "src": "357:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 1107, + "id": 1112, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1093, + "referencedDeclaration": 1098, "src": "363:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14885,7 +14940,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -14893,18 +14948,18 @@ "typeString": "address" } ], - "id": 1105, + "id": 1110, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "353:3:8", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1108, + "id": 1113, "isConstant": false, "isLValue": false, "isPure": false, @@ -14931,21 +14986,21 @@ "typeString": "bool" } ], - "id": 1104, + "id": 1109, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "344:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1110, + "id": 1115, "isConstant": false, "isLValue": false, "isPure": false, @@ -14959,14 +15014,14 @@ "typeString": "tuple()" } }, - "id": 1111, + "id": 1116, "nodeType": "ExpressionStatement", "src": "344:28:8" }, { "expression": { "argumentTypes": null, - "id": 1118, + "id": 1123, "isConstant": false, "isLValue": false, "isPure": false, @@ -14977,39 +15032,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1112, + "id": 1117, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1091, + "referencedDeclaration": 1096, "src": "379:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1115, + "id": 1120, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1088, + "referencedDeclaration": 1093, "src": "379:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1116, + "id": 1121, "indexExpression": { "argumentTypes": null, - "id": 1114, + "id": 1119, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1093, + "referencedDeclaration": 1098, "src": "391:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15032,7 +15087,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 1117, + "id": 1122, "isConstant": false, "isLValue": false, "isPure": true, @@ -15053,14 +15108,14 @@ "typeString": "bool" } }, - "id": 1119, + "id": 1124, "nodeType": "ExpressionStatement", "src": "379:27:8" } ] }, "documentation": "@dev give an account access to this role", - "id": 1121, + "id": 1126, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15068,31 +15123,31 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1094, + "id": 1099, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1091, + "id": 1096, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1121, + "scope": 1126, "src": "257:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1090, + "id": 1095, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "257:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15101,10 +15156,10 @@ }, { "constant": false, - "id": 1093, + "id": 1098, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1121, + "scope": 1126, "src": "276:15:8", "stateVariable": false, "storageLocation": "default", @@ -15113,7 +15168,7 @@ "typeString": "address" }, "typeName": { - "id": 1092, + "id": 1097, "name": "address", "nodeType": "ElementaryTypeName", "src": "276:7:8", @@ -15130,12 +15185,12 @@ }, "payable": false, "returnParameters": { - "id": 1095, + "id": 1100, "nodeType": "ParameterList", "parameters": [], "src": "302:0:8" }, - "scope": 1176, + "scope": 1181, "src": "244:167:8", "stateMutability": "nonpayable", "superFunction": null, @@ -15143,7 +15198,7 @@ }, { "body": { - "id": 1151, + "id": 1156, "nodeType": "Block", "src": "538:109:8", "statements": [ @@ -15157,18 +15212,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1133, + "id": 1138, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1129, + "id": 1134, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1125, + "referencedDeclaration": 1130, "src": "552:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15183,7 +15238,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1131, + "id": 1136, "isConstant": false, "isLValue": false, "isPure": true, @@ -15206,7 +15261,7 @@ "typeString": "int_const 0" } ], - "id": 1130, + "id": 1135, "isConstant": false, "isLValue": false, "isPure": true, @@ -15219,7 +15274,7 @@ }, "typeName": "address" }, - "id": 1132, + "id": 1137, "isConstant": false, "isLValue": false, "isPure": true, @@ -15247,21 +15302,21 @@ "typeString": "bool" } ], - "id": 1128, + "id": 1133, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "544:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1134, + "id": 1139, "isConstant": false, "isLValue": false, "isPure": false, @@ -15275,7 +15330,7 @@ "typeString": "tuple()" } }, - "id": 1135, + "id": 1140, "nodeType": "ExpressionStatement", "src": "544:30:8" }, @@ -15288,24 +15343,24 @@ "arguments": [ { "argumentTypes": null, - "id": 1138, + "id": 1143, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1123, + "referencedDeclaration": 1128, "src": "592:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 1139, + "id": 1144, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1125, + "referencedDeclaration": 1130, "src": "598:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15316,7 +15371,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -15324,18 +15379,18 @@ "typeString": "address" } ], - "id": 1137, + "id": 1142, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1175, + "referencedDeclaration": 1180, "src": "588:3:8", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1089_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1094_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 1140, + "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, @@ -15357,21 +15412,21 @@ "typeString": "bool" } ], - "id": 1136, + "id": 1141, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "580:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1141, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -15385,14 +15440,14 @@ "typeString": "tuple()" } }, - "id": 1142, + "id": 1147, "nodeType": "ExpressionStatement", "src": "580:27:8" }, { "expression": { "argumentTypes": null, - "id": 1149, + "id": 1154, "isConstant": false, "isLValue": false, "isPure": false, @@ -15403,39 +15458,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1143, + "id": 1148, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1123, + "referencedDeclaration": 1128, "src": "614:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1146, + "id": 1151, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1088, + "referencedDeclaration": 1093, "src": "614:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1147, + "id": 1152, "indexExpression": { "argumentTypes": null, - "id": 1145, + "id": 1150, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1125, + "referencedDeclaration": 1130, "src": "626:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15458,7 +15513,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 1148, + "id": 1153, "isConstant": false, "isLValue": false, "isPure": true, @@ -15479,14 +15534,14 @@ "typeString": "bool" } }, - "id": 1150, + "id": 1155, "nodeType": "ExpressionStatement", "src": "614:28:8" } ] }, "documentation": "@dev remove an account's access to this role", - "id": 1152, + "id": 1157, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -15494,31 +15549,31 @@ "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1126, + "id": 1131, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1123, + "id": 1128, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "493:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1122, + "id": 1127, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "493:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15527,10 +15582,10 @@ }, { "constant": false, - "id": 1125, + "id": 1130, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1152, + "scope": 1157, "src": "512:15:8", "stateVariable": false, "storageLocation": "default", @@ -15539,7 +15594,7 @@ "typeString": "address" }, "typeName": { - "id": 1124, + "id": 1129, "name": "address", "nodeType": "ElementaryTypeName", "src": "512:7:8", @@ -15556,12 +15611,12 @@ }, "payable": false, "returnParameters": { - "id": 1127, + "id": 1132, "nodeType": "ParameterList", "parameters": [], "src": "538:0:8" }, - "scope": 1176, + "scope": 1181, "src": "477:170:8", "stateMutability": "nonpayable", "superFunction": null, @@ -15569,7 +15624,7 @@ }, { "body": { - "id": 1174, + "id": 1179, "nodeType": "Block", "src": "817:74:8", "statements": [ @@ -15583,18 +15638,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1166, + "id": 1171, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1162, + "id": 1167, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, + "referencedDeclaration": 1161, "src": "831:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15609,7 +15664,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1164, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": true, @@ -15632,7 +15687,7 @@ "typeString": "int_const 0" } ], - "id": 1163, + "id": 1168, "isConstant": false, "isLValue": false, "isPure": true, @@ -15645,7 +15700,7 @@ }, "typeName": "address" }, - "id": 1165, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": true, @@ -15673,21 +15728,21 @@ "typeString": "bool" } ], - "id": 1161, + "id": 1166, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "823:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1167, + "id": 1172, "isConstant": false, "isLValue": false, "isPure": false, @@ -15701,7 +15756,7 @@ "typeString": "tuple()" } }, - "id": 1168, + "id": 1173, "nodeType": "ExpressionStatement", "src": "823:30:8" }, @@ -15712,39 +15767,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1169, + "id": 1174, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, + "referencedDeclaration": 1159, "src": "866:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 1170, + "id": 1175, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 1088, + "referencedDeclaration": 1093, "src": "866:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 1172, + "id": 1177, "indexExpression": { "argumentTypes": null, - "id": 1171, + "id": 1176, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1156, + "referencedDeclaration": 1161, "src": "878:7:8", "typeDescriptions": { "typeIdentifier": "t_address", @@ -15762,15 +15817,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 1160, - "id": 1173, + "functionReturnParameters": 1165, + "id": 1178, "nodeType": "Return", "src": "859:27:8" } ] }, "documentation": "@dev check if an account has this role\n@return bool", - "id": 1175, + "id": 1180, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -15778,31 +15833,31 @@ "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 1157, + "id": 1162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1154, + "id": 1159, "name": "role", "nodeType": "VariableDeclaration", - "scope": 1175, + "scope": 1180, "src": "738:17:8", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 1153, + "id": 1158, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1089, + "referencedDeclaration": 1094, "src": "738:4:8", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1089_storage_ptr", + "typeIdentifier": "t_struct$_Role_$1094_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -15811,10 +15866,10 @@ }, { "constant": false, - "id": 1156, + "id": 1161, "name": "account", "nodeType": "VariableDeclaration", - "scope": 1175, + "scope": 1180, "src": "757:15:8", "stateVariable": false, "storageLocation": "default", @@ -15823,7 +15878,7 @@ "typeString": "address" }, "typeName": { - "id": 1155, + "id": 1160, "name": "address", "nodeType": "ElementaryTypeName", "src": "757:7:8", @@ -15840,15 +15895,15 @@ }, "payable": false, "returnParameters": { - "id": 1160, + "id": 1165, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1159, + "id": 1164, "name": "", "nodeType": "VariableDeclaration", - "scope": 1175, + "scope": 1180, "src": "809:4:8", "stateVariable": false, "storageLocation": "default", @@ -15857,7 +15912,7 @@ "typeString": "bool" }, "typeName": { - "id": 1158, + "id": 1163, "name": "bool", "nodeType": "ElementaryTypeName", "src": "809:4:8", @@ -15872,14 +15927,14 @@ ], "src": "808:6:8" }, - "scope": 1176, + "scope": 1181, "src": "725:166:8", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 1177, + "scope": 1182, "src": "109:784:8" } ], @@ -15892,14 +15947,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 1304 + 1309 ] }, - "id": 1305, + "id": 1310, "nodeType": "SourceUnit", "nodes": [ { - "id": 1178, + "id": 1183, "literals": [ "solidity", "^", @@ -15915,16 +15970,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 1304, + "id": 1309, "linearizedBaseContracts": [ - 1304 + 1309 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 1210, + "id": 1215, "nodeType": "Block", "src": "271:314:9", "statements": [ @@ -15935,18 +15990,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1189, + "id": 1194, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1187, + "id": 1192, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, + "referencedDeclaration": 1185, "src": "486:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -15958,7 +16013,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1188, + "id": 1193, "isConstant": false, "isLValue": false, "isPure": true, @@ -15980,11 +16035,11 @@ } }, "falseBody": null, - "id": 1193, + "id": 1198, "nodeType": "IfStatement", "src": "482:35:9", "trueBody": { - "id": 1192, + "id": 1197, "nodeType": "Block", "src": "494:23:9", "statements": [ @@ -15992,7 +16047,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1190, + "id": 1195, "isConstant": false, "isLValue": false, "isPure": true, @@ -16007,8 +16062,8 @@ }, "value": "0" }, - "functionReturnParameters": 1186, - "id": 1191, + "functionReturnParameters": 1191, + "id": 1196, "nodeType": "Return", "src": "502:8:9" } @@ -16017,15 +16072,15 @@ }, { "assignments": [ - 1195 + 1200 ], "declarations": [ { "constant": false, - "id": 1195, + "id": 1200, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1216, "src": "523:9:9", "stateVariable": false, "storageLocation": "default", @@ -16034,7 +16089,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1194, + "id": 1199, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:9", @@ -16047,25 +16102,25 @@ "visibility": "internal" } ], - "id": 1199, + "id": 1204, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1198, + "id": 1203, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1196, + "id": 1201, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, + "referencedDeclaration": 1185, "src": "535:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16076,11 +16131,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 1197, + "id": 1202, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1182, + "referencedDeclaration": 1187, "src": "539:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16106,7 +16161,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1205, + "id": 1210, "isConstant": false, "isLValue": false, "isPure": false, @@ -16117,18 +16172,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1203, + "id": 1208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1201, + "id": 1206, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1195, + "referencedDeclaration": 1200, "src": "554:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16139,11 +16194,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1202, + "id": 1207, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1180, + "referencedDeclaration": 1185, "src": "558:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16160,11 +16215,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 1204, + "id": 1209, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1182, + "referencedDeclaration": 1187, "src": "563:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16185,21 +16240,21 @@ "typeString": "bool" } ], - "id": 1200, + "id": 1205, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "546:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1206, + "id": 1211, "isConstant": false, "isLValue": false, "isPure": false, @@ -16213,33 +16268,33 @@ "typeString": "tuple()" } }, - "id": 1207, + "id": 1212, "nodeType": "ExpressionStatement", "src": "546:19:9" }, { "expression": { "argumentTypes": null, - "id": 1208, + "id": 1213, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1195, + "referencedDeclaration": 1200, "src": "579:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1186, - "id": 1209, + "functionReturnParameters": 1191, + "id": 1214, "nodeType": "Return", "src": "572:8:9" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 1211, + "id": 1216, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -16247,15 +16302,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1183, + "id": 1188, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1180, + "id": 1185, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1216, "src": "217:9:9", "stateVariable": false, "storageLocation": "default", @@ -16264,7 +16319,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1179, + "id": 1184, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:9", @@ -16278,10 +16333,10 @@ }, { "constant": false, - "id": 1182, + "id": 1187, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1216, "src": "228:9:9", "stateVariable": false, "storageLocation": "default", @@ -16290,7 +16345,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1181, + "id": 1186, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:9", @@ -16307,15 +16362,15 @@ }, "payable": false, "returnParameters": { - "id": 1186, + "id": 1191, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1185, + "id": 1190, "name": "", "nodeType": "VariableDeclaration", - "scope": 1211, + "scope": 1216, "src": "262:7:9", "stateVariable": false, "storageLocation": "default", @@ -16324,7 +16379,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1184, + "id": 1189, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:9", @@ -16339,7 +16394,7 @@ ], "src": "261:9:9" }, - "scope": 1304, + "scope": 1309, "src": "204:381:9", "stateMutability": "pure", "superFunction": null, @@ -16347,7 +16402,7 @@ }, { "body": { - "id": 1234, + "id": 1239, "nodeType": "Block", "src": "762:203:9", "statements": [ @@ -16361,18 +16416,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1223, + "id": 1228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1221, + "id": 1226, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1215, + "referencedDeclaration": 1220, "src": "776:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16384,7 +16439,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1222, + "id": 1227, "isConstant": false, "isLValue": false, "isPure": true, @@ -16413,21 +16468,21 @@ "typeString": "bool" } ], - "id": 1220, + "id": 1225, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "768:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1224, + "id": 1229, "isConstant": false, "isLValue": false, "isPure": false, @@ -16441,21 +16496,21 @@ "typeString": "tuple()" } }, - "id": 1225, + "id": 1230, "nodeType": "ExpressionStatement", "src": "768:14:9" }, { "assignments": [ - 1227 + 1232 ], "declarations": [ { "constant": false, - "id": 1227, + "id": 1232, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1235, + "scope": 1240, "src": "846:9:9", "stateVariable": false, "storageLocation": "default", @@ -16464,7 +16519,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1226, + "id": 1231, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:9", @@ -16477,25 +16532,25 @@ "visibility": "internal" } ], - "id": 1231, + "id": 1236, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1230, + "id": 1235, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1228, + "id": 1233, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1213, + "referencedDeclaration": 1218, "src": "858:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16506,11 +16561,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 1229, + "id": 1234, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1215, + "referencedDeclaration": 1220, "src": "862:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16529,26 +16584,26 @@ { "expression": { "argumentTypes": null, - "id": 1232, + "id": 1237, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1227, + "referencedDeclaration": 1232, "src": "959:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1219, - "id": 1233, + "functionReturnParameters": 1224, + "id": 1238, "nodeType": "Return", "src": "952:8:9" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 1235, + "id": 1240, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -16556,15 +16611,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 1216, + "id": 1221, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1213, + "id": 1218, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1235, + "scope": 1240, "src": "708:9:9", "stateVariable": false, "storageLocation": "default", @@ -16573,7 +16628,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1212, + "id": 1217, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:9", @@ -16587,10 +16642,10 @@ }, { "constant": false, - "id": 1215, + "id": 1220, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1235, + "scope": 1240, "src": "719:9:9", "stateVariable": false, "storageLocation": "default", @@ -16599,7 +16654,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1214, + "id": 1219, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:9", @@ -16616,15 +16671,15 @@ }, "payable": false, "returnParameters": { - "id": 1219, + "id": 1224, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1218, + "id": 1223, "name": "", "nodeType": "VariableDeclaration", - "scope": 1235, + "scope": 1240, "src": "753:7:9", "stateVariable": false, "storageLocation": "default", @@ -16633,7 +16688,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1217, + "id": 1222, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:9", @@ -16648,7 +16703,7 @@ ], "src": "752:9:9" }, - "scope": 1304, + "scope": 1309, "src": "695:270:9", "stateMutability": "pure", "superFunction": null, @@ -16656,7 +16711,7 @@ }, { "body": { - "id": 1258, + "id": 1263, "nodeType": "Block", "src": "1145:64:9", "statements": [ @@ -16670,18 +16725,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1247, + "id": 1252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1245, + "id": 1250, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1244, "src": "1159:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16692,11 +16747,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 1246, + "id": 1251, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1237, + "referencedDeclaration": 1242, "src": "1164:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16717,21 +16772,21 @@ "typeString": "bool" } ], - "id": 1244, + "id": 1249, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1151:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1248, + "id": 1253, "isConstant": false, "isLValue": false, "isPure": false, @@ -16745,21 +16800,21 @@ "typeString": "tuple()" } }, - "id": 1249, + "id": 1254, "nodeType": "ExpressionStatement", "src": "1151:15:9" }, { "assignments": [ - 1251 + 1256 ], "declarations": [ { "constant": false, - "id": 1251, + "id": 1256, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1259, + "scope": 1264, "src": "1172:9:9", "stateVariable": false, "storageLocation": "default", @@ -16768,7 +16823,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1250, + "id": 1255, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:9", @@ -16781,25 +16836,25 @@ "visibility": "internal" } ], - "id": 1255, + "id": 1260, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1254, + "id": 1259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1252, + "id": 1257, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1237, + "referencedDeclaration": 1242, "src": "1184:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16810,11 +16865,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 1253, + "id": 1258, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1239, + "referencedDeclaration": 1244, "src": "1188:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -16833,26 +16888,26 @@ { "expression": { "argumentTypes": null, - "id": 1256, + "id": 1261, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1251, + "referencedDeclaration": 1256, "src": "1203:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1243, - "id": 1257, + "functionReturnParameters": 1248, + "id": 1262, "nodeType": "Return", "src": "1196:8:9" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 1259, + "id": 1264, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -16860,15 +16915,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 1240, + "id": 1245, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1237, + "id": 1242, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1259, + "scope": 1264, "src": "1091:9:9", "stateVariable": false, "storageLocation": "default", @@ -16877,7 +16932,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1236, + "id": 1241, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:9", @@ -16891,10 +16946,10 @@ }, { "constant": false, - "id": 1239, + "id": 1244, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1259, + "scope": 1264, "src": "1102:9:9", "stateVariable": false, "storageLocation": "default", @@ -16903,7 +16958,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1238, + "id": 1243, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:9", @@ -16920,15 +16975,15 @@ }, "payable": false, "returnParameters": { - "id": 1243, + "id": 1248, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1242, + "id": 1247, "name": "", "nodeType": "VariableDeclaration", - "scope": 1259, + "scope": 1264, "src": "1136:7:9", "stateVariable": false, "storageLocation": "default", @@ -16937,7 +16992,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1241, + "id": 1246, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:9", @@ -16952,7 +17007,7 @@ ], "src": "1135:9:9" }, - "scope": 1304, + "scope": 1309, "src": "1078:131:9", "stateMutability": "pure", "superFunction": null, @@ -16960,21 +17015,21 @@ }, { "body": { - "id": 1282, + "id": 1287, "nodeType": "Block", "src": "1339:64:9", "statements": [ { "assignments": [ - 1269 + 1274 ], "declarations": [ { "constant": false, - "id": 1269, + "id": 1274, "name": "c", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1288, "src": "1345:9:9", "stateVariable": false, "storageLocation": "default", @@ -16983,7 +17038,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1268, + "id": 1273, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:9", @@ -16996,25 +17051,25 @@ "visibility": "internal" } ], - "id": 1273, + "id": 1278, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1272, + "id": 1277, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1270, + "id": 1275, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1261, + "referencedDeclaration": 1266, "src": "1357:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17025,11 +17080,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 1271, + "id": 1276, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1263, + "referencedDeclaration": 1268, "src": "1361:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17055,18 +17110,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1277, + "id": 1282, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1275, + "id": 1280, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1269, + "referencedDeclaration": 1274, "src": "1376:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17077,11 +17132,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 1276, + "id": 1281, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1261, + "referencedDeclaration": 1266, "src": "1381:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17102,21 +17157,21 @@ "typeString": "bool" } ], - "id": 1274, + "id": 1279, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1368:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1278, + "id": 1283, "isConstant": false, "isLValue": false, "isPure": false, @@ -17130,33 +17185,33 @@ "typeString": "tuple()" } }, - "id": 1279, + "id": 1284, "nodeType": "ExpressionStatement", "src": "1368:15:9" }, { "expression": { "argumentTypes": null, - "id": 1280, + "id": 1285, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1269, + "referencedDeclaration": 1274, "src": "1397:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1267, - "id": 1281, + "functionReturnParameters": 1272, + "id": 1286, "nodeType": "Return", "src": "1390:8:9" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 1283, + "id": 1288, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -17164,15 +17219,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 1264, + "id": 1269, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1261, + "id": 1266, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1288, "src": "1285:9:9", "stateVariable": false, "storageLocation": "default", @@ -17181,7 +17236,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1260, + "id": 1265, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:9", @@ -17195,10 +17250,10 @@ }, { "constant": false, - "id": 1263, + "id": 1268, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1288, "src": "1296:9:9", "stateVariable": false, "storageLocation": "default", @@ -17207,7 +17262,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1262, + "id": 1267, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:9", @@ -17224,15 +17279,15 @@ }, "payable": false, "returnParameters": { - "id": 1267, + "id": 1272, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1266, + "id": 1271, "name": "", "nodeType": "VariableDeclaration", - "scope": 1283, + "scope": 1288, "src": "1330:7:9", "stateVariable": false, "storageLocation": "default", @@ -17241,7 +17296,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1265, + "id": 1270, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:9", @@ -17256,7 +17311,7 @@ ], "src": "1329:9:9" }, - "scope": 1304, + "scope": 1309, "src": "1272:131:9", "stateMutability": "pure", "superFunction": null, @@ -17264,7 +17319,7 @@ }, { "body": { - "id": 1302, + "id": 1307, "nodeType": "Block", "src": "1602:44:9", "statements": [ @@ -17278,18 +17333,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1295, + "id": 1300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1293, + "id": 1298, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1287, + "referencedDeclaration": 1292, "src": "1616:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17301,7 +17356,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1294, + "id": 1299, "isConstant": false, "isLValue": false, "isPure": true, @@ -17330,21 +17385,21 @@ "typeString": "bool" } ], - "id": 1292, + "id": 1297, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1608:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1296, + "id": 1301, "isConstant": false, "isLValue": false, "isPure": false, @@ -17358,7 +17413,7 @@ "typeString": "tuple()" } }, - "id": 1297, + "id": 1302, "nodeType": "ExpressionStatement", "src": "1608:15:9" }, @@ -17369,18 +17424,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1300, + "id": 1305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1298, + "id": 1303, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1285, + "referencedDeclaration": 1290, "src": "1636:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17391,11 +17446,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1299, + "id": 1304, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1287, + "referencedDeclaration": 1292, "src": "1640:1:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -17408,15 +17463,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 1291, - "id": 1301, + "functionReturnParameters": 1296, + "id": 1306, "nodeType": "Return", "src": "1629:12:9" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 1303, + "id": 1308, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -17424,15 +17479,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 1288, + "id": 1293, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1285, + "id": 1290, "name": "a", "nodeType": "VariableDeclaration", - "scope": 1303, + "scope": 1308, "src": "1548:9:9", "stateVariable": false, "storageLocation": "default", @@ -17441,7 +17496,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1284, + "id": 1289, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:9", @@ -17455,10 +17510,10 @@ }, { "constant": false, - "id": 1287, + "id": 1292, "name": "b", "nodeType": "VariableDeclaration", - "scope": 1303, + "scope": 1308, "src": "1559:9:9", "stateVariable": false, "storageLocation": "default", @@ -17467,7 +17522,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1286, + "id": 1291, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:9", @@ -17484,15 +17539,15 @@ }, "payable": false, "returnParameters": { - "id": 1291, + "id": 1296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1290, + "id": 1295, "name": "", "nodeType": "VariableDeclaration", - "scope": 1303, + "scope": 1308, "src": "1593:7:9", "stateVariable": false, "storageLocation": "default", @@ -17501,7 +17556,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1289, + "id": 1294, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:9", @@ -17516,14 +17571,14 @@ ], "src": "1592:9:9" }, - "scope": 1304, + "scope": 1309, "src": "1535:111:9", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 1305, + "scope": 1310, "src": "117:1531:9" } ], @@ -17536,14 +17591,14 @@ "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": [ - 1373 + 1378 ] }, - "id": 1374, + "id": 1379, "nodeType": "SourceUnit", "nodes": [ { - "id": 1306, + "id": 1311, "literals": [ "solidity", "^", @@ -17559,9 +17614,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 1373, + "id": 1378, "linearizedBaseContracts": [ - 1373 + 1378 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -17569,7 +17624,7 @@ { "body": null, "documentation": null, - "id": 1311, + "id": 1316, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -17577,22 +17632,22 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 1307, + "id": 1312, "nodeType": "ParameterList", "parameters": [], "src": "156:2:10" }, "payable": false, "returnParameters": { - "id": 1310, + "id": 1315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1309, + "id": 1314, "name": "", "nodeType": "VariableDeclaration", - "scope": 1311, + "scope": 1316, "src": "182:7:10", "stateVariable": false, "storageLocation": "default", @@ -17601,7 +17656,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1308, + "id": 1313, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "182:7:10", @@ -17616,7 +17671,7 @@ ], "src": "181:9:10" }, - "scope": 1373, + "scope": 1378, "src": "136:55:10", "stateMutability": "view", "superFunction": null, @@ -17625,7 +17680,7 @@ { "body": null, "documentation": null, - "id": 1318, + "id": 1323, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -17633,15 +17688,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 1314, + "id": 1319, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1313, + "id": 1318, "name": "who", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1323, "src": "214:11:10", "stateVariable": false, "storageLocation": "default", @@ -17650,7 +17705,7 @@ "typeString": "address" }, "typeName": { - "id": 1312, + "id": 1317, "name": "address", "nodeType": "ElementaryTypeName", "src": "214:7:10", @@ -17667,15 +17722,15 @@ }, "payable": false, "returnParameters": { - "id": 1317, + "id": 1322, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1316, + "id": 1321, "name": "", "nodeType": "VariableDeclaration", - "scope": 1318, + "scope": 1323, "src": "250:7:10", "stateVariable": false, "storageLocation": "default", @@ -17684,7 +17739,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1315, + "id": 1320, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "250:7:10", @@ -17699,7 +17754,7 @@ ], "src": "249:9:10" }, - "scope": 1373, + "scope": 1378, "src": "195:64:10", "stateMutability": "view", "superFunction": null, @@ -17708,7 +17763,7 @@ { "body": null, "documentation": null, - "id": 1327, + "id": 1332, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -17716,15 +17771,15 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1323, + "id": 1328, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1320, + "id": 1325, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1327, + "scope": 1332, "src": "282:13:10", "stateVariable": false, "storageLocation": "default", @@ -17733,7 +17788,7 @@ "typeString": "address" }, "typeName": { - "id": 1319, + "id": 1324, "name": "address", "nodeType": "ElementaryTypeName", "src": "282:7:10", @@ -17747,10 +17802,10 @@ }, { "constant": false, - "id": 1322, + "id": 1327, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1327, + "scope": 1332, "src": "297:15:10", "stateVariable": false, "storageLocation": "default", @@ -17759,7 +17814,7 @@ "typeString": "address" }, "typeName": { - "id": 1321, + "id": 1326, "name": "address", "nodeType": "ElementaryTypeName", "src": "297:7:10", @@ -17776,15 +17831,15 @@ }, "payable": false, "returnParameters": { - "id": 1326, + "id": 1331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1325, + "id": 1330, "name": "", "nodeType": "VariableDeclaration", - "scope": 1327, + "scope": 1332, "src": "341:7:10", "stateVariable": false, "storageLocation": "default", @@ -17793,7 +17848,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "341:7:10", @@ -17808,7 +17863,7 @@ ], "src": "340:9:10" }, - "scope": 1373, + "scope": 1378, "src": "263:87:10", "stateMutability": "view", "superFunction": null, @@ -17817,7 +17872,7 @@ { "body": null, "documentation": null, - "id": 1336, + "id": 1341, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -17825,15 +17880,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1332, + "id": 1337, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1329, + "id": 1334, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1336, + "scope": 1341, "src": "372:10:10", "stateVariable": false, "storageLocation": "default", @@ -17842,7 +17897,7 @@ "typeString": "address" }, "typeName": { - "id": 1328, + "id": 1333, "name": "address", "nodeType": "ElementaryTypeName", "src": "372:7:10", @@ -17856,10 +17911,10 @@ }, { "constant": false, - "id": 1331, + "id": 1336, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1336, + "scope": 1341, "src": "384:13:10", "stateVariable": false, "storageLocation": "default", @@ -17868,7 +17923,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1330, + "id": 1335, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "384:7:10", @@ -17885,15 +17940,15 @@ }, "payable": false, "returnParameters": { - "id": 1335, + "id": 1340, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1334, + "id": 1339, "name": "", "nodeType": "VariableDeclaration", - "scope": 1336, + "scope": 1341, "src": "417:4:10", "stateVariable": false, "storageLocation": "default", @@ -17902,7 +17957,7 @@ "typeString": "bool" }, "typeName": { - "id": 1333, + "id": 1338, "name": "bool", "nodeType": "ElementaryTypeName", "src": "417:4:10", @@ -17917,7 +17972,7 @@ ], "src": "416:6:10" }, - "scope": 1373, + "scope": 1378, "src": "354:69:10", "stateMutability": "nonpayable", "superFunction": null, @@ -17926,7 +17981,7 @@ { "body": null, "documentation": null, - "id": 1345, + "id": 1350, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -17934,15 +17989,15 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 1341, + "id": 1346, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1338, + "id": 1343, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1350, "src": "444:15:10", "stateVariable": false, "storageLocation": "default", @@ -17951,7 +18006,7 @@ "typeString": "address" }, "typeName": { - "id": 1337, + "id": 1342, "name": "address", "nodeType": "ElementaryTypeName", "src": "444:7:10", @@ -17965,10 +18020,10 @@ }, { "constant": false, - "id": 1340, + "id": 1345, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1350, "src": "461:13:10", "stateVariable": false, "storageLocation": "default", @@ -17977,7 +18032,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1339, + "id": 1344, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "461:7:10", @@ -17994,15 +18049,15 @@ }, "payable": false, "returnParameters": { - "id": 1344, + "id": 1349, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1343, + "id": 1348, "name": "", "nodeType": "VariableDeclaration", - "scope": 1345, + "scope": 1350, "src": "498:4:10", "stateVariable": false, "storageLocation": "default", @@ -18011,7 +18066,7 @@ "typeString": "bool" }, "typeName": { - "id": 1342, + "id": 1347, "name": "bool", "nodeType": "ElementaryTypeName", "src": "498:4:10", @@ -18026,7 +18081,7 @@ ], "src": "497:6:10" }, - "scope": 1373, + "scope": 1378, "src": "427:77:10", "stateMutability": "nonpayable", "superFunction": null, @@ -18035,7 +18090,7 @@ { "body": null, "documentation": null, - "id": 1356, + "id": 1361, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -18043,15 +18098,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1352, + "id": 1357, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1347, + "id": 1352, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1356, + "scope": 1361, "src": "530:12:10", "stateVariable": false, "storageLocation": "default", @@ -18060,7 +18115,7 @@ "typeString": "address" }, "typeName": { - "id": 1346, + "id": 1351, "name": "address", "nodeType": "ElementaryTypeName", "src": "530:7:10", @@ -18074,10 +18129,10 @@ }, { "constant": false, - "id": 1349, + "id": 1354, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1356, + "scope": 1361, "src": "544:10:10", "stateVariable": false, "storageLocation": "default", @@ -18086,7 +18141,7 @@ "typeString": "address" }, "typeName": { - "id": 1348, + "id": 1353, "name": "address", "nodeType": "ElementaryTypeName", "src": "544:7:10", @@ -18100,10 +18155,10 @@ }, { "constant": false, - "id": 1351, + "id": 1356, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1356, + "scope": 1361, "src": "556:13:10", "stateVariable": false, "storageLocation": "default", @@ -18112,7 +18167,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1350, + "id": 1355, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "556:7:10", @@ -18129,15 +18184,15 @@ }, "payable": false, "returnParameters": { - "id": 1355, + "id": 1360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1354, + "id": 1359, "name": "", "nodeType": "VariableDeclaration", - "scope": 1356, + "scope": 1361, "src": "593:4:10", "stateVariable": false, "storageLocation": "default", @@ -18146,7 +18201,7 @@ "typeString": "bool" }, "typeName": { - "id": 1353, + "id": 1358, "name": "bool", "nodeType": "ElementaryTypeName", "src": "593:4:10", @@ -18161,7 +18216,7 @@ ], "src": "592:6:10" }, - "scope": 1373, + "scope": 1378, "src": "508:91:10", "stateMutability": "nonpayable", "superFunction": null, @@ -18170,20 +18225,20 @@ { "anonymous": false, "documentation": null, - "id": 1364, + "id": 1369, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 1363, + "id": 1368, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1358, + "id": 1363, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1364, + "scope": 1369, "src": "623:20:10", "stateVariable": false, "storageLocation": "default", @@ -18192,7 +18247,7 @@ "typeString": "address" }, "typeName": { - "id": 1357, + "id": 1362, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:10", @@ -18206,11 +18261,11 @@ }, { "constant": false, - "id": 1360, + "id": 1365, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1364, + "scope": 1369, "src": "649:18:10", "stateVariable": false, "storageLocation": "default", @@ -18219,7 +18274,7 @@ "typeString": "address" }, "typeName": { - "id": 1359, + "id": 1364, "name": "address", "nodeType": "ElementaryTypeName", "src": "649:7:10", @@ -18233,11 +18288,11 @@ }, { "constant": false, - "id": 1362, + "id": 1367, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1364, + "scope": 1369, "src": "673:13:10", "stateVariable": false, "storageLocation": "default", @@ -18246,7 +18301,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1361, + "id": 1366, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "673:7:10", @@ -18266,20 +18321,20 @@ { "anonymous": false, "documentation": null, - "id": 1372, + "id": 1377, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 1371, + "id": 1376, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1366, + "id": 1371, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1377, "src": "715:21:10", "stateVariable": false, "storageLocation": "default", @@ -18288,7 +18343,7 @@ "typeString": "address" }, "typeName": { - "id": 1365, + "id": 1370, "name": "address", "nodeType": "ElementaryTypeName", "src": "715:7:10", @@ -18302,11 +18357,11 @@ }, { "constant": false, - "id": 1368, + "id": 1373, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1377, "src": "742:23:10", "stateVariable": false, "storageLocation": "default", @@ -18315,7 +18370,7 @@ "typeString": "address" }, "typeName": { - "id": 1367, + "id": 1372, "name": "address", "nodeType": "ElementaryTypeName", "src": "742:7:10", @@ -18329,11 +18384,11 @@ }, { "constant": false, - "id": 1370, + "id": 1375, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1377, "src": "771:13:10", "stateVariable": false, "storageLocation": "default", @@ -18342,7 +18397,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1369, + "id": 1374, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "771:7:10", @@ -18360,7 +18415,7 @@ "src": "695:94:10" } ], - "scope": 1374, + "scope": 1379, "src": "115:676:10" } ], @@ -18373,14 +18428,14 @@ "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": [ - 1517 + 1522 ] }, - "id": 1518, + "id": 1523, "nodeType": "SourceUnit", "nodes": [ { - "id": 1375, + "id": 1380, "literals": [ "solidity", "^", @@ -18393,10 +18448,10 @@ { "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": 1376, + "id": 1381, "nodeType": "ImportDirective", - "scope": 1518, - "sourceUnit": 1374, + "scope": 1523, + "sourceUnit": 1379, "src": "26:22:11", "symbolAliases": [], "unitAlias": "" @@ -18404,10 +18459,10 @@ { "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": 1377, + "id": 1382, "nodeType": "ImportDirective", - "scope": 1518, - "sourceUnit": 1305, + "scope": 1523, + "sourceUnit": 1310, "src": "49:33:11", "symbolAliases": [], "unitAlias": "" @@ -18418,31 +18473,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": 1517, + "id": 1522, "linearizedBaseContracts": [ - 1517 + 1522 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1380, + "id": 1385, "libraryName": { "contractScope": null, - "id": 1378, + "id": 1383, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1304, + "referencedDeclaration": 1309, "src": "382:8:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$1304", + "typeIdentifier": "t_contract$_SafeMath_$1309", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "376:27:11", "typeName": { - "id": 1379, + "id": 1384, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "395:7:11", @@ -18454,7 +18509,7 @@ }, { "body": { - "id": 1397, + "id": 1402, "nodeType": "Block", "src": "501:45:11", "statements": [ @@ -18467,11 +18522,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1392, + "id": 1397, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1384, + "referencedDeclaration": 1389, "src": "530:2:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18480,11 +18535,11 @@ }, { "argumentTypes": null, - "id": 1393, + "id": 1398, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1386, + "referencedDeclaration": 1391, "src": "534:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18505,32 +18560,32 @@ ], "expression": { "argumentTypes": null, - "id": 1390, + "id": 1395, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1382, + "referencedDeclaration": 1387, "src": "515:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1391, + "id": 1396, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 1336, + "referencedDeclaration": 1341, "src": "515:14:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1394, + "id": 1399, "isConstant": false, "isLValue": false, "isPure": false, @@ -18552,21 +18607,21 @@ "typeString": "bool" } ], - "id": 1389, + "id": 1394, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "507:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1395, + "id": 1400, "isConstant": false, "isLValue": false, "isPure": false, @@ -18580,14 +18635,14 @@ "typeString": "tuple()" } }, - "id": 1396, + "id": 1401, "nodeType": "ExpressionStatement", "src": "507:34:11" } ] }, "documentation": null, - "id": 1398, + "id": 1403, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -18595,31 +18650,31 @@ "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 1387, + "id": 1392, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1382, + "id": 1387, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1398, + "scope": 1403, "src": "434:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1381, + "id": 1386, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "434:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -18628,10 +18683,10 @@ }, { "constant": false, - "id": 1384, + "id": 1389, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1398, + "scope": 1403, "src": "452:10:11", "stateVariable": false, "storageLocation": "default", @@ -18640,7 +18695,7 @@ "typeString": "address" }, "typeName": { - "id": 1383, + "id": 1388, "name": "address", "nodeType": "ElementaryTypeName", "src": "452:7:11", @@ -18654,10 +18709,10 @@ }, { "constant": false, - "id": 1386, + "id": 1391, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1398, + "scope": 1403, "src": "468:13:11", "stateVariable": false, "storageLocation": "default", @@ -18666,7 +18721,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1385, + "id": 1390, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "468:7:11", @@ -18683,12 +18738,12 @@ }, "payable": false, "returnParameters": { - "id": 1388, + "id": 1393, "nodeType": "ParameterList", "parameters": [], "src": "501:0:11" }, - "scope": 1517, + "scope": 1522, "src": "407:139:11", "stateMutability": "nonpayable", "superFunction": null, @@ -18696,7 +18751,7 @@ }, { "body": { - "id": 1418, + "id": 1423, "nodeType": "Block", "src": "666:55:11", "statements": [ @@ -18709,11 +18764,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1412, + "id": 1417, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1402, + "referencedDeclaration": 1407, "src": "699:4:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18722,11 +18777,11 @@ }, { "argumentTypes": null, - "id": 1413, + "id": 1418, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1404, + "referencedDeclaration": 1409, "src": "705:2:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18735,11 +18790,11 @@ }, { "argumentTypes": null, - "id": 1414, + "id": 1419, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1406, + "referencedDeclaration": 1411, "src": "709:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -18764,32 +18819,32 @@ ], "expression": { "argumentTypes": null, - "id": 1410, + "id": 1415, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1400, + "referencedDeclaration": 1405, "src": "680:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1411, + "id": 1416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 1356, + "referencedDeclaration": 1361, "src": "680: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": 1415, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": false, @@ -18811,21 +18866,21 @@ "typeString": "bool" } ], - "id": 1409, + "id": 1414, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "672:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1416, + "id": 1421, "isConstant": false, "isLValue": false, "isPure": false, @@ -18839,14 +18894,14 @@ "typeString": "tuple()" } }, - "id": 1417, + "id": 1422, "nodeType": "ExpressionStatement", "src": "672:44:11" } ] }, "documentation": null, - "id": 1419, + "id": 1424, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -18854,31 +18909,31 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 1407, + "id": 1412, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1400, + "id": 1405, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1419, + "scope": 1424, "src": "581:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1399, + "id": 1404, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "581:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -18887,10 +18942,10 @@ }, { "constant": false, - "id": 1402, + "id": 1407, "name": "from", "nodeType": "VariableDeclaration", - "scope": 1419, + "scope": 1424, "src": "599:12:11", "stateVariable": false, "storageLocation": "default", @@ -18899,7 +18954,7 @@ "typeString": "address" }, "typeName": { - "id": 1401, + "id": 1406, "name": "address", "nodeType": "ElementaryTypeName", "src": "599:7:11", @@ -18913,10 +18968,10 @@ }, { "constant": false, - "id": 1404, + "id": 1409, "name": "to", "nodeType": "VariableDeclaration", - "scope": 1419, + "scope": 1424, "src": "617:10:11", "stateVariable": false, "storageLocation": "default", @@ -18925,7 +18980,7 @@ "typeString": "address" }, "typeName": { - "id": 1403, + "id": 1408, "name": "address", "nodeType": "ElementaryTypeName", "src": "617:7:11", @@ -18939,10 +18994,10 @@ }, { "constant": false, - "id": 1406, + "id": 1411, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1419, + "scope": 1424, "src": "633:13:11", "stateVariable": false, "storageLocation": "default", @@ -18951,7 +19006,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1405, + "id": 1410, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "633:7:11", @@ -18968,12 +19023,12 @@ }, "payable": false, "returnParameters": { - "id": 1408, + "id": 1413, "nodeType": "ParameterList", "parameters": [], "src": "666:0:11" }, - "scope": 1517, + "scope": 1522, "src": "550:171:11", "stateMutability": "nonpayable", "superFunction": null, @@ -18981,7 +19036,7 @@ }, { "body": { - "id": 1453, + "id": 1458, "nodeType": "Block", "src": "823:330:11", "statements": [ @@ -18995,7 +19050,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1442, + "id": 1447, "isConstant": false, "isLValue": false, "isPure": false, @@ -19009,18 +19064,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1431, + "id": 1436, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1429, + "id": 1434, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1425, + "referencedDeclaration": 1430, "src": "1045:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19032,7 +19087,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1430, + "id": 1435, "isConstant": false, "isLValue": false, "isPure": true, @@ -19054,7 +19109,7 @@ } } ], - "id": 1432, + "id": 1437, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -19078,7 +19133,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1440, + "id": 1445, "isConstant": false, "isLValue": false, "isPure": false, @@ -19090,18 +19145,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1435, + "id": 1440, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1532, + "referencedDeclaration": 1537, "src": "1077:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 1436, + "id": 1441, "isConstant": false, "isLValue": false, "isPure": false, @@ -19117,11 +19172,11 @@ }, { "argumentTypes": null, - "id": 1437, + "id": 1442, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1423, + "referencedDeclaration": 1428, "src": "1089:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19142,32 +19197,32 @@ ], "expression": { "argumentTypes": null, - "id": 1433, + "id": 1438, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1421, + "referencedDeclaration": 1426, "src": "1061:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1434, + "id": 1439, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1327, + "referencedDeclaration": 1332, "src": "1061:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1438, + "id": 1443, "isConstant": false, "isLValue": false, "isPure": false, @@ -19186,7 +19241,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1439, + "id": 1444, "isConstant": false, "isLValue": false, "isPure": true, @@ -19208,7 +19263,7 @@ } } ], - "id": 1441, + "id": 1446, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -19235,21 +19290,21 @@ "typeString": "bool" } ], - "id": 1428, + "id": 1433, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1036:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1443, + "id": 1448, "isConstant": false, "isLValue": false, "isPure": false, @@ -19263,7 +19318,7 @@ "typeString": "tuple()" } }, - "id": 1444, + "id": 1449, "nodeType": "ExpressionStatement", "src": "1036:68:11" }, @@ -19276,11 +19331,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1448, + "id": 1453, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1423, + "referencedDeclaration": 1428, "src": "1132:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19289,11 +19344,11 @@ }, { "argumentTypes": null, - "id": 1449, + "id": 1454, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1425, + "referencedDeclaration": 1430, "src": "1141:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19314,32 +19369,32 @@ ], "expression": { "argumentTypes": null, - "id": 1446, + "id": 1451, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1421, + "referencedDeclaration": 1426, "src": "1118:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1447, + "id": 1452, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, + "referencedDeclaration": 1350, "src": "1118:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1450, + "id": 1455, "isConstant": false, "isLValue": false, "isPure": false, @@ -19361,21 +19416,21 @@ "typeString": "bool" } ], - "id": 1445, + "id": 1450, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1110:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1451, + "id": 1456, "isConstant": false, "isLValue": false, "isPure": false, @@ -19389,14 +19444,14 @@ "typeString": "tuple()" } }, - "id": 1452, + "id": 1457, "nodeType": "ExpressionStatement", "src": "1110:38:11" } ] }, "documentation": null, - "id": 1454, + "id": 1459, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -19404,31 +19459,31 @@ "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 1426, + "id": 1431, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1421, + "id": 1426, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1454, + "scope": 1459, "src": "751:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1420, + "id": 1425, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "751:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -19437,10 +19492,10 @@ }, { "constant": false, - "id": 1423, + "id": 1428, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1454, + "scope": 1459, "src": "769:15:11", "stateVariable": false, "storageLocation": "default", @@ -19449,7 +19504,7 @@ "typeString": "address" }, "typeName": { - "id": 1422, + "id": 1427, "name": "address", "nodeType": "ElementaryTypeName", "src": "769:7:11", @@ -19463,10 +19518,10 @@ }, { "constant": false, - "id": 1425, + "id": 1430, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1454, + "scope": 1459, "src": "790:13:11", "stateVariable": false, "storageLocation": "default", @@ -19475,7 +19530,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1424, + "id": 1429, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "790:7:11", @@ -19492,12 +19547,12 @@ }, "payable": false, "returnParameters": { - "id": 1427, + "id": 1432, "nodeType": "ParameterList", "parameters": [], "src": "823:0:11" }, - "scope": 1517, + "scope": 1522, "src": "725:428:11", "stateMutability": "nonpayable", "superFunction": null, @@ -19505,21 +19560,21 @@ }, { "body": { - "id": 1484, + "id": 1489, "nodeType": "Block", "src": "1265:135:11", "statements": [ { "assignments": [ - 1464 + 1469 ], "declarations": [ { "constant": false, - "id": 1464, + "id": 1469, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1485, + "scope": 1490, "src": "1271:20:11", "stateVariable": false, "storageLocation": "default", @@ -19528,7 +19583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1463, + "id": 1468, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1271:7:11", @@ -19541,17 +19596,17 @@ "visibility": "internal" } ], - "id": 1475, + "id": 1480, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1473, + "id": 1478, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, + "referencedDeclaration": 1465, "src": "1338:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19574,14 +19629,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1468, + "id": 1473, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1555, + "referencedDeclaration": 1560, "src": "1318:4:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } } @@ -19589,11 +19644,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } ], - "id": 1467, + "id": 1472, "isConstant": false, "isLValue": false, "isPure": true, @@ -19606,7 +19661,7 @@ }, "typeName": "address" }, - "id": 1469, + "id": 1474, "isConstant": false, "isLValue": false, "isPure": false, @@ -19622,11 +19677,11 @@ }, { "argumentTypes": null, - "id": 1470, + "id": 1475, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1458, + "referencedDeclaration": 1463, "src": "1325:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19647,32 +19702,32 @@ ], "expression": { "argumentTypes": null, - "id": 1465, + "id": 1470, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1456, + "referencedDeclaration": 1461, "src": "1294:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1466, + "id": 1471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1327, + "referencedDeclaration": 1332, "src": "1294:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1471, + "id": 1476, "isConstant": false, "isLValue": false, "isPure": false, @@ -19686,21 +19741,21 @@ "typeString": "uint256" } }, - "id": 1472, + "id": 1477, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 1283, + "referencedDeclaration": 1288, "src": "1294: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": 1474, + "id": 1479, "isConstant": false, "isLValue": false, "isPure": false, @@ -19726,11 +19781,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1479, + "id": 1484, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1458, + "referencedDeclaration": 1463, "src": "1372:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19739,11 +19794,11 @@ }, { "argumentTypes": null, - "id": 1480, + "id": 1485, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1464, + "referencedDeclaration": 1469, "src": "1381:12:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -19764,32 +19819,32 @@ ], "expression": { "argumentTypes": null, - "id": 1477, + "id": 1482, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1456, + "referencedDeclaration": 1461, "src": "1358:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1478, + "id": 1483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, + "referencedDeclaration": 1350, "src": "1358:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1481, + "id": 1486, "isConstant": false, "isLValue": false, "isPure": false, @@ -19811,21 +19866,21 @@ "typeString": "bool" } ], - "id": 1476, + "id": 1481, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1350:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1482, + "id": 1487, "isConstant": false, "isLValue": false, "isPure": false, @@ -19839,14 +19894,14 @@ "typeString": "tuple()" } }, - "id": 1483, + "id": 1488, "nodeType": "ExpressionStatement", "src": "1350:45:11" } ] }, "documentation": null, - "id": 1485, + "id": 1490, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -19854,31 +19909,31 @@ "name": "safeIncreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1461, + "id": 1466, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1456, + "id": 1461, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1485, + "scope": 1490, "src": "1193:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1455, + "id": 1460, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "1193:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -19887,10 +19942,10 @@ }, { "constant": false, - "id": 1458, + "id": 1463, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1485, + "scope": 1490, "src": "1211:15:11", "stateVariable": false, "storageLocation": "default", @@ -19899,7 +19954,7 @@ "typeString": "address" }, "typeName": { - "id": 1457, + "id": 1462, "name": "address", "nodeType": "ElementaryTypeName", "src": "1211:7:11", @@ -19913,10 +19968,10 @@ }, { "constant": false, - "id": 1460, + "id": 1465, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1485, + "scope": 1490, "src": "1232:13:11", "stateVariable": false, "storageLocation": "default", @@ -19925,7 +19980,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1459, + "id": 1464, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1232:7:11", @@ -19942,12 +19997,12 @@ }, "payable": false, "returnParameters": { - "id": 1462, + "id": 1467, "nodeType": "ParameterList", "parameters": [], "src": "1265:0:11" }, - "scope": 1517, + "scope": 1522, "src": "1157:243:11", "stateMutability": "nonpayable", "superFunction": null, @@ -19955,21 +20010,21 @@ }, { "body": { - "id": 1515, + "id": 1520, "nodeType": "Block", "src": "1512:135:11", "statements": [ { "assignments": [ - 1495 + 1500 ], "declarations": [ { "constant": false, - "id": 1495, + "id": 1500, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 1516, + "scope": 1521, "src": "1518:20:11", "stateVariable": false, "storageLocation": "default", @@ -19978,7 +20033,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1494, + "id": 1499, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1518:7:11", @@ -19991,17 +20046,17 @@ "visibility": "internal" } ], - "id": 1506, + "id": 1511, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1504, + "id": 1509, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1491, + "referencedDeclaration": 1496, "src": "1585:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20024,14 +20079,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1499, + "id": 1504, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1555, + "referencedDeclaration": 1560, "src": "1565:4:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } } @@ -20039,11 +20094,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$1517", + "typeIdentifier": "t_contract$_SafeERC20_$1522", "typeString": "library SafeERC20" } ], - "id": 1498, + "id": 1503, "isConstant": false, "isLValue": false, "isPure": true, @@ -20056,7 +20111,7 @@ }, "typeName": "address" }, - "id": 1500, + "id": 1505, "isConstant": false, "isLValue": false, "isPure": false, @@ -20072,11 +20127,11 @@ }, { "argumentTypes": null, - "id": 1501, + "id": 1506, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1489, + "referencedDeclaration": 1494, "src": "1572:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20097,32 +20152,32 @@ ], "expression": { "argumentTypes": null, - "id": 1496, + "id": 1501, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1487, + "referencedDeclaration": 1492, "src": "1541:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1497, + "id": 1502, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 1327, + "referencedDeclaration": 1332, "src": "1541:15:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view external returns (uint256)" } }, - "id": 1502, + "id": 1507, "isConstant": false, "isLValue": false, "isPure": false, @@ -20136,21 +20191,21 @@ "typeString": "uint256" } }, - "id": 1503, + "id": 1508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 1259, + "referencedDeclaration": 1264, "src": "1541: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": 1505, + "id": 1510, "isConstant": false, "isLValue": false, "isPure": false, @@ -20176,11 +20231,11 @@ "arguments": [ { "argumentTypes": null, - "id": 1510, + "id": 1515, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1489, + "referencedDeclaration": 1494, "src": "1619:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -20189,11 +20244,11 @@ }, { "argumentTypes": null, - "id": 1511, + "id": 1516, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1495, + "referencedDeclaration": 1500, "src": "1628:12:11", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -20214,32 +20269,32 @@ ], "expression": { "argumentTypes": null, - "id": 1508, + "id": 1513, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1487, + "referencedDeclaration": 1492, "src": "1605:5:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, - "id": 1509, + "id": 1514, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 1345, + "referencedDeclaration": 1350, "src": "1605:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 1512, + "id": 1517, "isConstant": false, "isLValue": false, "isPure": false, @@ -20261,21 +20316,21 @@ "typeString": "bool" } ], - "id": 1507, + "id": 1512, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1535, - 1536 + 1540, + 1541 ], - "referencedDeclaration": 1535, + "referencedDeclaration": 1540, "src": "1597:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 1513, + "id": 1518, "isConstant": false, "isLValue": false, "isPure": false, @@ -20289,14 +20344,14 @@ "typeString": "tuple()" } }, - "id": 1514, + "id": 1519, "nodeType": "ExpressionStatement", "src": "1597:45:11" } ] }, "documentation": null, - "id": 1516, + "id": 1521, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -20304,31 +20359,31 @@ "name": "safeDecreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 1492, + "id": 1497, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1487, + "id": 1492, "name": "token", "nodeType": "VariableDeclaration", - "scope": 1516, + "scope": 1521, "src": "1440:12:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 1486, + "id": 1491, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1373, + "referencedDeclaration": 1378, "src": "1440:6:11", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$1373", + "typeIdentifier": "t_contract$_IERC20_$1378", "typeString": "contract IERC20" } }, @@ -20337,10 +20392,10 @@ }, { "constant": false, - "id": 1489, + "id": 1494, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 1516, + "scope": 1521, "src": "1458:15:11", "stateVariable": false, "storageLocation": "default", @@ -20349,7 +20404,7 @@ "typeString": "address" }, "typeName": { - "id": 1488, + "id": 1493, "name": "address", "nodeType": "ElementaryTypeName", "src": "1458:7:11", @@ -20363,10 +20418,10 @@ }, { "constant": false, - "id": 1491, + "id": 1496, "name": "value", "nodeType": "VariableDeclaration", - "scope": 1516, + "scope": 1521, "src": "1479:13:11", "stateVariable": false, "storageLocation": "default", @@ -20375,7 +20430,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1490, + "id": 1495, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1479:7:11", @@ -20392,19 +20447,19 @@ }, "payable": false, "returnParameters": { - "id": 1493, + "id": 1498, "nodeType": "ParameterList", "parameters": [], "src": "1512:0:11" }, - "scope": 1517, + "scope": 1522, "src": "1404:243:11", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 1518, + "scope": 1523, "src": "353:1296:11" } ], diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.abi b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.abi index 3e4826eae..8f3d1e3d2 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.abi +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoMiner.abi @@ -1 +1 @@ -[{"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":"DAYS_PER_YEAR","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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"}] \ No newline at end of file +[{"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"}] \ No newline at end of file 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 1b1c9971d..a36c0e042 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 @@ -60806040523480156200001157600080fd5b5060405160a080620014f7833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a9600282640100000000620011ac620001e282021704565b50565b620001a9600382640100000000620011ac620001e282021704565b620001a9600482640100000000620011ac620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61127280620002856000396000f30060806040526004361061017f5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610184578063162f986d1461019b5780631777fb4b146101b057806319a74ab3146101d957806321b79d98146101ee578063231d4e2a1461020357806329d10b6e146102245780632e6b684914610245578063302c11ca14610266578063329b1c921461029757806334cdcf26146102ac578063363aa6c7146102cd5780633e6968b6146102e2578063427534a41461030e5780634969ae7014610323578063608d3d3d1461034e57806374be75921461036f57806380258e471461039057806381a24459146103a55780638329138f146103c657806399f4b251146103ed5780639e614ca014610402578063b2a32cd514610417578063be9524941461042c578063c6846ef814610441578063cdfd0f6414610468578063ce41607a1461047d578063d43acc7914610492578063da408679146104a7578063e9d61859146104bc575b600080fd5b34801561019057600080fd5b506101996104d1565b005b3480156101a757600080fd5b506101996104ef565b3480156101bc57600080fd5b506101c561055e565b604080519115158252519081900360200190f35b3480156101e557600080fd5b506101c5610563565b3480156101fa57600080fd5b5061019961059a565b34801561020f57600080fd5b50610199600160a060020a0360043516610630565b34801561023057600080fd5b50610199600160a060020a036004351661071c565b34801561025157600080fd5b50610199600160a060020a0360043516610739565b34801561027257600080fd5b5061027b610756565b60408051600160a060020a039092168252519081900360200190f35b3480156102a357600080fd5b5061027b61076b565b3480156102b857600080fd5b506101c5600160a060020a036004351661077a565b3480156102d957600080fd5b50610199610795565b3480156102ee57600080fd5b506102f7610846565b6040805161ffff9092168252519081900360200190f35b34801561031a57600080fd5b50610199610857565b34801561032f57600080fd5b506103386108c3565b6040805160ff9092168252519081900360200190f35b34801561035a57600080fd5b506101c5600160a060020a03600435166108d7565b34801561037b57600080fd5b50610199600160a060020a03600435166108ea565b34801561039c57600080fd5b50610338610907565b3480156103b157600080fd5b506101c5600160a060020a0360043516610915565b3480156103d257600080fd5b50610199600160a060020a0360043581169060243516610928565b3480156103f957600080fd5b506101996109db565b34801561040e57600080fd5b50610199610c1c565b34801561042357600080fd5b50610199610c8d565b34801561043857600080fd5b50610199610deb565b34801561044d57600080fd5b50610456610df4565b60408051918252519081900360200190f35b34801561047457600080fd5b50610456610dfa565b34801561048957600080fd5b50610338610e00565b34801561049e57600080fd5b50610199610e23565b3480156104b357600080fd5b50610199610e2c565b3480156104c857600080fd5b50610199610ebd565b6104da336108d7565b15156104e557600080fd5b6104ed610ec6565b565b60005460a060020a900460ff161561050657600080fd5b61050f33610915565b151561051a57600080fd5b600160065460a060020a900460ff16600381111561053457fe5b1461053e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561057f57fe5b148015610595575060065460a860020a900460ff165b905090565b60005460a060020a900460ff16156105b157600080fd5b600554620100009004600160a060020a031633146105ce57600080fd5b600160065460a060020a900460ff1660038111156105e857fe5b146105f257600080fd5b60065460a860020a900460ff161561060957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610639336108d7565b151561064457600080fd5b600060065460a060020a900460ff16600381111561065e57fe5b1461066857600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610719928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b505050506040513d60208110156106fe57600080fd5b5051600154600160a060020a0316919063ffffffff610f8d16565b50565b61072533610915565b151561073057600080fd5b61071981611045565b610742336108d7565b151561074d57600080fd5b61071981611056565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061078d60028363ffffffff61106716565b90505b919050565b60005460a060020a900460ff16156107ac57600080fd5b6107b533610915565b15156107c057600080fd5b600360065460a060020a900460ff1660038111156107da57fe5b14156107e557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561086e57600080fd5b61087733610915565b151561088257600080fd5b600260065460a060020a900460ff16600381111561089c57fe5b146108a657600080fd5b600680546001919060a060020a60ff02191660a060020a83610557565b60055460009060ff16600181111561059557fe5b600061078d60038363ffffffff61106716565b6108f33361077a565b15156108fe57600080fd5b6107198161109e565b600554610100900460ff1690565b600061078d60048363ffffffff61106716565b60005460a060020a900460ff161561093f57600080fd5b61094833610915565b151561095357600080fd5b600360065460a060020a900460ff16600381111561096d57fe5b1461097757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109f557600080fd5b6109fe3361077a565b1515610a0957600080fd5b600060055460ff166001811115610a1c57fe5b14610a2657600080fd5b600160065460a060020a900460ff166003811115610a4057fe5b14610a4a57600080fd5b60065460a860020a900460ff161515610a6257600080fd5b60065460b860020a900461ffff161515610ad8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610ba0565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610ba0576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610bbe57600080fd5b60008111610bcb57600080fd5b600554600154610bf591600160a060020a039182169162010000909104168463ffffffff610f8d16565b600654600154610c1891600160a060020a0391821691168363ffffffff610f8d16565b5050565b60005460a060020a900460ff1615610c3357600080fd5b610c3c336108d7565b1515610c4757600080fd5b600060065460a060020a900460ff166003811115610c6157fe5b1415610c6c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610ca957600080fd5b610cb2336108d7565b1515610cbd57600080fd5b600060065460a060020a900460ff166003811115610cd757fe5b14610ce157600080fd5b600060055460ff166001811115610cf457fe5b148015610d015750600754155b15610dd057600554610d1a90610100900460ff166110af565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d8e57600080fd5b505af1158015610da2573d6000803e3d6000fd5b505050506040513d6020811015610db857600080fd5b50519050818114610dc857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104ed33611161565b61016d81565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104ed33611172565b60005460a060020a900460ff1615610e4357600080fd5b600554620100009004600160a060020a03163314610e6057600080fd5b600160065460a060020a900460ff166003811115610e7a57fe5b14610e8457600080fd5b60065460a860020a900460ff161515610e9c57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104ed33611183565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f2b57600080fd5b505af1158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506000811115610f8557600054600154610f8591600160a060020a0391821691168363ffffffff610f8d16565b610719611194565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561100957600080fd5b505af115801561101d573d6000803e3d6000fd5b505050506040513d602081101561103357600080fd5b5051151561104057600080fd5b505050565b61071960048263ffffffff6111ac16565b61071960038263ffffffff6111ac16565b6000600160a060020a038216151561107e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61071960028263ffffffff6111ac16565b600060ff821615156110cc575069152d02c7e14af6800000610790565b8160ff16600114156110e9575069d3c21bcecceda1000000610790565b8160ff166002141561110757506a01a784379d99db42000000610790565b8160ff166003141561112557506a027b46536c66c8e3000000610790565b8160ff166004141561114357506a034f086f3b33b684000000610790565b8160ff166005141561079057506a0422ca8b0a00a425000000610790565b61071960048263ffffffff6111fa16565b61071960038263ffffffff6111fa16565b61071960028263ffffffff6111fa16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a03811615156111c157600080fd5b6111cb8282611067565b156111d557600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561120f57600080fd5b6112198282611067565b151561122457600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058205f527260d789022d74031e68eb390ff4f3057e6fce4f2adde7c12af38948fde60029 \ No newline at end of file +60806040523480156200001157600080fd5b5060405160a080620014d1833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a960028264010000000062001186620001e282021704565b50565b620001a960038264010000000062001186620001e282021704565b620001a960048264010000000062001186620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61124c80620002856000396000f3006080604052600436106101745763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610179578063162f986d146101905780631777fb4b146101a557806319a74ab3146101ce57806321b79d98146101e3578063231d4e2a146101f857806329d10b6e146102195780632e6b68491461023a578063302c11ca1461025b578063329b1c921461028c57806334cdcf26146102a1578063363aa6c7146102c25780633e6968b6146102d7578063427534a4146103035780634969ae7014610318578063608d3d3d1461034357806374be75921461036457806380258e471461038557806381a244591461039a5780638329138f146103bb57806399f4b251146103e25780639e614ca0146103f7578063b2a32cd51461040c578063be95249414610421578063cdfd0f6414610436578063ce41607a1461045d578063d43acc7914610472578063da40867914610487578063e9d618591461049c575b600080fd5b34801561018557600080fd5b5061018e6104b1565b005b34801561019c57600080fd5b5061018e6104cf565b3480156101b157600080fd5b506101ba61053e565b604080519115158252519081900360200190f35b3480156101da57600080fd5b506101ba610543565b3480156101ef57600080fd5b5061018e61057a565b34801561020457600080fd5b5061018e600160a060020a0360043516610610565b34801561022557600080fd5b5061018e600160a060020a03600435166106fc565b34801561024657600080fd5b5061018e600160a060020a0360043516610719565b34801561026757600080fd5b50610270610736565b60408051600160a060020a039092168252519081900360200190f35b34801561029857600080fd5b5061027061074b565b3480156102ad57600080fd5b506101ba600160a060020a036004351661075a565b3480156102ce57600080fd5b5061018e610775565b3480156102e357600080fd5b506102ec610826565b6040805161ffff9092168252519081900360200190f35b34801561030f57600080fd5b5061018e610837565b34801561032457600080fd5b5061032d6108a3565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506101ba600160a060020a03600435166108b7565b34801561037057600080fd5b5061018e600160a060020a03600435166108ca565b34801561039157600080fd5b5061032d6108e7565b3480156103a657600080fd5b506101ba600160a060020a03600435166108f5565b3480156103c757600080fd5b5061018e600160a060020a0360043581169060243516610908565b3480156103ee57600080fd5b5061018e6109bb565b34801561040357600080fd5b5061018e610bfc565b34801561041857600080fd5b5061018e610c6d565b34801561042d57600080fd5b5061018e610dcb565b34801561044257600080fd5b5061044b610dd4565b60408051918252519081900360200190f35b34801561046957600080fd5b5061032d610dda565b34801561047e57600080fd5b5061018e610dfd565b34801561049357600080fd5b5061018e610e06565b3480156104a857600080fd5b5061018e610e97565b6104ba336108b7565b15156104c557600080fd5b6104cd610ea0565b565b60005460a060020a900460ff16156104e657600080fd5b6104ef336108f5565b15156104fa57600080fd5b600160065460a060020a900460ff16600381111561051457fe5b1461051e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561055f57fe5b148015610575575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561059157600080fd5b600554620100009004600160a060020a031633146105ae57600080fd5b600160065460a060020a900460ff1660038111156105c857fe5b146105d257600080fd5b60065460a860020a900460ff16156105e957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610619336108b7565b151561062457600080fd5b600060065460a060020a900460ff16600381111561063e57fe5b1461064857600080fd5b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516106f9928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b5051600154600160a060020a0316919063ffffffff610f6716565b50565b610705336108f5565b151561071057600080fd5b6106f98161101f565b610722336108b7565b151561072d57600080fd5b6106f981611030565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061076d60028363ffffffff61104116565b90505b919050565b60005460a060020a900460ff161561078c57600080fd5b610795336108f5565b15156107a057600080fd5b600360065460a060020a900460ff1660038111156107ba57fe5b14156107c557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561084e57600080fd5b610857336108f5565b151561086257600080fd5b600260065460a060020a900460ff16600381111561087c57fe5b1461088657600080fd5b600680546001919060a060020a60ff02191660a060020a83610537565b60055460009060ff16600181111561057557fe5b600061076d60038363ffffffff61104116565b6108d33361075a565b15156108de57600080fd5b6106f981611078565b600554610100900460ff1690565b600061076d60048363ffffffff61104116565b60005460a060020a900460ff161561091f57600080fd5b610928336108f5565b151561093357600080fd5b600360065460a060020a900460ff16600381111561094d57fe5b1461095757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109d557600080fd5b6109de3361075a565b15156109e957600080fd5b600060055460ff1660018111156109fc57fe5b14610a0657600080fd5b600160065460a060020a900460ff166003811115610a2057fe5b14610a2a57600080fd5b60065460a860020a900460ff161515610a4257600080fd5b60065460b860020a900461ffff161515610ab8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b80565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b80576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610b9e57600080fd5b60008111610bab57600080fd5b600554600154610bd591600160a060020a039182169162010000909104168463ffffffff610f6716565b600654600154610bf891600160a060020a0391821691168363ffffffff610f6716565b5050565b60005460a060020a900460ff1615610c1357600080fd5b610c1c336108b7565b1515610c2757600080fd5b600060065460a060020a900460ff166003811115610c4157fe5b1415610c4c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610c8957600080fd5b610c92336108b7565b1515610c9d57600080fd5b600060065460a060020a900460ff166003811115610cb757fe5b14610cc157600080fd5b600060055460ff166001811115610cd457fe5b148015610ce15750600754155b15610db057600554610cfa90610100900460ff16611089565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d6e57600080fd5b505af1158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b50519050818114610da857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104cd3361113b565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104cd3361114c565b60005460a060020a900460ff1615610e1d57600080fd5b600554620100009004600160a060020a03163314610e3a57600080fd5b600160065460a060020a900460ff166003811115610e5457fe5b14610e5e57600080fd5b60065460a860020a900460ff161515610e7657600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104cd3361115d565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6020811015610f2f57600080fd5b505190506000811115610f5f57600054600154610f5f91600160a060020a0391821691168363ffffffff610f6716565b6106f961116e565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fe357600080fd5b505af1158015610ff7573d6000803e3d6000fd5b505050506040513d602081101561100d57600080fd5b5051151561101a57600080fd5b505050565b6106f960048263ffffffff61118616565b6106f960038263ffffffff61118616565b6000600160a060020a038216151561105857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106f960028263ffffffff61118616565b600060ff821615156110a6575069152d02c7e14af6800000610770565b8160ff16600114156110c3575069d3c21bcecceda1000000610770565b8160ff16600214156110e157506a01a784379d99db42000000610770565b8160ff16600314156110ff57506a027b46536c66c8e3000000610770565b8160ff166004141561111d57506a034f086f3b33b684000000610770565b8160ff166005141561077057506a0422ca8b0a00a425000000610770565b6106f960048263ffffffff6111d416565b6106f960038263ffffffff6111d416565b6106f960028263ffffffff6111d416565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561119b57600080fd5b6111a58282611041565b156111af57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03811615156111e957600080fd5b6111f38282611041565b15156111fe57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058202935a8fadd5caa8f5a9312cd903c07814b3de5662642cabdc9018c364221db570029 \ 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 dd71448e2..8cf00d50a 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 @@ -310,20 +310,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": true, - "inputs": [], - "name": "DAYS_PER_YEAR", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, { "constant": true, "inputs": [], @@ -407,9 +393,8 @@ "type": "constructor" } ], - "bytecode": "60806040523480156200001157600080fd5b5060405160a080620014f7833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a9600282640100000000620011ac620001e282021704565b50565b620001a9600382640100000000620011ac620001e282021704565b620001a9600482640100000000620011ac620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61127280620002856000396000f30060806040526004361061017f5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610184578063162f986d1461019b5780631777fb4b146101b057806319a74ab3146101d957806321b79d98146101ee578063231d4e2a1461020357806329d10b6e146102245780632e6b684914610245578063302c11ca14610266578063329b1c921461029757806334cdcf26146102ac578063363aa6c7146102cd5780633e6968b6146102e2578063427534a41461030e5780634969ae7014610323578063608d3d3d1461034e57806374be75921461036f57806380258e471461039057806381a24459146103a55780638329138f146103c657806399f4b251146103ed5780639e614ca014610402578063b2a32cd514610417578063be9524941461042c578063c6846ef814610441578063cdfd0f6414610468578063ce41607a1461047d578063d43acc7914610492578063da408679146104a7578063e9d61859146104bc575b600080fd5b34801561019057600080fd5b506101996104d1565b005b3480156101a757600080fd5b506101996104ef565b3480156101bc57600080fd5b506101c561055e565b604080519115158252519081900360200190f35b3480156101e557600080fd5b506101c5610563565b3480156101fa57600080fd5b5061019961059a565b34801561020f57600080fd5b50610199600160a060020a0360043516610630565b34801561023057600080fd5b50610199600160a060020a036004351661071c565b34801561025157600080fd5b50610199600160a060020a0360043516610739565b34801561027257600080fd5b5061027b610756565b60408051600160a060020a039092168252519081900360200190f35b3480156102a357600080fd5b5061027b61076b565b3480156102b857600080fd5b506101c5600160a060020a036004351661077a565b3480156102d957600080fd5b50610199610795565b3480156102ee57600080fd5b506102f7610846565b6040805161ffff9092168252519081900360200190f35b34801561031a57600080fd5b50610199610857565b34801561032f57600080fd5b506103386108c3565b6040805160ff9092168252519081900360200190f35b34801561035a57600080fd5b506101c5600160a060020a03600435166108d7565b34801561037b57600080fd5b50610199600160a060020a03600435166108ea565b34801561039c57600080fd5b50610338610907565b3480156103b157600080fd5b506101c5600160a060020a0360043516610915565b3480156103d257600080fd5b50610199600160a060020a0360043581169060243516610928565b3480156103f957600080fd5b506101996109db565b34801561040e57600080fd5b50610199610c1c565b34801561042357600080fd5b50610199610c8d565b34801561043857600080fd5b50610199610deb565b34801561044d57600080fd5b50610456610df4565b60408051918252519081900360200190f35b34801561047457600080fd5b50610456610dfa565b34801561048957600080fd5b50610338610e00565b34801561049e57600080fd5b50610199610e23565b3480156104b357600080fd5b50610199610e2c565b3480156104c857600080fd5b50610199610ebd565b6104da336108d7565b15156104e557600080fd5b6104ed610ec6565b565b60005460a060020a900460ff161561050657600080fd5b61050f33610915565b151561051a57600080fd5b600160065460a060020a900460ff16600381111561053457fe5b1461053e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561057f57fe5b148015610595575060065460a860020a900460ff165b905090565b60005460a060020a900460ff16156105b157600080fd5b600554620100009004600160a060020a031633146105ce57600080fd5b600160065460a060020a900460ff1660038111156105e857fe5b146105f257600080fd5b60065460a860020a900460ff161561060957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610639336108d7565b151561064457600080fd5b600060065460a060020a900460ff16600381111561065e57fe5b1461066857600080fd5b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051610719928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b505050506040513d60208110156106fe57600080fd5b5051600154600160a060020a0316919063ffffffff610f8d16565b50565b61072533610915565b151561073057600080fd5b61071981611045565b610742336108d7565b151561074d57600080fd5b61071981611056565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061078d60028363ffffffff61106716565b90505b919050565b60005460a060020a900460ff16156107ac57600080fd5b6107b533610915565b15156107c057600080fd5b600360065460a060020a900460ff1660038111156107da57fe5b14156107e557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561086e57600080fd5b61087733610915565b151561088257600080fd5b600260065460a060020a900460ff16600381111561089c57fe5b146108a657600080fd5b600680546001919060a060020a60ff02191660a060020a83610557565b60055460009060ff16600181111561059557fe5b600061078d60038363ffffffff61106716565b6108f33361077a565b15156108fe57600080fd5b6107198161109e565b600554610100900460ff1690565b600061078d60048363ffffffff61106716565b60005460a060020a900460ff161561093f57600080fd5b61094833610915565b151561095357600080fd5b600360065460a060020a900460ff16600381111561096d57fe5b1461097757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109f557600080fd5b6109fe3361077a565b1515610a0957600080fd5b600060055460ff166001811115610a1c57fe5b14610a2657600080fd5b600160065460a060020a900460ff166003811115610a4057fe5b14610a4a57600080fd5b60065460a860020a900460ff161515610a6257600080fd5b60065460b860020a900461ffff161515610ad8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610ba0565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610ba0576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610bbe57600080fd5b60008111610bcb57600080fd5b600554600154610bf591600160a060020a039182169162010000909104168463ffffffff610f8d16565b600654600154610c1891600160a060020a0391821691168363ffffffff610f8d16565b5050565b60005460a060020a900460ff1615610c3357600080fd5b610c3c336108d7565b1515610c4757600080fd5b600060065460a060020a900460ff166003811115610c6157fe5b1415610c6c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610ca957600080fd5b610cb2336108d7565b1515610cbd57600080fd5b600060065460a060020a900460ff166003811115610cd757fe5b14610ce157600080fd5b600060055460ff166001811115610cf457fe5b148015610d015750600754155b15610dd057600554610d1a90610100900460ff166110af565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d8e57600080fd5b505af1158015610da2573d6000803e3d6000fd5b505050506040513d6020811015610db857600080fd5b50519050818114610dc857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104ed33611161565b61016d81565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104ed33611172565b60005460a060020a900460ff1615610e4357600080fd5b600554620100009004600160a060020a03163314610e6057600080fd5b600160065460a060020a900460ff166003811115610e7a57fe5b14610e8457600080fd5b60065460a860020a900460ff161515610e9c57600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104ed33611183565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f2b57600080fd5b505af1158015610f3f573d6000803e3d6000fd5b505050506040513d6020811015610f5557600080fd5b505190506000811115610f8557600054600154610f8591600160a060020a0391821691168363ffffffff610f8d16565b610719611194565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561100957600080fd5b505af115801561101d573d6000803e3d6000fd5b505050506040513d602081101561103357600080fd5b5051151561104057600080fd5b505050565b61071960048263ffffffff6111ac16565b61071960038263ffffffff6111ac16565b6000600160a060020a038216151561107e57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61071960028263ffffffff6111ac16565b600060ff821615156110cc575069152d02c7e14af6800000610790565b8160ff16600114156110e9575069d3c21bcecceda1000000610790565b8160ff166002141561110757506a01a784379d99db42000000610790565b8160ff166003141561112557506a027b46536c66c8e3000000610790565b8160ff166004141561114357506a034f086f3b33b684000000610790565b8160ff166005141561079057506a0422ca8b0a00a425000000610790565b61071960048263ffffffff6111fa16565b61071960038263ffffffff6111fa16565b61071960028263ffffffff6111fa16565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a03811615156111c157600080fd5b6111cb8282611067565b156111d557600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561120f57600080fd5b6112198282611067565b151561122457600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058205f527260d789022d74031e68eb390ff4f3057e6fce4f2adde7c12af38948fde60029", + "bytecode": "60806040523480156200001157600080fd5b5060405160a080620014d1833981016040908152815160208301519183015160608401516080909401516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a0384161790559294919262000087906401000000006200018e810204565b6200009b33640100000000620001ac810204565b620000af33640100000000620001c7810204565b60008460ff1610158015620000c8575060058460ff1611155b1515620000d457600080fd5b600160a060020a0383161515620000ea57600080fd5b6000856001811115620000f957fe5b14156200011657600160a060020a03821615156200011657600080fd5b6005805486919060ff1916600183818111156200012f57fe5b0217905550506005805461ff00191661010060ff9590951694909402939093176201000060b060020a03191662010000600160a060020a03938416021790925560068054600160a060020a031916929091169190911790555062000275565b620001a960028264010000000062001186620001e282021704565b50565b620001a960038264010000000062001186620001e282021704565b620001a960048264010000000062001186620001e282021704565b600160a060020a0381161515620001f857600080fd5b6200020d82826401000000006200023d810204565b156200021857600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156200025557600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61124c80620002856000396000f3006080604052600436106101745763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630c08bf888114610179578063162f986d146101905780631777fb4b146101a557806319a74ab3146101ce57806321b79d98146101e3578063231d4e2a146101f857806329d10b6e146102195780632e6b68491461023a578063302c11ca1461025b578063329b1c921461028c57806334cdcf26146102a1578063363aa6c7146102c25780633e6968b6146102d7578063427534a4146103035780634969ae7014610318578063608d3d3d1461034357806374be75921461036457806380258e471461038557806381a244591461039a5780638329138f146103bb57806399f4b251146103e25780639e614ca0146103f7578063b2a32cd51461040c578063be95249414610421578063cdfd0f6414610436578063ce41607a1461045d578063d43acc7914610472578063da40867914610487578063e9d618591461049c575b600080fd5b34801561018557600080fd5b5061018e6104b1565b005b34801561019c57600080fd5b5061018e6104cf565b3480156101b157600080fd5b506101ba61053e565b604080519115158252519081900360200190f35b3480156101da57600080fd5b506101ba610543565b3480156101ef57600080fd5b5061018e61057a565b34801561020457600080fd5b5061018e600160a060020a0360043516610610565b34801561022557600080fd5b5061018e600160a060020a03600435166106fc565b34801561024657600080fd5b5061018e600160a060020a0360043516610719565b34801561026757600080fd5b50610270610736565b60408051600160a060020a039092168252519081900360200190f35b34801561029857600080fd5b5061027061074b565b3480156102ad57600080fd5b506101ba600160a060020a036004351661075a565b3480156102ce57600080fd5b5061018e610775565b3480156102e357600080fd5b506102ec610826565b6040805161ffff9092168252519081900360200190f35b34801561030f57600080fd5b5061018e610837565b34801561032457600080fd5b5061032d6108a3565b6040805160ff9092168252519081900360200190f35b34801561034f57600080fd5b506101ba600160a060020a03600435166108b7565b34801561037057600080fd5b5061018e600160a060020a03600435166108ca565b34801561039157600080fd5b5061032d6108e7565b3480156103a657600080fd5b506101ba600160a060020a03600435166108f5565b3480156103c757600080fd5b5061018e600160a060020a0360043581169060243516610908565b3480156103ee57600080fd5b5061018e6109bb565b34801561040357600080fd5b5061018e610bfc565b34801561041857600080fd5b5061018e610c6d565b34801561042d57600080fd5b5061018e610dcb565b34801561044257600080fd5b5061044b610dd4565b60408051918252519081900360200190f35b34801561046957600080fd5b5061032d610dda565b34801561047e57600080fd5b5061018e610dfd565b34801561049357600080fd5b5061018e610e06565b3480156104a857600080fd5b5061018e610e97565b6104ba336108b7565b15156104c557600080fd5b6104cd610ea0565b565b60005460a060020a900460ff16156104e657600080fd5b6104ef336108f5565b15156104fa57600080fd5b600160065460a060020a900460ff16600381111561051457fe5b1461051e57600080fd5b600680546002919060a060020a60ff02191660a060020a835b0217905550565b600190565b6000600160065460a060020a900460ff16600381111561055f57fe5b148015610575575060065460a860020a900460ff165b905090565b60005460a060020a900460ff161561059157600080fd5b600554620100009004600160a060020a031633146105ae57600080fd5b600160065460a060020a900460ff1660038111156105c857fe5b146105d257600080fd5b60065460a860020a900460ff16156105e957600080fd5b6006805475ff000000000000000000000000000000000000000000191660a860020a179055565b610619336108b7565b151561062457600080fd5b600060065460a060020a900460ff16600381111561063e57fe5b1461064857600080fd5b600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516106f9928492600160a060020a03909116916370a08231916024808201926020929091908290030181600087803b1580156106b457600080fd5b505af11580156106c8573d6000803e3d6000fd5b505050506040513d60208110156106de57600080fd5b5051600154600160a060020a0316919063ffffffff610f6716565b50565b610705336108f5565b151561071057600080fd5b6106f98161101f565b610722336108b7565b151561072d57600080fd5b6106f981611030565b600554620100009004600160a060020a031690565b600654600160a060020a031690565b600061076d60028363ffffffff61104116565b90505b919050565b60005460a060020a900460ff161561078c57600080fd5b610795336108f5565b15156107a057600080fd5b600360065460a060020a900460ff1660038111156107ba57fe5b14156107c557600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff00001916905560a060020a60ff021916740300000000000000000000000000000000000000001775ff00ffffffffffffffffffffffffffffffffffffffff19169055565b60065460b860020a900461ffff1690565b60005460a060020a900460ff161561084e57600080fd5b610857336108f5565b151561086257600080fd5b600260065460a060020a900460ff16600381111561087c57fe5b1461088657600080fd5b600680546001919060a060020a60ff02191660a060020a83610537565b60055460009060ff16600181111561057557fe5b600061076d60038363ffffffff61104116565b6108d33361075a565b15156108de57600080fd5b6106f981611078565b600554610100900460ff1690565b600061076d60048363ffffffff61104116565b60005460a060020a900460ff161561091f57600080fd5b610928336108f5565b151561093357600080fd5b600360065460a060020a900460ff16600381111561094d57fe5b1461095757600080fd5b600680546005805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a039687160217905560a060020a60ff02191660a060020a1773ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60008054819060a060020a900460ff16156109d557600080fd5b6109de3361075a565b15156109e957600080fd5b600060055460ff1660018111156109fc57fe5b14610a0657600080fd5b600160065460a060020a900460ff166003811115610a2057fe5b14610a2a57600080fd5b60065460a860020a900460ff161515610a4257600080fd5b60065460b860020a900461ffff161515610ab8576006805478ffff00000000000000000000000000000000000000000000001976ff0000000000000000000000000000000000000000000019909116760100000000000000000000000000000000000000000000171660b860020a179055610b80565b60068054600161ffff60b860020a8084048216929092018116820278ffff00000000000000000000000000000000000000000000001990931692909217928390559091041661016e1415610b80576006805478ffff000000000000000000000000000000000000000000000019600160ff760100000000000000000000000000000000000000000000808504821692909201160276ff0000000000000000000000000000000000000000000019909216919091171660b860020a179055600754600290046007555b505060075461016d90046064600a82020460008211610b9e57600080fd5b60008111610bab57600080fd5b600554600154610bd591600160a060020a039182169162010000909104168463ffffffff610f6716565b600654600154610bf891600160a060020a0391821691168363ffffffff610f6716565b5050565b60005460a060020a900460ff1615610c1357600080fd5b610c1c336108b7565b1515610c2757600080fd5b600060065460a060020a900460ff166003811115610c4157fe5b1415610c4c57600080fd5b6006805475ffff000000000000000000000000000000000000000019169055565b600080548190819060a060020a900460ff1615610c8957600080fd5b610c92336108b7565b1515610c9d57600080fd5b600060065460a060020a900460ff166003811115610cb757fe5b14610cc157600080fd5b600060055460ff166001811115610cd457fe5b148015610ce15750600754155b15610db057600554610cfa90610100900460ff16611089565b92506064600a8402600154604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519390920486019450600160a060020a0316916370a08231916024808201926020929091908290030181600087803b158015610d6e57600080fd5b505af1158015610d82573d6000803e3d6000fd5b505050506040513d6020811015610d9857600080fd5b50519050818114610da857600080fd5b600283046007555b50506006805460a060020a60ff02191660a060020a17905550565b6104cd3361113b565b60075490565b600654760100000000000000000000000000000000000000000000900460ff1690565b6104cd3361114c565b60005460a060020a900460ff1615610e1d57600080fd5b600554620100009004600160a060020a03163314610e3a57600080fd5b600160065460a060020a900460ff166003811115610e5457fe5b14610e5e57600080fd5b60065460a860020a900460ff161515610e7657600080fd5b6006805475ff00000000000000000000000000000000000000000019169055565b6104cd3361115d565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b505050506040513d6020811015610f2f57600080fd5b505190506000811115610f5f57600054600154610f5f91600160a060020a0391821691168363ffffffff610f6716565b6106f961116e565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610fe357600080fd5b505af1158015610ff7573d6000803e3d6000fd5b505050506040513d602081101561100d57600080fd5b5051151561101a57600080fd5b505050565b6106f960048263ffffffff61118616565b6106f960038263ffffffff61118616565b6000600160a060020a038216151561105857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106f960028263ffffffff61118616565b600060ff821615156110a6575069152d02c7e14af6800000610770565b8160ff16600114156110c3575069d3c21bcecceda1000000610770565b8160ff16600214156110e157506a01a784379d99db42000000610770565b8160ff16600314156110ff57506a027b46536c66c8e3000000610770565b8160ff166004141561111d57506a034f086f3b33b684000000610770565b8160ff166005141561077057506a0422ca8b0a00a425000000610770565b6106f960048263ffffffff6111d416565b6106f960038263ffffffff6111d416565b6106f960028263ffffffff6111d416565b6000805460a060020a60ff02191660a060020a179055565b600160a060020a038116151561119b57600080fd5b6111a58282611041565b156111af57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a03811615156111e957600080fd5b6111f38282611041565b15156111fe57600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058202935a8fadd5caa8f5a9312cd903c07814b3de5662642cabdc9018c364221db570029", "functionHashes": { - "DAYS_PER_YEAR()": "c6846ef8", "activateMiner()": "b2a32cd5", "addCoreTeam(address)": "2e6b6849", "addSupervisor(address)": "29d10b6e", @@ -442,12 +427,11 @@ }, "gasEstimates": { "creation": { - "codeDepositCost": "944400", + "codeDepositCost": "936800", "executionCost": "infinite", "totalCost": "infinite" }, "external": { - "DAYS_PER_YEAR()": "712", "activateMiner()": "infinite", "addCoreTeam(address)": "infinite", "addSupervisor(address)": "infinite", @@ -455,8 +439,8 @@ "deactivateMiner()": "infinite", "getCategory()": "784", "getCurrentDay()": "737", - "getCurrentYear()": "982", - "getCurrentYearSupply()": "934", + "getCurrentYear()": "960", + "getCurrentYearSupply()": "912", "getMiner()": "724", "getMinerType()": "744", "getReferral()": "735", @@ -475,7 +459,7 @@ "resumeMining()": "infinite", "startMining()": "21742", "stopAndRemoveOwnership()": "infinite", - "stopMining()": "22204", + "stopMining()": "22182", "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 037fd2a45..fd6a01337 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 @@ -196,9 +196,9 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820308aff6f9dcaa30d375fb4263114be30ddb9e7b07df39a8a98ba43cf3e23cf7e0029", - "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 ADDRESS DUP11 SELFDESTRUCT PUSH16 0x9DCAA30D375FB4263114BE30DDB9E7B0 PUSH30 0xF39A8A98BA43CF3E23CF7E00290000000000000000000000000000000000 ", - "sourceMap": "552:1251:2:-;;;814:176;8:9:-1;5:2;;;30:1;27;20:12;5:2;814: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;:::-;962:9:2;:20;;974:8;;962:9;-1:-1:-1;;962:20:2;;974:8;962:20;;;;;;;;;;;;;814:176;;552:1251;;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:1251:2:-;;;;;;;" + "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:-;;;;;;;" }, "gasEstimates": { "creation": { @@ -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\":\"0x179545317a5a90b291e06fe2b272fe9a130a477c23e3b697d0c68c3242056541\",\"urls\":[\"bzzr://4c635d92bb64d5df527aaaa1b16ec83bfbbdbe4b2f2b4759fa806d27478be2a3\"]},\"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.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}", "userdoc": { "methods": {} } @@ -3215,8 +3215,8 @@ ], "contractDependencies": [ 97, - 184, 372, + 184, 442 ], "contractKind": "contract", @@ -3317,7 +3317,7 @@ "name": "_fundedMiners", "nodeType": "VariableDeclaration", "scope": 315, - "src": "767:38:2", + "src": "767:46:2", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -3354,13 +3354,13 @@ } }, "value": null, - "visibility": "internal" + "visibility": "private" }, { "body": { "id": 226, "nodeType": "Block", - "src": "951:39:2", + "src": "959:39:2", "statements": [ { "expression": { @@ -3377,7 +3377,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "962:9:2", + "src": "970:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3392,13 +3392,13 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 212, - "src": "974:8:2", + "src": "982:8:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" } }, - "src": "962:20:2", + "src": "970:20:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3406,7 +3406,7 @@ }, "id": 225, "nodeType": "ExpressionStatement", - "src": "962:20:2" + "src": "970:20:2" } ] }, @@ -3425,7 +3425,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 214, - "src": "893:12:2", + "src": "901:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3440,14 +3440,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 372, - "src": "876:16:2", + "src": "884:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_ERC20TokenHolder_$372_$", "typeString": "type(contract ERC20TokenHolder)" } }, "nodeType": "ModifierInvocation", - "src": "876:30:2" + "src": "884:30:2" }, { "arguments": [], @@ -3459,14 +3459,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 184, - "src": "916:16:2", + "src": "924:16:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_AlgoCoreTeamRole_$184_$", "typeString": "type(contract AlgoCoreTeamRole)" } }, "nodeType": "ModifierInvocation", - "src": "916:18:2" + "src": "924:18:2" } ], "name": "", @@ -3481,7 +3481,7 @@ "name": "poolType", "nodeType": "VariableDeclaration", "scope": 227, - "src": "826:17:2", + "src": "834:17:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3494,7 +3494,7 @@ "name": "PoolType", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 204, - "src": "826:8:2", + "src": "834:8:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -3509,7 +3509,7 @@ "name": "tokenAddress", "nodeType": "VariableDeclaration", "scope": 227, - "src": "845:20:2", + "src": "853:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3520,7 +3520,7 @@ "id": 213, "name": "address", "nodeType": "ElementaryTypeName", - "src": "845:7:2", + "src": "853:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3530,17 +3530,17 @@ "visibility": "internal" } ], - "src": "825:41:2" + "src": "833:41:2" }, "payable": false, "returnParameters": { "id": 221, "nodeType": "ParameterList", "parameters": [], - "src": "951:0:2" + "src": "959:0:2" }, "scope": 315, - "src": "814:176:2", + "src": "822:176:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -3549,7 +3549,7 @@ "body": { "id": 304, "nodeType": "Block", - "src": "1079:641:2", + "src": "1087:641:2", "statements": [ { "expression": { @@ -3565,7 +3565,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1098:28:2", + "src": "1106:28:2", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -3575,7 +3575,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 210, - "src": "1099:13:2", + "src": "1107:13:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -3589,7 +3589,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1113:12:2", + "src": "1121:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3600,7 +3600,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1099:27:2", + "src": "1107:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3627,7 +3627,7 @@ 896 ], "referencedDeclaration": 895, - "src": "1090:7:2", + "src": "1098:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3641,7 +3641,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1090:37:2", + "src": "1098:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3649,7 +3649,7 @@ }, "id": 242, "nodeType": "ExpressionStatement", - "src": "1090:37:2" + "src": "1098:37:2" }, { "assignments": [ @@ -3662,7 +3662,7 @@ "name": "algoMiner", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1140:20:2", + "src": "1148:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3675,7 +3675,7 @@ "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 405, - "src": "1140:10:2", + "src": "1148:10:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" @@ -3696,7 +3696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1174:12:2", + "src": "1182:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3715,7 +3715,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 405, - "src": "1163:10:2", + "src": "1171:10:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$405_$", "typeString": "type(contract IAlgoMiner)" @@ -3729,14 +3729,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1163:24:2", + "src": "1171:24:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "1140:47:2" + "src": "1148:47:2" }, { "expression": { @@ -3754,7 +3754,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1216:9:2", + "src": "1224:9:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" @@ -3768,7 +3768,7 @@ "memberName": "isAlgoMiner", "nodeType": "MemberAccess", "referencedDeclaration": 379, - "src": "1216:21:2", + "src": "1224:21:2", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_bool_$", "typeString": "function () pure external returns (bool)" @@ -3782,7 +3782,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1216:23:2", + "src": "1224:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3804,7 +3804,7 @@ 896 ], "referencedDeclaration": 895, - "src": "1208:7:2", + "src": "1216:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3818,7 +3818,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1208:32:2", + "src": "1216:32:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3826,7 +3826,7 @@ }, "id": 254, "nodeType": "ExpressionStatement", - "src": "1208:32:2" + "src": "1216:32:2" }, { "assignments": [ @@ -3839,7 +3839,7 @@ "name": "minerCategory", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1261:19:2", + "src": "1269:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3850,7 +3850,7 @@ "id": 255, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1261:5:2", + "src": "1269:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3873,7 +3873,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1283:9:2", + "src": "1291:9:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" @@ -3887,7 +3887,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 389, - "src": "1283:21:2", + "src": "1291:21:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -3901,14 +3901,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1283:23:2", + "src": "1291:23:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "1261:45:2" + "src": "1269:45:2" }, { "expression": { @@ -3943,7 +3943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1327:13:2", + "src": "1335:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3961,7 +3961,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1344:1:2", + "src": "1352:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3969,7 +3969,7 @@ }, "value": "0" }, - "src": "1327:18:2", + "src": "1335:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3995,7 +3995,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1349:13:2", + "src": "1357:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4013,7 +4013,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1366:1:2", + "src": "1374:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -4021,13 +4021,13 @@ }, "value": "5" }, - "src": "1349:18:2", + "src": "1357:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1327:40:2", + "src": "1335:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4049,7 +4049,7 @@ 896 ], "referencedDeclaration": 895, - "src": "1319:7:2", + "src": "1327:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4063,7 +4063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1319:49:2", + "src": "1327:49:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4071,7 +4071,7 @@ }, "id": 270, "nodeType": "ExpressionStatement", - "src": "1319:49:2" + "src": "1327:49:2" }, { "assignments": [ @@ -4084,7 +4084,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1381:13:2", + "src": "1389:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4095,7 +4095,7 @@ "id": 271, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1381:7:2", + "src": "1389:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4116,7 +4116,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1419:13:2", + "src": "1427:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4135,7 +4135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, - "src": "1397:21:2", + "src": "1405:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_uint256_$", "typeString": "function (uint8) pure returns (uint256)" @@ -4149,14 +4149,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1397:36:2", + "src": "1405:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1381:52:2" + "src": "1389:52:2" }, { "condition": { @@ -4177,7 +4177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "1528:9:2", + "src": "1536:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -4194,7 +4194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 204, - "src": "1541:8:2", + "src": "1549:8:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_PoolType_$204_$", "typeString": "type(enum AlgoPool.PoolType)" @@ -4208,13 +4208,13 @@ "memberName": "ReferralPool", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1541:21:2", + "src": "1549:21:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" } }, - "src": "1528:34:2", + "src": "1536:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4223,11 +4223,11 @@ "falseBody": null, "id": 290, "nodeType": "IfStatement", - "src": "1525:90:2", + "src": "1533:90:2", "trueBody": { "id": 289, "nodeType": "Block", - "src": "1564:51:2", + "src": "1572:51:2", "statements": [ { "expression": { @@ -4244,7 +4244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1579:5:2", + "src": "1587:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4281,7 +4281,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1587:5:2", + "src": "1595:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4299,7 +4299,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1595:2:2", + "src": "1603:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -4307,7 +4307,7 @@ }, "value": "10" }, - "src": "1587:10:2", + "src": "1595:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4325,7 +4325,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1600:3:2", + "src": "1608:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -4333,13 +4333,13 @@ }, "value": "100" }, - "src": "1587:16:2", + "src": "1595:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1579:24:2", + "src": "1587:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4347,7 +4347,7 @@ }, "id": 288, "nodeType": "ExpressionStatement", - "src": "1579:24:2" + "src": "1587:24:2" } ] } @@ -4369,7 +4369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 210, - "src": "1627:13:2", + "src": "1635:13:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4383,7 +4383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1641:12:2", + "src": "1649:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4394,7 +4394,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1627:27:2", + "src": "1635:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4412,7 +4412,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1657:4:2", + "src": "1665:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4420,7 +4420,7 @@ }, "value": "true" }, - "src": "1627:34:2", + "src": "1635:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4428,7 +4428,7 @@ }, "id": 296, "nodeType": "ExpressionStatement", - "src": "1627:34:2" + "src": "1635:34:2" }, { "expression": { @@ -4441,7 +4441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1692:12:2", + "src": "1700:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4454,7 +4454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1706:5:2", + "src": "1714:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4479,7 +4479,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "1672:6:2", + "src": "1680:6:2", "typeDescriptions": { "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" @@ -4493,7 +4493,7 @@ "memberName": "safeTransfer", "nodeType": "MemberAccess", "referencedDeclaration": 758, - "src": "1672:19:2", + "src": "1680:19:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$733_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$733_$", "typeString": "function (contract IERC20,address,uint256)" @@ -4507,7 +4507,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1672:40:2", + "src": "1680:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4515,7 +4515,7 @@ }, "id": 303, "nodeType": "ExpressionStatement", - "src": "1672:40:2" + "src": "1680:40:2" } ] }, @@ -4535,14 +4535,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, - "src": "1052:13:2", + "src": "1060:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1052:13:2" + "src": "1060:13:2" }, { "arguments": null, @@ -4554,14 +4554,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "1066:12:2", + "src": "1074:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1066:12:2" + "src": "1074:12:2" } ], "name": "transferToMiner", @@ -4576,7 +4576,7 @@ "name": "minerAddress", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1023:20:2", + "src": "1031:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4587,7 +4587,7 @@ "id": 228, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1023:7:2", + "src": "1031:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4597,17 +4597,17 @@ "visibility": "internal" } ], - "src": "1022:22:2" + "src": "1030:22:2" }, "payable": false, "returnParameters": { "id": 235, "nodeType": "ParameterList", "parameters": [], - "src": "1079:0:2" + "src": "1087:0:2" }, "scope": 315, - "src": "998:722:2", + "src": "1006:722:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4616,7 +4616,7 @@ "body": { "id": 313, "nodeType": "Block", - "src": "1769:31:2", + "src": "1777:31:2", "statements": [ { "expression": { @@ -4631,7 +4631,7 @@ 371 ], "referencedDeclaration": 371, - "src": "1780:10:2", + "src": "1788:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -4645,7 +4645,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1780:12:2", + "src": "1788:12:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4653,7 +4653,7 @@ }, "id": 312, "nodeType": "ExpressionStatement", - "src": "1780:12:2" + "src": "1788:12:2" } ] }, @@ -4673,14 +4673,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "1756:12:2", + "src": "1764:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1756:12:2" + "src": "1764:12:2" } ], "name": "terminate", @@ -4689,27 +4689,27 @@ "id": 306, "nodeType": "ParameterList", "parameters": [], - "src": "1746:2:2" + "src": "1754:2:2" }, "payable": false, "returnParameters": { "id": 309, "nodeType": "ParameterList", "parameters": [], - "src": "1769:0:2" + "src": "1777:0:2" }, "scope": 315, - "src": "1728:72:2", + "src": "1736:72:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 316, - "src": "552:1251:2" + "src": "552:1259:2" } ], - "src": "0:1805:2" + "src": "0:1813:2" }, "id": 2 }, 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 09d3a38b5..e02c608ef 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 @@ -608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820308aff6f9dcaa30d375fb4263114be30ddb9e7b07df39a8a98ba43cf3e23cf7e0029 \ No newline at end of file +608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820607cdb7d48cff40583123be547a706873bba6b846ef7d5e3d0130e7698d76c6e0029 \ 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 3d3e99dc6..011ad68c3 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": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820308aff6f9dcaa30d375fb4263114be30ddb9e7b07df39a8a98ba43cf3e23cf7e0029", + "bytecode": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820607cdb7d48cff40583123be547a706873bba6b846ef7d5e3d0130e7698d76c6e0029", "functionHashes": { "addCoreTeam(address)": "2e6b6849", "isCoreTeam(address)": "608d3d3d", diff --git a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoFeesTests.cs b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoFeesTests.cs index 56bbafc40..ad3bf61b1 100644 --- a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoFeesTests.cs +++ b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoFeesTests.cs @@ -17,7 +17,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task MinerRegistrationTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -101,7 +101,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task MineTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -181,7 +181,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task TerminateTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); diff --git a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoMinerTests.cs b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoMinerTests.cs index 0fa0aa1c0..afd0384f2 100644 --- a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoMinerTests.cs +++ b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoMinerTests.cs @@ -16,7 +16,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task PoolBasedMinerBasicWorkfloWTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -115,7 +115,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task TerminateTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); diff --git a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoPoolTests.cs b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoPoolTests.cs index 0f6f67e98..5268bcc4c 100644 --- a/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoPoolTests.cs +++ b/labs/algo-token-distribution/test/AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests/AlgoPoolTests.cs @@ -17,7 +17,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task MinerPoolTransferToMinerTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -72,7 +72,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task ReferralPoolTransferToMinerTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); @@ -127,7 +127,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests [Fact] public async Task TerminateTest() { - EthNetwork.UseGanacheTestNet(); + EthNetwork.UseDefaultTestNet(); var prefundedAccount = new Account(EthNetwork.Instance.PrefundedPrivateKey); diff --git a/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs b/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs index 8f1675e54..4ff2462e3 100644 --- a/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs +++ b/labs/framework/src/AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest/EthNetwork.cs @@ -26,6 +26,8 @@ namespace AdvancedAlgos.AlgoToken.Framework.Ethereum.IntegrationTest public IGasPriceProvider GasPriceProvider { get; private set; } public BigInteger TxBaseFeeWei => GasPriceProvider.GetGasPrice() * TRANSACTION_BASE_FEE; + public static void UseDefaultTestNet() => UseGanacheTestNet(); + public static void UseGanacheTestNet() { Instance = new EthNetwork