Created
January 12, 2019 21:08
-
-
Save BlinkyStitt/e54064191465abc3c662b3b2df1e4280 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "contractName": "GasToken2", | |
| "abi": [ | |
| { | |
| "constant": true, | |
| "inputs": [], | |
| "name": "name", | |
| "outputs": [ | |
| { | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": false, | |
| "inputs": [ | |
| { | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "freeFromUpTo", | |
| "outputs": [ | |
| { | |
| "name": "freed", | |
| "type": "uint256" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": false, | |
| "inputs": [ | |
| { | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "approve", | |
| "outputs": [ | |
| { | |
| "name": "success", | |
| "type": "bool" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": true, | |
| "inputs": [], | |
| "name": "totalSupply", | |
| "outputs": [ | |
| { | |
| "name": "supply", | |
| "type": "uint256" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": false, | |
| "inputs": [ | |
| { | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transferFrom", | |
| "outputs": [ | |
| { | |
| "name": "success", | |
| "type": "bool" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": true, | |
| "inputs": [], | |
| "name": "decimals", | |
| "outputs": [ | |
| { | |
| "name": "", | |
| "type": "uint8" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": false, | |
| "inputs": [ | |
| { | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "freeFrom", | |
| "outputs": [ | |
| { | |
| "name": "success", | |
| "type": "bool" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": false, | |
| "inputs": [ | |
| { | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "freeUpTo", | |
| "outputs": [ | |
| { | |
| "name": "freed", | |
| "type": "uint256" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": true, | |
| "inputs": [ | |
| { | |
| "name": "owner", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "balanceOf", | |
| "outputs": [ | |
| { | |
| "name": "balance", | |
| "type": "uint256" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": true, | |
| "inputs": [], | |
| "name": "symbol", | |
| "outputs": [ | |
| { | |
| "name": "", | |
| "type": "string" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": false, | |
| "inputs": [ | |
| { | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "mint", | |
| "outputs": [], | |
| "payable": false, | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": false, | |
| "inputs": [ | |
| { | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "transfer", | |
| "outputs": [ | |
| { | |
| "name": "success", | |
| "type": "bool" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": false, | |
| "inputs": [ | |
| { | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "free", | |
| "outputs": [ | |
| { | |
| "name": "success", | |
| "type": "bool" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "nonpayable", | |
| "type": "function" | |
| }, | |
| { | |
| "constant": true, | |
| "inputs": [ | |
| { | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "name": "spender", | |
| "type": "address" | |
| } | |
| ], | |
| "name": "allowance", | |
| "outputs": [ | |
| { | |
| "name": "remaining", | |
| "type": "uint256" | |
| } | |
| ], | |
| "payable": false, | |
| "stateMutability": "view", | |
| "type": "function" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "name": "from", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "name": "to", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Transfer", | |
| "type": "event" | |
| }, | |
| { | |
| "anonymous": false, | |
| "inputs": [ | |
| { | |
| "indexed": true, | |
| "name": "owner", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": true, | |
| "name": "spender", | |
| "type": "address" | |
| }, | |
| { | |
| "indexed": false, | |
| "name": "value", | |
| "type": "uint256" | |
| } | |
| ], | |
| "name": "Approval", | |
| "type": "event" | |
| } | |
| ], | |
| "bytecode": "0x608060405234801561001057600080fd5b506109b8806100206000396000f3006080604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d4578063079d229f1461015e578063095ea7b31461019457806318160ddd146101cc57806323b872dd146101e1578063313ce5671461020b5780635f2e2b45146102365780636366b9361461025a57806370a082311461027257806395d89b4114610293578063a0712d68146102a8578063a9059cbb146102c2578063d8ccd0f3146102e6578063dd62ed3e146102fe575b600080fd5b3480156100e057600080fd5b506100e9610325565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012357818101518382015260200161010b565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016a57600080fd5b50610182600160a060020a036004351660243561035c565b60408051918252519081900360200190f35b3480156101a057600080fd5b506101b8600160a060020a03600435166024356103ff565b604080519115158252519081900360200190f35b3480156101d857600080fd5b506101826104ac565b3480156101ed57600080fd5b506101b8600160a060020a03600435811690602435166044356104b6565b34801561021757600080fd5b50610220610536565b6040805160ff9092168252519081900360200190f35b34801561024257600080fd5b506101b8600160a060020a036004351660243561053b565b34801561026657600080fd5b506101826004356105e5565b34801561027e57600080fd5b50610182600160a060020a0360043516610628565b34801561029f57600080fd5b506100e9610643565b3480156102b457600080fd5b506102c060043561067a565b005b3480156102ce57600080fd5b506101b8600160a060020a03600435166024356106b7565b3480156102f257600080fd5b506101b86004356106cd565b34801561030a57600080fd5b50610182600160a060020a0360043581169060243516610712565b60408051808201909152600b81527f476173746f6b656e2e696f000000000000000000000000000000000000000000602082015281565b600160a060020a0382166000908152602081905260408120543390828082861115610385578295505b5050600160a060020a038086166000908152600160209081526040808320938616835290839052902054808611156103bb578095505b6103c48661073d565b600160a060020a038088166000908152602081815260408083208a8803905592871682528490522086820390558594505b5050505092915050565b60003382158015906104355750600160a060020a0380821660009081526001602090815260408083209388168352929052205415155b1561044357600091506104a5565b600160a060020a03808216600081815260016020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600191505b5092915050565b6003546002540390565b600160a060020a038316600090815260016020908152604080832033808552925282205483118015906104ef57506104ef858585610784565b1561052957600160a060020a038086166000908152600160208181526040808420948616845293905291902080548590039055915061052e565b600091505b509392505050565b600281565b600160a060020a038216600090815260208190526040812054339082808286111561056957600094506103f5565b5050600160a060020a038086166000908152600160209081526040808320938616835290839052902054808611156105a457600094506103f5565b6105ad8661073d565b600160a060020a0396871660009081526020818152604080832095899003909555949097168752925290932091909203905550600190565b3360009081526020819052604081205480831115610601578092505b61060a8361073d565b33600090815260208190526040902083820390558291505b50919050565b600160a060020a031660009081526020819052604090205490565b60408051808201909152600481527f4753543200000000000000000000000000000000000000000000000000000000602082015281565b60005b818110156106965761068d61081b565b5060010161067d565b50600280548201905533600090815260208190526040902080549091019055565b6000336106c5818585610784565b949350505050565b33600090815260208190526040812054808311156106ee5760009150610622565b6106f78361073d565b33600090815260208190526040902092900390915550600190565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600354600181015b818301811161077d576107583082610851565b600160a060020a03166040516000604051808303816000865af1505050600101610745565b5001600355565b600160a060020a038316600090815260208190526040812054821161081057600160a060020a0380851660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610814565b5060005b9392505050565b60006040517e756eb3f879cb30fe243b4dfee438691c043318585733ff6000526016600af38152601f600182016000f091505090565b6000808080808068ffffffffffffffffff87111561086e57600080fd5b86600010801561087e5750608087105b156108905760019450600193506108a2565b6108998761096f565b94508460010193505b6015840192507f010000000000000000000000000000000000000000000000000000000000000060d58501026a0100000000000000000000600160a060020a038a1602017e940000000000000000000000000000000000000000000000000000000000000191506000871180156109195750608087105b15610934578669010000000000000000000282019150610957565b8460800169010000000000000000000282019150846009036101000a8702820191505b50604051908152600191909101902095945050505050565b60008060015b8084106104a55760019190910190610100026109755600a165627a7a723058206e7766cc96c12349ec07155743841f8ad48441ce5b6a303479e09fe840bd46ad0029", | |
| "ast": { | |
| "absolutePath": "/usr/src/app/external/gastoken/contract/GST2_ETH.sol", | |
| "exportedSymbols": { | |
| "GasToken2": [ | |
| 536 | |
| ] | |
| }, | |
| "id": 537, | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "^", | |
| "0.4", | |
| ".10" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "0:24:0" | |
| }, | |
| { | |
| "absolutePath": "/usr/src/app/external/gastoken/contract/rlp.sol", | |
| "file": "rlp.sol", | |
| "id": 2, | |
| "nodeType": "ImportDirective", | |
| "scope": 537, | |
| "sourceUnit": 723, | |
| "src": "26:17:0", | |
| "symbolAliases": [], | |
| "unitAlias": "" | |
| }, | |
| { | |
| "baseContracts": [ | |
| { | |
| "arguments": null, | |
| "baseName": { | |
| "contractScope": null, | |
| "id": 3, | |
| "name": "Rlp", | |
| "nodeType": "UserDefinedTypeName", | |
| "referencedDeclaration": 722, | |
| "src": "67:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_contract$_Rlp_$722", | |
| "typeString": "contract Rlp" | |
| } | |
| }, | |
| "id": 4, | |
| "nodeType": "InheritanceSpecifier", | |
| "src": "67:3:0" | |
| } | |
| ], | |
| "contractDependencies": [ | |
| 722 | |
| ], | |
| "contractKind": "contract", | |
| "documentation": null, | |
| "fullyImplemented": true, | |
| "id": 536, | |
| "linearizedBaseContracts": [ | |
| 536, | |
| 722 | |
| ], | |
| "name": "GasToken2", | |
| "nodeType": "ContractDefinition", | |
| "nodes": [ | |
| { | |
| "constant": false, | |
| "id": 8, | |
| "name": "s_balances", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "280:38:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "typeName": { | |
| "id": 7, | |
| "keyType": { | |
| "id": 5, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "288:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "280:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "valueType": { | |
| "id": 6, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "299:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 14, | |
| "name": "s_allowances", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "362:60:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| }, | |
| "typeName": { | |
| "id": 13, | |
| "keyType": { | |
| "id": 9, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "370:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "362:47:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| }, | |
| "valueType": { | |
| "id": 12, | |
| "keyType": { | |
| "id": 10, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "389:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "381:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "valueType": { | |
| "id": 11, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "400:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "anonymous": false, | |
| "documentation": null, | |
| "id": 22, | |
| "name": "Transfer", | |
| "nodeType": "EventDefinition", | |
| "parameters": { | |
| "id": 21, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 16, | |
| "indexed": true, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 22, | |
| "src": "444:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 15, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "444:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 18, | |
| "indexed": true, | |
| "name": "to", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 22, | |
| "src": "466:18:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 17, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "466:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 20, | |
| "indexed": false, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 22, | |
| "src": "486:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 19, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "486:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "443:57:0" | |
| }, | |
| "src": "429:72:0" | |
| }, | |
| { | |
| "anonymous": false, | |
| "documentation": null, | |
| "id": 30, | |
| "name": "Approval", | |
| "nodeType": "EventDefinition", | |
| "parameters": { | |
| "id": 29, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 24, | |
| "indexed": true, | |
| "name": "owner", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 30, | |
| "src": "522:21:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 23, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "522:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 26, | |
| "indexed": true, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 30, | |
| "src": "545:23:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 25, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "545:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 28, | |
| "indexed": false, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 30, | |
| "src": "570:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 27, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "570:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "521:63:0" | |
| }, | |
| "src": "507:78:0" | |
| }, | |
| { | |
| "body": { | |
| "id": 41, | |
| "nodeType": "Block", | |
| "src": "744:41:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 37, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "761:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 39, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 38, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 32, | |
| "src": "772:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "761:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 36, | |
| "id": 40, | |
| "nodeType": "Return", | |
| "src": "754:24:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 42, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": true, | |
| "modifiers": [], | |
| "name": "balanceOf", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 33, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 32, | |
| "name": "owner", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 42, | |
| "src": "687:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 31, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "687:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "686:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 36, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 35, | |
| "name": "balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 42, | |
| "src": "727:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 34, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "727:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "726:17:0" | |
| }, | |
| "scope": 536, | |
| "src": "668:117:0", | |
| "stateMutability": "view", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 83, | |
| "nodeType": "Block", | |
| "src": "890:246:0", | |
| "statements": [ | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 57, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 53, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 48, | |
| "src": "904:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "<=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 54, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "913:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 56, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 55, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 44, | |
| "src": "924:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "913:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "904:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": { | |
| "id": 81, | |
| "nodeType": "Block", | |
| "src": "1093:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 79, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "1114:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 52, | |
| "id": 80, | |
| "nodeType": "Return", | |
| "src": "1107:12:0" | |
| } | |
| ] | |
| }, | |
| "id": 82, | |
| "nodeType": "IfStatement", | |
| "src": "900:230:0", | |
| "trueBody": { | |
| "id": 78, | |
| "nodeType": "Block", | |
| "src": "931:156:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 62, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 58, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "945:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 60, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 59, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 44, | |
| "src": "956:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "945:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "-=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 61, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 48, | |
| "src": "965:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "945:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 63, | |
| "nodeType": "ExpressionStatement", | |
| "src": "945:25:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 68, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 64, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "984:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 66, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 65, | |
| "name": "to", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 46, | |
| "src": "995:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "984:14:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "+=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 67, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 48, | |
| "src": "1002:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "984:23:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 69, | |
| "nodeType": "ExpressionStatement", | |
| "src": "984:23:0" | |
| }, | |
| { | |
| "eventCall": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 71, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 44, | |
| "src": "1035:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 72, | |
| "name": "to", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 46, | |
| "src": "1041:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 73, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 48, | |
| "src": "1045:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 70, | |
| "name": "Transfer", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 22, | |
| "src": "1026:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", | |
| "typeString": "function (address,address,uint256)" | |
| } | |
| }, | |
| "id": 74, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "1026:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 75, | |
| "nodeType": "EmitStatement", | |
| "src": "1021:30:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 76, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "1072:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 52, | |
| "id": 77, | |
| "nodeType": "Return", | |
| "src": "1065:11:0" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 84, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "internalTransfer", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 49, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 44, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 84, | |
| "src": "817:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 43, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "817:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 46, | |
| "name": "to", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 84, | |
| "src": "831:10:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 45, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "831:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 48, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 84, | |
| "src": "843:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 47, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "843:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "816:41:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 52, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 51, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 84, | |
| "src": "876:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 50, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "876:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "875:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "791:345:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 104, | |
| "nodeType": "Block", | |
| "src": "1276:92:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 94 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 94, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 105, | |
| "src": "1286:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 93, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1286:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 97, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 95, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "1301:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 96, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "1301:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "1286:25:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 99, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 94, | |
| "src": "1345:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 100, | |
| "name": "to", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 86, | |
| "src": "1351:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 101, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 88, | |
| "src": "1355:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 98, | |
| "name": "internalTransfer", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 84, | |
| "src": "1328:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", | |
| "typeString": "function (address,address,uint256) returns (bool)" | |
| } | |
| }, | |
| "id": 102, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "1328:33:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "functionReturnParameters": 92, | |
| "id": 103, | |
| "nodeType": "Return", | |
| "src": "1321:40:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 105, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "transfer", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 89, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 86, | |
| "name": "to", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 105, | |
| "src": "1219:10:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 85, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1219:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 88, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 105, | |
| "src": "1231:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 87, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1231:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "1218:27:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 92, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 91, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 105, | |
| "src": "1262:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 90, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1262:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "1261:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "1201:167:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 149, | |
| "nodeType": "Block", | |
| "src": "1546:261:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 117 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 117, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1556:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 116, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1556:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 120, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 118, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "1574:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 119, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "1574:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "1556:28:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "id": 133, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 127, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 121, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 111, | |
| "src": "1597:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "<=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 122, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "1606:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 124, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 123, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 107, | |
| "src": "1619:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "1606:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 126, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 125, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 117, | |
| "src": "1625:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "1606:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "1597:36:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "&&", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 129, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 107, | |
| "src": "1654:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 130, | |
| "name": "to", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 109, | |
| "src": "1660:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 131, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 111, | |
| "src": "1664:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 128, | |
| "name": "internalTransfer", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 84, | |
| "src": "1637:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", | |
| "typeString": "function (address,address,uint256) returns (bool)" | |
| } | |
| }, | |
| "id": 132, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "1637:33:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "src": "1597:73:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": { | |
| "id": 147, | |
| "nodeType": "Block", | |
| "src": "1764:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 145, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "1785:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 115, | |
| "id": 146, | |
| "nodeType": "Return", | |
| "src": "1778:12:0" | |
| } | |
| ] | |
| }, | |
| "id": 148, | |
| "nodeType": "IfStatement", | |
| "src": "1594:207:0", | |
| "trueBody": { | |
| "id": 144, | |
| "nodeType": "Block", | |
| "src": "1672:86:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 140, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 134, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "1686:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 137, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 135, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 107, | |
| "src": "1699:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "1686:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 138, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 136, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 117, | |
| "src": "1705:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "1686:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "-=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 139, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 111, | |
| "src": "1717:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "1686:36:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 141, | |
| "nodeType": "ExpressionStatement", | |
| "src": "1686:36:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 142, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "1743:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 115, | |
| "id": 143, | |
| "nodeType": "Return", | |
| "src": "1736:11:0" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 150, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "transferFrom", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 112, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 107, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1475:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 106, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1475:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 109, | |
| "name": "to", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1489:10:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 108, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1489:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 111, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1501:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 110, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1501:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "1474:41:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 115, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 114, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1532:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 113, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1532:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "1531:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "1453:354:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 195, | |
| "nodeType": "Block", | |
| "src": "2091:255:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 160 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 160, | |
| "name": "owner", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 196, | |
| "src": "2101:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 159, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2101:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 163, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 161, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "2117:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 162, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "2117:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "2101:26:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "id": 174, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 166, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 164, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 154, | |
| "src": "2141:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "!=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "hexValue": "30", | |
| "id": 165, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "2150:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_0_by_1", | |
| "typeString": "int_const 0" | |
| }, | |
| "value": "0" | |
| }, | |
| "src": "2141:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "&&", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 173, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 167, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "2155:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 169, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 168, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 160, | |
| "src": "2168:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2155:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 171, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 170, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 152, | |
| "src": "2175:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2155:28:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "!=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "hexValue": "30", | |
| "id": 172, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "2187:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_0_by_1", | |
| "typeString": "int_const 0" | |
| }, | |
| "value": "0" | |
| }, | |
| "src": "2155:33:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "src": "2141:47:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 178, | |
| "nodeType": "IfStatement", | |
| "src": "2137:90:0", | |
| "trueBody": { | |
| "id": 177, | |
| "nodeType": "Block", | |
| "src": "2190:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 175, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "2211:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 158, | |
| "id": 176, | |
| "nodeType": "Return", | |
| "src": "2204:12:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 185, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 179, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "2236:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 182, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 180, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 160, | |
| "src": "2249:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2236:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 183, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 181, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 152, | |
| "src": "2256:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "2236:28:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 184, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 154, | |
| "src": "2267:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "2236:36:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 186, | |
| "nodeType": "ExpressionStatement", | |
| "src": "2236:36:0" | |
| }, | |
| { | |
| "eventCall": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 188, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 160, | |
| "src": "2296:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 189, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 152, | |
| "src": "2303:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 190, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 154, | |
| "src": "2312:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 187, | |
| "name": "Approval", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 30, | |
| "src": "2287:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", | |
| "typeString": "function (address,address,uint256)" | |
| } | |
| }, | |
| "id": 191, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "2287:31:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 192, | |
| "nodeType": "EmitStatement", | |
| "src": "2282:36:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 193, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "2335:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 158, | |
| "id": 194, | |
| "nodeType": "Return", | |
| "src": "2328:11:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 196, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "approve", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 155, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 152, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 196, | |
| "src": "2029:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 151, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2029:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 154, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 196, | |
| "src": "2046:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 153, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2046:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "2028:32:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 158, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 157, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 196, | |
| "src": "2077:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 156, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2077:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "2076:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "2012:334:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 211, | |
| "nodeType": "Block", | |
| "src": "2760:52:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 205, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "2777:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 207, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 206, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 198, | |
| "src": "2790:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2777:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 209, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 208, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 200, | |
| "src": "2797:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2777:28:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 204, | |
| "id": 210, | |
| "nodeType": "Return", | |
| "src": "2770:35:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 212, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": true, | |
| "modifiers": [], | |
| "name": "allowance", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 201, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 198, | |
| "name": "owner", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 212, | |
| "src": "2684:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 197, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2684:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 200, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 212, | |
| "src": "2699:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 199, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2699:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "2683:32:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 204, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 203, | |
| "name": "remaining", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 212, | |
| "src": "2741:17:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 202, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2741:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "2740:19:0" | |
| }, | |
| "scope": 536, | |
| "src": "2665:147:0", | |
| "stateMutability": "view", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": true, | |
| "id": 215, | |
| "name": "decimals", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3003:34:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint8", | |
| "typeString": "uint8" | |
| }, | |
| "typeName": { | |
| "id": 213, | |
| "name": "uint8", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3003:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint8", | |
| "typeString": "uint8" | |
| } | |
| }, | |
| "value": { | |
| "argumentTypes": null, | |
| "hexValue": "32", | |
| "id": 214, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "3036:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_2_by_1", | |
| "typeString": "int_const 2" | |
| }, | |
| "value": "2" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": true, | |
| "id": 218, | |
| "name": "name", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3043:43:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 216, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3043:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "value": { | |
| "argumentTypes": null, | |
| "hexValue": "476173746f6b656e2e696f", | |
| "id": 217, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "string", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "3073:13:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_stringliteral_0d1c4286c55d6c98ff887ea24620fba0fa19b2b689915823b5f072d2ed4ebc24", | |
| "typeString": "literal_string \"Gastoken.io\"" | |
| }, | |
| "value": "Gastoken.io" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": true, | |
| "id": 221, | |
| "name": "symbol", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3092:38:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 219, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3092:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "value": { | |
| "argumentTypes": null, | |
| "hexValue": "47535432", | |
| "id": 220, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "string", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "3124:6:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_stringliteral_5e04720bea86ecb546947317d43c045a01093270a338cc34ec31cfd6a76b4a30", | |
| "typeString": "literal_string \"GST2\"" | |
| }, | |
| "value": "GST2" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 223, | |
| "name": "s_head", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3800:14:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 222, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3800:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 225, | |
| "name": "s_tail", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3820:14:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 224, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3820:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 234, | |
| "nodeType": "Block", | |
| "src": "4079:39:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 232, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 230, | |
| "name": "s_head", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 223, | |
| "src": "4096:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 231, | |
| "name": "s_tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 225, | |
| "src": "4105:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "4096:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 229, | |
| "id": 233, | |
| "nodeType": "Return", | |
| "src": "4089:22:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 235, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": true, | |
| "modifiers": [], | |
| "name": "totalSupply", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 226, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "4035:2:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 229, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 228, | |
| "name": "supply", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 235, | |
| "src": "4063:14:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 227, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "4063:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "4062:16:0" | |
| }, | |
| "scope": 536, | |
| "src": "4015:103:0", | |
| "stateMutability": "view", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 241, | |
| "nodeType": "Block", | |
| "src": "4254:1660:0", | |
| "statements": [ | |
| { | |
| "externalReferences": [ | |
| { | |
| "addr": { | |
| "declaration": 238, | |
| "isOffset": false, | |
| "isSlot": false, | |
| "src": "5846:4:0", | |
| "valueSize": 1 | |
| } | |
| } | |
| ], | |
| "id": 240, | |
| "nodeType": "InlineAssembly", | |
| "operations": "{\n let solidity_free_mem_ptr := mload(0x40)\n mstore(solidity_free_mem_ptr, 0x00756eb3f879cb30fe243b4dfee438691c043318585733ff6000526016600af3)\n addr := create(0, add(solidity_free_mem_ptr, 1), 31)\n}", | |
| "src": "4264:1650:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 242, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "makeChild", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 236, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "4219:2:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 239, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 238, | |
| "name": "addr", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 242, | |
| "src": "4240:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 237, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "4240:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "4239:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "4201:1713:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 273, | |
| "nodeType": "Block", | |
| "src": "6134:154:0", | |
| "statements": [ | |
| { | |
| "body": { | |
| "id": 260, | |
| "nodeType": "Block", | |
| "src": "6180:36:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [], | |
| "expression": { | |
| "argumentTypes": [], | |
| "id": 257, | |
| "name": "makeChild", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 242, | |
| "src": "6194:9:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$", | |
| "typeString": "function () returns (address)" | |
| } | |
| }, | |
| "id": 258, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "6194:11:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "id": 259, | |
| "nodeType": "ExpressionStatement", | |
| "src": "6194:11:0" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 253, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 251, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 248, | |
| "src": "6164:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "<", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 252, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 244, | |
| "src": "6168:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "6164:9:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "id": 261, | |
| "initializationExpression": { | |
| "assignments": [ | |
| 248 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 248, | |
| "name": "i", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 274, | |
| "src": "6149:9:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 247, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "6149:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 250, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "hexValue": "30", | |
| "id": 249, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "6161:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_0_by_1", | |
| "typeString": "int_const 0" | |
| }, | |
| "value": "0" | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "6149:13:0" | |
| }, | |
| "loopExpression": { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 255, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "UnaryOperation", | |
| "operator": "++", | |
| "prefix": false, | |
| "src": "6175:3:0", | |
| "subExpression": { | |
| "argumentTypes": null, | |
| "id": 254, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 248, | |
| "src": "6175:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 256, | |
| "nodeType": "ExpressionStatement", | |
| "src": "6175:3:0" | |
| }, | |
| "nodeType": "ForStatement", | |
| "src": "6144:72:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 264, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 262, | |
| "name": "s_head", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 223, | |
| "src": "6225:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "+=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 263, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 244, | |
| "src": "6235:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "6225:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 265, | |
| "nodeType": "ExpressionStatement", | |
| "src": "6225:15:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 271, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 266, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "6250:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 269, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 267, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "6261:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 268, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "6261:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "6250:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "+=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 270, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 244, | |
| "src": "6276:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "6250:31:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 272, | |
| "nodeType": "ExpressionStatement", | |
| "src": "6250:31:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 274, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "mint", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 245, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 244, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 274, | |
| "src": "6112:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 243, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "6112:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "6111:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 246, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "6134:0:0" | |
| }, | |
| "scope": 536, | |
| "src": "6098:190:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 312, | |
| "nodeType": "Block", | |
| "src": "7228:259:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 280 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 280, | |
| "name": "tail", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 313, | |
| "src": "7238:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 279, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7238:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 282, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "id": 281, | |
| "name": "s_tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 225, | |
| "src": "7253:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "7238:21:0" | |
| }, | |
| { | |
| "body": { | |
| "id": 304, | |
| "nodeType": "Block", | |
| "src": "7389:60:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [], | |
| "expression": { | |
| "argumentTypes": [], | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 298, | |
| "name": "this", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 752, | |
| "src": "7423:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_contract$_GasToken2_$536", | |
| "typeString": "contract GasToken2" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 299, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 284, | |
| "src": "7429:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_contract$_GasToken2_$536", | |
| "typeString": "contract GasToken2" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 297, | |
| "name": "mk_contract_address", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 721, | |
| "src": "7403:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_address_$", | |
| "typeString": "function (address,uint256) pure returns (address)" | |
| } | |
| }, | |
| "id": 300, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "7403:28:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "id": 301, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "call", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "7403:33:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", | |
| "typeString": "function () payable returns (bool)" | |
| } | |
| }, | |
| "id": 302, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "7403:35:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "id": 303, | |
| "nodeType": "ExpressionStatement", | |
| "src": "7403:35:0" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 293, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 289, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 284, | |
| "src": "7365:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "<=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 292, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 290, | |
| "name": "tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 280, | |
| "src": "7370:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "+", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 291, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 276, | |
| "src": "7377:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7370:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7365:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "id": 305, | |
| "initializationExpression": { | |
| "assignments": [ | |
| 284 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 284, | |
| "name": "i", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 313, | |
| "src": "7343:9:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 283, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7343:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 288, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 287, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 285, | |
| "name": "tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 280, | |
| "src": "7355:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "+", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "hexValue": "31", | |
| "id": 286, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "7362:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_1_by_1", | |
| "typeString": "int_const 1" | |
| }, | |
| "value": "1" | |
| }, | |
| "src": "7355:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "7343:20:0" | |
| }, | |
| "loopExpression": { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 295, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "UnaryOperation", | |
| "operator": "++", | |
| "prefix": false, | |
| "src": "7384:3:0", | |
| "subExpression": { | |
| "argumentTypes": null, | |
| "id": 294, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 284, | |
| "src": "7384:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 296, | |
| "nodeType": "ExpressionStatement", | |
| "src": "7384:3:0" | |
| }, | |
| "nodeType": "ForStatement", | |
| "src": "7338:111:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 310, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 306, | |
| "name": "s_tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 225, | |
| "src": "7459:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 309, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 307, | |
| "name": "tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 280, | |
| "src": "7468:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "+", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 308, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 276, | |
| "src": "7475:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7468:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7459:21:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 311, | |
| "nodeType": "ExpressionStatement", | |
| "src": "7459:21:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 313, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "destroyChildren", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 277, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 276, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 313, | |
| "src": "7204:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 275, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7204:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "7203:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 278, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "7228:0:0" | |
| }, | |
| "scope": 536, | |
| "src": "7179:308:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 349, | |
| "nodeType": "Block", | |
| "src": "7925:245:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 321 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 321, | |
| "name": "from_balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 350, | |
| "src": "7935:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 320, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7935:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 326, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 322, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "7958:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 325, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 323, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "7969:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 324, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "7969:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "7958:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "7935:45:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 329, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 327, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 315, | |
| "src": "7994:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 328, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 321, | |
| "src": "8002:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7994:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 333, | |
| "nodeType": "IfStatement", | |
| "src": "7990:63:0", | |
| "trueBody": { | |
| "id": 332, | |
| "nodeType": "Block", | |
| "src": "8016:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 330, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "8037:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 319, | |
| "id": 331, | |
| "nodeType": "Return", | |
| "src": "8030:12:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 335, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 315, | |
| "src": "8079:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 334, | |
| "name": "destroyChildren", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 313, | |
| "src": "8063:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
| "typeString": "function (uint256)" | |
| } | |
| }, | |
| "id": 336, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "8063:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 337, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8063:22:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 345, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 338, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "8096:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 341, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 339, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "8107:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 340, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "8107:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "8096:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 344, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 342, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 321, | |
| "src": "8121:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 343, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 315, | |
| "src": "8136:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8121:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8096:45:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 346, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8096:45:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 347, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "8159:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 319, | |
| "id": 348, | |
| "nodeType": "Return", | |
| "src": "8152:11:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 350, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "free", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 316, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 315, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 350, | |
| "src": "7880:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 314, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7880:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "7879:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 319, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 318, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 350, | |
| "src": "7911:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 317, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7911:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "7910:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "7866:304:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 388, | |
| "nodeType": "Block", | |
| "src": "8531:254:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 358 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 358, | |
| "name": "from_balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 389, | |
| "src": "8541:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 357, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "8541:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 363, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 359, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "8564:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 362, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 360, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "8575:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 361, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "8575:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "8564:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "8541:45:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 366, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 364, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8600:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 365, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 358, | |
| "src": "8608:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8600:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 372, | |
| "nodeType": "IfStatement", | |
| "src": "8596:71:0", | |
| "trueBody": { | |
| "id": 371, | |
| "nodeType": "Block", | |
| "src": "8622:45:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 369, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 367, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8636:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 368, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 358, | |
| "src": "8644:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8636:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 370, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8636:20:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 374, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8693:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 373, | |
| "name": "destroyChildren", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 313, | |
| "src": "8677:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
| "typeString": "function (uint256)" | |
| } | |
| }, | |
| "id": 375, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "8677:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 376, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8677:22:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 384, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 377, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "8710:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 380, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 378, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "8721:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 379, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "8721:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "8710:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 383, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 381, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 358, | |
| "src": "8735:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 382, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8750:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8735:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8710:45:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 385, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8710:45:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 386, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8773:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 356, | |
| "id": 387, | |
| "nodeType": "Return", | |
| "src": "8766:12:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 389, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "freeUpTo", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 353, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 352, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 389, | |
| "src": "8485:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 351, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "8485:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "8484:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 356, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 355, | |
| "name": "freed", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 389, | |
| "src": "8516:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 354, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "8516:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "8515:15:0" | |
| }, | |
| "scope": 536, | |
| "src": "8467:318:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 459, | |
| "nodeType": "Block", | |
| "src": "9167:547:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 399 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 399, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9177:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 398, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9177:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 402, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 400, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "9195:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 401, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "9195:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "9177:28:0" | |
| }, | |
| { | |
| "assignments": [ | |
| 404 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 404, | |
| "name": "from_balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9215:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 403, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9215:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 408, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 405, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "9238:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 407, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 406, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 391, | |
| "src": "9249:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "9238:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "9215:39:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 411, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 409, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9268:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 410, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 404, | |
| "src": "9276:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9268:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 415, | |
| "nodeType": "IfStatement", | |
| "src": "9264:63:0", | |
| "trueBody": { | |
| "id": 414, | |
| "nodeType": "Block", | |
| "src": "9290:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 412, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "9311:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 397, | |
| "id": 413, | |
| "nodeType": "Return", | |
| "src": "9304:12:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "assignments": [ | |
| 419 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 419, | |
| "name": "from_allowances", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9337:43:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "typeName": { | |
| "id": 418, | |
| "keyType": { | |
| "id": 416, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9345:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "9337:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "valueType": { | |
| "id": 417, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9356:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 423, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 420, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "9383:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 422, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 421, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 391, | |
| "src": "9396:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "9383:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "9337:64:0" | |
| }, | |
| { | |
| "assignments": [ | |
| 425 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 425, | |
| "name": "spender_allowance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9411:25:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 424, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9411:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 429, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 426, | |
| "name": "from_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 419, | |
| "src": "9439:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 428, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 427, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 399, | |
| "src": "9455:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "9439:24:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "9411:52:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 432, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 430, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9477:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 431, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 425, | |
| "src": "9485:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9477:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 436, | |
| "nodeType": "IfStatement", | |
| "src": "9473:68:0", | |
| "trueBody": { | |
| "id": 435, | |
| "nodeType": "Block", | |
| "src": "9504:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 433, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "9525:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 397, | |
| "id": 434, | |
| "nodeType": "Return", | |
| "src": "9518:12:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 438, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9567:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 437, | |
| "name": "destroyChildren", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 313, | |
| "src": "9551:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
| "typeString": "function (uint256)" | |
| } | |
| }, | |
| "id": 439, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "9551:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 440, | |
| "nodeType": "ExpressionStatement", | |
| "src": "9551:22:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 447, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 441, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "9584:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 443, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 442, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 391, | |
| "src": "9595:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "9584:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 446, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 444, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 404, | |
| "src": "9603:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 445, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9618:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9603:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9584:39:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 448, | |
| "nodeType": "ExpressionStatement", | |
| "src": "9584:39:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 455, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 449, | |
| "name": "from_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 419, | |
| "src": "9633:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 451, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 450, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 399, | |
| "src": "9649:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "9633:24:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 454, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 452, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 425, | |
| "src": "9660:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 453, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9680:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9660:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9633:52:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 456, | |
| "nodeType": "ExpressionStatement", | |
| "src": "9633:52:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 457, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "9703:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 397, | |
| "id": 458, | |
| "nodeType": "Return", | |
| "src": "9696:11:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 460, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "freeFrom", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 394, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 391, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9108:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 390, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9108:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 393, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9122:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 392, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9122:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "9107:29:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 397, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 396, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9153:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 395, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9153:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "9152:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "9090:624:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 534, | |
| "nodeType": "Block", | |
| "src": "10123:569:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 470 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 470, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10133:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 469, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10133:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 473, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 471, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "10151:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 472, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "10151:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "10133:28:0" | |
| }, | |
| { | |
| "assignments": [ | |
| 475 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 475, | |
| "name": "from_balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10171:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 474, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10171:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 479, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 476, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "10194:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 478, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 477, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 462, | |
| "src": "10205:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "10194:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "10171:39:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 482, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 480, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10224:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 481, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 475, | |
| "src": "10232:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10224:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 488, | |
| "nodeType": "IfStatement", | |
| "src": "10220:71:0", | |
| "trueBody": { | |
| "id": 487, | |
| "nodeType": "Block", | |
| "src": "10246:45:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 485, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 483, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10260:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 484, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 475, | |
| "src": "10268:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10260:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 486, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10260:20:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "assignments": [ | |
| 492 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 492, | |
| "name": "from_allowances", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10301:43:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "typeName": { | |
| "id": 491, | |
| "keyType": { | |
| "id": 489, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10309:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "10301:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "valueType": { | |
| "id": 490, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10320:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 496, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 493, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "10347:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 495, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 494, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 462, | |
| "src": "10360:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "10347:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "10301:64:0" | |
| }, | |
| { | |
| "assignments": [ | |
| 498 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 498, | |
| "name": "spender_allowance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10375:25:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 497, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10375:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 502, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 499, | |
| "name": "from_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 492, | |
| "src": "10403:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 501, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 500, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 470, | |
| "src": "10419:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "10403:24:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "10375:52:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 505, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 503, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10441:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 504, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 498, | |
| "src": "10449:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10441:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 511, | |
| "nodeType": "IfStatement", | |
| "src": "10437:81:0", | |
| "trueBody": { | |
| "id": 510, | |
| "nodeType": "Block", | |
| "src": "10468:50:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 508, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 506, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10482:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 507, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 498, | |
| "src": "10490:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10482:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 509, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10482:25:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 513, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10544:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 512, | |
| "name": "destroyChildren", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 313, | |
| "src": "10528:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
| "typeString": "function (uint256)" | |
| } | |
| }, | |
| "id": 514, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "10528:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 515, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10528:22:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 522, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 516, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "10561:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 518, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 517, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 462, | |
| "src": "10572:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "10561:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 521, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 519, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 475, | |
| "src": "10580:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 520, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10595:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10580:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10561:39:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 523, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10561:39:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 530, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 524, | |
| "name": "from_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 492, | |
| "src": "10610:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 526, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 525, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 470, | |
| "src": "10626:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "10610:24:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 529, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 527, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 498, | |
| "src": "10637:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 528, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10657:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10637:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10610:52:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 531, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10610:52:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 532, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10680:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 468, | |
| "id": 533, | |
| "nodeType": "Return", | |
| "src": "10673:12:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 535, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "freeFromUpTo", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 465, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 462, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10063:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 461, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10063:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 464, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10077:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 463, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10077:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "10062:29:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 468, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 467, | |
| "name": "freed", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10108:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 466, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10108:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "10107:15:0" | |
| }, | |
| "scope": 536, | |
| "src": "10041:651:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| } | |
| ], | |
| "scope": 537, | |
| "src": "45:10649:0" | |
| } | |
| ], | |
| "src": "0:10695:0" | |
| }, | |
| "legacyAST": { | |
| "absolutePath": "/usr/src/app/external/gastoken/contract/GST2_ETH.sol", | |
| "exportedSymbols": { | |
| "GasToken2": [ | |
| 536 | |
| ] | |
| }, | |
| "id": 537, | |
| "nodeType": "SourceUnit", | |
| "nodes": [ | |
| { | |
| "id": 1, | |
| "literals": [ | |
| "solidity", | |
| "^", | |
| "0.4", | |
| ".10" | |
| ], | |
| "nodeType": "PragmaDirective", | |
| "src": "0:24:0" | |
| }, | |
| { | |
| "absolutePath": "/usr/src/app/external/gastoken/contract/rlp.sol", | |
| "file": "rlp.sol", | |
| "id": 2, | |
| "nodeType": "ImportDirective", | |
| "scope": 537, | |
| "sourceUnit": 723, | |
| "src": "26:17:0", | |
| "symbolAliases": [], | |
| "unitAlias": "" | |
| }, | |
| { | |
| "baseContracts": [ | |
| { | |
| "arguments": null, | |
| "baseName": { | |
| "contractScope": null, | |
| "id": 3, | |
| "name": "Rlp", | |
| "nodeType": "UserDefinedTypeName", | |
| "referencedDeclaration": 722, | |
| "src": "67:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_contract$_Rlp_$722", | |
| "typeString": "contract Rlp" | |
| } | |
| }, | |
| "id": 4, | |
| "nodeType": "InheritanceSpecifier", | |
| "src": "67:3:0" | |
| } | |
| ], | |
| "contractDependencies": [ | |
| 722 | |
| ], | |
| "contractKind": "contract", | |
| "documentation": null, | |
| "fullyImplemented": true, | |
| "id": 536, | |
| "linearizedBaseContracts": [ | |
| 536, | |
| 722 | |
| ], | |
| "name": "GasToken2", | |
| "nodeType": "ContractDefinition", | |
| "nodes": [ | |
| { | |
| "constant": false, | |
| "id": 8, | |
| "name": "s_balances", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "280:38:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "typeName": { | |
| "id": 7, | |
| "keyType": { | |
| "id": 5, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "288:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "280:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "valueType": { | |
| "id": 6, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "299:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 14, | |
| "name": "s_allowances", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "362:60:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| }, | |
| "typeName": { | |
| "id": 13, | |
| "keyType": { | |
| "id": 9, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "370:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "362:47:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| }, | |
| "valueType": { | |
| "id": 12, | |
| "keyType": { | |
| "id": 10, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "389:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "381:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "valueType": { | |
| "id": 11, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "400:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "anonymous": false, | |
| "documentation": null, | |
| "id": 22, | |
| "name": "Transfer", | |
| "nodeType": "EventDefinition", | |
| "parameters": { | |
| "id": 21, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 16, | |
| "indexed": true, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 22, | |
| "src": "444:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 15, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "444:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 18, | |
| "indexed": true, | |
| "name": "to", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 22, | |
| "src": "466:18:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 17, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "466:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 20, | |
| "indexed": false, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 22, | |
| "src": "486:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 19, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "486:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "443:57:0" | |
| }, | |
| "src": "429:72:0" | |
| }, | |
| { | |
| "anonymous": false, | |
| "documentation": null, | |
| "id": 30, | |
| "name": "Approval", | |
| "nodeType": "EventDefinition", | |
| "parameters": { | |
| "id": 29, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 24, | |
| "indexed": true, | |
| "name": "owner", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 30, | |
| "src": "522:21:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 23, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "522:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 26, | |
| "indexed": true, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 30, | |
| "src": "545:23:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 25, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "545:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 28, | |
| "indexed": false, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 30, | |
| "src": "570:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 27, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "570:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "521:63:0" | |
| }, | |
| "src": "507:78:0" | |
| }, | |
| { | |
| "body": { | |
| "id": 41, | |
| "nodeType": "Block", | |
| "src": "744:41:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 37, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "761:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 39, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 38, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 32, | |
| "src": "772:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "761:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 36, | |
| "id": 40, | |
| "nodeType": "Return", | |
| "src": "754:24:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 42, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": true, | |
| "modifiers": [], | |
| "name": "balanceOf", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 33, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 32, | |
| "name": "owner", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 42, | |
| "src": "687:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 31, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "687:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "686:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 36, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 35, | |
| "name": "balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 42, | |
| "src": "727:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 34, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "727:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "726:17:0" | |
| }, | |
| "scope": 536, | |
| "src": "668:117:0", | |
| "stateMutability": "view", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 83, | |
| "nodeType": "Block", | |
| "src": "890:246:0", | |
| "statements": [ | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 57, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 53, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 48, | |
| "src": "904:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "<=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 54, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "913:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 56, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 55, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 44, | |
| "src": "924:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "913:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "904:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": { | |
| "id": 81, | |
| "nodeType": "Block", | |
| "src": "1093:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 79, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "1114:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 52, | |
| "id": 80, | |
| "nodeType": "Return", | |
| "src": "1107:12:0" | |
| } | |
| ] | |
| }, | |
| "id": 82, | |
| "nodeType": "IfStatement", | |
| "src": "900:230:0", | |
| "trueBody": { | |
| "id": 78, | |
| "nodeType": "Block", | |
| "src": "931:156:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 62, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 58, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "945:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 60, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 59, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 44, | |
| "src": "956:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "945:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "-=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 61, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 48, | |
| "src": "965:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "945:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 63, | |
| "nodeType": "ExpressionStatement", | |
| "src": "945:25:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 68, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 64, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "984:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 66, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 65, | |
| "name": "to", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 46, | |
| "src": "995:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "984:14:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "+=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 67, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 48, | |
| "src": "1002:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "984:23:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 69, | |
| "nodeType": "ExpressionStatement", | |
| "src": "984:23:0" | |
| }, | |
| { | |
| "eventCall": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 71, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 44, | |
| "src": "1035:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 72, | |
| "name": "to", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 46, | |
| "src": "1041:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 73, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 48, | |
| "src": "1045:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 70, | |
| "name": "Transfer", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 22, | |
| "src": "1026:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", | |
| "typeString": "function (address,address,uint256)" | |
| } | |
| }, | |
| "id": 74, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "1026:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 75, | |
| "nodeType": "EmitStatement", | |
| "src": "1021:30:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 76, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "1072:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 52, | |
| "id": 77, | |
| "nodeType": "Return", | |
| "src": "1065:11:0" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 84, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "internalTransfer", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 49, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 44, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 84, | |
| "src": "817:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 43, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "817:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 46, | |
| "name": "to", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 84, | |
| "src": "831:10:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 45, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "831:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 48, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 84, | |
| "src": "843:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 47, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "843:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "816:41:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 52, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 51, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 84, | |
| "src": "876:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 50, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "876:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "875:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "791:345:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 104, | |
| "nodeType": "Block", | |
| "src": "1276:92:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 94 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 94, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 105, | |
| "src": "1286:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 93, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1286:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 97, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 95, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "1301:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 96, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "1301:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "1286:25:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 99, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 94, | |
| "src": "1345:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 100, | |
| "name": "to", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 86, | |
| "src": "1351:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 101, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 88, | |
| "src": "1355:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 98, | |
| "name": "internalTransfer", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 84, | |
| "src": "1328:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", | |
| "typeString": "function (address,address,uint256) returns (bool)" | |
| } | |
| }, | |
| "id": 102, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "1328:33:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "functionReturnParameters": 92, | |
| "id": 103, | |
| "nodeType": "Return", | |
| "src": "1321:40:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 105, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "transfer", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 89, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 86, | |
| "name": "to", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 105, | |
| "src": "1219:10:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 85, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1219:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 88, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 105, | |
| "src": "1231:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 87, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1231:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "1218:27:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 92, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 91, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 105, | |
| "src": "1262:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 90, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1262:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "1261:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "1201:167:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 149, | |
| "nodeType": "Block", | |
| "src": "1546:261:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 117 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 117, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1556:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 116, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1556:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 120, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 118, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "1574:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 119, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "1574:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "1556:28:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "id": 133, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 127, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 121, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 111, | |
| "src": "1597:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "<=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 122, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "1606:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 124, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 123, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 107, | |
| "src": "1619:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "1606:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 126, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 125, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 117, | |
| "src": "1625:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "1606:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "1597:36:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "&&", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 129, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 107, | |
| "src": "1654:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 130, | |
| "name": "to", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 109, | |
| "src": "1660:2:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 131, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 111, | |
| "src": "1664:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 128, | |
| "name": "internalTransfer", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 84, | |
| "src": "1637:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", | |
| "typeString": "function (address,address,uint256) returns (bool)" | |
| } | |
| }, | |
| "id": 132, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "1637:33:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "src": "1597:73:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": { | |
| "id": 147, | |
| "nodeType": "Block", | |
| "src": "1764:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 145, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "1785:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 115, | |
| "id": 146, | |
| "nodeType": "Return", | |
| "src": "1778:12:0" | |
| } | |
| ] | |
| }, | |
| "id": 148, | |
| "nodeType": "IfStatement", | |
| "src": "1594:207:0", | |
| "trueBody": { | |
| "id": 144, | |
| "nodeType": "Block", | |
| "src": "1672:86:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 140, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 134, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "1686:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 137, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 135, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 107, | |
| "src": "1699:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "1686:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 138, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 136, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 117, | |
| "src": "1705:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "1686:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "-=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 139, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 111, | |
| "src": "1717:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "1686:36:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 141, | |
| "nodeType": "ExpressionStatement", | |
| "src": "1686:36:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 142, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "1743:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 115, | |
| "id": 143, | |
| "nodeType": "Return", | |
| "src": "1736:11:0" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 150, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "transferFrom", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 112, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 107, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1475:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 106, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1475:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 109, | |
| "name": "to", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1489:10:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 108, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1489:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 111, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1501:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 110, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1501:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "1474:41:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 115, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 114, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 150, | |
| "src": "1532:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 113, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "1532:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "1531:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "1453:354:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 195, | |
| "nodeType": "Block", | |
| "src": "2091:255:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 160 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 160, | |
| "name": "owner", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 196, | |
| "src": "2101:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 159, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2101:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 163, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 161, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "2117:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 162, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "2117:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "2101:26:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "id": 174, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 166, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 164, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 154, | |
| "src": "2141:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "!=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "hexValue": "30", | |
| "id": 165, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "2150:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_0_by_1", | |
| "typeString": "int_const 0" | |
| }, | |
| "value": "0" | |
| }, | |
| "src": "2141:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "&&", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 173, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 167, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "2155:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 169, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 168, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 160, | |
| "src": "2168:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2155:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 171, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 170, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 152, | |
| "src": "2175:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2155:28:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "!=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "hexValue": "30", | |
| "id": 172, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "2187:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_0_by_1", | |
| "typeString": "int_const 0" | |
| }, | |
| "value": "0" | |
| }, | |
| "src": "2155:33:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "src": "2141:47:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 178, | |
| "nodeType": "IfStatement", | |
| "src": "2137:90:0", | |
| "trueBody": { | |
| "id": 177, | |
| "nodeType": "Block", | |
| "src": "2190:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 175, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "2211:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 158, | |
| "id": 176, | |
| "nodeType": "Return", | |
| "src": "2204:12:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 185, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 179, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "2236:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 182, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 180, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 160, | |
| "src": "2249:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2236:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 183, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 181, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 152, | |
| "src": "2256:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "2236:28:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 184, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 154, | |
| "src": "2267:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "2236:36:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 186, | |
| "nodeType": "ExpressionStatement", | |
| "src": "2236:36:0" | |
| }, | |
| { | |
| "eventCall": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 188, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 160, | |
| "src": "2296:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 189, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 152, | |
| "src": "2303:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 190, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 154, | |
| "src": "2312:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 187, | |
| "name": "Approval", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 30, | |
| "src": "2287:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", | |
| "typeString": "function (address,address,uint256)" | |
| } | |
| }, | |
| "id": 191, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "2287:31:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 192, | |
| "nodeType": "EmitStatement", | |
| "src": "2282:36:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 193, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "2335:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 158, | |
| "id": 194, | |
| "nodeType": "Return", | |
| "src": "2328:11:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 196, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "approve", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 155, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 152, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 196, | |
| "src": "2029:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 151, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2029:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 154, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 196, | |
| "src": "2046:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 153, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2046:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "2028:32:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 158, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 157, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 196, | |
| "src": "2077:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 156, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2077:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "2076:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "2012:334:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 211, | |
| "nodeType": "Block", | |
| "src": "2760:52:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 205, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "2777:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 207, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 206, | |
| "name": "owner", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 198, | |
| "src": "2790:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2777:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 209, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 208, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 200, | |
| "src": "2797:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "2777:28:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 204, | |
| "id": 210, | |
| "nodeType": "Return", | |
| "src": "2770:35:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 212, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": true, | |
| "modifiers": [], | |
| "name": "allowance", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 201, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 198, | |
| "name": "owner", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 212, | |
| "src": "2684:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 197, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2684:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 200, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 212, | |
| "src": "2699:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 199, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2699:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "2683:32:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 204, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 203, | |
| "name": "remaining", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 212, | |
| "src": "2741:17:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 202, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "2741:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "2740:19:0" | |
| }, | |
| "scope": 536, | |
| "src": "2665:147:0", | |
| "stateMutability": "view", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": true, | |
| "id": 215, | |
| "name": "decimals", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3003:34:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint8", | |
| "typeString": "uint8" | |
| }, | |
| "typeName": { | |
| "id": 213, | |
| "name": "uint8", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3003:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint8", | |
| "typeString": "uint8" | |
| } | |
| }, | |
| "value": { | |
| "argumentTypes": null, | |
| "hexValue": "32", | |
| "id": 214, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "3036:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_2_by_1", | |
| "typeString": "int_const 2" | |
| }, | |
| "value": "2" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": true, | |
| "id": 218, | |
| "name": "name", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3043:43:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 216, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3043:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "value": { | |
| "argumentTypes": null, | |
| "hexValue": "476173746f6b656e2e696f", | |
| "id": 217, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "string", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "3073:13:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_stringliteral_0d1c4286c55d6c98ff887ea24620fba0fa19b2b689915823b5f072d2ed4ebc24", | |
| "typeString": "literal_string \"Gastoken.io\"" | |
| }, | |
| "value": "Gastoken.io" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": true, | |
| "id": 221, | |
| "name": "symbol", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3092:38:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_memory", | |
| "typeString": "string" | |
| }, | |
| "typeName": { | |
| "id": 219, | |
| "name": "string", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3092:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_string_storage_ptr", | |
| "typeString": "string" | |
| } | |
| }, | |
| "value": { | |
| "argumentTypes": null, | |
| "hexValue": "47535432", | |
| "id": 220, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "string", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "3124:6:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_stringliteral_5e04720bea86ecb546947317d43c045a01093270a338cc34ec31cfd6a76b4a30", | |
| "typeString": "literal_string \"GST2\"" | |
| }, | |
| "value": "GST2" | |
| }, | |
| "visibility": "public" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 223, | |
| "name": "s_head", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3800:14:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 222, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3800:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 225, | |
| "name": "s_tail", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 536, | |
| "src": "3820:14:0", | |
| "stateVariable": true, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 224, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "3820:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 234, | |
| "nodeType": "Block", | |
| "src": "4079:39:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 232, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 230, | |
| "name": "s_head", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 223, | |
| "src": "4096:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 231, | |
| "name": "s_tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 225, | |
| "src": "4105:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "4096:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 229, | |
| "id": 233, | |
| "nodeType": "Return", | |
| "src": "4089:22:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 235, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": true, | |
| "modifiers": [], | |
| "name": "totalSupply", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 226, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "4035:2:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 229, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 228, | |
| "name": "supply", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 235, | |
| "src": "4063:14:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 227, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "4063:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "4062:16:0" | |
| }, | |
| "scope": 536, | |
| "src": "4015:103:0", | |
| "stateMutability": "view", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 241, | |
| "nodeType": "Block", | |
| "src": "4254:1660:0", | |
| "statements": [ | |
| { | |
| "externalReferences": [ | |
| { | |
| "addr": { | |
| "declaration": 238, | |
| "isOffset": false, | |
| "isSlot": false, | |
| "src": "5846:4:0", | |
| "valueSize": 1 | |
| } | |
| } | |
| ], | |
| "id": 240, | |
| "nodeType": "InlineAssembly", | |
| "operations": "{\n let solidity_free_mem_ptr := mload(0x40)\n mstore(solidity_free_mem_ptr, 0x00756eb3f879cb30fe243b4dfee438691c043318585733ff6000526016600af3)\n addr := create(0, add(solidity_free_mem_ptr, 1), 31)\n}", | |
| "src": "4264:1650:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 242, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "makeChild", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 236, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "4219:2:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 239, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 238, | |
| "name": "addr", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 242, | |
| "src": "4240:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 237, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "4240:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "4239:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "4201:1713:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 273, | |
| "nodeType": "Block", | |
| "src": "6134:154:0", | |
| "statements": [ | |
| { | |
| "body": { | |
| "id": 260, | |
| "nodeType": "Block", | |
| "src": "6180:36:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [], | |
| "expression": { | |
| "argumentTypes": [], | |
| "id": 257, | |
| "name": "makeChild", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 242, | |
| "src": "6194:9:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$", | |
| "typeString": "function () returns (address)" | |
| } | |
| }, | |
| "id": 258, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "6194:11:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "id": 259, | |
| "nodeType": "ExpressionStatement", | |
| "src": "6194:11:0" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 253, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 251, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 248, | |
| "src": "6164:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "<", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 252, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 244, | |
| "src": "6168:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "6164:9:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "id": 261, | |
| "initializationExpression": { | |
| "assignments": [ | |
| 248 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 248, | |
| "name": "i", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 274, | |
| "src": "6149:9:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 247, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "6149:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 250, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "hexValue": "30", | |
| "id": 249, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "6161:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_0_by_1", | |
| "typeString": "int_const 0" | |
| }, | |
| "value": "0" | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "6149:13:0" | |
| }, | |
| "loopExpression": { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 255, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "UnaryOperation", | |
| "operator": "++", | |
| "prefix": false, | |
| "src": "6175:3:0", | |
| "subExpression": { | |
| "argumentTypes": null, | |
| "id": 254, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 248, | |
| "src": "6175:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 256, | |
| "nodeType": "ExpressionStatement", | |
| "src": "6175:3:0" | |
| }, | |
| "nodeType": "ForStatement", | |
| "src": "6144:72:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 264, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 262, | |
| "name": "s_head", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 223, | |
| "src": "6225:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "+=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 263, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 244, | |
| "src": "6235:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "6225:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 265, | |
| "nodeType": "ExpressionStatement", | |
| "src": "6225:15:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 271, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 266, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "6250:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 269, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 267, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "6261:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 268, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "6261:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "6250:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "+=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 270, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 244, | |
| "src": "6276:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "6250:31:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 272, | |
| "nodeType": "ExpressionStatement", | |
| "src": "6250:31:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 274, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "mint", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 245, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 244, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 274, | |
| "src": "6112:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 243, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "6112:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "6111:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 246, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "6134:0:0" | |
| }, | |
| "scope": 536, | |
| "src": "6098:190:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 312, | |
| "nodeType": "Block", | |
| "src": "7228:259:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 280 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 280, | |
| "name": "tail", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 313, | |
| "src": "7238:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 279, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7238:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 282, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "id": 281, | |
| "name": "s_tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 225, | |
| "src": "7253:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "7238:21:0" | |
| }, | |
| { | |
| "body": { | |
| "id": 304, | |
| "nodeType": "Block", | |
| "src": "7389:60:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [], | |
| "expression": { | |
| "argumentTypes": [], | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 298, | |
| "name": "this", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 752, | |
| "src": "7423:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_contract$_GasToken2_$536", | |
| "typeString": "contract GasToken2" | |
| } | |
| }, | |
| { | |
| "argumentTypes": null, | |
| "id": 299, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 284, | |
| "src": "7429:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_contract$_GasToken2_$536", | |
| "typeString": "contract GasToken2" | |
| }, | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 297, | |
| "name": "mk_contract_address", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 721, | |
| "src": "7403:19:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_address_$", | |
| "typeString": "function (address,uint256) pure returns (address)" | |
| } | |
| }, | |
| "id": 300, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "7403:28:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "id": 301, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "call", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "7403:33:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", | |
| "typeString": "function () payable returns (bool)" | |
| } | |
| }, | |
| "id": 302, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "7403:35:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "id": 303, | |
| "nodeType": "ExpressionStatement", | |
| "src": "7403:35:0" | |
| } | |
| ] | |
| }, | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 293, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 289, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 284, | |
| "src": "7365:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "<=", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 292, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 290, | |
| "name": "tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 280, | |
| "src": "7370:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "+", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 291, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 276, | |
| "src": "7377:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7370:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7365:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "id": 305, | |
| "initializationExpression": { | |
| "assignments": [ | |
| 284 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 284, | |
| "name": "i", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 313, | |
| "src": "7343:9:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 283, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7343:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 288, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 287, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 285, | |
| "name": "tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 280, | |
| "src": "7355:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "+", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "hexValue": "31", | |
| "id": 286, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "number", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "7362:1:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_rational_1_by_1", | |
| "typeString": "int_const 1" | |
| }, | |
| "value": "1" | |
| }, | |
| "src": "7355:8:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "7343:20:0" | |
| }, | |
| "loopExpression": { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 295, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "UnaryOperation", | |
| "operator": "++", | |
| "prefix": false, | |
| "src": "7384:3:0", | |
| "subExpression": { | |
| "argumentTypes": null, | |
| "id": 294, | |
| "name": "i", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 284, | |
| "src": "7384:1:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 296, | |
| "nodeType": "ExpressionStatement", | |
| "src": "7384:3:0" | |
| }, | |
| "nodeType": "ForStatement", | |
| "src": "7338:111:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 310, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 306, | |
| "name": "s_tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 225, | |
| "src": "7459:6:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 309, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 307, | |
| "name": "tail", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 280, | |
| "src": "7468:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "+", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 308, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 276, | |
| "src": "7475:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7468:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7459:21:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 311, | |
| "nodeType": "ExpressionStatement", | |
| "src": "7459:21:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 313, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "destroyChildren", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 277, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 276, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 313, | |
| "src": "7204:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 275, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7204:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "7203:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 278, | |
| "nodeType": "ParameterList", | |
| "parameters": [], | |
| "src": "7228:0:0" | |
| }, | |
| "scope": 536, | |
| "src": "7179:308:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "body": { | |
| "id": 349, | |
| "nodeType": "Block", | |
| "src": "7925:245:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 321 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 321, | |
| "name": "from_balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 350, | |
| "src": "7935:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 320, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7935:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 326, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 322, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "7958:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 325, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 323, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "7969:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 324, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "7969:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "7958:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "7935:45:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 329, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 327, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 315, | |
| "src": "7994:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 328, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 321, | |
| "src": "8002:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "7994:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 333, | |
| "nodeType": "IfStatement", | |
| "src": "7990:63:0", | |
| "trueBody": { | |
| "id": 332, | |
| "nodeType": "Block", | |
| "src": "8016:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 330, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "8037:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 319, | |
| "id": 331, | |
| "nodeType": "Return", | |
| "src": "8030:12:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 335, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 315, | |
| "src": "8079:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 334, | |
| "name": "destroyChildren", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 313, | |
| "src": "8063:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
| "typeString": "function (uint256)" | |
| } | |
| }, | |
| "id": 336, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "8063:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 337, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8063:22:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 345, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 338, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "8096:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 341, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 339, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "8107:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 340, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "8107:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "8096:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 344, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 342, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 321, | |
| "src": "8121:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 343, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 315, | |
| "src": "8136:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8121:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8096:45:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 346, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8096:45:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 347, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "8159:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 319, | |
| "id": 348, | |
| "nodeType": "Return", | |
| "src": "8152:11:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 350, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "free", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 316, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 315, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 350, | |
| "src": "7880:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 314, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7880:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "7879:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 319, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 318, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 350, | |
| "src": "7911:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 317, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "7911:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "7910:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "7866:304:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 388, | |
| "nodeType": "Block", | |
| "src": "8531:254:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 358 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 358, | |
| "name": "from_balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 389, | |
| "src": "8541:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 357, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "8541:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 363, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 359, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "8564:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 362, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 360, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "8575:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 361, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "8575:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "8564:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "8541:45:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 366, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 364, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8600:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 365, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 358, | |
| "src": "8608:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8600:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 372, | |
| "nodeType": "IfStatement", | |
| "src": "8596:71:0", | |
| "trueBody": { | |
| "id": 371, | |
| "nodeType": "Block", | |
| "src": "8622:45:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 369, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 367, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8636:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 368, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 358, | |
| "src": "8644:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8636:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 370, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8636:20:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 374, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8693:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 373, | |
| "name": "destroyChildren", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 313, | |
| "src": "8677:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
| "typeString": "function (uint256)" | |
| } | |
| }, | |
| "id": 375, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "8677:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 376, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8677:22:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 384, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 377, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "8710:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 380, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 378, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "8721:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 379, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "8721:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "8710:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 383, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 381, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 358, | |
| "src": "8735:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 382, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8750:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8735:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "8710:45:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 385, | |
| "nodeType": "ExpressionStatement", | |
| "src": "8710:45:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 386, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 352, | |
| "src": "8773:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 356, | |
| "id": 387, | |
| "nodeType": "Return", | |
| "src": "8766:12:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 389, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "freeUpTo", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 353, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 352, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 389, | |
| "src": "8485:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 351, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "8485:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "8484:15:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 356, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 355, | |
| "name": "freed", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 389, | |
| "src": "8516:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 354, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "8516:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "8515:15:0" | |
| }, | |
| "scope": 536, | |
| "src": "8467:318:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 459, | |
| "nodeType": "Block", | |
| "src": "9167:547:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 399 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 399, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9177:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 398, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9177:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 402, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 400, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "9195:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 401, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "9195:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "9177:28:0" | |
| }, | |
| { | |
| "assignments": [ | |
| 404 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 404, | |
| "name": "from_balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9215:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 403, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9215:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 408, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 405, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "9238:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 407, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 406, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 391, | |
| "src": "9249:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "9238:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "9215:39:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 411, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 409, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9268:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 410, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 404, | |
| "src": "9276:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9268:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 415, | |
| "nodeType": "IfStatement", | |
| "src": "9264:63:0", | |
| "trueBody": { | |
| "id": 414, | |
| "nodeType": "Block", | |
| "src": "9290:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 412, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "9311:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 397, | |
| "id": 413, | |
| "nodeType": "Return", | |
| "src": "9304:12:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "assignments": [ | |
| 419 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 419, | |
| "name": "from_allowances", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9337:43:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "typeName": { | |
| "id": 418, | |
| "keyType": { | |
| "id": 416, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9345:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "9337:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "valueType": { | |
| "id": 417, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9356:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 423, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 420, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "9383:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 422, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 421, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 391, | |
| "src": "9396:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "9383:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "9337:64:0" | |
| }, | |
| { | |
| "assignments": [ | |
| 425 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 425, | |
| "name": "spender_allowance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9411:25:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 424, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9411:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 429, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 426, | |
| "name": "from_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 419, | |
| "src": "9439:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 428, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 427, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 399, | |
| "src": "9455:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "9439:24:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "9411:52:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 432, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 430, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9477:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 431, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 425, | |
| "src": "9485:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9477:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 436, | |
| "nodeType": "IfStatement", | |
| "src": "9473:68:0", | |
| "trueBody": { | |
| "id": 435, | |
| "nodeType": "Block", | |
| "src": "9504:37:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "66616c7365", | |
| "id": 433, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "9525:5:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "false" | |
| }, | |
| "functionReturnParameters": 397, | |
| "id": 434, | |
| "nodeType": "Return", | |
| "src": "9518:12:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 438, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9567:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 437, | |
| "name": "destroyChildren", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 313, | |
| "src": "9551:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
| "typeString": "function (uint256)" | |
| } | |
| }, | |
| "id": 439, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "9551:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 440, | |
| "nodeType": "ExpressionStatement", | |
| "src": "9551:22:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 447, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 441, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "9584:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 443, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 442, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 391, | |
| "src": "9595:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "9584:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 446, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 444, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 404, | |
| "src": "9603:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 445, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9618:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9603:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9584:39:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 448, | |
| "nodeType": "ExpressionStatement", | |
| "src": "9584:39:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 455, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 449, | |
| "name": "from_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 419, | |
| "src": "9633:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 451, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 450, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 399, | |
| "src": "9649:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "9633:24:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 454, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 452, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 425, | |
| "src": "9660:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 453, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 393, | |
| "src": "9680:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9660:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "9633:52:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 456, | |
| "nodeType": "ExpressionStatement", | |
| "src": "9633:52:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "hexValue": "74727565", | |
| "id": 457, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": true, | |
| "kind": "bool", | |
| "lValueRequested": false, | |
| "nodeType": "Literal", | |
| "src": "9703:4:0", | |
| "subdenomination": null, | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "value": "true" | |
| }, | |
| "functionReturnParameters": 397, | |
| "id": 458, | |
| "nodeType": "Return", | |
| "src": "9696:11:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 460, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "freeFrom", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 394, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 391, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9108:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 390, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9108:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 393, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9122:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 392, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9122:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "9107:29:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 397, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 396, | |
| "name": "success", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 460, | |
| "src": "9153:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| }, | |
| "typeName": { | |
| "id": 395, | |
| "name": "bool", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "9153:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "9152:14:0" | |
| }, | |
| "scope": 536, | |
| "src": "9090:624:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| }, | |
| { | |
| "body": { | |
| "id": 534, | |
| "nodeType": "Block", | |
| "src": "10123:569:0", | |
| "statements": [ | |
| { | |
| "assignments": [ | |
| 470 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 470, | |
| "name": "spender", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10133:15:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 469, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10133:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 473, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 471, | |
| "name": "msg", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 737, | |
| "src": "10151:3:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_magic_message", | |
| "typeString": "msg" | |
| } | |
| }, | |
| "id": 472, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "memberName": "sender", | |
| "nodeType": "MemberAccess", | |
| "referencedDeclaration": null, | |
| "src": "10151:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "10133:28:0" | |
| }, | |
| { | |
| "assignments": [ | |
| 475 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 475, | |
| "name": "from_balance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10171:20:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 474, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10171:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 479, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 476, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "10194:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 478, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 477, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 462, | |
| "src": "10205:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "10194:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "10171:39:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 482, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 480, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10224:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 481, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 475, | |
| "src": "10232:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10224:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 488, | |
| "nodeType": "IfStatement", | |
| "src": "10220:71:0", | |
| "trueBody": { | |
| "id": 487, | |
| "nodeType": "Block", | |
| "src": "10246:45:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 485, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 483, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10260:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 484, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 475, | |
| "src": "10268:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10260:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 486, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10260:20:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "assignments": [ | |
| 492 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 492, | |
| "name": "from_allowances", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10301:43:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "typeName": { | |
| "id": 491, | |
| "keyType": { | |
| "id": 489, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10309:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "nodeType": "Mapping", | |
| "src": "10301:27:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| }, | |
| "valueType": { | |
| "id": 490, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10320:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 496, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 493, | |
| "name": "s_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 14, | |
| "src": "10347:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
| "typeString": "mapping(address => mapping(address => uint256))" | |
| } | |
| }, | |
| "id": 495, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 494, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 462, | |
| "src": "10360:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "10347:18:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "10301:64:0" | |
| }, | |
| { | |
| "assignments": [ | |
| 498 | |
| ], | |
| "declarations": [ | |
| { | |
| "constant": false, | |
| "id": 498, | |
| "name": "spender_allowance", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10375:25:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 497, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10375:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "id": 502, | |
| "initialValue": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 499, | |
| "name": "from_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 492, | |
| "src": "10403:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 501, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 500, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 470, | |
| "src": "10419:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "nodeType": "IndexAccess", | |
| "src": "10403:24:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "VariableDeclarationStatement", | |
| "src": "10375:52:0" | |
| }, | |
| { | |
| "condition": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 505, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 503, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10441:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": ">", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 504, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 498, | |
| "src": "10449:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10441:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_bool", | |
| "typeString": "bool" | |
| } | |
| }, | |
| "falseBody": null, | |
| "id": 511, | |
| "nodeType": "IfStatement", | |
| "src": "10437:81:0", | |
| "trueBody": { | |
| "id": 510, | |
| "nodeType": "Block", | |
| "src": "10468:50:0", | |
| "statements": [ | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 508, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "id": 506, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10482:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "id": 507, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 498, | |
| "src": "10490:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10482:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 509, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10482:25:0" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "arguments": [ | |
| { | |
| "argumentTypes": null, | |
| "id": 513, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10544:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| } | |
| ], | |
| "expression": { | |
| "argumentTypes": [ | |
| { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| ], | |
| "id": 512, | |
| "name": "destroyChildren", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 313, | |
| "src": "10528:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
| "typeString": "function (uint256)" | |
| } | |
| }, | |
| "id": 514, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "kind": "functionCall", | |
| "lValueRequested": false, | |
| "names": [], | |
| "nodeType": "FunctionCall", | |
| "src": "10528:22:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_tuple$__$", | |
| "typeString": "tuple()" | |
| } | |
| }, | |
| "id": 515, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10528:22:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 522, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 516, | |
| "name": "s_balances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 8, | |
| "src": "10561:10:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 518, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 517, | |
| "name": "from", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 462, | |
| "src": "10572:4:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "10561:16:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 521, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 519, | |
| "name": "from_balance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 475, | |
| "src": "10580:12:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 520, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10595:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10580:20:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10561:39:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 523, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10561:39:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 530, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftHandSide": { | |
| "argumentTypes": null, | |
| "baseExpression": { | |
| "argumentTypes": null, | |
| "id": 524, | |
| "name": "from_allowances", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 492, | |
| "src": "10610:15:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
| "typeString": "mapping(address => uint256)" | |
| } | |
| }, | |
| "id": 526, | |
| "indexExpression": { | |
| "argumentTypes": null, | |
| "id": 525, | |
| "name": "spender", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 470, | |
| "src": "10626:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "isConstant": false, | |
| "isLValue": true, | |
| "isPure": false, | |
| "lValueRequested": true, | |
| "nodeType": "IndexAccess", | |
| "src": "10610:24:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "Assignment", | |
| "operator": "=", | |
| "rightHandSide": { | |
| "argumentTypes": null, | |
| "commonType": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "id": 529, | |
| "isConstant": false, | |
| "isLValue": false, | |
| "isPure": false, | |
| "lValueRequested": false, | |
| "leftExpression": { | |
| "argumentTypes": null, | |
| "id": 527, | |
| "name": "spender_allowance", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 498, | |
| "src": "10637:17:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "nodeType": "BinaryOperation", | |
| "operator": "-", | |
| "rightExpression": { | |
| "argumentTypes": null, | |
| "id": 528, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10657:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10637:25:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "src": "10610:52:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "id": 531, | |
| "nodeType": "ExpressionStatement", | |
| "src": "10610:52:0" | |
| }, | |
| { | |
| "expression": { | |
| "argumentTypes": null, | |
| "id": 532, | |
| "name": "value", | |
| "nodeType": "Identifier", | |
| "overloadedDeclarations": [], | |
| "referencedDeclaration": 464, | |
| "src": "10680:5:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "functionReturnParameters": 468, | |
| "id": 533, | |
| "nodeType": "Return", | |
| "src": "10673:12:0" | |
| } | |
| ] | |
| }, | |
| "documentation": null, | |
| "id": 535, | |
| "implemented": true, | |
| "isConstructor": false, | |
| "isDeclaredConst": false, | |
| "modifiers": [], | |
| "name": "freeFromUpTo", | |
| "nodeType": "FunctionDefinition", | |
| "parameters": { | |
| "id": 465, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 462, | |
| "name": "from", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10063:12:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| }, | |
| "typeName": { | |
| "id": 461, | |
| "name": "address", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10063:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_address", | |
| "typeString": "address" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| }, | |
| { | |
| "constant": false, | |
| "id": 464, | |
| "name": "value", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10077:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 463, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10077:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "10062:29:0" | |
| }, | |
| "payable": false, | |
| "returnParameters": { | |
| "id": 468, | |
| "nodeType": "ParameterList", | |
| "parameters": [ | |
| { | |
| "constant": false, | |
| "id": 467, | |
| "name": "freed", | |
| "nodeType": "VariableDeclaration", | |
| "scope": 535, | |
| "src": "10108:13:0", | |
| "stateVariable": false, | |
| "storageLocation": "default", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| }, | |
| "typeName": { | |
| "id": 466, | |
| "name": "uint256", | |
| "nodeType": "ElementaryTypeName", | |
| "src": "10108:7:0", | |
| "typeDescriptions": { | |
| "typeIdentifier": "t_uint256", | |
| "typeString": "uint256" | |
| } | |
| }, | |
| "value": null, | |
| "visibility": "internal" | |
| } | |
| ], | |
| "src": "10107:15:0" | |
| }, | |
| "scope": 536, | |
| "src": "10041:651:0", | |
| "stateMutability": "nonpayable", | |
| "superFunction": null, | |
| "visibility": "public" | |
| } | |
| ], | |
| "scope": 537, | |
| "src": "45:10649:0" | |
| } | |
| ], | |
| "src": "0:10695:0" | |
| }, | |
| "networks": { | |
| "5777": { | |
| "events": {}, | |
| "links": {}, | |
| "address": "0x460D2057A448a5ee28BC236fd34Baa626B5b3C27", | |
| "transactionHash": "0x8540ff4f780e6814c11f2717f1689e964749d89636c0ea32dfa3d201386df8eb" | |
| } | |
| }, | |
| "schemaVersion": "3.0.1", | |
| "updatedAt": "2019-01-12T21:04:57.723Z" | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment