diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/AlgoPool.cs b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/AlgoPool.cs index 1ac592575..1446d9f58 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/AlgoPool.cs +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/AlgoPool.cs @@ -12,7 +12,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution { public class AlgoPool : SmartContract { - private Function _trasferToMiner; + private Function _transferToMiner; private Function _terminate; public AlgoPool(Web3 web3, IGasPriceProvider gasPriceProvider) : base(web3, gasPriceProvider) { } @@ -27,12 +27,12 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution protected override void Initialize(Contract contractDescriptor) { - _trasferToMiner = contractDescriptor.GetFunction("trasferToMiner"); + _transferToMiner = contractDescriptor.GetFunction("transferToMiner"); _terminate = contractDescriptor.GetFunction("terminate"); } - public Task TrasferToMinerAsync(string minerAddress) => - InvokeAsync(_trasferToMiner, 900000, minerAddress); + public Task TransferToMinerAsync(string minerAddress) => + InvokeAsync(_transferToMiner, 900000, minerAddress); public Task TerminateAsync() => InvokeAsync(_terminate, 900000); 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 4e56cb1f7..8b4ffcc9c 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 @@ -26,7 +26,7 @@ contract AlgoPool is AlgoCommon, ERC20TokenHolder, AlgoCoreTeamRole { _poolType = poolType; } - function trasferToMiner(address minerAddress) public notTerminated onlyCoreTeam { + function transferToMiner(address minerAddress) public notTerminated onlyCoreTeam { require(!_fundedMiners[minerAddress]); IAlgoMiner algoMiner = IAlgoMiner(minerAddress); 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 0fb87aba4..037fd2a45 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 @@ -118,20 +118,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": false, - "inputs": [ - { - "name": "minerAddress", - "type": "address" - } - ], - "name": "trasferToMiner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, { "constant": false, "inputs": [ @@ -174,6 +160,20 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "name": "minerAddress", + "type": "address" + } + ], + "name": "transferToMiner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -196,9 +196,9 @@ "evm": { "bytecode": { "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632296f4c71461006f5780632e6b684914610090578063608d3d3d146100b1578063d43acc79146100e6575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b5061006d600160a060020a03600435166102f5565b3480156100bd57600080fd5b506100d2600160a060020a0360043516610315565b604080519115158252519081900360200190f35b3480156100f257600080fd5b5061006d610330565b61010433610315565b151561010f57600080fd5b610117610339565b565b600080548190819074010000000000000000000000000000000000000000900460ff161561014657600080fd5b61014f33610315565b151561015a57600080fd5b600160a060020a03841660009081526004602052604090205460ff161561018057600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156101c157600080fd5b505af11580156101d5573d6000803e3d6000fd5b505050506040513d60208110156101eb57600080fd5b505115156101f857600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561023657600080fd5b505af115801561024a573d6000803e3d6000fd5b505050506040513d602081101561026057600080fd5b50519150600060ff83161080159061027c575060058260ff1611155b151561028757600080fd5b61029082610400565b9050600160035460ff1660018111156102a557fe5b14156102b5576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546102ef9116858363ffffffff6104b216565b50505050565b6102fe33610315565b151561030957600080fd5b61031281610551565b50565b600061032860028363ffffffff61056216565b90505b919050565b61011733610599565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff6104b216565b6103126105aa565b600060ff8216151561041d575069152d02c7e14af680000061032b565b8160ff166001141561043a575069d3c21bcecceda100000061032b565b8160ff166002141561045857506a01a784379d99db4200000061032b565b8160ff166003141561047657506a027b46536c66c8e300000061032b565b8160ff166004141561049457506a034f086f3b33b68400000061032b565b8160ff166005141561032b57506a0422ca8b0a00a42500000061032b565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050506040513d602081101561053f57600080fd5b5051151561054c57600080fd5b505050565b61031260028263ffffffff6105e116565b6000600160a060020a038216151561057957600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61031260028263ffffffff61062f16565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610562565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610562565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058208317cc38f72fdbf4d19029db12a6c784275ab5dfd7521863b2c79aee26e6effb0029", - "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 0x2296F4C7 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x2E6B6849 EQ PUSH2 0x90 JUMPI DUP1 PUSH4 0x608D3D3D EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xD43ACC79 EQ PUSH2 0xE6 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 0x6D PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x2F5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD2 PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB PUSH1 0x4 CALLDATALOAD AND PUSH2 0x315 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 0xF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6D PUSH2 0x330 JUMP JUMPDEST PUSH2 0x104 CALLER PUSH2 0x315 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x10F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x117 PUSH2 0x339 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP2 SWAP1 DUP2 SWAP1 PUSH21 0x10000000000000000000000000000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x146 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F CALLER PUSH2 0x315 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x15A 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 0x180 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 0x1C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1D5 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 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x1F8 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 0x236 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x24A 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 0x260 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 POP PUSH1 0x0 PUSH1 0xFF DUP4 AND LT DUP1 ISZERO SWAP1 PUSH2 0x27C JUMPI POP PUSH1 0x5 DUP3 PUSH1 0xFF AND GT ISZERO JUMPDEST ISZERO ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x290 DUP3 PUSH2 0x400 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x3 SLOAD PUSH1 0xFF AND PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2A5 JUMPI INVALID JUMPDEST EQ ISZERO PUSH2 0x2B5 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 0x2EF SWAP2 AND DUP6 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x4B2 AND JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x2FE CALLER PUSH2 0x315 JUMP JUMPDEST ISZERO ISZERO PUSH2 0x309 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x312 DUP2 PUSH2 0x551 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x328 PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x562 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x117 CALLER PUSH2 0x599 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 0x4B2 AND JUMP JUMPDEST PUSH2 0x312 PUSH2 0x5AA JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND ISZERO ISZERO PUSH2 0x41D JUMPI POP PUSH10 0x152D02C7E14AF6800000 PUSH2 0x32B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x1 EQ ISZERO PUSH2 0x43A JUMPI POP PUSH10 0xD3C21BCECCEDA1000000 PUSH2 0x32B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x2 EQ ISZERO PUSH2 0x458 JUMPI POP PUSH11 0x1A784379D99DB42000000 PUSH2 0x32B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x3 EQ ISZERO PUSH2 0x476 JUMPI POP PUSH11 0x27B46536C66C8E3000000 PUSH2 0x32B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x4 EQ ISZERO PUSH2 0x494 JUMPI POP PUSH11 0x34F086F3B33B684000000 PUSH2 0x32B JUMP JUMPDEST DUP2 PUSH1 0xFF AND PUSH1 0x5 EQ ISZERO PUSH2 0x32B JUMPI POP PUSH11 0x422CA8B0A00A425000000 PUSH2 0x32B 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 0x515 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x529 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 0x53F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD ISZERO ISZERO PUSH2 0x54C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x312 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 0x579 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 0x312 PUSH1 0x2 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x62F 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 0x5F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x600 DUP3 DUP3 PUSH2 0x562 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 0x562 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 DUP4 OR 0xcc CODESIZE 0xf7 0x2f 0xdb DELEGATECALL 0xd1 SWAP1 0x29 0xdb SLT 0xa6 0xc7 DUP5 0x27 GAS 0xb5 0xdf 0xd7 MSTORE XOR PUSH4 0xB2C79AEE 0x26 0xe6 0xef CREATE2 STOP 0x29 ", - "sourceMap": "552:1250: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:1250;;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:1250:2:-;;;;;;;" + "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:-;;;;;;;" }, "gasEstimates": { "creation": { @@ -211,7 +211,7 @@ "isCoreTeam(address)": "infinite", "renounceCoreTeam()": "infinite", "terminate()": "infinite", - "trasferToMiner(address)": "infinite" + "transferToMiner(address)": "infinite" } }, "methodIdentifiers": { @@ -219,10 +219,10 @@ "isCoreTeam(address)": "608d3d3d", "renounceCoreTeam()": "d43acc79", "terminate()": "0c08bf88", - "trasferToMiner(address)": "2296f4c7" + "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\":\"minerAddress\",\"type\":\"address\"}],\"name\":\"trasferToMiner\",\"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\"},{\"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\":\"0x46653d14027337c1d08f502ae1b0d45f3fccf84c0c8d8ec9ab7b5443d627be60\",\"urls\":[\"bzzr://f1b02198c082a8f940590db1e5704f9cac3058f509b035e7d1e45b8e2dc9a632\"]},\"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\":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}", "userdoc": { "methods": {} } @@ -307,6 +307,20 @@ "stateMutability": "view", "type": "function" }, + { + "constant": true, + "inputs": [], + "name": "getReferral", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, { "constant": true, "inputs": [], @@ -351,6 +365,7 @@ "getCategory()": "80258e47", "getMiner()": "302c11ca", "getMinerType()": "4969ae70", + "getReferral()": "329b1c92", "isAlgoMiner()": "1777fb4b", "isMining()": "19a74ab3" } @@ -2065,7 +2080,7 @@ "id": 100, "nodeType": "ImportDirective", "scope": 185, - "sourceUnit": 532, + "sourceUnit": 537, "src": "28:189:1", "symbolAliases": [], "unitAlias": "" @@ -2090,10 +2105,10 @@ "id": 101, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 531, + "referencedDeclaration": 536, "src": "260:5:1", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$531", + "typeIdentifier": "t_contract$_Roles_$536", "typeString": "library Roles" } }, @@ -2104,10 +2119,10 @@ "id": 102, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 444, + "referencedDeclaration": 449, "src": "270:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role" } } @@ -2122,7 +2137,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage", + "typeIdentifier": "t_struct$_Role_$449_storage", "typeString": "struct Roles.Role" }, "typeName": { @@ -2130,10 +2145,10 @@ "id": 104, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 444, + "referencedDeclaration": 449, "src": "289:10:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -2158,7 +2173,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 892, "src": "381:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2266,7 +2281,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 892, "src": "462:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2332,10 +2347,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "443:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", @@ -2420,7 +2435,7 @@ "referencedDeclaration": 105, "src": "584:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage", + "typeIdentifier": "t_struct$_Role_$449_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2431,10 +2446,10 @@ "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 530, + "referencedDeclaration": 535, "src": "584:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$444_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$444_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$449_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, @@ -2694,7 +2709,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 892, "src": "797:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -2821,7 +2836,7 @@ "referencedDeclaration": 105, "src": "883:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage", + "typeIdentifier": "t_struct$_Role_$449_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2832,10 +2847,10 @@ "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 476, + "referencedDeclaration": 481, "src": "883:20:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$444_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$444_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$449_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -2953,7 +2968,7 @@ "referencedDeclaration": 105, "src": "990:16:1", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage", + "typeIdentifier": "t_struct$_Role_$449_storage", "typeString": "struct Roles.Role storage ref" } }, @@ -2964,10 +2979,10 @@ "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 507, + "referencedDeclaration": 512, "src": "990:23:1", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$444_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$444_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$449_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, @@ -3081,7 +3096,7 @@ "id": 187, "nodeType": "ImportDirective", "scope": 316, - "sourceUnit": 729, + "sourceUnit": 734, "src": "27:195:2", "symbolAliases": [], "unitAlias": "" @@ -3092,7 +3107,7 @@ "id": 188, "nodeType": "ImportDirective", "scope": 316, - "sourceUnit": 873, + "sourceUnit": 878, "src": "224:198:2", "symbolAliases": [], "unitAlias": "" @@ -3103,7 +3118,7 @@ "id": 189, "nodeType": "ImportDirective", "scope": 316, - "sourceUnit": 401, + "sourceUnit": 406, "src": "426:26:2", "symbolAliases": [], "unitAlias": "" @@ -3200,9 +3215,9 @@ ], "contractDependencies": [ 97, - 372, 184, - 437 + 372, + 442 ], "contractKind": "contract", "documentation": null, @@ -3212,7 +3227,7 @@ 315, 184, 372, - 437, + 442, 97 ], "name": "AlgoPool", @@ -3225,10 +3240,10 @@ "id": 199, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 872, + "referencedDeclaration": 877, "src": "633:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$872", + "typeIdentifier": "t_contract$_SafeERC20_$877", "typeString": "library SafeERC20" } }, @@ -3239,10 +3254,10 @@ "id": 200, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "647:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } } @@ -3534,7 +3549,7 @@ "body": { "id": 304, "nodeType": "Block", - "src": "1078:641:2", + "src": "1079:641:2", "statements": [ { "expression": { @@ -3550,7 +3565,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "1097:28:2", + "src": "1098:28:2", "subExpression": { "argumentTypes": null, "baseExpression": { @@ -3560,7 +3575,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 210, - "src": "1098:13:2", + "src": "1099:13:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -3574,7 +3589,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1112:12:2", + "src": "1113:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3585,7 +3600,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1098:27:2", + "src": "1099:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3608,11 +3623,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, - "src": "1089:7:2", + "referencedDeclaration": 895, + "src": "1090:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3626,7 +3641,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1089:37:2", + "src": "1090:37:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3634,7 +3649,7 @@ }, "id": 242, "nodeType": "ExpressionStatement", - "src": "1089:37:2" + "src": "1090:37:2" }, { "assignments": [ @@ -3647,11 +3662,11 @@ "name": "algoMiner", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1139:20:2", + "src": "1140:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$400", + "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" }, "typeName": { @@ -3659,10 +3674,10 @@ "id": 243, "name": "IAlgoMiner", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 400, - "src": "1139:10:2", + "referencedDeclaration": 405, + "src": "1140:10:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$400", + "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" } }, @@ -3681,7 +3696,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1173:12:2", + "src": "1174:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3699,10 +3714,10 @@ "name": "IAlgoMiner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 400, - "src": "1162:10:2", + "referencedDeclaration": 405, + "src": "1163:10:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$400_$", + "typeIdentifier": "t_type$_t_contract$_IAlgoMiner_$405_$", "typeString": "type(contract IAlgoMiner)" } }, @@ -3714,14 +3729,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1162:24:2", + "src": "1163:24:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$400", + "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" } }, "nodeType": "VariableDeclarationStatement", - "src": "1139:47:2" + "src": "1140:47:2" }, { "expression": { @@ -3739,9 +3754,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1215:9:2", + "src": "1216:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$400", + "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" } }, @@ -3753,7 +3768,7 @@ "memberName": "isAlgoMiner", "nodeType": "MemberAccess", "referencedDeclaration": 379, - "src": "1215:21:2", + "src": "1216:21:2", "typeDescriptions": { "typeIdentifier": "t_function_external_pure$__$returns$_t_bool_$", "typeString": "function () pure external returns (bool)" @@ -3767,7 +3782,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1215:23:2", + "src": "1216:23:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3785,11 +3800,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, - "src": "1207:7:2", + "referencedDeclaration": 895, + "src": "1208:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -3803,7 +3818,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1207:32:2", + "src": "1208:32:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -3811,7 +3826,7 @@ }, "id": 254, "nodeType": "ExpressionStatement", - "src": "1207:32:2" + "src": "1208:32:2" }, { "assignments": [ @@ -3824,7 +3839,7 @@ "name": "minerCategory", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1260:19:2", + "src": "1261:19:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3835,7 +3850,7 @@ "id": 255, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1260:5:2", + "src": "1261:5:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3858,9 +3873,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1282:9:2", + "src": "1283:9:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAlgoMiner_$400", + "typeIdentifier": "t_contract$_IAlgoMiner_$405", "typeString": "contract IAlgoMiner" } }, @@ -3872,7 +3887,7 @@ "memberName": "getCategory", "nodeType": "MemberAccess", "referencedDeclaration": 389, - "src": "1282:21:2", + "src": "1283:21:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", "typeString": "function () view external returns (uint8)" @@ -3886,14 +3901,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1282:23:2", + "src": "1283:23:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "1260:45:2" + "src": "1261:45:2" }, { "expression": { @@ -3928,7 +3943,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1326:13:2", + "src": "1327:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3946,7 +3961,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1343:1:2", + "src": "1344:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3954,7 +3969,7 @@ }, "value": "0" }, - "src": "1326:18:2", + "src": "1327:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3980,7 +3995,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1348:13:2", + "src": "1349:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3998,7 +4013,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1365:1:2", + "src": "1366:1:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -4006,13 +4021,13 @@ }, "value": "5" }, - "src": "1348:18:2", + "src": "1349:18:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1326:40:2", + "src": "1327:40:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4030,11 +4045,11 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, - "src": "1318:7:2", + "referencedDeclaration": 895, + "src": "1319:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" @@ -4048,7 +4063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1318:49:2", + "src": "1319:49:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4056,7 +4071,7 @@ }, "id": 270, "nodeType": "ExpressionStatement", - "src": "1318:49:2" + "src": "1319:49:2" }, { "assignments": [ @@ -4069,7 +4084,7 @@ "name": "value", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1380:13:2", + "src": "1381:13:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4080,7 +4095,7 @@ "id": 271, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1380:7:2", + "src": "1381:7:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4101,7 +4116,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 256, - "src": "1418:13:2", + "src": "1419:13:2", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4120,7 +4135,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 96, - "src": "1396:21:2", + "src": "1397:21:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$returns$_t_uint256_$", "typeString": "function (uint8) pure returns (uint256)" @@ -4134,14 +4149,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1396:36:2", + "src": "1397:36:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1380:52:2" + "src": "1381:52:2" }, { "condition": { @@ -4162,7 +4177,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 206, - "src": "1527:9:2", + "src": "1528:9:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" @@ -4179,7 +4194,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 204, - "src": "1540:8:2", + "src": "1541:8:2", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_PoolType_$204_$", "typeString": "type(enum AlgoPool.PoolType)" @@ -4193,13 +4208,13 @@ "memberName": "ReferralPool", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1540:21:2", + "src": "1541:21:2", "typeDescriptions": { "typeIdentifier": "t_enum$_PoolType_$204", "typeString": "enum AlgoPool.PoolType" } }, - "src": "1527:34:2", + "src": "1528:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4208,11 +4223,11 @@ "falseBody": null, "id": 290, "nodeType": "IfStatement", - "src": "1524:90:2", + "src": "1525:90:2", "trueBody": { "id": 289, "nodeType": "Block", - "src": "1563:51:2", + "src": "1564:51:2", "statements": [ { "expression": { @@ -4229,7 +4244,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1578:5:2", + "src": "1579:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4266,7 +4281,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1586:5:2", + "src": "1587:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4284,7 +4299,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1594:2:2", + "src": "1595:2:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", @@ -4292,7 +4307,7 @@ }, "value": "10" }, - "src": "1586:10:2", + "src": "1587:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4310,7 +4325,7 @@ "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1599:3:2", + "src": "1600:3:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", @@ -4318,13 +4333,13 @@ }, "value": "100" }, - "src": "1586:16:2", + "src": "1587:16:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1578:24:2", + "src": "1579:24:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4332,7 +4347,7 @@ }, "id": 288, "nodeType": "ExpressionStatement", - "src": "1578:24:2" + "src": "1579:24:2" } ] } @@ -4354,7 +4369,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 210, - "src": "1626:13:2", + "src": "1627:13:2", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -4368,7 +4383,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1640:12:2", + "src": "1641:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4379,7 +4394,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1626:27:2", + "src": "1627:27:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4397,7 +4412,7 @@ "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1656:4:2", + "src": "1657:4:2", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4405,7 +4420,7 @@ }, "value": "true" }, - "src": "1626:34:2", + "src": "1627:34:2", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4413,7 +4428,7 @@ }, "id": 296, "nodeType": "ExpressionStatement", - "src": "1626:34:2" + "src": "1627:34:2" }, { "expression": { @@ -4426,7 +4441,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 229, - "src": "1691:12:2", + "src": "1692:12:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4439,7 +4454,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 272, - "src": "1705:5:2", + "src": "1706:5:2", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4464,9 +4479,9 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 327, - "src": "1671:6:2", + "src": "1672:6:2", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -4477,10 +4492,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 753, - "src": "1671:19:2", + "referencedDeclaration": 758, + "src": "1672:19:2", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$728_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$728_$", + "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)" } }, @@ -4492,7 +4507,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1671:40:2", + "src": "1672:40:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4500,7 +4515,7 @@ }, "id": 303, "nodeType": "ExpressionStatement", - "src": "1671:40:2" + "src": "1672:40:2" } ] }, @@ -4519,15 +4534,15 @@ "name": "notTerminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "1051:13:2", + "referencedDeclaration": 433, + "src": "1052:13:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1051:13:2" + "src": "1052:13:2" }, { "arguments": null, @@ -4539,17 +4554,17 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "1065:12:2", + "src": "1066:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1065:12:2" + "src": "1066:12:2" } ], - "name": "trasferToMiner", + "name": "transferToMiner", "nodeType": "FunctionDefinition", "parameters": { "id": 230, @@ -4561,7 +4576,7 @@ "name": "minerAddress", "nodeType": "VariableDeclaration", "scope": 305, - "src": "1022:20:2", + "src": "1023:20:2", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4572,7 +4587,7 @@ "id": 228, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1022:7:2", + "src": "1023:7:2", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4582,17 +4597,17 @@ "visibility": "internal" } ], - "src": "1021:22:2" + "src": "1022:22:2" }, "payable": false, "returnParameters": { "id": 235, "nodeType": "ParameterList", "parameters": [], - "src": "1078:0:2" + "src": "1079:0:2" }, "scope": 315, - "src": "998:721:2", + "src": "998:722:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4601,7 +4616,7 @@ "body": { "id": 313, "nodeType": "Block", - "src": "1768:31:2", + "src": "1769:31:2", "statements": [ { "expression": { @@ -4616,7 +4631,7 @@ 371 ], "referencedDeclaration": 371, - "src": "1779:10:2", + "src": "1780:10:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" @@ -4630,7 +4645,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1779:12:2", + "src": "1780:12:2", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" @@ -4638,7 +4653,7 @@ }, "id": 312, "nodeType": "ExpressionStatement", - "src": "1779:12:2" + "src": "1780:12:2" } ] }, @@ -4658,14 +4673,14 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 125, - "src": "1755:12:2", + "src": "1756:12:2", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "1755:12:2" + "src": "1756:12:2" } ], "name": "terminate", @@ -4674,27 +4689,27 @@ "id": 306, "nodeType": "ParameterList", "parameters": [], - "src": "1745:2:2" + "src": "1746:2:2" }, "payable": false, "returnParameters": { "id": 309, "nodeType": "ParameterList", "parameters": [], - "src": "1768:0:2" + "src": "1769:0:2" }, "scope": 315, - "src": "1727:72:2", + "src": "1728:72:2", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 316, - "src": "552:1250:2" + "src": "552:1251:2" } ], - "src": "0:1804:2" + "src": "0:1805:2" }, "id": 2 }, @@ -4725,7 +4740,7 @@ "id": 318, "nodeType": "ImportDirective", "scope": 373, - "sourceUnit": 729, + "sourceUnit": 734, "src": "27:195:3", "symbolAliases": [], "unitAlias": "" @@ -4736,7 +4751,7 @@ "id": 319, "nodeType": "ImportDirective", "scope": 373, - "sourceUnit": 873, + "sourceUnit": 878, "src": "224:198:3", "symbolAliases": [], "unitAlias": "" @@ -4747,7 +4762,7 @@ "id": 320, "nodeType": "ImportDirective", "scope": 373, - "sourceUnit": 438, + "sourceUnit": 443, "src": "426:26:3", "symbolAliases": [], "unitAlias": "" @@ -4761,10 +4776,10 @@ "id": 321, "name": "Terminable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 437, + "referencedDeclaration": 442, "src": "485:10:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Terminable_$437", + "typeIdentifier": "t_contract$_Terminable_$442", "typeString": "contract Terminable" } }, @@ -4774,7 +4789,7 @@ } ], "contractDependencies": [ - 437 + 442 ], "contractKind": "contract", "documentation": null, @@ -4782,7 +4797,7 @@ "id": 372, "linearizedBaseContracts": [ 372, - 437 + 442 ], "name": "ERC20TokenHolder", "nodeType": "ContractDefinition", @@ -4794,10 +4809,10 @@ "id": 323, "name": "SafeERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 872, + "referencedDeclaration": 877, "src": "509:9:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$872", + "typeIdentifier": "t_contract$_SafeERC20_$877", "typeString": "library SafeERC20" } }, @@ -4808,10 +4823,10 @@ "id": 324, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "523:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } } @@ -4826,7 +4841,7 @@ "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" }, "typeName": { @@ -4834,10 +4849,10 @@ "id": 326, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "538:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -4867,7 +4882,7 @@ "referencedDeclaration": 327, "src": "636:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -4901,10 +4916,10 @@ "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "645:6:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$728_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$733_$", "typeString": "type(contract IERC20)" } }, @@ -4918,13 +4933,13 @@ "nodeType": "FunctionCall", "src": "645:20:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, "src": "636:29:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -4949,10 +4964,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 437, + "referencedDeclaration": 442, "src": "603:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$437_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$442_$", "typeString": "type(contract Terminable)" } }, @@ -5059,7 +5074,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 916, + "referencedDeclaration": 921, "src": "773:4:3", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20TokenHolder_$372", @@ -5118,7 +5133,7 @@ "referencedDeclaration": 327, "src": "748:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -5129,7 +5144,7 @@ "lValueRequested": false, "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 673, + "referencedDeclaration": 678, "src": "748:16:3", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", @@ -5223,7 +5238,7 @@ "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, + "referencedDeclaration": 409, "src": "848:8:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5264,7 +5279,7 @@ "referencedDeclaration": 327, "src": "828:6:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -5275,10 +5290,10 @@ "lValueRequested": false, "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 753, + "referencedDeclaration": 758, "src": "828:19:3", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$728_$_t_address_$_t_uint256_$returns$__$bound_to$_t_contract$_IERC20_$728_$", + "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)" } }, @@ -5315,10 +5330,10 @@ "name": "Terminable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 437, + "referencedDeclaration": 442, "src": "895:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Terminable_$437_$", + "typeIdentifier": "t_type$_t_contract$_Terminable_$442_$", "typeString": "type(contract Terminable)" } }, @@ -5329,7 +5344,7 @@ "lValueRequested": false, "memberName": "_terminate", "nodeType": "MemberAccess", - "referencedDeclaration": 436, + "referencedDeclaration": 441, "src": "895:21:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", @@ -5380,7 +5395,7 @@ "scope": 372, "src": "681:245:3", "stateMutability": "nonpayable", - "superFunction": 436, + "superFunction": 441, "visibility": "internal" } ], @@ -5397,10 +5412,10 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/IAlgoMiner.sol", "exportedSymbols": { "IAlgoMiner": [ - 400 + 405 ] }, - "id": 401, + "id": 406, "nodeType": "SourceUnit", "nodes": [ { @@ -5419,9 +5434,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 400, + "id": 405, "linearizedBaseContracts": [ - 400 + 405 ], "name": "IAlgoMiner", "nodeType": "ContractDefinition", @@ -5476,7 +5491,7 @@ ], "src": "97:6:4" }, - "scope": 400, + "scope": 405, "src": "54:50:4", "stateMutability": "pure", "superFunction": null, @@ -5532,7 +5547,7 @@ ], "src": "154:7:4" }, - "scope": 400, + "scope": 405, "src": "110:52:4", "stateMutability": "view", "superFunction": null, @@ -5588,7 +5603,7 @@ ], "src": "211:7:4" }, - "scope": 400, + "scope": 405, "src": "168:51:4", "stateMutability": "view", "superFunction": null, @@ -5602,7 +5617,7 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "isMining", + "name": "getMiner", "nodeType": "FunctionDefinition", "parameters": { "id": 390, @@ -5621,31 +5636,31 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 394, - "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": 391, - "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": 400, - "src": "225:47:4", + "scope": 405, + "src": "225:50:4", "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5658,13 +5673,13 @@ "isConstructor": false, "isDeclaredConst": true, "modifiers": [], - "name": "getMiner", + "name": "getReferral", "nodeType": "FunctionDefinition", "parameters": { "id": 395, "nodeType": "ParameterList", "parameters": [], - "src": "295:2:4" + "src": "301:2:4" }, "payable": false, "returnParameters": { @@ -5677,7 +5692,7 @@ "name": "", "nodeType": "VariableDeclaration", "scope": 399, - "src": "319:7:4", + "src": "325:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5688,7 +5703,7 @@ "id": 396, "name": "address", "nodeType": "ElementaryTypeName", - "src": "319:7:4", + "src": "325:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5698,20 +5713,76 @@ "visibility": "internal" } ], - "src": "318:9:4" + "src": "324:9:4" }, - "scope": 400, - "src": "278:50:4", + "scope": 405, + "src": "281:53:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 404, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isMining", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 400, + "nodeType": "ParameterList", + "parameters": [], + "src": "357:2:4" + }, + "payable": false, + "returnParameters": { + "id": 403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 402, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 404, + "src": "381:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 401, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "381:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:6:4" + }, + "scope": 405, + "src": "340:47:4", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 401, - "src": "27:304:4" + "scope": 406, + "src": "27:363:4" } ], - "src": "0:331:4" + "src": "0:390:4" }, "id": 4 }, @@ -5720,14 +5791,14 @@ "absolutePath": "d:/GitHub/ALGOToken/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/Terminable.sol", "exportedSymbols": { "Terminable": [ - 437 + 442 ] }, - "id": 438, + "id": 443, "nodeType": "SourceUnit", "nodes": [ { - "id": 402, + "id": 407, "literals": [ "solidity", "0.4", @@ -5742,19 +5813,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 437, + "id": 442, "linearizedBaseContracts": [ - 437 + 442 ], "name": "Terminable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 404, + "id": 409, "name": "_creator", "nodeType": "VariableDeclaration", - "scope": 437, + "scope": 442, "src": "56:25:5", "stateVariable": true, "storageLocation": "default", @@ -5763,7 +5834,7 @@ "typeString": "address" }, "typeName": { - "id": 403, + "id": 408, "name": "address", "nodeType": "ElementaryTypeName", "src": "56:7:5", @@ -5777,10 +5848,10 @@ }, { "constant": false, - "id": 406, + "id": 411, "name": "_terminated", "nodeType": "VariableDeclaration", - "scope": 437, + "scope": 442, "src": "88:25:5", "stateVariable": true, "storageLocation": "default", @@ -5789,7 +5860,7 @@ "typeString": "bool" }, "typeName": { - "id": 405, + "id": 410, "name": "bool", "nodeType": "ElementaryTypeName", "src": "88:4:5", @@ -5803,25 +5874,25 @@ }, { "body": { - "id": 418, + "id": 423, "nodeType": "Block", "src": "145:70:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 412, + "id": 417, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 409, + "id": 414, "name": "_creator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 404, + "referencedDeclaration": 409, "src": "156:8:5", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5834,18 +5905,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 410, + "id": 415, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 892, "src": "167:3:5", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 411, + "id": 416, "isConstant": false, "isLValue": false, "isPure": false, @@ -5865,25 +5936,25 @@ "typeString": "address" } }, - "id": 413, + "id": 418, "nodeType": "ExpressionStatement", "src": "156:21:5" }, { "expression": { "argumentTypes": null, - "id": 416, + "id": 421, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 414, + "id": 419, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, + "referencedDeclaration": 411, "src": "188:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5895,7 +5966,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 415, + "id": 420, "isConstant": false, "isLValue": false, "isPure": true, @@ -5916,14 +5987,14 @@ "typeString": "bool" } }, - "id": 417, + "id": 422, "nodeType": "ExpressionStatement", "src": "188:19:5" } ] }, "documentation": null, - "id": 419, + "id": 424, "implemented": true, "isConstructor": true, "isDeclaredConst": false, @@ -5931,19 +6002,19 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 407, + "id": 412, "nodeType": "ParameterList", "parameters": [], "src": "133:2:5" }, "payable": false, "returnParameters": { - "id": 408, + "id": 413, "nodeType": "ParameterList", "parameters": [], "src": "145:0:5" }, - "scope": 437, + "scope": 442, "src": "122:93:5", "stateMutability": "nonpayable", "superFunction": null, @@ -5951,7 +6022,7 @@ }, { "body": { - "id": 427, + "id": 432, "nodeType": "Block", "src": "248:52:5", "statements": [ @@ -5961,7 +6032,7 @@ "arguments": [ { "argumentTypes": null, - "id": 423, + "id": 428, "isConstant": false, "isLValue": false, "isPure": false, @@ -5972,11 +6043,11 @@ "src": "267:12:5", "subExpression": { "argumentTypes": null, - "id": 422, + "id": 427, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, + "referencedDeclaration": 411, "src": "268:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -5996,21 +6067,21 @@ "typeString": "bool" } ], - "id": 421, + "id": 426, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "259:7:5", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 424, + "id": 429, "isConstant": false, "isLValue": false, "isPure": false, @@ -6024,23 +6095,23 @@ "typeString": "tuple()" } }, - "id": 425, + "id": 430, "nodeType": "ExpressionStatement", "src": "259:21:5" }, { - "id": 426, + "id": 431, "nodeType": "PlaceholderStatement", "src": "291:1:5" } ] }, "documentation": null, - "id": 428, + "id": 433, "name": "notTerminated", "nodeType": "ModifierDefinition", "parameters": { - "id": 420, + "id": 425, "nodeType": "ParameterList", "parameters": [], "src": "245:2:5" @@ -6050,25 +6121,25 @@ }, { "body": { - "id": 435, + "id": 440, "nodeType": "Block", "src": "339:37:5", "statements": [ { "expression": { "argumentTypes": null, - "id": 433, + "id": 438, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 431, + "id": 436, "name": "_terminated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 406, + "referencedDeclaration": 411, "src": "350:11:5", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -6080,7 +6151,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 432, + "id": 437, "isConstant": false, "isLValue": false, "isPure": true, @@ -6101,14 +6172,14 @@ "typeString": "bool" } }, - "id": 434, + "id": 439, "nodeType": "ExpressionStatement", "src": "350:18:5" } ] }, "documentation": null, - "id": 436, + "id": 441, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6116,26 +6187,26 @@ "name": "_terminate", "nodeType": "FunctionDefinition", "parameters": { - "id": 429, + "id": 434, "nodeType": "ParameterList", "parameters": [], "src": "327:2:5" }, "payable": false, "returnParameters": { - "id": 430, + "id": 435, "nodeType": "ParameterList", "parameters": [], "src": "339:0:5" }, - "scope": 437, + "scope": 442, "src": "308:68:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 438, + "scope": 443, "src": "27:352:5" } ], @@ -6148,14 +6219,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": [ - 531 + 536 ] }, - "id": 532, + "id": 537, "nodeType": "SourceUnit", "nodes": [ { - "id": 439, + "id": 444, "literals": [ "solidity", "^", @@ -6171,23 +6242,23 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 531, + "id": 536, "linearizedBaseContracts": [ - 531 + 536 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 444, + "id": 449, "members": [ { "constant": false, - "id": 443, + "id": 448, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 444, + "scope": 449, "src": "145:32:6", "stateVariable": false, "storageLocation": "default", @@ -6196,9 +6267,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 442, + "id": 447, "keyType": { - "id": 440, + "id": 445, "name": "address", "nodeType": "ElementaryTypeName", "src": "154:7:6", @@ -6214,7 +6285,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 441, + "id": 446, "name": "bool", "nodeType": "ElementaryTypeName", "src": "165:4:6", @@ -6230,13 +6301,13 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 531, + "scope": 536, "src": "127:55:6", "visibility": "public" }, { "body": { - "id": 475, + "id": 480, "nodeType": "Block", "src": "302:109:6", "statements": [ @@ -6250,18 +6321,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 456, + "id": 461, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 452, + "id": 457, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 448, + "referencedDeclaration": 453, "src": "316:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6276,7 +6347,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 454, + "id": 459, "isConstant": false, "isLValue": false, "isPure": true, @@ -6299,7 +6370,7 @@ "typeString": "int_const 0" } ], - "id": 453, + "id": 458, "isConstant": false, "isLValue": false, "isPure": true, @@ -6312,7 +6383,7 @@ }, "typeName": "address" }, - "id": 455, + "id": 460, "isConstant": false, "isLValue": false, "isPure": true, @@ -6340,21 +6411,21 @@ "typeString": "bool" } ], - "id": 451, + "id": 456, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "308:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 457, + "id": 462, "isConstant": false, "isLValue": false, "isPure": false, @@ -6368,7 +6439,7 @@ "typeString": "tuple()" } }, - "id": 458, + "id": 463, "nodeType": "ExpressionStatement", "src": "308:30:6" }, @@ -6378,7 +6449,7 @@ "arguments": [ { "argumentTypes": null, - "id": 464, + "id": 469, "isConstant": false, "isLValue": false, "isPure": false, @@ -6392,24 +6463,24 @@ "arguments": [ { "argumentTypes": null, - "id": 461, + "id": 466, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 446, + "referencedDeclaration": 451, "src": "357:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 462, + "id": 467, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 448, + "referencedDeclaration": 453, "src": "363:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6420,7 +6491,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -6428,18 +6499,18 @@ "typeString": "address" } ], - "id": 460, + "id": 465, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 530, + "referencedDeclaration": 535, "src": "353:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$444_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 463, + "id": 468, "isConstant": false, "isLValue": false, "isPure": false, @@ -6466,21 +6537,21 @@ "typeString": "bool" } ], - "id": 459, + "id": 464, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "344:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 465, + "id": 470, "isConstant": false, "isLValue": false, "isPure": false, @@ -6494,14 +6565,14 @@ "typeString": "tuple()" } }, - "id": 466, + "id": 471, "nodeType": "ExpressionStatement", "src": "344:28:6" }, { "expression": { "argumentTypes": null, - "id": 473, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, @@ -6512,39 +6583,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 467, + "id": 472, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 446, + "referencedDeclaration": 451, "src": "379:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 470, + "id": 475, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 443, + "referencedDeclaration": 448, "src": "379:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 471, + "id": 476, "indexExpression": { "argumentTypes": null, - "id": 469, + "id": 474, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 448, + "referencedDeclaration": 453, "src": "391:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6567,7 +6638,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 472, + "id": 477, "isConstant": false, "isLValue": false, "isPure": true, @@ -6588,14 +6659,14 @@ "typeString": "bool" } }, - "id": 474, + "id": 479, "nodeType": "ExpressionStatement", "src": "379:27:6" } ] }, "documentation": "@dev give an account access to this role", - "id": 476, + "id": 481, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -6603,31 +6674,31 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 449, + "id": 454, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 446, + "id": 451, "name": "role", "nodeType": "VariableDeclaration", - "scope": 476, + "scope": 481, "src": "257:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 445, + "id": 450, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 444, + "referencedDeclaration": 449, "src": "257:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -6636,10 +6707,10 @@ }, { "constant": false, - "id": 448, + "id": 453, "name": "account", "nodeType": "VariableDeclaration", - "scope": 476, + "scope": 481, "src": "276:15:6", "stateVariable": false, "storageLocation": "default", @@ -6648,7 +6719,7 @@ "typeString": "address" }, "typeName": { - "id": 447, + "id": 452, "name": "address", "nodeType": "ElementaryTypeName", "src": "276:7:6", @@ -6665,12 +6736,12 @@ }, "payable": false, "returnParameters": { - "id": 450, + "id": 455, "nodeType": "ParameterList", "parameters": [], "src": "302:0:6" }, - "scope": 531, + "scope": 536, "src": "244:167:6", "stateMutability": "nonpayable", "superFunction": null, @@ -6678,7 +6749,7 @@ }, { "body": { - "id": 506, + "id": 511, "nodeType": "Block", "src": "538:109:6", "statements": [ @@ -6692,18 +6763,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 488, + "id": 493, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 484, + "id": 489, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 480, + "referencedDeclaration": 485, "src": "552:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6718,7 +6789,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 486, + "id": 491, "isConstant": false, "isLValue": false, "isPure": true, @@ -6741,7 +6812,7 @@ "typeString": "int_const 0" } ], - "id": 485, + "id": 490, "isConstant": false, "isLValue": false, "isPure": true, @@ -6754,7 +6825,7 @@ }, "typeName": "address" }, - "id": 487, + "id": 492, "isConstant": false, "isLValue": false, "isPure": true, @@ -6782,21 +6853,21 @@ "typeString": "bool" } ], - "id": 483, + "id": 488, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "544:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 489, + "id": 494, "isConstant": false, "isLValue": false, "isPure": false, @@ -6810,7 +6881,7 @@ "typeString": "tuple()" } }, - "id": 490, + "id": 495, "nodeType": "ExpressionStatement", "src": "544:30:6" }, @@ -6823,24 +6894,24 @@ "arguments": [ { "argumentTypes": null, - "id": 493, + "id": 498, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 478, + "referencedDeclaration": 483, "src": "592:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 494, + "id": 499, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 480, + "referencedDeclaration": 485, "src": "598:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6851,7 +6922,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -6859,18 +6930,18 @@ "typeString": "address" } ], - "id": 492, + "id": 497, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 530, + "referencedDeclaration": 535, "src": "588:3:6", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$444_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$449_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 495, + "id": 500, "isConstant": false, "isLValue": false, "isPure": false, @@ -6892,21 +6963,21 @@ "typeString": "bool" } ], - "id": 491, + "id": 496, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "580:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 496, + "id": 501, "isConstant": false, "isLValue": false, "isPure": false, @@ -6920,14 +6991,14 @@ "typeString": "tuple()" } }, - "id": 497, + "id": 502, "nodeType": "ExpressionStatement", "src": "580:27:6" }, { "expression": { "argumentTypes": null, - "id": 504, + "id": 509, "isConstant": false, "isLValue": false, "isPure": false, @@ -6938,39 +7009,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 498, + "id": 503, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 478, + "referencedDeclaration": 483, "src": "614:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 501, + "id": 506, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 443, + "referencedDeclaration": 448, "src": "614:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 502, + "id": 507, "indexExpression": { "argumentTypes": null, - "id": 500, + "id": 505, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 480, + "referencedDeclaration": 485, "src": "626:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -6993,7 +7064,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 503, + "id": 508, "isConstant": false, "isLValue": false, "isPure": true, @@ -7014,14 +7085,14 @@ "typeString": "bool" } }, - "id": 505, + "id": 510, "nodeType": "ExpressionStatement", "src": "614:28:6" } ] }, "documentation": "@dev remove an account's access to this role", - "id": 507, + "id": 512, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -7029,31 +7100,31 @@ "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 481, + "id": 486, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 478, + "id": 483, "name": "role", "nodeType": "VariableDeclaration", - "scope": 507, + "scope": 512, "src": "493:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 477, + "id": 482, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 444, + "referencedDeclaration": 449, "src": "493:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -7062,10 +7133,10 @@ }, { "constant": false, - "id": 480, + "id": 485, "name": "account", "nodeType": "VariableDeclaration", - "scope": 507, + "scope": 512, "src": "512:15:6", "stateVariable": false, "storageLocation": "default", @@ -7074,7 +7145,7 @@ "typeString": "address" }, "typeName": { - "id": 479, + "id": 484, "name": "address", "nodeType": "ElementaryTypeName", "src": "512:7:6", @@ -7091,12 +7162,12 @@ }, "payable": false, "returnParameters": { - "id": 482, + "id": 487, "nodeType": "ParameterList", "parameters": [], "src": "538:0:6" }, - "scope": 531, + "scope": 536, "src": "477:170:6", "stateMutability": "nonpayable", "superFunction": null, @@ -7104,7 +7175,7 @@ }, { "body": { - "id": 529, + "id": 534, "nodeType": "Block", "src": "817:74:6", "statements": [ @@ -7118,18 +7189,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 521, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 517, + "id": 522, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, + "referencedDeclaration": 516, "src": "831:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7144,7 +7215,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 519, + "id": 524, "isConstant": false, "isLValue": false, "isPure": true, @@ -7167,7 +7238,7 @@ "typeString": "int_const 0" } ], - "id": 518, + "id": 523, "isConstant": false, "isLValue": false, "isPure": true, @@ -7180,7 +7251,7 @@ }, "typeName": "address" }, - "id": 520, + "id": 525, "isConstant": false, "isLValue": false, "isPure": true, @@ -7208,21 +7279,21 @@ "typeString": "bool" } ], - "id": 516, + "id": 521, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "823:7:6", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 522, + "id": 527, "isConstant": false, "isLValue": false, "isPure": false, @@ -7236,7 +7307,7 @@ "typeString": "tuple()" } }, - "id": 523, + "id": 528, "nodeType": "ExpressionStatement", "src": "823:30:6" }, @@ -7247,39 +7318,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 524, + "id": 529, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 509, + "referencedDeclaration": 514, "src": "866:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 525, + "id": 530, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 443, + "referencedDeclaration": 448, "src": "866:11:6", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 527, + "id": 532, "indexExpression": { "argumentTypes": null, - "id": 526, + "id": 531, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 511, + "referencedDeclaration": 516, "src": "878:7:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -7297,15 +7368,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 515, - "id": 528, + "functionReturnParameters": 520, + "id": 533, "nodeType": "Return", "src": "859:27:6" } ] }, "documentation": "@dev check if an account has this role\n@return bool", - "id": 530, + "id": 535, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -7313,31 +7384,31 @@ "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 512, + "id": 517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 509, + "id": 514, "name": "role", "nodeType": "VariableDeclaration", - "scope": 530, + "scope": 535, "src": "738:17:6", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 508, + "id": 513, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 444, + "referencedDeclaration": 449, "src": "738:4:6", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$444_storage_ptr", + "typeIdentifier": "t_struct$_Role_$449_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -7346,10 +7417,10 @@ }, { "constant": false, - "id": 511, + "id": 516, "name": "account", "nodeType": "VariableDeclaration", - "scope": 530, + "scope": 535, "src": "757:15:6", "stateVariable": false, "storageLocation": "default", @@ -7358,7 +7429,7 @@ "typeString": "address" }, "typeName": { - "id": 510, + "id": 515, "name": "address", "nodeType": "ElementaryTypeName", "src": "757:7:6", @@ -7375,15 +7446,15 @@ }, "payable": false, "returnParameters": { - "id": 515, + "id": 520, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 514, + "id": 519, "name": "", "nodeType": "VariableDeclaration", - "scope": 530, + "scope": 535, "src": "809:4:6", "stateVariable": false, "storageLocation": "default", @@ -7392,7 +7463,7 @@ "typeString": "bool" }, "typeName": { - "id": 513, + "id": 518, "name": "bool", "nodeType": "ElementaryTypeName", "src": "809:4:6", @@ -7407,14 +7478,14 @@ ], "src": "808:6:6" }, - "scope": 531, + "scope": 536, "src": "725:166:6", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 532, + "scope": 537, "src": "109:784:6" } ], @@ -7427,14 +7498,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": [ - 659 + 664 ] }, - "id": 660, + "id": 665, "nodeType": "SourceUnit", "nodes": [ { - "id": 533, + "id": 538, "literals": [ "solidity", "^", @@ -7450,16 +7521,16 @@ "contractKind": "library", "documentation": "@title SafeMath\n@dev Math operations with safety checks that revert on error", "fullyImplemented": true, - "id": 659, + "id": 664, "linearizedBaseContracts": [ - 659 + 664 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 565, + "id": 570, "nodeType": "Block", "src": "271:314:7", "statements": [ @@ -7470,18 +7541,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 544, + "id": 549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 542, + "id": 547, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 535, + "referencedDeclaration": 540, "src": "486:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7493,7 +7564,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 543, + "id": 548, "isConstant": false, "isLValue": false, "isPure": true, @@ -7515,11 +7586,11 @@ } }, "falseBody": null, - "id": 548, + "id": 553, "nodeType": "IfStatement", "src": "482:35:7", "trueBody": { - "id": 547, + "id": 552, "nodeType": "Block", "src": "494:23:7", "statements": [ @@ -7527,7 +7598,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 545, + "id": 550, "isConstant": false, "isLValue": false, "isPure": true, @@ -7542,8 +7613,8 @@ }, "value": "0" }, - "functionReturnParameters": 541, - "id": 546, + "functionReturnParameters": 546, + "id": 551, "nodeType": "Return", "src": "502:8:7" } @@ -7552,15 +7623,15 @@ }, { "assignments": [ - 550 + 555 ], "declarations": [ { "constant": false, - "id": 550, + "id": 555, "name": "c", "nodeType": "VariableDeclaration", - "scope": 566, + "scope": 571, "src": "523:9:7", "stateVariable": false, "storageLocation": "default", @@ -7569,7 +7640,7 @@ "typeString": "uint256" }, "typeName": { - "id": 549, + "id": 554, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "523:7:7", @@ -7582,25 +7653,25 @@ "visibility": "internal" } ], - "id": 554, + "id": 559, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 553, + "id": 558, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 551, + "id": 556, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 535, + "referencedDeclaration": 540, "src": "535:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7611,11 +7682,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 552, + "id": 557, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 537, + "referencedDeclaration": 542, "src": "539:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7641,7 +7712,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 560, + "id": 565, "isConstant": false, "isLValue": false, "isPure": false, @@ -7652,18 +7723,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 558, + "id": 563, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 556, + "id": 561, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 550, + "referencedDeclaration": 555, "src": "554:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7674,11 +7745,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 557, + "id": 562, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 535, + "referencedDeclaration": 540, "src": "558:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7695,11 +7766,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 559, + "id": 564, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 537, + "referencedDeclaration": 542, "src": "563:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7720,21 +7791,21 @@ "typeString": "bool" } ], - "id": 555, + "id": 560, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "546:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 561, + "id": 566, "isConstant": false, "isLValue": false, "isPure": false, @@ -7748,33 +7819,33 @@ "typeString": "tuple()" } }, - "id": 562, + "id": 567, "nodeType": "ExpressionStatement", "src": "546:19:7" }, { "expression": { "argumentTypes": null, - "id": 563, + "id": 568, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 550, + "referencedDeclaration": 555, "src": "579:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 541, - "id": 564, + "functionReturnParameters": 546, + "id": 569, "nodeType": "Return", "src": "572:8:7" } ] }, "documentation": "@dev Multiplies two numbers, reverts on overflow.", - "id": 566, + "id": 571, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -7782,15 +7853,15 @@ "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 538, + "id": 543, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 535, + "id": 540, "name": "a", "nodeType": "VariableDeclaration", - "scope": 566, + "scope": 571, "src": "217:9:7", "stateVariable": false, "storageLocation": "default", @@ -7799,7 +7870,7 @@ "typeString": "uint256" }, "typeName": { - "id": 534, + "id": 539, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "217:7:7", @@ -7813,10 +7884,10 @@ }, { "constant": false, - "id": 537, + "id": 542, "name": "b", "nodeType": "VariableDeclaration", - "scope": 566, + "scope": 571, "src": "228:9:7", "stateVariable": false, "storageLocation": "default", @@ -7825,7 +7896,7 @@ "typeString": "uint256" }, "typeName": { - "id": 536, + "id": 541, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "228:7:7", @@ -7842,15 +7913,15 @@ }, "payable": false, "returnParameters": { - "id": 541, + "id": 546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 540, + "id": 545, "name": "", "nodeType": "VariableDeclaration", - "scope": 566, + "scope": 571, "src": "262:7:7", "stateVariable": false, "storageLocation": "default", @@ -7859,7 +7930,7 @@ "typeString": "uint256" }, "typeName": { - "id": 539, + "id": 544, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "262:7:7", @@ -7874,7 +7945,7 @@ ], "src": "261:9:7" }, - "scope": 659, + "scope": 664, "src": "204:381:7", "stateMutability": "pure", "superFunction": null, @@ -7882,7 +7953,7 @@ }, { "body": { - "id": 589, + "id": 594, "nodeType": "Block", "src": "762:203:7", "statements": [ @@ -7896,18 +7967,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 578, + "id": 583, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 576, + "id": 581, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 570, + "referencedDeclaration": 575, "src": "776:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -7919,7 +7990,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 577, + "id": 582, "isConstant": false, "isLValue": false, "isPure": true, @@ -7948,21 +8019,21 @@ "typeString": "bool" } ], - "id": 575, + "id": 580, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "768:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 579, + "id": 584, "isConstant": false, "isLValue": false, "isPure": false, @@ -7976,21 +8047,21 @@ "typeString": "tuple()" } }, - "id": 580, + "id": 585, "nodeType": "ExpressionStatement", "src": "768:14:7" }, { "assignments": [ - 582 + 587 ], "declarations": [ { "constant": false, - "id": 582, + "id": 587, "name": "c", "nodeType": "VariableDeclaration", - "scope": 590, + "scope": 595, "src": "846:9:7", "stateVariable": false, "storageLocation": "default", @@ -7999,7 +8070,7 @@ "typeString": "uint256" }, "typeName": { - "id": 581, + "id": 586, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "846:7:7", @@ -8012,25 +8083,25 @@ "visibility": "internal" } ], - "id": 586, + "id": 591, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 585, + "id": 590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 583, + "id": 588, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 568, + "referencedDeclaration": 573, "src": "858:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8041,11 +8112,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 584, + "id": 589, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 570, + "referencedDeclaration": 575, "src": "862:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8064,26 +8135,26 @@ { "expression": { "argumentTypes": null, - "id": 587, + "id": 592, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 582, + "referencedDeclaration": 587, "src": "959:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 574, - "id": 588, + "functionReturnParameters": 579, + "id": 593, "nodeType": "Return", "src": "952:8:7" } ] }, "documentation": "@dev Integer division of two numbers truncating the quotient, reverts on division by zero.", - "id": 590, + "id": 595, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8091,15 +8162,15 @@ "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 571, + "id": 576, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 568, + "id": 573, "name": "a", "nodeType": "VariableDeclaration", - "scope": 590, + "scope": 595, "src": "708:9:7", "stateVariable": false, "storageLocation": "default", @@ -8108,7 +8179,7 @@ "typeString": "uint256" }, "typeName": { - "id": 567, + "id": 572, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "708:7:7", @@ -8122,10 +8193,10 @@ }, { "constant": false, - "id": 570, + "id": 575, "name": "b", "nodeType": "VariableDeclaration", - "scope": 590, + "scope": 595, "src": "719:9:7", "stateVariable": false, "storageLocation": "default", @@ -8134,7 +8205,7 @@ "typeString": "uint256" }, "typeName": { - "id": 569, + "id": 574, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "719:7:7", @@ -8151,15 +8222,15 @@ }, "payable": false, "returnParameters": { - "id": 574, + "id": 579, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 573, + "id": 578, "name": "", "nodeType": "VariableDeclaration", - "scope": 590, + "scope": 595, "src": "753:7:7", "stateVariable": false, "storageLocation": "default", @@ -8168,7 +8239,7 @@ "typeString": "uint256" }, "typeName": { - "id": 572, + "id": 577, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "753:7:7", @@ -8183,7 +8254,7 @@ ], "src": "752:9:7" }, - "scope": 659, + "scope": 664, "src": "695:270:7", "stateMutability": "pure", "superFunction": null, @@ -8191,7 +8262,7 @@ }, { "body": { - "id": 613, + "id": 618, "nodeType": "Block", "src": "1145:64:7", "statements": [ @@ -8205,18 +8276,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 602, + "id": 607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 600, + "id": 605, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, + "referencedDeclaration": 599, "src": "1159:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8227,11 +8298,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 601, + "id": 606, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, + "referencedDeclaration": 597, "src": "1164:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8252,21 +8323,21 @@ "typeString": "bool" } ], - "id": 599, + "id": 604, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "1151:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 603, + "id": 608, "isConstant": false, "isLValue": false, "isPure": false, @@ -8280,21 +8351,21 @@ "typeString": "tuple()" } }, - "id": 604, + "id": 609, "nodeType": "ExpressionStatement", "src": "1151:15:7" }, { "assignments": [ - 606 + 611 ], "declarations": [ { "constant": false, - "id": 606, + "id": 611, "name": "c", "nodeType": "VariableDeclaration", - "scope": 614, + "scope": 619, "src": "1172:9:7", "stateVariable": false, "storageLocation": "default", @@ -8303,7 +8374,7 @@ "typeString": "uint256" }, "typeName": { - "id": 605, + "id": 610, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1172:7:7", @@ -8316,25 +8387,25 @@ "visibility": "internal" } ], - "id": 610, + "id": 615, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 609, + "id": 614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 607, + "id": 612, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 592, + "referencedDeclaration": 597, "src": "1184:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8345,11 +8416,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 608, + "id": 613, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 594, + "referencedDeclaration": 599, "src": "1188:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8368,26 +8439,26 @@ { "expression": { "argumentTypes": null, - "id": 611, + "id": 616, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 606, + "referencedDeclaration": 611, "src": "1203:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 598, - "id": 612, + "functionReturnParameters": 603, + "id": 617, "nodeType": "Return", "src": "1196:8:7" } ] }, "documentation": "@dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 614, + "id": 619, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8395,15 +8466,15 @@ "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 595, + "id": 600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 592, + "id": 597, "name": "a", "nodeType": "VariableDeclaration", - "scope": 614, + "scope": 619, "src": "1091:9:7", "stateVariable": false, "storageLocation": "default", @@ -8412,7 +8483,7 @@ "typeString": "uint256" }, "typeName": { - "id": 591, + "id": 596, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1091:7:7", @@ -8426,10 +8497,10 @@ }, { "constant": false, - "id": 594, + "id": 599, "name": "b", "nodeType": "VariableDeclaration", - "scope": 614, + "scope": 619, "src": "1102:9:7", "stateVariable": false, "storageLocation": "default", @@ -8438,7 +8509,7 @@ "typeString": "uint256" }, "typeName": { - "id": 593, + "id": 598, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1102:7:7", @@ -8455,15 +8526,15 @@ }, "payable": false, "returnParameters": { - "id": 598, + "id": 603, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 597, + "id": 602, "name": "", "nodeType": "VariableDeclaration", - "scope": 614, + "scope": 619, "src": "1136:7:7", "stateVariable": false, "storageLocation": "default", @@ -8472,7 +8543,7 @@ "typeString": "uint256" }, "typeName": { - "id": 596, + "id": 601, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1136:7:7", @@ -8487,7 +8558,7 @@ ], "src": "1135:9:7" }, - "scope": 659, + "scope": 664, "src": "1078:131:7", "stateMutability": "pure", "superFunction": null, @@ -8495,21 +8566,21 @@ }, { "body": { - "id": 637, + "id": 642, "nodeType": "Block", "src": "1339:64:7", "statements": [ { "assignments": [ - 624 + 629 ], "declarations": [ { "constant": false, - "id": 624, + "id": 629, "name": "c", "nodeType": "VariableDeclaration", - "scope": 638, + "scope": 643, "src": "1345:9:7", "stateVariable": false, "storageLocation": "default", @@ -8518,7 +8589,7 @@ "typeString": "uint256" }, "typeName": { - "id": 623, + "id": 628, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1345:7:7", @@ -8531,25 +8602,25 @@ "visibility": "internal" } ], - "id": 628, + "id": 633, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 627, + "id": 632, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 625, + "id": 630, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 616, + "referencedDeclaration": 621, "src": "1357:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8560,11 +8631,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 626, + "id": 631, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 618, + "referencedDeclaration": 623, "src": "1361:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8590,18 +8661,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 632, + "id": 637, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 630, + "id": 635, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 624, + "referencedDeclaration": 629, "src": "1376:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8612,11 +8683,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 631, + "id": 636, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 616, + "referencedDeclaration": 621, "src": "1381:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8637,21 +8708,21 @@ "typeString": "bool" } ], - "id": 629, + "id": 634, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "1368:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 633, + "id": 638, "isConstant": false, "isLValue": false, "isPure": false, @@ -8665,33 +8736,33 @@ "typeString": "tuple()" } }, - "id": 634, + "id": 639, "nodeType": "ExpressionStatement", "src": "1368:15:7" }, { "expression": { "argumentTypes": null, - "id": 635, + "id": 640, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 624, + "referencedDeclaration": 629, "src": "1397:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 622, - "id": 636, + "functionReturnParameters": 627, + "id": 641, "nodeType": "Return", "src": "1390:8:7" } ] }, "documentation": "@dev Adds two numbers, reverts on overflow.", - "id": 638, + "id": 643, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8699,15 +8770,15 @@ "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 619, + "id": 624, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 616, + "id": 621, "name": "a", "nodeType": "VariableDeclaration", - "scope": 638, + "scope": 643, "src": "1285:9:7", "stateVariable": false, "storageLocation": "default", @@ -8716,7 +8787,7 @@ "typeString": "uint256" }, "typeName": { - "id": 615, + "id": 620, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1285:7:7", @@ -8730,10 +8801,10 @@ }, { "constant": false, - "id": 618, + "id": 623, "name": "b", "nodeType": "VariableDeclaration", - "scope": 638, + "scope": 643, "src": "1296:9:7", "stateVariable": false, "storageLocation": "default", @@ -8742,7 +8813,7 @@ "typeString": "uint256" }, "typeName": { - "id": 617, + "id": 622, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1296:7:7", @@ -8759,15 +8830,15 @@ }, "payable": false, "returnParameters": { - "id": 622, + "id": 627, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 621, + "id": 626, "name": "", "nodeType": "VariableDeclaration", - "scope": 638, + "scope": 643, "src": "1330:7:7", "stateVariable": false, "storageLocation": "default", @@ -8776,7 +8847,7 @@ "typeString": "uint256" }, "typeName": { - "id": 620, + "id": 625, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1330:7:7", @@ -8791,7 +8862,7 @@ ], "src": "1329:9:7" }, - "scope": 659, + "scope": 664, "src": "1272:131:7", "stateMutability": "pure", "superFunction": null, @@ -8799,7 +8870,7 @@ }, { "body": { - "id": 657, + "id": 662, "nodeType": "Block", "src": "1602:44:7", "statements": [ @@ -8813,18 +8884,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 650, + "id": 655, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 648, + "id": 653, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, + "referencedDeclaration": 647, "src": "1616:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8836,7 +8907,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 649, + "id": 654, "isConstant": false, "isLValue": false, "isPure": true, @@ -8865,21 +8936,21 @@ "typeString": "bool" } ], - "id": 647, + "id": 652, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "1608:7:7", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 651, + "id": 656, "isConstant": false, "isLValue": false, "isPure": false, @@ -8893,7 +8964,7 @@ "typeString": "tuple()" } }, - "id": 652, + "id": 657, "nodeType": "ExpressionStatement", "src": "1608:15:7" }, @@ -8904,18 +8975,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 655, + "id": 660, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 653, + "id": 658, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 640, + "referencedDeclaration": 645, "src": "1636:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8926,11 +8997,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 654, + "id": 659, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 642, + "referencedDeclaration": 647, "src": "1640:1:7", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -8943,15 +9014,15 @@ "typeString": "uint256" } }, - "functionReturnParameters": 646, - "id": 656, + "functionReturnParameters": 651, + "id": 661, "nodeType": "Return", "src": "1629:12:7" } ] }, "documentation": "@dev Divides two numbers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 658, + "id": 663, "implemented": true, "isConstructor": false, "isDeclaredConst": true, @@ -8959,15 +9030,15 @@ "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 643, + "id": 648, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 640, + "id": 645, "name": "a", "nodeType": "VariableDeclaration", - "scope": 658, + "scope": 663, "src": "1548:9:7", "stateVariable": false, "storageLocation": "default", @@ -8976,7 +9047,7 @@ "typeString": "uint256" }, "typeName": { - "id": 639, + "id": 644, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1548:7:7", @@ -8990,10 +9061,10 @@ }, { "constant": false, - "id": 642, + "id": 647, "name": "b", "nodeType": "VariableDeclaration", - "scope": 658, + "scope": 663, "src": "1559:9:7", "stateVariable": false, "storageLocation": "default", @@ -9002,7 +9073,7 @@ "typeString": "uint256" }, "typeName": { - "id": 641, + "id": 646, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1559:7:7", @@ -9019,15 +9090,15 @@ }, "payable": false, "returnParameters": { - "id": 646, + "id": 651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 645, + "id": 650, "name": "", "nodeType": "VariableDeclaration", - "scope": 658, + "scope": 663, "src": "1593:7:7", "stateVariable": false, "storageLocation": "default", @@ -9036,7 +9107,7 @@ "typeString": "uint256" }, "typeName": { - "id": 644, + "id": 649, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1593:7:7", @@ -9051,14 +9122,14 @@ ], "src": "1592:9:7" }, - "scope": 659, + "scope": 664, "src": "1535:111:7", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 660, + "scope": 665, "src": "117:1531:7" } ], @@ -9071,14 +9142,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": [ - 728 + 733 ] }, - "id": 729, + "id": 734, "nodeType": "SourceUnit", "nodes": [ { - "id": 661, + "id": 666, "literals": [ "solidity", "^", @@ -9094,9 +9165,9 @@ "contractKind": "interface", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 728, + "id": 733, "linearizedBaseContracts": [ - 728 + 733 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -9104,7 +9175,7 @@ { "body": null, "documentation": null, - "id": 666, + "id": 671, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -9112,22 +9183,22 @@ "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 662, + "id": 667, "nodeType": "ParameterList", "parameters": [], "src": "156:2:8" }, "payable": false, "returnParameters": { - "id": 665, + "id": 670, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 664, + "id": 669, "name": "", "nodeType": "VariableDeclaration", - "scope": 666, + "scope": 671, "src": "182:7:8", "stateVariable": false, "storageLocation": "default", @@ -9136,7 +9207,7 @@ "typeString": "uint256" }, "typeName": { - "id": 663, + "id": 668, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "182:7:8", @@ -9151,7 +9222,7 @@ ], "src": "181:9:8" }, - "scope": 728, + "scope": 733, "src": "136:55:8", "stateMutability": "view", "superFunction": null, @@ -9160,7 +9231,7 @@ { "body": null, "documentation": null, - "id": 673, + "id": 678, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -9168,15 +9239,15 @@ "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 669, + "id": 674, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 668, + "id": 673, "name": "who", "nodeType": "VariableDeclaration", - "scope": 673, + "scope": 678, "src": "214:11:8", "stateVariable": false, "storageLocation": "default", @@ -9185,7 +9256,7 @@ "typeString": "address" }, "typeName": { - "id": 667, + "id": 672, "name": "address", "nodeType": "ElementaryTypeName", "src": "214:7:8", @@ -9202,15 +9273,15 @@ }, "payable": false, "returnParameters": { - "id": 672, + "id": 677, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 671, + "id": 676, "name": "", "nodeType": "VariableDeclaration", - "scope": 673, + "scope": 678, "src": "250:7:8", "stateVariable": false, "storageLocation": "default", @@ -9219,7 +9290,7 @@ "typeString": "uint256" }, "typeName": { - "id": 670, + "id": 675, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "250:7:8", @@ -9234,7 +9305,7 @@ ], "src": "249:9:8" }, - "scope": 728, + "scope": 733, "src": "195:64:8", "stateMutability": "view", "superFunction": null, @@ -9243,7 +9314,7 @@ { "body": null, "documentation": null, - "id": 682, + "id": 687, "implemented": false, "isConstructor": false, "isDeclaredConst": true, @@ -9251,15 +9322,15 @@ "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 678, + "id": 683, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 675, + "id": 680, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 682, + "scope": 687, "src": "282:13:8", "stateVariable": false, "storageLocation": "default", @@ -9268,7 +9339,7 @@ "typeString": "address" }, "typeName": { - "id": 674, + "id": 679, "name": "address", "nodeType": "ElementaryTypeName", "src": "282:7:8", @@ -9282,10 +9353,10 @@ }, { "constant": false, - "id": 677, + "id": 682, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 682, + "scope": 687, "src": "297:15:8", "stateVariable": false, "storageLocation": "default", @@ -9294,7 +9365,7 @@ "typeString": "address" }, "typeName": { - "id": 676, + "id": 681, "name": "address", "nodeType": "ElementaryTypeName", "src": "297:7:8", @@ -9311,15 +9382,15 @@ }, "payable": false, "returnParameters": { - "id": 681, + "id": 686, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 680, + "id": 685, "name": "", "nodeType": "VariableDeclaration", - "scope": 682, + "scope": 687, "src": "341:7:8", "stateVariable": false, "storageLocation": "default", @@ -9328,7 +9399,7 @@ "typeString": "uint256" }, "typeName": { - "id": 679, + "id": 684, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "341:7:8", @@ -9343,7 +9414,7 @@ ], "src": "340:9:8" }, - "scope": 728, + "scope": 733, "src": "263:87:8", "stateMutability": "view", "superFunction": null, @@ -9352,7 +9423,7 @@ { "body": null, "documentation": null, - "id": 691, + "id": 696, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -9360,15 +9431,15 @@ "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 687, + "id": 692, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 684, + "id": 689, "name": "to", "nodeType": "VariableDeclaration", - "scope": 691, + "scope": 696, "src": "372:10:8", "stateVariable": false, "storageLocation": "default", @@ -9377,7 +9448,7 @@ "typeString": "address" }, "typeName": { - "id": 683, + "id": 688, "name": "address", "nodeType": "ElementaryTypeName", "src": "372:7:8", @@ -9391,10 +9462,10 @@ }, { "constant": false, - "id": 686, + "id": 691, "name": "value", "nodeType": "VariableDeclaration", - "scope": 691, + "scope": 696, "src": "384:13:8", "stateVariable": false, "storageLocation": "default", @@ -9403,7 +9474,7 @@ "typeString": "uint256" }, "typeName": { - "id": 685, + "id": 690, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "384:7:8", @@ -9420,15 +9491,15 @@ }, "payable": false, "returnParameters": { - "id": 690, + "id": 695, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 689, + "id": 694, "name": "", "nodeType": "VariableDeclaration", - "scope": 691, + "scope": 696, "src": "417:4:8", "stateVariable": false, "storageLocation": "default", @@ -9437,7 +9508,7 @@ "typeString": "bool" }, "typeName": { - "id": 688, + "id": 693, "name": "bool", "nodeType": "ElementaryTypeName", "src": "417:4:8", @@ -9452,7 +9523,7 @@ ], "src": "416:6:8" }, - "scope": 728, + "scope": 733, "src": "354:69:8", "stateMutability": "nonpayable", "superFunction": null, @@ -9461,7 +9532,7 @@ { "body": null, "documentation": null, - "id": 700, + "id": 705, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -9469,15 +9540,15 @@ "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 696, + "id": 701, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 693, + "id": 698, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 700, + "scope": 705, "src": "444:15:8", "stateVariable": false, "storageLocation": "default", @@ -9486,7 +9557,7 @@ "typeString": "address" }, "typeName": { - "id": 692, + "id": 697, "name": "address", "nodeType": "ElementaryTypeName", "src": "444:7:8", @@ -9500,10 +9571,10 @@ }, { "constant": false, - "id": 695, + "id": 700, "name": "value", "nodeType": "VariableDeclaration", - "scope": 700, + "scope": 705, "src": "461:13:8", "stateVariable": false, "storageLocation": "default", @@ -9512,7 +9583,7 @@ "typeString": "uint256" }, "typeName": { - "id": 694, + "id": 699, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "461:7:8", @@ -9529,15 +9600,15 @@ }, "payable": false, "returnParameters": { - "id": 699, + "id": 704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 698, + "id": 703, "name": "", "nodeType": "VariableDeclaration", - "scope": 700, + "scope": 705, "src": "498:4:8", "stateVariable": false, "storageLocation": "default", @@ -9546,7 +9617,7 @@ "typeString": "bool" }, "typeName": { - "id": 697, + "id": 702, "name": "bool", "nodeType": "ElementaryTypeName", "src": "498:4:8", @@ -9561,7 +9632,7 @@ ], "src": "497:6:8" }, - "scope": 728, + "scope": 733, "src": "427:77:8", "stateMutability": "nonpayable", "superFunction": null, @@ -9570,7 +9641,7 @@ { "body": null, "documentation": null, - "id": 711, + "id": 716, "implemented": false, "isConstructor": false, "isDeclaredConst": false, @@ -9578,15 +9649,15 @@ "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 707, + "id": 712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 702, + "id": 707, "name": "from", "nodeType": "VariableDeclaration", - "scope": 711, + "scope": 716, "src": "530:12:8", "stateVariable": false, "storageLocation": "default", @@ -9595,7 +9666,7 @@ "typeString": "address" }, "typeName": { - "id": 701, + "id": 706, "name": "address", "nodeType": "ElementaryTypeName", "src": "530:7:8", @@ -9609,10 +9680,10 @@ }, { "constant": false, - "id": 704, + "id": 709, "name": "to", "nodeType": "VariableDeclaration", - "scope": 711, + "scope": 716, "src": "544:10:8", "stateVariable": false, "storageLocation": "default", @@ -9621,7 +9692,7 @@ "typeString": "address" }, "typeName": { - "id": 703, + "id": 708, "name": "address", "nodeType": "ElementaryTypeName", "src": "544:7:8", @@ -9635,10 +9706,10 @@ }, { "constant": false, - "id": 706, + "id": 711, "name": "value", "nodeType": "VariableDeclaration", - "scope": 711, + "scope": 716, "src": "556:13:8", "stateVariable": false, "storageLocation": "default", @@ -9647,7 +9718,7 @@ "typeString": "uint256" }, "typeName": { - "id": 705, + "id": 710, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "556:7:8", @@ -9664,15 +9735,15 @@ }, "payable": false, "returnParameters": { - "id": 710, + "id": 715, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 709, + "id": 714, "name": "", "nodeType": "VariableDeclaration", - "scope": 711, + "scope": 716, "src": "593:4:8", "stateVariable": false, "storageLocation": "default", @@ -9681,7 +9752,7 @@ "typeString": "bool" }, "typeName": { - "id": 708, + "id": 713, "name": "bool", "nodeType": "ElementaryTypeName", "src": "593:4:8", @@ -9696,7 +9767,7 @@ ], "src": "592:6:8" }, - "scope": 728, + "scope": 733, "src": "508:91:8", "stateMutability": "nonpayable", "superFunction": null, @@ -9705,20 +9776,20 @@ { "anonymous": false, "documentation": null, - "id": 719, + "id": 724, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 718, + "id": 723, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 713, + "id": 718, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 719, + "scope": 724, "src": "623:20:8", "stateVariable": false, "storageLocation": "default", @@ -9727,7 +9798,7 @@ "typeString": "address" }, "typeName": { - "id": 712, + "id": 717, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:8", @@ -9741,11 +9812,11 @@ }, { "constant": false, - "id": 715, + "id": 720, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 719, + "scope": 724, "src": "649:18:8", "stateVariable": false, "storageLocation": "default", @@ -9754,7 +9825,7 @@ "typeString": "address" }, "typeName": { - "id": 714, + "id": 719, "name": "address", "nodeType": "ElementaryTypeName", "src": "649:7:8", @@ -9768,11 +9839,11 @@ }, { "constant": false, - "id": 717, + "id": 722, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 719, + "scope": 724, "src": "673:13:8", "stateVariable": false, "storageLocation": "default", @@ -9781,7 +9852,7 @@ "typeString": "uint256" }, "typeName": { - "id": 716, + "id": 721, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "673:7:8", @@ -9801,20 +9872,20 @@ { "anonymous": false, "documentation": null, - "id": 727, + "id": 732, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 726, + "id": 731, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 721, + "id": 726, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 727, + "scope": 732, "src": "715:21:8", "stateVariable": false, "storageLocation": "default", @@ -9823,7 +9894,7 @@ "typeString": "address" }, "typeName": { - "id": 720, + "id": 725, "name": "address", "nodeType": "ElementaryTypeName", "src": "715:7:8", @@ -9837,11 +9908,11 @@ }, { "constant": false, - "id": 723, + "id": 728, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 727, + "scope": 732, "src": "742:23:8", "stateVariable": false, "storageLocation": "default", @@ -9850,7 +9921,7 @@ "typeString": "address" }, "typeName": { - "id": 722, + "id": 727, "name": "address", "nodeType": "ElementaryTypeName", "src": "742:7:8", @@ -9864,11 +9935,11 @@ }, { "constant": false, - "id": 725, + "id": 730, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 727, + "scope": 732, "src": "771:13:8", "stateVariable": false, "storageLocation": "default", @@ -9877,7 +9948,7 @@ "typeString": "uint256" }, "typeName": { - "id": 724, + "id": 729, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "771:7:8", @@ -9895,7 +9966,7 @@ "src": "695:94:8" } ], - "scope": 729, + "scope": 734, "src": "115:676:8" } ], @@ -9908,14 +9979,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": [ - 872 + 877 ] }, - "id": 873, + "id": 878, "nodeType": "SourceUnit", "nodes": [ { - "id": 730, + "id": 735, "literals": [ "solidity", "^", @@ -9928,10 +9999,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": 731, + "id": 736, "nodeType": "ImportDirective", - "scope": 873, - "sourceUnit": 729, + "scope": 878, + "sourceUnit": 734, "src": "26:22:9", "symbolAliases": [], "unitAlias": "" @@ -9939,10 +10010,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": 732, + "id": 737, "nodeType": "ImportDirective", - "scope": 873, - "sourceUnit": 660, + "scope": 878, + "sourceUnit": 665, "src": "49:33:9", "symbolAliases": [], "unitAlias": "" @@ -9953,31 +10024,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": 872, + "id": 877, "linearizedBaseContracts": [ - 872 + 877 ], "name": "SafeERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 735, + "id": 740, "libraryName": { "contractScope": null, - "id": 733, + "id": 738, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 659, + "referencedDeclaration": 664, "src": "382:8:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$659", + "typeIdentifier": "t_contract$_SafeMath_$664", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "376:27:9", "typeName": { - "id": 734, + "id": 739, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "395:7:9", @@ -9989,7 +10060,7 @@ }, { "body": { - "id": 752, + "id": 757, "nodeType": "Block", "src": "501:45:9", "statements": [ @@ -10002,11 +10073,11 @@ "arguments": [ { "argumentTypes": null, - "id": 747, + "id": 752, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, + "referencedDeclaration": 744, "src": "530:2:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10015,11 +10086,11 @@ }, { "argumentTypes": null, - "id": 748, + "id": 753, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 741, + "referencedDeclaration": 746, "src": "534:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10040,32 +10111,32 @@ ], "expression": { "argumentTypes": null, - "id": 745, + "id": 750, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 737, + "referencedDeclaration": 742, "src": "515:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, - "id": 746, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 691, + "referencedDeclaration": 696, "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": 749, + "id": 754, "isConstant": false, "isLValue": false, "isPure": false, @@ -10087,21 +10158,21 @@ "typeString": "bool" } ], - "id": 744, + "id": 749, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "507:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 750, + "id": 755, "isConstant": false, "isLValue": false, "isPure": false, @@ -10115,14 +10186,14 @@ "typeString": "tuple()" } }, - "id": 751, + "id": 756, "nodeType": "ExpressionStatement", "src": "507:34:9" } ] }, "documentation": null, - "id": 753, + "id": 758, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -10130,31 +10201,31 @@ "name": "safeTransfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 742, + "id": 747, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 737, + "id": 742, "name": "token", "nodeType": "VariableDeclaration", - "scope": 753, + "scope": 758, "src": "434:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 736, + "id": 741, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "434:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -10163,10 +10234,10 @@ }, { "constant": false, - "id": 739, + "id": 744, "name": "to", "nodeType": "VariableDeclaration", - "scope": 753, + "scope": 758, "src": "452:10:9", "stateVariable": false, "storageLocation": "default", @@ -10175,7 +10246,7 @@ "typeString": "address" }, "typeName": { - "id": 738, + "id": 743, "name": "address", "nodeType": "ElementaryTypeName", "src": "452:7:9", @@ -10189,10 +10260,10 @@ }, { "constant": false, - "id": 741, + "id": 746, "name": "value", "nodeType": "VariableDeclaration", - "scope": 753, + "scope": 758, "src": "468:13:9", "stateVariable": false, "storageLocation": "default", @@ -10201,7 +10272,7 @@ "typeString": "uint256" }, "typeName": { - "id": 740, + "id": 745, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "468:7:9", @@ -10218,12 +10289,12 @@ }, "payable": false, "returnParameters": { - "id": 743, + "id": 748, "nodeType": "ParameterList", "parameters": [], "src": "501:0:9" }, - "scope": 872, + "scope": 877, "src": "407:139:9", "stateMutability": "nonpayable", "superFunction": null, @@ -10231,7 +10302,7 @@ }, { "body": { - "id": 773, + "id": 778, "nodeType": "Block", "src": "666:55:9", "statements": [ @@ -10244,11 +10315,11 @@ "arguments": [ { "argumentTypes": null, - "id": 767, + "id": 772, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 757, + "referencedDeclaration": 762, "src": "699:4:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10257,11 +10328,11 @@ }, { "argumentTypes": null, - "id": 768, + "id": 773, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 759, + "referencedDeclaration": 764, "src": "705:2:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10270,11 +10341,11 @@ }, { "argumentTypes": null, - "id": 769, + "id": 774, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, + "referencedDeclaration": 766, "src": "709:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10299,32 +10370,32 @@ ], "expression": { "argumentTypes": null, - "id": 765, + "id": 770, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 755, + "referencedDeclaration": 760, "src": "680:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, - "id": 766, + "id": 771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 711, + "referencedDeclaration": 716, "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": 770, + "id": 775, "isConstant": false, "isLValue": false, "isPure": false, @@ -10346,21 +10417,21 @@ "typeString": "bool" } ], - "id": 764, + "id": 769, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "672:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 771, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, @@ -10374,14 +10445,14 @@ "typeString": "tuple()" } }, - "id": 772, + "id": 777, "nodeType": "ExpressionStatement", "src": "672:44:9" } ] }, "documentation": null, - "id": 774, + "id": 779, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -10389,31 +10460,31 @@ "name": "safeTransferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 762, + "id": 767, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 755, + "id": 760, "name": "token", "nodeType": "VariableDeclaration", - "scope": 774, + "scope": 779, "src": "581:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 754, + "id": 759, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "581:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -10422,10 +10493,10 @@ }, { "constant": false, - "id": 757, + "id": 762, "name": "from", "nodeType": "VariableDeclaration", - "scope": 774, + "scope": 779, "src": "599:12:9", "stateVariable": false, "storageLocation": "default", @@ -10434,7 +10505,7 @@ "typeString": "address" }, "typeName": { - "id": 756, + "id": 761, "name": "address", "nodeType": "ElementaryTypeName", "src": "599:7:9", @@ -10448,10 +10519,10 @@ }, { "constant": false, - "id": 759, + "id": 764, "name": "to", "nodeType": "VariableDeclaration", - "scope": 774, + "scope": 779, "src": "617:10:9", "stateVariable": false, "storageLocation": "default", @@ -10460,7 +10531,7 @@ "typeString": "address" }, "typeName": { - "id": 758, + "id": 763, "name": "address", "nodeType": "ElementaryTypeName", "src": "617:7:9", @@ -10474,10 +10545,10 @@ }, { "constant": false, - "id": 761, + "id": 766, "name": "value", "nodeType": "VariableDeclaration", - "scope": 774, + "scope": 779, "src": "633:13:9", "stateVariable": false, "storageLocation": "default", @@ -10486,7 +10557,7 @@ "typeString": "uint256" }, "typeName": { - "id": 760, + "id": 765, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "633:7:9", @@ -10503,12 +10574,12 @@ }, "payable": false, "returnParameters": { - "id": 763, + "id": 768, "nodeType": "ParameterList", "parameters": [], "src": "666:0:9" }, - "scope": 872, + "scope": 877, "src": "550:171:9", "stateMutability": "nonpayable", "superFunction": null, @@ -10516,7 +10587,7 @@ }, { "body": { - "id": 808, + "id": 813, "nodeType": "Block", "src": "823:330:9", "statements": [ @@ -10530,7 +10601,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 797, + "id": 802, "isConstant": false, "isLValue": false, "isPure": false, @@ -10544,18 +10615,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 786, + "id": 791, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 784, + "id": 789, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 780, + "referencedDeclaration": 785, "src": "1045:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10567,7 +10638,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 785, + "id": 790, "isConstant": false, "isLValue": false, "isPure": true, @@ -10589,7 +10660,7 @@ } } ], - "id": 787, + "id": 792, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -10613,7 +10684,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 795, + "id": 800, "isConstant": false, "isLValue": false, "isPure": false, @@ -10625,18 +10696,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 790, + "id": 795, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 887, + "referencedDeclaration": 892, "src": "1077:3:9", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 791, + "id": 796, "isConstant": false, "isLValue": false, "isPure": false, @@ -10652,11 +10723,11 @@ }, { "argumentTypes": null, - "id": 792, + "id": 797, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 778, + "referencedDeclaration": 783, "src": "1089:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10677,32 +10748,32 @@ ], "expression": { "argumentTypes": null, - "id": 788, + "id": 793, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 776, + "referencedDeclaration": 781, "src": "1061:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, - "id": 789, + "id": 794, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 682, + "referencedDeclaration": 687, "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": 793, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, @@ -10721,7 +10792,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 794, + "id": 799, "isConstant": false, "isLValue": false, "isPure": true, @@ -10743,7 +10814,7 @@ } } ], - "id": 796, + "id": 801, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -10770,21 +10841,21 @@ "typeString": "bool" } ], - "id": 783, + "id": 788, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "1036:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 798, + "id": 803, "isConstant": false, "isLValue": false, "isPure": false, @@ -10798,7 +10869,7 @@ "typeString": "tuple()" } }, - "id": 799, + "id": 804, "nodeType": "ExpressionStatement", "src": "1036:68:9" }, @@ -10811,11 +10882,11 @@ "arguments": [ { "argumentTypes": null, - "id": 803, + "id": 808, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 778, + "referencedDeclaration": 783, "src": "1132:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10824,11 +10895,11 @@ }, { "argumentTypes": null, - "id": 804, + "id": 809, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 780, + "referencedDeclaration": 785, "src": "1141:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -10849,32 +10920,32 @@ ], "expression": { "argumentTypes": null, - "id": 801, + "id": 806, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 776, + "referencedDeclaration": 781, "src": "1118:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, - "id": 802, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 700, + "referencedDeclaration": 705, "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": 805, + "id": 810, "isConstant": false, "isLValue": false, "isPure": false, @@ -10896,21 +10967,21 @@ "typeString": "bool" } ], - "id": 800, + "id": 805, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "1110:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 806, + "id": 811, "isConstant": false, "isLValue": false, "isPure": false, @@ -10924,14 +10995,14 @@ "typeString": "tuple()" } }, - "id": 807, + "id": 812, "nodeType": "ExpressionStatement", "src": "1110:38:9" } ] }, "documentation": null, - "id": 809, + "id": 814, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -10939,31 +11010,31 @@ "name": "safeApprove", "nodeType": "FunctionDefinition", "parameters": { - "id": 781, + "id": 786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 776, + "id": 781, "name": "token", "nodeType": "VariableDeclaration", - "scope": 809, + "scope": 814, "src": "751:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 775, + "id": 780, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "751:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -10972,10 +11043,10 @@ }, { "constant": false, - "id": 778, + "id": 783, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 809, + "scope": 814, "src": "769:15:9", "stateVariable": false, "storageLocation": "default", @@ -10984,7 +11055,7 @@ "typeString": "address" }, "typeName": { - "id": 777, + "id": 782, "name": "address", "nodeType": "ElementaryTypeName", "src": "769:7:9", @@ -10998,10 +11069,10 @@ }, { "constant": false, - "id": 780, + "id": 785, "name": "value", "nodeType": "VariableDeclaration", - "scope": 809, + "scope": 814, "src": "790:13:9", "stateVariable": false, "storageLocation": "default", @@ -11010,7 +11081,7 @@ "typeString": "uint256" }, "typeName": { - "id": 779, + "id": 784, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "790:7:9", @@ -11027,12 +11098,12 @@ }, "payable": false, "returnParameters": { - "id": 782, + "id": 787, "nodeType": "ParameterList", "parameters": [], "src": "823:0:9" }, - "scope": 872, + "scope": 877, "src": "725:428:9", "stateMutability": "nonpayable", "superFunction": null, @@ -11040,21 +11111,21 @@ }, { "body": { - "id": 839, + "id": 844, "nodeType": "Block", "src": "1265:135:9", "statements": [ { "assignments": [ - 819 + 824 ], "declarations": [ { "constant": false, - "id": 819, + "id": 824, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 840, + "scope": 845, "src": "1271:20:9", "stateVariable": false, "storageLocation": "default", @@ -11063,7 +11134,7 @@ "typeString": "uint256" }, "typeName": { - "id": 818, + "id": 823, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1271:7:9", @@ -11076,17 +11147,17 @@ "visibility": "internal" } ], - "id": 830, + "id": 835, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 828, + "id": 833, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 815, + "referencedDeclaration": 820, "src": "1338:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11109,14 +11180,14 @@ "arguments": [ { "argumentTypes": null, - "id": 823, + "id": 828, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, + "referencedDeclaration": 915, "src": "1318:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$872", + "typeIdentifier": "t_contract$_SafeERC20_$877", "typeString": "library SafeERC20" } } @@ -11124,11 +11195,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$872", + "typeIdentifier": "t_contract$_SafeERC20_$877", "typeString": "library SafeERC20" } ], - "id": 822, + "id": 827, "isConstant": false, "isLValue": false, "isPure": true, @@ -11141,7 +11212,7 @@ }, "typeName": "address" }, - "id": 824, + "id": 829, "isConstant": false, "isLValue": false, "isPure": false, @@ -11157,11 +11228,11 @@ }, { "argumentTypes": null, - "id": 825, + "id": 830, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 813, + "referencedDeclaration": 818, "src": "1325:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11182,32 +11253,32 @@ ], "expression": { "argumentTypes": null, - "id": 820, + "id": 825, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, + "referencedDeclaration": 816, "src": "1294:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, - "id": 821, + "id": 826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 682, + "referencedDeclaration": 687, "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": 826, + "id": 831, "isConstant": false, "isLValue": false, "isPure": false, @@ -11221,21 +11292,21 @@ "typeString": "uint256" } }, - "id": 827, + "id": 832, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 638, + "referencedDeclaration": 643, "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": 829, + "id": 834, "isConstant": false, "isLValue": false, "isPure": false, @@ -11261,11 +11332,11 @@ "arguments": [ { "argumentTypes": null, - "id": 834, + "id": 839, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 813, + "referencedDeclaration": 818, "src": "1372:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11274,11 +11345,11 @@ }, { "argumentTypes": null, - "id": 835, + "id": 840, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, + "referencedDeclaration": 824, "src": "1381:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11299,32 +11370,32 @@ ], "expression": { "argumentTypes": null, - "id": 832, + "id": 837, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 811, + "referencedDeclaration": 816, "src": "1358:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, - "id": 833, + "id": 838, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 700, + "referencedDeclaration": 705, "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": 836, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, @@ -11346,21 +11417,21 @@ "typeString": "bool" } ], - "id": 831, + "id": 836, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "1350:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 837, + "id": 842, "isConstant": false, "isLValue": false, "isPure": false, @@ -11374,14 +11445,14 @@ "typeString": "tuple()" } }, - "id": 838, + "id": 843, "nodeType": "ExpressionStatement", "src": "1350:45:9" } ] }, "documentation": null, - "id": 840, + "id": 845, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -11389,31 +11460,31 @@ "name": "safeIncreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 816, + "id": 821, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 811, + "id": 816, "name": "token", "nodeType": "VariableDeclaration", - "scope": 840, + "scope": 845, "src": "1193:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 810, + "id": 815, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "1193:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -11422,10 +11493,10 @@ }, { "constant": false, - "id": 813, + "id": 818, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 840, + "scope": 845, "src": "1211:15:9", "stateVariable": false, "storageLocation": "default", @@ -11434,7 +11505,7 @@ "typeString": "address" }, "typeName": { - "id": 812, + "id": 817, "name": "address", "nodeType": "ElementaryTypeName", "src": "1211:7:9", @@ -11448,10 +11519,10 @@ }, { "constant": false, - "id": 815, + "id": 820, "name": "value", "nodeType": "VariableDeclaration", - "scope": 840, + "scope": 845, "src": "1232:13:9", "stateVariable": false, "storageLocation": "default", @@ -11460,7 +11531,7 @@ "typeString": "uint256" }, "typeName": { - "id": 814, + "id": 819, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1232:7:9", @@ -11477,12 +11548,12 @@ }, "payable": false, "returnParameters": { - "id": 817, + "id": 822, "nodeType": "ParameterList", "parameters": [], "src": "1265:0:9" }, - "scope": 872, + "scope": 877, "src": "1157:243:9", "stateMutability": "nonpayable", "superFunction": null, @@ -11490,21 +11561,21 @@ }, { "body": { - "id": 870, + "id": 875, "nodeType": "Block", "src": "1512:135:9", "statements": [ { "assignments": [ - 850 + 855 ], "declarations": [ { "constant": false, - "id": 850, + "id": 855, "name": "newAllowance", "nodeType": "VariableDeclaration", - "scope": 871, + "scope": 876, "src": "1518:20:9", "stateVariable": false, "storageLocation": "default", @@ -11513,7 +11584,7 @@ "typeString": "uint256" }, "typeName": { - "id": 849, + "id": 854, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1518:7:9", @@ -11526,17 +11597,17 @@ "visibility": "internal" } ], - "id": 861, + "id": 866, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 859, + "id": 864, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, + "referencedDeclaration": 851, "src": "1585:5:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11559,14 +11630,14 @@ "arguments": [ { "argumentTypes": null, - "id": 854, + "id": 859, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 910, + "referencedDeclaration": 915, "src": "1565:4:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeERC20_$872", + "typeIdentifier": "t_contract$_SafeERC20_$877", "typeString": "library SafeERC20" } } @@ -11574,11 +11645,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SafeERC20_$872", + "typeIdentifier": "t_contract$_SafeERC20_$877", "typeString": "library SafeERC20" } ], - "id": 853, + "id": 858, "isConstant": false, "isLValue": false, "isPure": true, @@ -11591,7 +11662,7 @@ }, "typeName": "address" }, - "id": 855, + "id": 860, "isConstant": false, "isLValue": false, "isPure": false, @@ -11607,11 +11678,11 @@ }, { "argumentTypes": null, - "id": 856, + "id": 861, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, + "referencedDeclaration": 849, "src": "1572:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11632,32 +11703,32 @@ ], "expression": { "argumentTypes": null, - "id": 851, + "id": 856, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 842, + "referencedDeclaration": 847, "src": "1541:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, - "id": 852, + "id": 857, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "allowance", "nodeType": "MemberAccess", - "referencedDeclaration": 682, + "referencedDeclaration": 687, "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": 857, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, @@ -11671,21 +11742,21 @@ "typeString": "uint256" } }, - "id": 858, + "id": 863, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 614, + "referencedDeclaration": 619, "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": 860, + "id": 865, "isConstant": false, "isLValue": false, "isPure": false, @@ -11711,11 +11782,11 @@ "arguments": [ { "argumentTypes": null, - "id": 865, + "id": 870, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, + "referencedDeclaration": 849, "src": "1619:7:9", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11724,11 +11795,11 @@ }, { "argumentTypes": null, - "id": 866, + "id": 871, "name": "newAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, + "referencedDeclaration": 855, "src": "1628:12:9", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11749,32 +11820,32 @@ ], "expression": { "argumentTypes": null, - "id": 863, + "id": 868, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 842, + "referencedDeclaration": 847, "src": "1605:5:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, - "id": 864, + "id": 869, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "approve", "nodeType": "MemberAccess", - "referencedDeclaration": 700, + "referencedDeclaration": 705, "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": 867, + "id": 872, "isConstant": false, "isLValue": false, "isPure": false, @@ -11796,21 +11867,21 @@ "typeString": "bool" } ], - "id": 862, + "id": 867, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 890, - 891 + 895, + 896 ], - "referencedDeclaration": 890, + "referencedDeclaration": 895, "src": "1597:7:9", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 868, + "id": 873, "isConstant": false, "isLValue": false, "isPure": false, @@ -11824,14 +11895,14 @@ "typeString": "tuple()" } }, - "id": 869, + "id": 874, "nodeType": "ExpressionStatement", "src": "1597:45:9" } ] }, "documentation": null, - "id": 871, + "id": 876, "implemented": true, "isConstructor": false, "isDeclaredConst": false, @@ -11839,31 +11910,31 @@ "name": "safeDecreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 847, + "id": 852, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 842, + "id": 847, "name": "token", "nodeType": "VariableDeclaration", - "scope": 871, + "scope": 876, "src": "1440:12:9", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" }, "typeName": { "contractScope": null, - "id": 841, + "id": 846, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 728, + "referencedDeclaration": 733, "src": "1440:6:9", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$728", + "typeIdentifier": "t_contract$_IERC20_$733", "typeString": "contract IERC20" } }, @@ -11872,10 +11943,10 @@ }, { "constant": false, - "id": 844, + "id": 849, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 871, + "scope": 876, "src": "1458:15:9", "stateVariable": false, "storageLocation": "default", @@ -11884,7 +11955,7 @@ "typeString": "address" }, "typeName": { - "id": 843, + "id": 848, "name": "address", "nodeType": "ElementaryTypeName", "src": "1458:7:9", @@ -11898,10 +11969,10 @@ }, { "constant": false, - "id": 846, + "id": 851, "name": "value", "nodeType": "VariableDeclaration", - "scope": 871, + "scope": 876, "src": "1479:13:9", "stateVariable": false, "storageLocation": "default", @@ -11910,7 +11981,7 @@ "typeString": "uint256" }, "typeName": { - "id": 845, + "id": 850, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1479:7:9", @@ -11927,19 +11998,19 @@ }, "payable": false, "returnParameters": { - "id": 848, + "id": 853, "nodeType": "ParameterList", "parameters": [], "src": "1512:0:9" }, - "scope": 872, + "scope": 877, "src": "1404:243:9", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 873, + "scope": 878, "src": "353:1296:9" } ], diff --git a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.abi b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.abi index 397eab310..fb2d5f9a9 100644 --- a/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.abi +++ b/labs/algo-token-distribution/src/AdvancedAlgos.AlgoToken.AlgoTokenDistribution/SmartContracts/src/bin/AlgoPool.abi @@ -1 +1 @@ -[{"constant":false,"inputs":[],"name":"terminate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"minerAddress","type":"address"}],"name":"trasferToMiner","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"},{"inputs":[{"name":"poolType","type":"uint8"},{"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":"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"}] \ No newline at end of file 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 d4cc95eca..09d3a38b5 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 @@ -608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632296f4c71461006f5780632e6b684914610090578063608d3d3d146100b1578063d43acc79146100e6575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b5061006d600160a060020a03600435166102f5565b3480156100bd57600080fd5b506100d2600160a060020a0360043516610315565b604080519115158252519081900360200190f35b3480156100f257600080fd5b5061006d610330565b61010433610315565b151561010f57600080fd5b610117610339565b565b600080548190819074010000000000000000000000000000000000000000900460ff161561014657600080fd5b61014f33610315565b151561015a57600080fd5b600160a060020a03841660009081526004602052604090205460ff161561018057600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156101c157600080fd5b505af11580156101d5573d6000803e3d6000fd5b505050506040513d60208110156101eb57600080fd5b505115156101f857600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561023657600080fd5b505af115801561024a573d6000803e3d6000fd5b505050506040513d602081101561026057600080fd5b50519150600060ff83161080159061027c575060058260ff1611155b151561028757600080fd5b61029082610400565b9050600160035460ff1660018111156102a557fe5b14156102b5576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546102ef9116858363ffffffff6104b216565b50505050565b6102fe33610315565b151561030957600080fd5b61031281610551565b50565b600061032860028363ffffffff61056216565b90505b919050565b61011733610599565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff6104b216565b6103126105aa565b600060ff8216151561041d575069152d02c7e14af680000061032b565b8160ff166001141561043a575069d3c21bcecceda100000061032b565b8160ff166002141561045857506a01a784379d99db4200000061032b565b8160ff166003141561047657506a027b46536c66c8e300000061032b565b8160ff166004141561049457506a034f086f3b33b68400000061032b565b8160ff166005141561032b57506a0422ca8b0a00a42500000061032b565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050506040513d602081101561053f57600080fd5b5051151561054c57600080fd5b505050565b61031260028263ffffffff6105e116565b6000600160a060020a038216151561057957600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61031260028263ffffffff61062f16565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610562565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610562565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058208317cc38f72fdbf4d19029db12a6c784275ab5dfd7521863b2c79aee26e6effb0029 \ No newline at end of file +608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820308aff6f9dcaa30d375fb4263114be30ddb9e7b07df39a8a98ba43cf3e23cf7e0029 \ 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 96063ba80..3d3e99dc6 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 @@ -9,20 +9,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "constant": false, - "inputs": [ - { - "name": "minerAddress", - "type": "address" - } - ], - "name": "trasferToMiner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, { "constant": false, "inputs": [ @@ -65,6 +51,20 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "constant": false, + "inputs": [ + { + "name": "minerAddress", + "type": "address" + } + ], + "name": "transferToMiner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -81,13 +81,13 @@ "type": "constructor" } ], - "bytecode": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632296f4c71461006f5780632e6b684914610090578063608d3d3d146100b1578063d43acc79146100e6575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b5061006d600160a060020a03600435166102f5565b3480156100bd57600080fd5b506100d2600160a060020a0360043516610315565b604080519115158252519081900360200190f35b3480156100f257600080fd5b5061006d610330565b61010433610315565b151561010f57600080fd5b610117610339565b565b600080548190819074010000000000000000000000000000000000000000900460ff161561014657600080fd5b61014f33610315565b151561015a57600080fd5b600160a060020a03841660009081526004602052604090205460ff161561018057600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156101c157600080fd5b505af11580156101d5573d6000803e3d6000fd5b505050506040513d60208110156101eb57600080fd5b505115156101f857600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561023657600080fd5b505af115801561024a573d6000803e3d6000fd5b505050506040513d602081101561026057600080fd5b50519150600060ff83161080159061027c575060058260ff1611155b151561028757600080fd5b61029082610400565b9050600160035460ff1660018111156102a557fe5b14156102b5576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546102ef9116858363ffffffff6104b216565b50505050565b6102fe33610315565b151561030957600080fd5b61031281610551565b50565b600061032860028363ffffffff61056216565b90505b919050565b61011733610599565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff6104b216565b6103126105aa565b600060ff8216151561041d575069152d02c7e14af680000061032b565b8160ff166001141561043a575069d3c21bcecceda100000061032b565b8160ff166002141561045857506a01a784379d99db4200000061032b565b8160ff166003141561047657506a027b46536c66c8e300000061032b565b8160ff166004141561049457506a034f086f3b33b68400000061032b565b8160ff166005141561032b57506a0422ca8b0a00a42500000061032b565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561051557600080fd5b505af1158015610529573d6000803e3d6000fd5b505050506040513d602081101561053f57600080fd5b5051151561054c57600080fd5b505050565b61031260028263ffffffff6105e116565b6000600160a060020a038216151561057957600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61031260028263ffffffff61062f16565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610562565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610562565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a723058208317cc38f72fdbf4d19029db12a6c784275ab5dfd7521863b2c79aee26e6effb0029", + "bytecode": "608060405234801561001057600080fd5b506040516040806107f28339810160405280516020909101516000805433600160a060020a0319918216811760a060020a60ff02191690925560018054909116600160a060020a03841617905561006f90640100000000610093810204565b6003805483919060ff19166001838181111561008757fe5b0217905550505061013c565b6100ab6002826401000000006105e16100ae82021704565b50565b600160a060020a03811615156100c357600080fd5b6100d68282640100000000610105810204565b156100e057600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a038216151561011c57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6106a78061014b6000396000f3006080604052600436106100535763ffffffff60e060020a6000350416630c08bf8881146100585780632e6b68491461006f578063608d3d3d14610090578063d43acc79146100c5578063fe4028bb146100da575b600080fd5b34801561006457600080fd5b5061006d6100fb565b005b34801561007b57600080fd5b5061006d600160a060020a0360043516610119565b34801561009c57600080fd5b506100b1600160a060020a0360043516610139565b604080519115158252519081900360200190f35b3480156100d157600080fd5b5061006d610154565b3480156100e657600080fd5b5061006d600160a060020a036004351661015d565b61010433610139565b151561010f57600080fd5b610117610339565b565b61012233610139565b151561012d57600080fd5b61013681610400565b50565b600061014c60028363ffffffff61041116565b90505b919050565b61011733610448565b600080548190819074010000000000000000000000000000000000000000900460ff161561018a57600080fd5b61019333610139565b151561019e57600080fd5b600160a060020a03841660009081526004602052604090205460ff16156101c457600080fd5b83925082600160a060020a0316631777fb4b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561020557600080fd5b505af1158015610219573d6000803e3d6000fd5b505050506040513d602081101561022f57600080fd5b5051151561023c57600080fd5b82600160a060020a03166380258e476040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561027a57600080fd5b505af115801561028e573d6000803e3d6000fd5b505050506040513d60208110156102a457600080fd5b50519150600060ff8316108015906102c0575060058260ff1611155b15156102cb57600080fd5b6102d482610459565b9050600160035460ff1660018111156102e957fe5b14156102f9576064600a82020490505b600160a060020a038085166000908152600460205260409020805460ff19166001908117909155546103339116858363ffffffff61050b16565b50505050565b600154604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600092600160a060020a0316916370a0823191602480830192602092919082900301818787803b15801561039e57600080fd5b505af11580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051905060008111156103f8576000546001546103f891600160a060020a0391821691168363ffffffff61050b16565b6101366105aa565b61013660028263ffffffff6105e116565b6000600160a060020a038216151561042857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b61013660028263ffffffff61062f16565b600060ff82161515610476575069152d02c7e14af680000061014f565b8160ff1660011415610493575069d3c21bcecceda100000061014f565b8160ff16600214156104b157506a01a784379d99db4200000061014f565b8160ff16600314156104cf57506a027b46536c66c8e300000061014f565b8160ff16600414156104ed57506a034f086f3b33b68400000061014f565b8160ff166005141561014f57506a0422ca8b0a00a42500000061014f565b82600160a060020a031663a9059cbb83836040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561056e57600080fd5b505af1158015610582573d6000803e3d6000fd5b505050506040513d602081101561059857600080fd5b505115156105a557600080fd5b505050565b6000805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600160a060020a03811615156105f657600080fd5b6106008282610411565b1561060a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600160a060020a038116151561064457600080fd5b61064e8282610411565b151561065957600080fd5b600160a060020a0316600090815260209190915260409020805460ff191690555600a165627a7a72305820308aff6f9dcaa30d375fb4263114be30ddb9e7b07df39a8a98ba43cf3e23cf7e0029", "functionHashes": { "addCoreTeam(address)": "2e6b6849", "isCoreTeam(address)": "608d3d3d", "renounceCoreTeam()": "d43acc79", "terminate()": "0c08bf88", - "trasferToMiner(address)": "2296f4c7" + "transferToMiner(address)": "fe4028bb" }, "gasEstimates": { "creation": { @@ -100,7 +100,7 @@ "isCoreTeam(address)": "infinite", "renounceCoreTeam()": "infinite", "terminate()": "infinite", - "trasferToMiner(address)": "infinite" + "transferToMiner(address)": "infinite" } } } \ No newline at end of file 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 223858c99..0fa0aa1c0 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 @@ -56,8 +56,8 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests await miner1.AddSupervisorAsync(supervisorAccount.Address); // Transfer tokens to the miner... - await pool1.TrasferToMinerAsync(miner1.ContractAddress); - await pool2.TrasferToMinerAsync(miner1.ContractAddress); + await pool1.TransferToMinerAsync(miner1.ContractAddress); + await pool2.TransferToMinerAsync(miner1.ContractAddress); // Ensure the miner received the tokens according to its category 2. Assert.Equal(2.MAlgo() + 2.MAlgo() * 10 / 100, await token.BalanceOfAsync(miner1.ContractAddress)); 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 608366c24..0f6f67e98 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 @@ -57,7 +57,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests // Transfer tokens from the pool to the miners... for (int i = 0; i <= 5; i++) { - await pool1.TrasferToMinerAsync(miners[i].ContractAddress); + await pool1.TransferToMinerAsync(miners[i].ContractAddress); } // Ensure each miner received the proper amount of tokens according its category... @@ -112,7 +112,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenDistribution.IntegrationTests // Transfer tokens from the pool to the miners... for (int i = 0; i <= 5; i++) { - await pool1.TrasferToMinerAsync(miners[i].ContractAddress); + await pool1.TransferToMinerAsync(miners[i].ContractAddress); } // Ensure each miner received the proper amount of tokens according its category... diff --git a/labs/algo-token-playground/README.md b/labs/algo-token-playground/README.md index 48c75a8b1..0fbef2920 100644 --- a/labs/algo-token-playground/README.md +++ b/labs/algo-token-playground/README.md @@ -205,14 +205,14 @@ Creates a new instance of the `AlgoPool` contract. >Example: `deploy-algopool 0 token -n dev_pool` -#### algopool-trasfertominer +#### algopool-transfertominer -`.algopool-trasfertominer ` +`.algopool-transfertominer ` Transfer tokens from the AlgoPool balance to the AlgoMiner balance. The amount of tokens to be transfered is determined by the AlgoMiner category (see the specification document). * `minerAddress`: the address of the AlgoMiner contract ->Example: `dev_pool.algopool-trasfertominer miner_1` +>Example: `dev_pool.algopool-transfertominer miner_1` #### algopool-terminate diff --git a/labs/algo-token-playground/pool-based-algominer-script.txt b/labs/algo-token-playground/pool-based-algominer-script.txt index 7d1571fdb..5d4cf358a 100644 --- a/labs/algo-token-playground/pool-based-algominer-script.txt +++ b/labs/algo-token-playground/pool-based-algominer-script.txt @@ -11,8 +11,8 @@ token.algotoken-transfer ref_pool 100m token.algotoken-balanceof dev_pool token.algotoken-balanceof ref_pool deploy-algominer 0 2 miner_1_account ref_1_account token -n miner_1 -dev_pool.algopool-trasfertominer miner_1 -ref_pool.algopool-trasfertominer miner_1 +dev_pool.algopool-transfertominer miner_1 +ref_pool.algopool-transfertominer miner_1 token.algotoken-balanceof miner_1 miner_1.algominer-activateminer set-account miner_1_account diff --git a/labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Commands/AlgoPoolContract/AlgoPoolTrasferToMinerCommand.cs b/labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Commands/AlgoPoolContract/AlgoPoolTransferToMinerCommand.cs similarity index 79% rename from labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Commands/AlgoPoolContract/AlgoPoolTrasferToMinerCommand.cs rename to labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Commands/AlgoPoolContract/AlgoPoolTransferToMinerCommand.cs index 6dd2fd989..0fab1e522 100644 --- a/labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Commands/AlgoPoolContract/AlgoPoolTrasferToMinerCommand.cs +++ b/labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Commands/AlgoPoolContract/AlgoPoolTransferToMinerCommand.cs @@ -11,7 +11,7 @@ using Nethereum.Web3; namespace AdvancedAlgos.AlgoToken.AlgoTokenPlayground.Commands.AlgoPoolContract { - public class AlgoPoolTrasferToMinerCommand : EthInvokeTransactionalFunctionCommand + public class AlgoPoolTransferToMinerCommand : EthInvokeTransactionalFunctionCommand { public string MinerAddress { get; set; } @@ -19,7 +19,7 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenPlayground.Commands.AlgoPoolContract { var algoPool = new AlgoPool(contractAddress, web3, context.GasPriceProvider); - return await algoPool.TrasferToMinerAsync(context.ResolveContractReference(MinerAddress)); + return await algoPool.TransferToMinerAsync(context.ResolveContractReference(MinerAddress)); } } } diff --git a/labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Parsers/AlgoPoolParsers.cs b/labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Parsers/AlgoPoolParsers.cs index 30d00ca8c..5d933ef4a 100644 --- a/labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Parsers/AlgoPoolParsers.cs +++ b/labs/algo-token-playground/src/AdvancedAlgos.AlgoToken.AlgoTokenPlayground/Parsers/AlgoPoolParsers.cs @@ -21,9 +21,9 @@ namespace AdvancedAlgos.AlgoToken.AlgoTokenPlayground.Parsers TokenAddress = tokenAddress }).Register(); - (from contractReference in CommonParsers.Invoke("algopool-trasfertominer") + (from contractReference in CommonParsers.Invoke("algopool-transfertominer") from minerAddress in CommonParsers.StringValue - select new AlgoPoolTrasferToMinerCommand + select new AlgoPoolTransferToMinerCommand { ContractReference = contractReference, MinerAddress = minerAddress