Created
January 7, 2019 22:11
-
-
Save BlinkyStitt/393dcb483e45797f88960a62271689a9 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", | |
"signature": "0x06fdde03" | |
}, | |
{ | |
"constant": false, | |
"inputs": [ | |
{ | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "freeFromUpTo", | |
"outputs": [ | |
{ | |
"name": "freed", | |
"type": "uint256" | |
} | |
], | |
"payable": false, | |
"stateMutability": "nonpayable", | |
"type": "function", | |
"signature": "0x079d229f" | |
}, | |
{ | |
"constant": false, | |
"inputs": [ | |
{ | |
"name": "spender", | |
"type": "address" | |
}, | |
{ | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "approve", | |
"outputs": [ | |
{ | |
"name": "success", | |
"type": "bool" | |
} | |
], | |
"payable": false, | |
"stateMutability": "nonpayable", | |
"type": "function", | |
"signature": "0x095ea7b3" | |
}, | |
{ | |
"constant": true, | |
"inputs": [], | |
"name": "totalSupply", | |
"outputs": [ | |
{ | |
"name": "supply", | |
"type": "uint256" | |
} | |
], | |
"payable": false, | |
"stateMutability": "view", | |
"type": "function", | |
"signature": "0x18160ddd" | |
}, | |
{ | |
"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", | |
"signature": "0x23b872dd" | |
}, | |
{ | |
"constant": true, | |
"inputs": [], | |
"name": "decimals", | |
"outputs": [ | |
{ | |
"name": "", | |
"type": "uint8" | |
} | |
], | |
"payable": false, | |
"stateMutability": "view", | |
"type": "function", | |
"signature": "0x313ce567" | |
}, | |
{ | |
"constant": false, | |
"inputs": [ | |
{ | |
"name": "from", | |
"type": "address" | |
}, | |
{ | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "freeFrom", | |
"outputs": [ | |
{ | |
"name": "success", | |
"type": "bool" | |
} | |
], | |
"payable": false, | |
"stateMutability": "nonpayable", | |
"type": "function", | |
"signature": "0x5f2e2b45" | |
}, | |
{ | |
"constant": false, | |
"inputs": [ | |
{ | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "freeUpTo", | |
"outputs": [ | |
{ | |
"name": "freed", | |
"type": "uint256" | |
} | |
], | |
"payable": false, | |
"stateMutability": "nonpayable", | |
"type": "function", | |
"signature": "0x6366b936" | |
}, | |
{ | |
"constant": true, | |
"inputs": [ | |
{ | |
"name": "owner", | |
"type": "address" | |
} | |
], | |
"name": "balanceOf", | |
"outputs": [ | |
{ | |
"name": "balance", | |
"type": "uint256" | |
} | |
], | |
"payable": false, | |
"stateMutability": "view", | |
"type": "function", | |
"signature": "0x70a08231" | |
}, | |
{ | |
"constant": true, | |
"inputs": [], | |
"name": "symbol", | |
"outputs": [ | |
{ | |
"name": "", | |
"type": "string" | |
} | |
], | |
"payable": false, | |
"stateMutability": "view", | |
"type": "function", | |
"signature": "0x95d89b41" | |
}, | |
{ | |
"constant": false, | |
"inputs": [ | |
{ | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "mint", | |
"outputs": [], | |
"payable": false, | |
"stateMutability": "nonpayable", | |
"type": "function", | |
"signature": "0xa0712d68" | |
}, | |
{ | |
"constant": false, | |
"inputs": [ | |
{ | |
"name": "to", | |
"type": "address" | |
}, | |
{ | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "transfer", | |
"outputs": [ | |
{ | |
"name": "success", | |
"type": "bool" | |
} | |
], | |
"payable": false, | |
"stateMutability": "nonpayable", | |
"type": "function", | |
"signature": "0xa9059cbb" | |
}, | |
{ | |
"constant": false, | |
"inputs": [ | |
{ | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "free", | |
"outputs": [ | |
{ | |
"name": "success", | |
"type": "bool" | |
} | |
], | |
"payable": false, | |
"stateMutability": "nonpayable", | |
"type": "function", | |
"signature": "0xd8ccd0f3" | |
}, | |
{ | |
"constant": true, | |
"inputs": [ | |
{ | |
"name": "owner", | |
"type": "address" | |
}, | |
{ | |
"name": "spender", | |
"type": "address" | |
} | |
], | |
"name": "allowance", | |
"outputs": [ | |
{ | |
"name": "remaining", | |
"type": "uint256" | |
} | |
], | |
"payable": false, | |
"stateMutability": "view", | |
"type": "function", | |
"signature": "0xdd62ed3e" | |
}, | |
{ | |
"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", | |
"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" | |
}, | |
{ | |
"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", | |
"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" | |
} | |
], | |
"bytecode": "0x608060405234801561001057600080fd5b506109b8806100206000396000f3006080604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d4578063079d229f1461015e578063095ea7b31461019457806318160ddd146101cc57806323b872dd146101e1578063313ce5671461020b5780635f2e2b45146102365780636366b9361461025a57806370a082311461027257806395d89b4114610293578063a0712d68146102a8578063a9059cbb146102c2578063d8ccd0f3146102e6578063dd62ed3e146102fe575b600080fd5b3480156100e057600080fd5b506100e9610325565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012357818101518382015260200161010b565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561016a57600080fd5b50610182600160a060020a036004351660243561035c565b60408051918252519081900360200190f35b3480156101a057600080fd5b506101b8600160a060020a03600435166024356103ff565b604080519115158252519081900360200190f35b3480156101d857600080fd5b506101826104ac565b3480156101ed57600080fd5b506101b8600160a060020a03600435811690602435166044356104b6565b34801561021757600080fd5b50610220610536565b6040805160ff9092168252519081900360200190f35b34801561024257600080fd5b506101b8600160a060020a036004351660243561053b565b34801561026657600080fd5b506101826004356105e5565b34801561027e57600080fd5b50610182600160a060020a0360043516610628565b34801561029f57600080fd5b506100e9610643565b3480156102b457600080fd5b506102c060043561067a565b005b3480156102ce57600080fd5b506101b8600160a060020a03600435166024356106b7565b3480156102f257600080fd5b506101b86004356106cd565b34801561030a57600080fd5b50610182600160a060020a0360043581169060243516610712565b60408051808201909152600b81527f476173746f6b656e2e696f000000000000000000000000000000000000000000602082015281565b600160a060020a0382166000908152602081905260408120543390828082861115610385578295505b5050600160a060020a038086166000908152600160209081526040808320938616835290839052902054808611156103bb578095505b6103c48661073d565b600160a060020a038088166000908152602081815260408083208a8803905592871682528490522086820390558594505b5050505092915050565b60003382158015906104355750600160a060020a0380821660009081526001602090815260408083209388168352929052205415155b1561044357600091506104a5565b600160a060020a03808216600081815260016020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600191505b5092915050565b6003546002540390565b600160a060020a038316600090815260016020908152604080832033808552925282205483118015906104ef57506104ef858585610784565b1561052957600160a060020a038086166000908152600160208181526040808420948616845293905291902080548590039055915061052e565b600091505b509392505050565b600281565b600160a060020a038216600090815260208190526040812054339082808286111561056957600094506103f5565b5050600160a060020a038086166000908152600160209081526040808320938616835290839052902054808611156105a457600094506103f5565b6105ad8661073d565b600160a060020a0396871660009081526020818152604080832095899003909555949097168752925290932091909203905550600190565b3360009081526020819052604081205480831115610601578092505b61060a8361073d565b33600090815260208190526040902083820390558291505b50919050565b600160a060020a031660009081526020819052604090205490565b60408051808201909152600481527f4753543200000000000000000000000000000000000000000000000000000000602082015281565b60005b818110156106965761068d61081b565b5060010161067d565b50600280548201905533600090815260208190526040902080549091019055565b6000336106c5818585610784565b949350505050565b33600090815260208190526040812054808311156106ee5760009150610622565b6106f78361073d565b33600090815260208190526040902092900390915550600190565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600354600181015b818301811161077d576107583082610851565b600160a060020a03166040516000604051808303816000865af1505050600101610745565b5001600355565b600160a060020a038316600090815260208190526040812054821161081057600160a060020a0380851660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610814565b5060005b9392505050565b60006040517e756eb3f879cb30fe243b4dfee438691c043318585733ff6000526016600af38152601f600182016000f091505090565b6000808080808068ffffffffffffffffff87111561086e57600080fd5b86600010801561087e5750608087105b156108905760019450600193506108a2565b6108998761096f565b94508460010193505b6015840192507f010000000000000000000000000000000000000000000000000000000000000060d58501026a0100000000000000000000600160a060020a038a1602017e940000000000000000000000000000000000000000000000000000000000000191506000871180156109195750608087105b15610934578669010000000000000000000282019150610957565b8460800169010000000000000000000282019150846009036101000a8702820191505b50604051908152600191909101902095945050505050565b60008060015b8084106104a55760019190910190610100026109755600a165627a7a72305820ac1037806af719f98013c7543207be45dcf8a15cf8bac2a5312ce376c8332c4e0029", | |
"ast": { | |
"absolutePath": "GST2_ETH.sol", | |
"exportedSymbols": { | |
"GasToken2": [ | |
536 | |
] | |
}, | |
"id": 537, | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.4", | |
".10" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:24:1" | |
}, | |
{ | |
"absolutePath": "/usr/src/app/external/gastoken/contract/rlp.sol", | |
"file": "rlp.sol", | |
"id": 2, | |
"nodeType": "ImportDirective", | |
"scope": 537, | |
"sourceUnit": 723, | |
"src": "26:17:1", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"baseContracts": [ | |
{ | |
"arguments": null, | |
"baseName": { | |
"contractScope": null, | |
"id": 3, | |
"name": "Rlp", | |
"nodeType": "UserDefinedTypeName", | |
"referencedDeclaration": 722, | |
"src": "67:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_Rlp_$722", | |
"typeString": "contract Rlp" | |
} | |
}, | |
"id": 4, | |
"nodeType": "InheritanceSpecifier", | |
"src": "67:3:1" | |
} | |
], | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "280:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 6, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "299:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 14, | |
"name": "s_allowances", | |
"nodeType": "VariableDeclaration", | |
"scope": 536, | |
"src": "362:60:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "362:47:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "381:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 11, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "400:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 15, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "444:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 17, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "466:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 19, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "486:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "443:57:1" | |
}, | |
"src": "429:72:1" | |
}, | |
{ | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 23, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "522:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 25, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "545:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 27, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "570:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "521:63:1" | |
}, | |
"src": "507:78:1" | |
}, | |
{ | |
"body": { | |
"id": 41, | |
"nodeType": "Block", | |
"src": "744:41:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 37, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "761:10:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "761:17:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 36, | |
"id": 40, | |
"nodeType": "Return", | |
"src": "754:24:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 31, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "687:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "686:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 36, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 35, | |
"name": "balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 42, | |
"src": "727:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 34, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "727:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "726:17:1" | |
}, | |
"scope": 536, | |
"src": "668:117:1", | |
"stateMutability": "view", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 83, | |
"nodeType": "Block", | |
"src": "890:246:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "913:16:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "904:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 81, | |
"nodeType": "Block", | |
"src": "1093:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 79, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1114:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 52, | |
"id": 80, | |
"nodeType": "Return", | |
"src": "1107:12:1" | |
} | |
] | |
}, | |
"id": 82, | |
"nodeType": "IfStatement", | |
"src": "900:230:1", | |
"trueBody": { | |
"id": 78, | |
"nodeType": "Block", | |
"src": "931:156:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "945:16:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 61, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "965:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "945:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 63, | |
"nodeType": "ExpressionStatement", | |
"src": "945:25:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "984:14:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 67, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "1002:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "984:23:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 69, | |
"nodeType": "ExpressionStatement", | |
"src": "984:23:1" | |
}, | |
{ | |
"eventCall": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 71, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 44, | |
"src": "1035:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 72, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 46, | |
"src": "1041:2:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 73, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "1045:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 75, | |
"nodeType": "EmitStatement", | |
"src": "1021:30:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 76, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1072:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 52, | |
"id": 77, | |
"nodeType": "Return", | |
"src": "1065:11:1" | |
} | |
] | |
} | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 43, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "817:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 46, | |
"name": "to", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "831:10:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 45, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "831:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 48, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "843:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 47, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "843:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "816:41:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 52, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 51, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "876:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 50, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "876:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "875:14:1" | |
}, | |
"scope": 536, | |
"src": "791:345:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 104, | |
"nodeType": "Block", | |
"src": "1276:92:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
94 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 94, | |
"name": "from", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1286:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 93, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1286:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "1286:25:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 99, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 94, | |
"src": "1345:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 100, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 86, | |
"src": "1351:2:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 101, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 88, | |
"src": "1355:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"functionReturnParameters": 92, | |
"id": 103, | |
"nodeType": "Return", | |
"src": "1321:40:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 85, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1219:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 88, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1231:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 87, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1231:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1218:27:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 92, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 91, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1262:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 90, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1262:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1261:14:1" | |
}, | |
"scope": 536, | |
"src": "1201:167:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 149, | |
"nodeType": "Block", | |
"src": "1546:261:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
117 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 117, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1556:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 116, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1556:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "1556:28:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1606:18:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1606:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1597:36:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 130, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 109, | |
"src": "1660:2:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 131, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 111, | |
"src": "1664:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "1597:73:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 147, | |
"nodeType": "Block", | |
"src": "1764:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 145, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1785:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 115, | |
"id": 146, | |
"nodeType": "Return", | |
"src": "1778:12:1" | |
} | |
] | |
}, | |
"id": 148, | |
"nodeType": "IfStatement", | |
"src": "1594:207:1", | |
"trueBody": { | |
"id": 144, | |
"nodeType": "Block", | |
"src": "1672:86:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1686:18:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "1686:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 139, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 111, | |
"src": "1717:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1686:36:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 141, | |
"nodeType": "ExpressionStatement", | |
"src": "1686:36:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 142, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1743:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 115, | |
"id": 143, | |
"nodeType": "Return", | |
"src": "1736:11:1" | |
} | |
] | |
} | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 106, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1475:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 109, | |
"name": "to", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1489:10:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 108, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1489:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 111, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1501:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 110, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1501:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1474:41:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 115, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 114, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1532:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 113, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1532:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1531:14:1" | |
}, | |
"scope": 536, | |
"src": "1453:354:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 195, | |
"nodeType": "Block", | |
"src": "2091:255:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
160 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 160, | |
"name": "owner", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2101:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 159, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2101:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2101:26:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "2141:10:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2155:19:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2155:28:1", | |
"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:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "2155:33:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "2141:47:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 178, | |
"nodeType": "IfStatement", | |
"src": "2137:90:1", | |
"trueBody": { | |
"id": 177, | |
"nodeType": "Block", | |
"src": "2190:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 175, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2211:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 158, | |
"id": 176, | |
"nodeType": "Return", | |
"src": "2204:12:1" | |
} | |
] | |
} | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2236:19:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "2236:28:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 184, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 154, | |
"src": "2267:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2236:36:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 186, | |
"nodeType": "ExpressionStatement", | |
"src": "2236:36:1" | |
}, | |
{ | |
"eventCall": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 188, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 160, | |
"src": "2296:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 189, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 152, | |
"src": "2303:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 190, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 154, | |
"src": "2312:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 192, | |
"nodeType": "EmitStatement", | |
"src": "2282:36:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 193, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2335:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 158, | |
"id": 194, | |
"nodeType": "Return", | |
"src": "2328:11:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 151, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2029:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 154, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2046:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 153, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2046:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2028:32:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 158, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 157, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2077:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 156, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2077:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2076:14:1" | |
}, | |
"scope": 536, | |
"src": "2012:334:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 211, | |
"nodeType": "Block", | |
"src": "2760:52:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 205, | |
"name": "s_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2777:12:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2777:19:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2777:28:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 204, | |
"id": 210, | |
"nodeType": "Return", | |
"src": "2770:35:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 197, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2684:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 200, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 212, | |
"src": "2699:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 199, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2699:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2683:32:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 204, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 203, | |
"name": "remaining", | |
"nodeType": "VariableDeclaration", | |
"scope": 212, | |
"src": "2741:17:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 202, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2741:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2740:19:1" | |
}, | |
"scope": 536, | |
"src": "2665:147:1", | |
"stateMutability": "view", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"constant": true, | |
"id": 215, | |
"name": "decimals", | |
"nodeType": "VariableDeclaration", | |
"scope": 536, | |
"src": "3003:34:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 213, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "3003:5:1", | |
"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:1", | |
"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:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 216, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "3043:6:1", | |
"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:1", | |
"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:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 219, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "3092:6:1", | |
"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:1", | |
"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:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 222, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3800:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 225, | |
"name": "s_tail", | |
"nodeType": "VariableDeclaration", | |
"scope": 536, | |
"src": "3820:14:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 224, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3820:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 234, | |
"nodeType": "Block", | |
"src": "4079:39:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "4096:15:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 229, | |
"id": 233, | |
"nodeType": "Return", | |
"src": "4089:22:1" | |
} | |
] | |
}, | |
"documentation": null, | |
"id": 235, | |
"implemented": true, | |
"isConstructor": false, | |
"isDeclaredConst": true, | |
"modifiers": [], | |
"name": "totalSupply", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 226, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4035:2:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 229, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 228, | |
"name": "supply", | |
"nodeType": "VariableDeclaration", | |
"scope": 235, | |
"src": "4063:14:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 227, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "4063:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "4062:16:1" | |
}, | |
"scope": 536, | |
"src": "4015:103:1", | |
"stateMutability": "view", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 241, | |
"nodeType": "Block", | |
"src": "4254:1660:1", | |
"statements": [ | |
{ | |
"externalReferences": [ | |
{ | |
"addr": { | |
"declaration": 238, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "5846:4:1", | |
"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:1" | |
} | |
] | |
}, | |
"documentation": null, | |
"id": 242, | |
"implemented": true, | |
"isConstructor": false, | |
"isDeclaredConst": false, | |
"modifiers": [], | |
"name": "makeChild", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 236, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4219:2:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 239, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 238, | |
"name": "addr", | |
"nodeType": "VariableDeclaration", | |
"scope": 242, | |
"src": "4240:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 237, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4240:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "4239:14:1" | |
}, | |
"scope": 536, | |
"src": "4201:1713:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 273, | |
"nodeType": "Block", | |
"src": "6134:154:1", | |
"statements": [ | |
{ | |
"body": { | |
"id": 260, | |
"nodeType": "Block", | |
"src": "6180:36:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"id": 257, | |
"name": "makeChild", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 242, | |
"src": "6194:9:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 259, | |
"nodeType": "ExpressionStatement", | |
"src": "6194:11:1" | |
} | |
] | |
}, | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 252, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6168:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6164:9:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 247, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6149:7:1", | |
"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:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "6149:13:1" | |
}, | |
"loopExpression": { | |
"expression": { | |
"argumentTypes": null, | |
"id": 255, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "UnaryOperation", | |
"operator": "++", | |
"prefix": false, | |
"src": "6175:3:1", | |
"subExpression": { | |
"argumentTypes": null, | |
"id": 254, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 248, | |
"src": "6175:1:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 256, | |
"nodeType": "ExpressionStatement", | |
"src": "6175:3:1" | |
}, | |
"nodeType": "ForStatement", | |
"src": "6144:72:1" | |
}, | |
{ | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 263, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6235:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6225:15:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 265, | |
"nodeType": "ExpressionStatement", | |
"src": "6225:15:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "6250:22:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 270, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6276:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6250:31:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 272, | |
"nodeType": "ExpressionStatement", | |
"src": "6250:31:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 243, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6112:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "6111:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 246, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "6134:0:1" | |
}, | |
"scope": 536, | |
"src": "6098:190:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 312, | |
"nodeType": "Block", | |
"src": "7228:259:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
280 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 280, | |
"name": "tail", | |
"nodeType": "VariableDeclaration", | |
"scope": 313, | |
"src": "7238:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 279, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7238:7:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7238:21:1" | |
}, | |
{ | |
"body": { | |
"id": 304, | |
"nodeType": "Block", | |
"src": "7389:60:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_GasToken2_$536", | |
"typeString": "contract GasToken2" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 299, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 284, | |
"src": "7429:1:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 303, | |
"nodeType": "ExpressionStatement", | |
"src": "7403:35:1" | |
} | |
] | |
}, | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 291, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 276, | |
"src": "7377:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7370:12:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7365:17:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 283, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7343:7:1", | |
"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:1", | |
"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:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_1_by_1", | |
"typeString": "int_const 1" | |
}, | |
"value": "1" | |
}, | |
"src": "7355:8:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7343:20:1" | |
}, | |
"loopExpression": { | |
"expression": { | |
"argumentTypes": null, | |
"id": 295, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "UnaryOperation", | |
"operator": "++", | |
"prefix": false, | |
"src": "7384:3:1", | |
"subExpression": { | |
"argumentTypes": null, | |
"id": 294, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 284, | |
"src": "7384:1:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 296, | |
"nodeType": "ExpressionStatement", | |
"src": "7384:3:1" | |
}, | |
"nodeType": "ForStatement", | |
"src": "7338:111:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 308, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 276, | |
"src": "7475:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7468:12:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7459:21:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 311, | |
"nodeType": "ExpressionStatement", | |
"src": "7459:21:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 275, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7204:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7203:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 278, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "7228:0:1" | |
}, | |
"scope": 536, | |
"src": "7179:308:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 349, | |
"nodeType": "Block", | |
"src": "7925:245:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
321 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 321, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 350, | |
"src": "7935:20:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 320, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7935:7:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "7958:22:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7935:45:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7994:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 333, | |
"nodeType": "IfStatement", | |
"src": "7990:63:1", | |
"trueBody": { | |
"id": 332, | |
"nodeType": "Block", | |
"src": "8016:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 330, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8037:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 319, | |
"id": 331, | |
"nodeType": "Return", | |
"src": "8030:12:1" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 335, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 315, | |
"src": "8079:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 337, | |
"nodeType": "ExpressionStatement", | |
"src": "8063:22:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "8096:22:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 343, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 315, | |
"src": "8136:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8121:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8096:45:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 346, | |
"nodeType": "ExpressionStatement", | |
"src": "8096:45:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 347, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8159:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 319, | |
"id": 348, | |
"nodeType": "Return", | |
"src": "8152:11:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 314, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7880:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7879:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 319, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 318, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 350, | |
"src": "7911:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 317, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "7911:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7910:14:1" | |
}, | |
"scope": 536, | |
"src": "7866:304:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 388, | |
"nodeType": "Block", | |
"src": "8531:254:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
358 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 358, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 389, | |
"src": "8541:20:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 357, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8541:7:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "8564:22:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "8541:45:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8600:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 372, | |
"nodeType": "IfStatement", | |
"src": "8596:71:1", | |
"trueBody": { | |
"id": 371, | |
"nodeType": "Block", | |
"src": "8622:45:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8636:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 370, | |
"nodeType": "ExpressionStatement", | |
"src": "8636:20:1" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 374, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8693:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 376, | |
"nodeType": "ExpressionStatement", | |
"src": "8677:22:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "8710:22:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 382, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8750:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8735:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8710:45:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 385, | |
"nodeType": "ExpressionStatement", | |
"src": "8710:45:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 386, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8773:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 356, | |
"id": 387, | |
"nodeType": "Return", | |
"src": "8766:12:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 351, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8485:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "8484:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 356, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 355, | |
"name": "freed", | |
"nodeType": "VariableDeclaration", | |
"scope": 389, | |
"src": "8516:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 354, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8516:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "8515:15:1" | |
}, | |
"scope": 536, | |
"src": "8467:318:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 459, | |
"nodeType": "Block", | |
"src": "9167:547:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
399 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 399, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9177:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 398, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9177:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9177:28:1" | |
}, | |
{ | |
"assignments": [ | |
404 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 404, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9215:20:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 403, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9215:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9238:16:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9215:39:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9268:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 415, | |
"nodeType": "IfStatement", | |
"src": "9264:63:1", | |
"trueBody": { | |
"id": 414, | |
"nodeType": "Block", | |
"src": "9290:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 412, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9311:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 397, | |
"id": 413, | |
"nodeType": "Return", | |
"src": "9304:12:1" | |
} | |
] | |
} | |
}, | |
{ | |
"assignments": [ | |
419 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 419, | |
"name": "from_allowances", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9337:43:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "9337:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 417, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9356:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9383:18:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9337:64:1" | |
}, | |
{ | |
"assignments": [ | |
425 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 425, | |
"name": "spender_allowance", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9411:25:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 424, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9411:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9439:24:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9411:52:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9477:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 436, | |
"nodeType": "IfStatement", | |
"src": "9473:68:1", | |
"trueBody": { | |
"id": 435, | |
"nodeType": "Block", | |
"src": "9504:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 433, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9525:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 397, | |
"id": 434, | |
"nodeType": "Return", | |
"src": "9518:12:1" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 438, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9567:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 440, | |
"nodeType": "ExpressionStatement", | |
"src": "9551:22:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "9584:16:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 445, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9618:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9603:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9584:39:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 448, | |
"nodeType": "ExpressionStatement", | |
"src": "9584:39:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "9633:24:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 453, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9680:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9660:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9633:52:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 456, | |
"nodeType": "ExpressionStatement", | |
"src": "9633:52:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 457, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9703:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 397, | |
"id": 458, | |
"nodeType": "Return", | |
"src": "9696:11:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 390, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9108:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 393, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9122:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 392, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9122:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "9107:29:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 397, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 396, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9153:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 395, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "9153:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "9152:14:1" | |
}, | |
"scope": 536, | |
"src": "9090:624:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 534, | |
"nodeType": "Block", | |
"src": "10123:569:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
470 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 470, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10133:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 469, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "10133:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "10133:28:1" | |
}, | |
{ | |
"assignments": [ | |
475 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 475, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10171:20:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 474, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10171:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "10194:16:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "10171:39:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10224:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 488, | |
"nodeType": "IfStatement", | |
"src": "10220:71:1", | |
"trueBody": { | |
"id": 487, | |
"nodeType": "Block", | |
"src": "10246:45:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10260:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 486, | |
"nodeType": "ExpressionStatement", | |
"src": "10260:20:1" | |
} | |
] | |
} | |
}, | |
{ | |
"assignments": [ | |
492 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 492, | |
"name": "from_allowances", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10301:43:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "10301:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 490, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10320:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "10347:18:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "10301:64:1" | |
}, | |
{ | |
"assignments": [ | |
498 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 498, | |
"name": "spender_allowance", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10375:25:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 497, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10375:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "10403:24:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "10375:52:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10441:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 511, | |
"nodeType": "IfStatement", | |
"src": "10437:81:1", | |
"trueBody": { | |
"id": 510, | |
"nodeType": "Block", | |
"src": "10468:50:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10482:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 509, | |
"nodeType": "ExpressionStatement", | |
"src": "10482:25:1" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 513, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 464, | |
"src": "10544:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 515, | |
"nodeType": "ExpressionStatement", | |
"src": "10528:22:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "10561:16:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 520, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 464, | |
"src": "10595:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10580:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10561:39:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 523, | |
"nodeType": "ExpressionStatement", | |
"src": "10561:39:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "10610:24:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 528, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 464, | |
"src": "10657:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10637:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10610:52:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 531, | |
"nodeType": "ExpressionStatement", | |
"src": "10610:52:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 532, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 464, | |
"src": "10680:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 468, | |
"id": 533, | |
"nodeType": "Return", | |
"src": "10673:12:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 461, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "10063:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 464, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10077:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 463, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10077:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "10062:29:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 468, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 467, | |
"name": "freed", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10108:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 466, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10108:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "10107:15:1" | |
}, | |
"scope": 536, | |
"src": "10041:651:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
} | |
], | |
"scope": 537, | |
"src": "45:10649:1" | |
} | |
], | |
"src": "0:10695:1" | |
}, | |
"legacyAST": { | |
"absolutePath": "GST2_ETH.sol", | |
"exportedSymbols": { | |
"GasToken2": [ | |
536 | |
] | |
}, | |
"id": 537, | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.4", | |
".10" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:24:1" | |
}, | |
{ | |
"absolutePath": "/usr/src/app/external/gastoken/contract/rlp.sol", | |
"file": "rlp.sol", | |
"id": 2, | |
"nodeType": "ImportDirective", | |
"scope": 537, | |
"sourceUnit": 723, | |
"src": "26:17:1", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"baseContracts": [ | |
{ | |
"arguments": null, | |
"baseName": { | |
"contractScope": null, | |
"id": 3, | |
"name": "Rlp", | |
"nodeType": "UserDefinedTypeName", | |
"referencedDeclaration": 722, | |
"src": "67:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_Rlp_$722", | |
"typeString": "contract Rlp" | |
} | |
}, | |
"id": 4, | |
"nodeType": "InheritanceSpecifier", | |
"src": "67:3:1" | |
} | |
], | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "280:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 6, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "299:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 14, | |
"name": "s_allowances", | |
"nodeType": "VariableDeclaration", | |
"scope": 536, | |
"src": "362:60:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "362:47:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "381:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 11, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "400:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 15, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "444:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 17, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "466:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 19, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "486:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "443:57:1" | |
}, | |
"src": "429:72:1" | |
}, | |
{ | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 23, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "522:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 25, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "545:7:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 27, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "570:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "521:63:1" | |
}, | |
"src": "507:78:1" | |
}, | |
{ | |
"body": { | |
"id": 41, | |
"nodeType": "Block", | |
"src": "744:41:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 37, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "761:10:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "761:17:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 36, | |
"id": 40, | |
"nodeType": "Return", | |
"src": "754:24:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 31, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "687:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "686:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 36, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 35, | |
"name": "balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 42, | |
"src": "727:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 34, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "727:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "726:17:1" | |
}, | |
"scope": 536, | |
"src": "668:117:1", | |
"stateMutability": "view", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 83, | |
"nodeType": "Block", | |
"src": "890:246:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "913:16:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "904:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 81, | |
"nodeType": "Block", | |
"src": "1093:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 79, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1114:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 52, | |
"id": 80, | |
"nodeType": "Return", | |
"src": "1107:12:1" | |
} | |
] | |
}, | |
"id": 82, | |
"nodeType": "IfStatement", | |
"src": "900:230:1", | |
"trueBody": { | |
"id": 78, | |
"nodeType": "Block", | |
"src": "931:156:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "945:16:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 61, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "965:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "945:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 63, | |
"nodeType": "ExpressionStatement", | |
"src": "945:25:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "984:14:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 67, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "1002:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "984:23:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 69, | |
"nodeType": "ExpressionStatement", | |
"src": "984:23:1" | |
}, | |
{ | |
"eventCall": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 71, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 44, | |
"src": "1035:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 72, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 46, | |
"src": "1041:2:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 73, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "1045:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 75, | |
"nodeType": "EmitStatement", | |
"src": "1021:30:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 76, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1072:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 52, | |
"id": 77, | |
"nodeType": "Return", | |
"src": "1065:11:1" | |
} | |
] | |
} | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 43, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "817:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 46, | |
"name": "to", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "831:10:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 45, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "831:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 48, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "843:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 47, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "843:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "816:41:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 52, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 51, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "876:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 50, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "876:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "875:14:1" | |
}, | |
"scope": 536, | |
"src": "791:345:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 104, | |
"nodeType": "Block", | |
"src": "1276:92:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
94 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 94, | |
"name": "from", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1286:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 93, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1286:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "1286:25:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 99, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 94, | |
"src": "1345:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 100, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 86, | |
"src": "1351:2:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 101, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 88, | |
"src": "1355:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"functionReturnParameters": 92, | |
"id": 103, | |
"nodeType": "Return", | |
"src": "1321:40:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 85, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1219:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 88, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1231:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 87, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1231:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1218:27:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 92, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 91, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1262:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 90, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1262:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1261:14:1" | |
}, | |
"scope": 536, | |
"src": "1201:167:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 149, | |
"nodeType": "Block", | |
"src": "1546:261:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
117 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 117, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1556:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 116, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1556:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "1556:28:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1606:18:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1606:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1597:36:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 130, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 109, | |
"src": "1660:2:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 131, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 111, | |
"src": "1664:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "1597:73:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 147, | |
"nodeType": "Block", | |
"src": "1764:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 145, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1785:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 115, | |
"id": 146, | |
"nodeType": "Return", | |
"src": "1778:12:1" | |
} | |
] | |
}, | |
"id": 148, | |
"nodeType": "IfStatement", | |
"src": "1594:207:1", | |
"trueBody": { | |
"id": 144, | |
"nodeType": "Block", | |
"src": "1672:86:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1686:18:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "1686:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 139, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 111, | |
"src": "1717:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1686:36:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 141, | |
"nodeType": "ExpressionStatement", | |
"src": "1686:36:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 142, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1743:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 115, | |
"id": 143, | |
"nodeType": "Return", | |
"src": "1736:11:1" | |
} | |
] | |
} | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 106, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1475:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 109, | |
"name": "to", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1489:10:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 108, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1489:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 111, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1501:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 110, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1501:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1474:41:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 115, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 114, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1532:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 113, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1532:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1531:14:1" | |
}, | |
"scope": 536, | |
"src": "1453:354:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 195, | |
"nodeType": "Block", | |
"src": "2091:255:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
160 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 160, | |
"name": "owner", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2101:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 159, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2101:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2101:26:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "2141:10:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2155:19:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2155:28:1", | |
"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:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "2155:33:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "2141:47:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 178, | |
"nodeType": "IfStatement", | |
"src": "2137:90:1", | |
"trueBody": { | |
"id": 177, | |
"nodeType": "Block", | |
"src": "2190:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 175, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2211:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 158, | |
"id": 176, | |
"nodeType": "Return", | |
"src": "2204:12:1" | |
} | |
] | |
} | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2236:19:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "2236:28:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 184, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 154, | |
"src": "2267:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2236:36:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 186, | |
"nodeType": "ExpressionStatement", | |
"src": "2236:36:1" | |
}, | |
{ | |
"eventCall": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 188, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 160, | |
"src": "2296:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 189, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 152, | |
"src": "2303:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 190, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 154, | |
"src": "2312:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 192, | |
"nodeType": "EmitStatement", | |
"src": "2282:36:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 193, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2335:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 158, | |
"id": 194, | |
"nodeType": "Return", | |
"src": "2328:11:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 151, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2029:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 154, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2046:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 153, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2046:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2028:32:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 158, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 157, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2077:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 156, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2077:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2076:14:1" | |
}, | |
"scope": 536, | |
"src": "2012:334:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 211, | |
"nodeType": "Block", | |
"src": "2760:52:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 205, | |
"name": "s_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2777:12:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2777:19:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2777:28:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 204, | |
"id": 210, | |
"nodeType": "Return", | |
"src": "2770:35:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 197, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2684:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 200, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 212, | |
"src": "2699:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 199, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2699:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2683:32:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 204, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 203, | |
"name": "remaining", | |
"nodeType": "VariableDeclaration", | |
"scope": 212, | |
"src": "2741:17:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 202, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2741:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2740:19:1" | |
}, | |
"scope": 536, | |
"src": "2665:147:1", | |
"stateMutability": "view", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"constant": true, | |
"id": 215, | |
"name": "decimals", | |
"nodeType": "VariableDeclaration", | |
"scope": 536, | |
"src": "3003:34:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 213, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "3003:5:1", | |
"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:1", | |
"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:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 216, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "3043:6:1", | |
"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:1", | |
"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:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 219, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "3092:6:1", | |
"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:1", | |
"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:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 222, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3800:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 225, | |
"name": "s_tail", | |
"nodeType": "VariableDeclaration", | |
"scope": 536, | |
"src": "3820:14:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 224, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3820:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 234, | |
"nodeType": "Block", | |
"src": "4079:39:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "4096:15:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 229, | |
"id": 233, | |
"nodeType": "Return", | |
"src": "4089:22:1" | |
} | |
] | |
}, | |
"documentation": null, | |
"id": 235, | |
"implemented": true, | |
"isConstructor": false, | |
"isDeclaredConst": true, | |
"modifiers": [], | |
"name": "totalSupply", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 226, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4035:2:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 229, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 228, | |
"name": "supply", | |
"nodeType": "VariableDeclaration", | |
"scope": 235, | |
"src": "4063:14:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 227, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "4063:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "4062:16:1" | |
}, | |
"scope": 536, | |
"src": "4015:103:1", | |
"stateMutability": "view", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 241, | |
"nodeType": "Block", | |
"src": "4254:1660:1", | |
"statements": [ | |
{ | |
"externalReferences": [ | |
{ | |
"addr": { | |
"declaration": 238, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "5846:4:1", | |
"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:1" | |
} | |
] | |
}, | |
"documentation": null, | |
"id": 242, | |
"implemented": true, | |
"isConstructor": false, | |
"isDeclaredConst": false, | |
"modifiers": [], | |
"name": "makeChild", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 236, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4219:2:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 239, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 238, | |
"name": "addr", | |
"nodeType": "VariableDeclaration", | |
"scope": 242, | |
"src": "4240:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 237, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4240:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "4239:14:1" | |
}, | |
"scope": 536, | |
"src": "4201:1713:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 273, | |
"nodeType": "Block", | |
"src": "6134:154:1", | |
"statements": [ | |
{ | |
"body": { | |
"id": 260, | |
"nodeType": "Block", | |
"src": "6180:36:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"id": 257, | |
"name": "makeChild", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 242, | |
"src": "6194:9:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 259, | |
"nodeType": "ExpressionStatement", | |
"src": "6194:11:1" | |
} | |
] | |
}, | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 252, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6168:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6164:9:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 247, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6149:7:1", | |
"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:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "6149:13:1" | |
}, | |
"loopExpression": { | |
"expression": { | |
"argumentTypes": null, | |
"id": 255, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "UnaryOperation", | |
"operator": "++", | |
"prefix": false, | |
"src": "6175:3:1", | |
"subExpression": { | |
"argumentTypes": null, | |
"id": 254, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 248, | |
"src": "6175:1:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 256, | |
"nodeType": "ExpressionStatement", | |
"src": "6175:3:1" | |
}, | |
"nodeType": "ForStatement", | |
"src": "6144:72:1" | |
}, | |
{ | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 263, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6235:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6225:15:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 265, | |
"nodeType": "ExpressionStatement", | |
"src": "6225:15:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "6250:22:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 270, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6276:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6250:31:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 272, | |
"nodeType": "ExpressionStatement", | |
"src": "6250:31:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 243, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6112:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "6111:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 246, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "6134:0:1" | |
}, | |
"scope": 536, | |
"src": "6098:190:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 312, | |
"nodeType": "Block", | |
"src": "7228:259:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
280 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 280, | |
"name": "tail", | |
"nodeType": "VariableDeclaration", | |
"scope": 313, | |
"src": "7238:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 279, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7238:7:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7238:21:1" | |
}, | |
{ | |
"body": { | |
"id": 304, | |
"nodeType": "Block", | |
"src": "7389:60:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_GasToken2_$536", | |
"typeString": "contract GasToken2" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 299, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 284, | |
"src": "7429:1:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 303, | |
"nodeType": "ExpressionStatement", | |
"src": "7403:35:1" | |
} | |
] | |
}, | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 291, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 276, | |
"src": "7377:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7370:12:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7365:17:1", | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 283, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7343:7:1", | |
"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:1", | |
"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:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_1_by_1", | |
"typeString": "int_const 1" | |
}, | |
"value": "1" | |
}, | |
"src": "7355:8:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7343:20:1" | |
}, | |
"loopExpression": { | |
"expression": { | |
"argumentTypes": null, | |
"id": 295, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "UnaryOperation", | |
"operator": "++", | |
"prefix": false, | |
"src": "7384:3:1", | |
"subExpression": { | |
"argumentTypes": null, | |
"id": 294, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 284, | |
"src": "7384:1:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 296, | |
"nodeType": "ExpressionStatement", | |
"src": "7384:3:1" | |
}, | |
"nodeType": "ForStatement", | |
"src": "7338:111:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 308, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 276, | |
"src": "7475:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7468:12:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7459:21:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 311, | |
"nodeType": "ExpressionStatement", | |
"src": "7459:21:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 275, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7204:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7203:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 278, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "7228:0:1" | |
}, | |
"scope": 536, | |
"src": "7179:308:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 349, | |
"nodeType": "Block", | |
"src": "7925:245:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
321 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 321, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 350, | |
"src": "7935:20:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 320, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7935:7:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "7958:22:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7935:45:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7994:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 333, | |
"nodeType": "IfStatement", | |
"src": "7990:63:1", | |
"trueBody": { | |
"id": 332, | |
"nodeType": "Block", | |
"src": "8016:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 330, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8037:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 319, | |
"id": 331, | |
"nodeType": "Return", | |
"src": "8030:12:1" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 335, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 315, | |
"src": "8079:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 337, | |
"nodeType": "ExpressionStatement", | |
"src": "8063:22:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "8096:22:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 343, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 315, | |
"src": "8136:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8121:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8096:45:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 346, | |
"nodeType": "ExpressionStatement", | |
"src": "8096:45:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 347, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8159:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 319, | |
"id": 348, | |
"nodeType": "Return", | |
"src": "8152:11:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 314, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7880:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7879:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 319, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 318, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 350, | |
"src": "7911:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 317, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "7911:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7910:14:1" | |
}, | |
"scope": 536, | |
"src": "7866:304:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 388, | |
"nodeType": "Block", | |
"src": "8531:254:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
358 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 358, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 389, | |
"src": "8541:20:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 357, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8541:7:1", | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "8564:22:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "8541:45:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8600:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 372, | |
"nodeType": "IfStatement", | |
"src": "8596:71:1", | |
"trueBody": { | |
"id": 371, | |
"nodeType": "Block", | |
"src": "8622:45:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8636:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 370, | |
"nodeType": "ExpressionStatement", | |
"src": "8636:20:1" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 374, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8693:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 376, | |
"nodeType": "ExpressionStatement", | |
"src": "8677:22:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "8710:22:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 382, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8750:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8735:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8710:45:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 385, | |
"nodeType": "ExpressionStatement", | |
"src": "8710:45:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 386, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8773:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 356, | |
"id": 387, | |
"nodeType": "Return", | |
"src": "8766:12:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 351, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8485:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "8484:15:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 356, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 355, | |
"name": "freed", | |
"nodeType": "VariableDeclaration", | |
"scope": 389, | |
"src": "8516:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 354, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8516:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "8515:15:1" | |
}, | |
"scope": 536, | |
"src": "8467:318:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 459, | |
"nodeType": "Block", | |
"src": "9167:547:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
399 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 399, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9177:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 398, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9177:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9177:28:1" | |
}, | |
{ | |
"assignments": [ | |
404 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 404, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9215:20:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 403, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9215:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9238:16:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9215:39:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9268:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 415, | |
"nodeType": "IfStatement", | |
"src": "9264:63:1", | |
"trueBody": { | |
"id": 414, | |
"nodeType": "Block", | |
"src": "9290:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 412, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9311:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 397, | |
"id": 413, | |
"nodeType": "Return", | |
"src": "9304:12:1" | |
} | |
] | |
} | |
}, | |
{ | |
"assignments": [ | |
419 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 419, | |
"name": "from_allowances", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9337:43:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "9337:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 417, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9356:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9383:18:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9337:64:1" | |
}, | |
{ | |
"assignments": [ | |
425 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 425, | |
"name": "spender_allowance", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9411:25:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 424, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9411:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9439:24:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9411:52:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9477:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 436, | |
"nodeType": "IfStatement", | |
"src": "9473:68:1", | |
"trueBody": { | |
"id": 435, | |
"nodeType": "Block", | |
"src": "9504:37:1", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 433, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9525:5:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 397, | |
"id": 434, | |
"nodeType": "Return", | |
"src": "9518:12:1" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 438, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9567:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 440, | |
"nodeType": "ExpressionStatement", | |
"src": "9551:22:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "9584:16:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 445, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9618:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9603:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9584:39:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 448, | |
"nodeType": "ExpressionStatement", | |
"src": "9584:39:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "9633:24:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 453, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9680:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9660:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9633:52:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 456, | |
"nodeType": "ExpressionStatement", | |
"src": "9633:52:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 457, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9703:4:1", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 397, | |
"id": 458, | |
"nodeType": "Return", | |
"src": "9696:11:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 390, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9108:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 393, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9122:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 392, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9122:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "9107:29:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 397, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 396, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9153:12:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 395, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "9153:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "9152:14:1" | |
}, | |
"scope": 536, | |
"src": "9090:624:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 534, | |
"nodeType": "Block", | |
"src": "10123:569:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
470 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 470, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10133:15:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 469, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "10133:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "10133:28:1" | |
}, | |
{ | |
"assignments": [ | |
475 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 475, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10171:20:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 474, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10171:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "10194:16:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "10171:39:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10224:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 488, | |
"nodeType": "IfStatement", | |
"src": "10220:71:1", | |
"trueBody": { | |
"id": 487, | |
"nodeType": "Block", | |
"src": "10246:45:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10260:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 486, | |
"nodeType": "ExpressionStatement", | |
"src": "10260:20:1" | |
} | |
] | |
} | |
}, | |
{ | |
"assignments": [ | |
492 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 492, | |
"name": "from_allowances", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10301:43:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "10301:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 490, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10320:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "10347:18:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "10301:64:1" | |
}, | |
{ | |
"assignments": [ | |
498 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 498, | |
"name": "spender_allowance", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10375:25:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 497, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10375:7:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "10403:24:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "10375:52:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10441:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 511, | |
"nodeType": "IfStatement", | |
"src": "10437:81:1", | |
"trueBody": { | |
"id": 510, | |
"nodeType": "Block", | |
"src": "10468:50:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10482:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 509, | |
"nodeType": "ExpressionStatement", | |
"src": "10482:25:1" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 513, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 464, | |
"src": "10544:5:1", | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 515, | |
"nodeType": "ExpressionStatement", | |
"src": "10528:22:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "10561:16:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 520, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 464, | |
"src": "10595:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10580:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10561:39:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 523, | |
"nodeType": "ExpressionStatement", | |
"src": "10561:39:1" | |
}, | |
{ | |
"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:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "10610:24:1", | |
"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:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 528, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 464, | |
"src": "10657:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10637:25:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "10610:52:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 531, | |
"nodeType": "ExpressionStatement", | |
"src": "10610:52:1" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 532, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 464, | |
"src": "10680:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 468, | |
"id": 533, | |
"nodeType": "Return", | |
"src": "10673:12:1" | |
} | |
] | |
}, | |
"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:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 461, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "10063:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 464, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10077:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 463, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10077:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "10062:29:1" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 468, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 467, | |
"name": "freed", | |
"nodeType": "VariableDeclaration", | |
"scope": 535, | |
"src": "10108:13:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 466, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10108:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "10107:15:1" | |
}, | |
"scope": 536, | |
"src": "10041:651:1", | |
"stateMutability": "nonpayable", | |
"superFunction": null, | |
"visibility": "public" | |
} | |
], | |
"scope": 537, | |
"src": "45:10649:1" | |
} | |
], | |
"src": "0:10695:1" | |
}, | |
"networks": { | |
"1546830070646": { | |
"events": {}, | |
"links": {}, | |
"address": "0x1987581a45F8de3ad91A02F0C565D145835b2f98", | |
"transactionHash": "0xf171e8ccb3c374e0f756af97a528721a4d9e24f3dc8108df56ebfe3210670e6e" | |
} | |
}, | |
"schemaVersion": "3.0.1", | |
"updatedAt": "2019-01-07T22:09:48.620Z" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment