Created
February 26, 2019 19:18
-
-
Save BlinkyStitt/e08f7d1faf5ebd82367d5893d1753548 to your computer and use it in GitHub Desktop.
This file contains 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" | |
}, | |
{ | |
"anonymous": false, | |
"inputs": [ | |
{ | |
"indexed": false, | |
"name": "_from", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"name": "_spender", | |
"type": "address" | |
}, | |
{ | |
"indexed": false, | |
"name": "value", | |
"type": "uint256" | |
} | |
], | |
"name": "DebugFreeFromUpTo", | |
"type": "event", | |
"signature": "0x092625ede2e7bf5c3d943ed55d931baab046f969a314368a1718e4aa6132bf22" | |
} | |
], | |
"bytecode": "0x6060604052341561000f57600080fd5b5b610a7c8061001f6000396000f300606060405236156100cd5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d2578063079d229f1461015d578063095ea7b31461019157806318160ddd146101c757806323b872dd146101ec578063313ce567146102285780635f2e2b45146102515780636366b9361461028757806370a08231146102af57806395d89b41146102e0578063a0712d681461036b578063a9059cbb14610383578063d8ccd0f3146103b9578063dd62ed3e146103e3575b600080fd5b34156100dd57600080fd5b6100e561041a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101225780820151818401525b602001610109565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016857600080fd5b61017f600160a060020a0360043516602435610451565b60405190815260200160405180910390f35b341561019c57600080fd5b6101b3600160a060020a036004351660243561045a565b604051901515815260200160405180910390f35b34156101d257600080fd5b61017f61050a565b60405190815260200160405180910390f35b34156101f757600080fd5b6101b3600160a060020a0360043581169060243516604435610515565b604051901515815260200160405180910390f35b341561023357600080fd5b61023b61059e565b60405160ff909116815260200160405180910390f35b341561025c57600080fd5b6101b3600160a060020a03600435166024356105a3565b604051901515815260200160405180910390f35b341561029257600080fd5b61017f600435610651565b60405190815260200160405180910390f35b34156102ba57600080fd5b61017f600160a060020a03600435166106a6565b60405190815260200160405180910390f35b34156102eb57600080fd5b6100e56106c5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101225780820151818401525b602001610109565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037657600080fd5b6103816004356106fc565b005b341561038e57600080fd5b6101b3600160a060020a0360043516602435610744565b604051901515815260200160405180910390f35b34156103c457600080fd5b6101b360043561075c565b604051901515815260200160405180910390f35b34156103ee57600080fd5b61017f600160a060020a03600435811690602435166107b7565b60405190815260200160405180910390f35b60408051908101604052600b81527f476173746f6b656e2e696f000000000000000000000000000000000000000000602082015281565b60005b92915050565b60003382158015906104905750600160a060020a0380821660009081526001602090815260408083209388168352929052205415155b1561049e5760009150610503565b600160a060020a03808216600081815260016020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a3600191505b5092915050565b600354600254035b90565b600160a060020a038084166000908152600160209081526040808320339485168452909152812054909190831180159061055557506105558585856107e4565b5b1561059057600160a060020a0380861660009081526001602081815260408084209486168452939052919020805485900390559150610595565b600091505b5b509392505050565b600281565b600160a060020a03821660009081526020819052604081205433908280828611156105d15760009450610647565b5050600160a060020a0380861660009081526001602090815260408083209386168352908390529020548086111561060c5760009450610647565b6106158661087c565b600160a060020a038088166000908152602081815260408083208a880390559287168252849052208682039055600194505b5050505092915050565b600160a060020a03331660009081526020819052604081205480831115610676578092505b61067f8361087c565b600160a060020a033316600090815260208190526040902083820390558291505b50919050565b600160a060020a0381166000908152602081905260409020545b919050565b60408051908101604052600481527f4753543200000000000000000000000000000000000000000000000000000000602082015281565b60005b818110156107195761070f6108cd565b505b6001016106ff565b6002805483019055600160a060020a03331660009081526020819052604090208054830190555b5050565b6000336107528185856107e4565b91505b5092915050565b600160a060020a0333166000908152602081905260408120548083111561078657600091506106a0565b61078f8361087c565b600160a060020a03331660009081526020819052604090208382039055600191505b50919050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b600160a060020a038316600090815260208190526040812054821161087057600160a060020a038085166000818152602081905260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610874565b5060005b5b9392505050565b600354600181015b81830181116108c1576108973082610904565b600160a060020a031660405160006040518083038160008661646e5a03f15050505b600101610884565b8183016003555b505050565b60006040517e756eb3f879cb30fe243b4dfee438691c043318585733ff6000526016600af38152601f600182016000f09150505b90565b6000808080808068ffffffffffffffffff87111561092157600080fd5b8660001080156109315750608087105b15610943576001945060019350610955565b61094c87610a28565b94508460010193505b6015840192507f010000000000000000000000000000000000000000000000000000000000000060d58501026a0100000000000000000000600160a060020a038a1602017e94000000000000000000000000000000000000000000000000000000000000019150600087901080156109cd5750608087105b156109e8578669010000000000000000000282019150610a0b565b8460800169010000000000000000000282019150846009036101000a8702820191505b60405182815260018401902095508590505b505050505092915050565b60008060015b808410610a45576001919091019061010002610a2e565b8192505b50509190505600a165627a7a7230582026ba2d0b62d33ca52dc2385a87d2c2bb36f9b5032d8ee94d779dd00b8b233e3f0029", | |
"deployedBytecode": "0x606060405236156100cd5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d2578063079d229f1461015d578063095ea7b31461019157806318160ddd146101c757806323b872dd146101ec578063313ce567146102285780635f2e2b45146102515780636366b9361461028757806370a08231146102af57806395d89b41146102e0578063a0712d681461036b578063a9059cbb14610383578063d8ccd0f3146103b9578063dd62ed3e146103e3575b600080fd5b34156100dd57600080fd5b6100e561041a565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101225780820151818401525b602001610109565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016857600080fd5b61017f600160a060020a0360043516602435610451565b60405190815260200160405180910390f35b341561019c57600080fd5b6101b3600160a060020a036004351660243561045a565b604051901515815260200160405180910390f35b34156101d257600080fd5b61017f61050a565b60405190815260200160405180910390f35b34156101f757600080fd5b6101b3600160a060020a0360043581169060243516604435610515565b604051901515815260200160405180910390f35b341561023357600080fd5b61023b61059e565b60405160ff909116815260200160405180910390f35b341561025c57600080fd5b6101b3600160a060020a03600435166024356105a3565b604051901515815260200160405180910390f35b341561029257600080fd5b61017f600435610651565b60405190815260200160405180910390f35b34156102ba57600080fd5b61017f600160a060020a03600435166106a6565b60405190815260200160405180910390f35b34156102eb57600080fd5b6100e56106c5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101225780820151818401525b602001610109565b50505050905090810190601f16801561014f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037657600080fd5b6103816004356106fc565b005b341561038e57600080fd5b6101b3600160a060020a0360043516602435610744565b604051901515815260200160405180910390f35b34156103c457600080fd5b6101b360043561075c565b604051901515815260200160405180910390f35b34156103ee57600080fd5b61017f600160a060020a03600435811690602435166107b7565b60405190815260200160405180910390f35b60408051908101604052600b81527f476173746f6b656e2e696f000000000000000000000000000000000000000000602082015281565b60005b92915050565b60003382158015906104905750600160a060020a0380821660009081526001602090815260408083209388168352929052205415155b1561049e5760009150610503565b600160a060020a03808216600081815260016020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a3600191505b5092915050565b600354600254035b90565b600160a060020a038084166000908152600160209081526040808320339485168452909152812054909190831180159061055557506105558585856107e4565b5b1561059057600160a060020a0380861660009081526001602081815260408084209486168452939052919020805485900390559150610595565b600091505b5b509392505050565b600281565b600160a060020a03821660009081526020819052604081205433908280828611156105d15760009450610647565b5050600160a060020a0380861660009081526001602090815260408083209386168352908390529020548086111561060c5760009450610647565b6106158661087c565b600160a060020a038088166000908152602081815260408083208a880390559287168252849052208682039055600194505b5050505092915050565b600160a060020a03331660009081526020819052604081205480831115610676578092505b61067f8361087c565b600160a060020a033316600090815260208190526040902083820390558291505b50919050565b600160a060020a0381166000908152602081905260409020545b919050565b60408051908101604052600481527f4753543200000000000000000000000000000000000000000000000000000000602082015281565b60005b818110156107195761070f6108cd565b505b6001016106ff565b6002805483019055600160a060020a03331660009081526020819052604090208054830190555b5050565b6000336107528185856107e4565b91505b5092915050565b600160a060020a0333166000908152602081905260408120548083111561078657600091506106a0565b61078f8361087c565b600160a060020a03331660009081526020819052604090208382039055600191505b50919050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b600160a060020a038316600090815260208190526040812054821161087057600160a060020a038085166000818152602081905260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610874565b5060005b5b9392505050565b600354600181015b81830181116108c1576108973082610904565b600160a060020a031660405160006040518083038160008661646e5a03f15050505b600101610884565b8183016003555b505050565b60006040517e756eb3f879cb30fe243b4dfee438691c043318585733ff6000526016600af38152601f600182016000f09150505b90565b6000808080808068ffffffffffffffffff87111561092157600080fd5b8660001080156109315750608087105b15610943576001945060019350610955565b61094c87610a28565b94508460010193505b6015840192507f010000000000000000000000000000000000000000000000000000000000000060d58501026a0100000000000000000000600160a060020a038a1602017e94000000000000000000000000000000000000000000000000000000000000019150600087901080156109cd5750608087105b156109e8578669010000000000000000000282019150610a0b565b8460800169010000000000000000000282019150846009036101000a8702820191505b60405182815260018401902095508590505b505050505092915050565b60008060015b808410610a45576001919091019061010002610a2e565b8192505b50509190505600a165627a7a7230582026ba2d0b62d33ca52dc2385a87d2c2bb36f9b5032d8ee94d779dd00b8b233e3f0029", | |
"sourceMap": "46:10801:0:-;;;;;;;;;;;;;;;;;;", | |
"deployedSourceMap": "46:10801:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3034:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;8:100;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10110:735:0;;;;;;;;;;-1:-1:-1;;;;;10110:735:0;;;;;;;;;;;;;;;;;;;;;;2008:329;;;;;;;;;;-1:-1:-1;;;;;2008:329:0;;;;;;;;;;;;;;;;;;;;;;;;4006:103;;;;;;;;;;;;;;;;;;;;;;;;;;;1449:354;;;;;;;;;;-1:-1:-1;;;;;1449:354:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2994:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9081:624;;;;;;;;;;-1:-1:-1;;;;;9081:624:0;;;;;;;;;;;;;;;;;;;;;;;;8458:318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;669:117;;;;;;;;;;-1:-1:-1;;;;;669:117:0;;;;;;;;;;;;;;;;;;;;3083:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;8:100;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6089:190:0;;;;;;;;;;;;;;;;1197:167;;;;;;;;;;-1:-1:-1;;;;;1197:167:0;;;;;;;;;;;;;;;;;;;;;;;;7857:304;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2656:147;;;;;;;;;;-1:-1:-1;;;;;2656:147:0;;;;;;;;;;;;;;;;;;;;;;;;;3034:43;;;;;;;;;;;;;;;;;;:::o;10110:735::-;10177:13;10110:735;;;;;:::o;2008:329::-;2073:12;2113:10;2137;;;;;:47;;-1:-1:-1;;;;;;2151:19:0;;;;;;;:12;:19;;;;;;;;:28;;;;;;;;;;:33;;2137:47;2133:90;;;2207:5;2200:12;;;;2133:90;-1:-1:-1;;;;;2232:19:0;;;;;;;:12;:19;;;;;;;;:28;;;;;;;;;;;;;;:36;;;2278:31;;2263:5;;2278:31;;;;;;;;;;;;;2326:4;2319:11;;2008:329;;;;;;:::o;4006:103::-;4096:6;;4087;;:15;4006:103;;:::o;1449:354::-;-1:-1:-1;;;;;1602:18:0;;;1528:12;1602:18;;;:12;:18;;;;;;;;1570:10;1602:27;;;;;;;;;;;1528:12;;1570:10;1593:36;;;;;:73;;;1633:33;1650:4;1656:2;1660:5;1633:16;:33::i;:::-;1593:73;1590:207;;;-1:-1:-1;;;;;1682:18:0;;;;;;;:12;:18;;;;;;;;:27;;;;;;;;;;;:36;;;;;;;:12;-1:-1:-1;1732:11:0;;1590:207;1781:5;1774:12;;1590:207;1449:354;;;;;;;:::o;2994:34::-;3027:1;2994:34;:::o;9081:624::-;-1:-1:-1;;;;;9229:16:0;;9144:12;9229:16;;;;;;;;;;;9186:10;;9144:12;;9259:20;;;9255:63;;;9302:5;9295:12;;;;9255:63;-1:-1:-1;;;;;;;9374:18:0;;;;;;;:12;:18;;;;;;;;9430:24;;;;;;;;;;;;9468:25;;;9464:68;;;9516:5;9509:12;;;;9464:68;9542:22;9558:5;9542:15;:22::i;:::-;-1:-1:-1;;;;;9575:16:0;;;:10;:16;;;;;;;;;;;9594:20;;;9575:39;;9624:24;;;;;;;;;9651:25;;;9624:52;;9694:4;;-1:-1:-1;9081:624:0;;;;;;;;;:::o;8458:318::-;-1:-1:-1;;;;;8566:10:0;8555:22;8507:13;8555:22;;;;;;;;;;;8591:20;;;8587:71;;;8635:12;8627:20;;8587:71;8668:22;8684:5;8668:15;:22::i;:::-;-1:-1:-1;;;;;8712:10:0;8701:22;:10;:22;;;;;;;;;;8726:20;;;8701:45;;8741:5;;-1:-1:-1;8458:318:0;;;;;:::o;669:117::-;-1:-1:-1;;;;;762:17:0;;728:15;762:17;;;;;;;;;;;669:117;;;;:::o;3083:38::-;;;;;;;;;;;;;;;;;;:::o;6089:190::-;6140:9;6135:72;6159:5;6155:1;:9;6135:72;;;6185:11;:9;:11::i;:::-;;6135:72;6166:3;;6135:72;;;6216:6;:15;;;;;;-1:-1:-1;;;;;6252:10:0;6241:22;6216:6;6241:22;;;;;;;;;;:31;;;;;;6089:190;;;:::o;1197:167::-;1258:12;1297:10;1324:33;1297:10;1347:2;1351:5;1324:16;:33::i;:::-;1317:40;;1197:167;;;;;;:::o;7857:304::-;-1:-1:-1;;;;;7960:10:0;7949:22;7902:12;7949:22;;;;;;;;;;;7985:20;;;7981:63;;;8028:5;8021:12;;;;7981:63;8054:22;8070:5;8054:15;:22::i;:::-;-1:-1:-1;;;;;8098:10:0;8087:22;:10;:22;;;;;;;;;;8112:20;;;8087:45;;8150:4;;-1:-1:-1;7857:304:0;;;;;:::o;2656:147::-;-1:-1:-1;;;;;2768:19:0;;;2732:17;2768:19;;;:12;:19;;;;;;;;:28;;;;;;;;;;2656:147;;;;;:::o;792:340::-;-1:-1:-1;;;;;914:16:0;;877:12;914:16;;;;;;;;;;;905:25;;901:225;;-1:-1:-1;;;;;946:16:0;;;:10;:16;;;;;;;;;;;:25;;;;;;;985:14;;;;;;;;;;:23;;;;;;:14;1022:25;;966:5;;1022:25;;;;;;;;;;;;;-1:-1:-1;1068:4:0;1061:11;;901:225;-1:-1:-1;1110:5:0;901:225;792:340;;;;;;:::o;7170:308::-;7244:6;;7353:1;7346:8;;7329:111;7361:12;;;7356:17;;7329:111;;7394:28;7414:4;7420:1;7394:19;:28::i;:::-;-1:-1:-1;;;;;7394:33:0;:35;;;;;;;;;;;;;;;-1:-1:-1;;;7329:111:0;7375:3;;7329:111;;;7459:12;;;7450:6;:21;7170:308;;;;:::o;4192:1713::-;4231:12;5709:4;5703:5;5757:66;5734:21;5727:6;5886:2;5882:1;5859:21;5855:3;5852:1;5845:6;5837:52;;4264:1635;;;:::o;471:2023:1:-;545:11;;;;;;159:10;919:14;;;911:23;;;;;;1134:1;1130;:5;:28;;;;;121:3;1139:1;:19;1130:28;1126:341;;;1265:1;1251:15;;1296:1;1280:17;;1126:341;;;1397:14;1409:1;1397:11;:14::i;:::-;1383:28;;1441:11;1455:1;1441:15;1425:31;;1126:341;1572:17;:33;;;-1:-1:-1;1757:7:1;1738:15;;;1737:27;1864:7;-1:-1:-1;;;;;1851:10:1;;:20;1736:136;1792:31;1736:136;;-1:-1:-1;1887:1:1;:5;;;:28;;;;;121:3;1896:1;:19;1887:28;1883:192;;;1939:1;1943:6;1939:10;1931:18;;;;1883:192;;;1995:11;1989:3;:17;2010:6;1988:28;1980:36;;;;2052:11;2048:1;:15;2042:3;:22;2038:1;:26;2030:34;;;;1883:192;2154:4;2148:5;2211:6;;;2349:1;2334:3;;2293:4;;;-1:-1:-1;2293:4:1;;-1:-1:-1;471:2023:1;;;;;;;;;;:::o;247:218::-;302:9;;355:1;366:74;373:9;;;366:74;;403:1;398:6;;;;;426:3;418:11;366:74;;;457:1;450:8;;247:218;;;;;;:::o", | |
"source": "pragma solidity 0.4.16;\n\nimport \"./Rlp.sol\";\n\ncontract GasToken2 is Rlp {\n //////////////////////////////////////////////////////////////////////////\n // Generic ERC20\n //////////////////////////////////////////////////////////////////////////\n\n // owner -> amount\n mapping(address => uint256) s_balances;\n // owner -> spender -> max amount\n mapping(address => mapping(address => uint256)) s_allowances;\n\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n // Spec: Get the account balance of another account with address `owner`\n function balanceOf(address owner) public constant returns (uint256 balance) {\n return s_balances[owner];\n }\n\n function internalTransfer(address from, address to, uint256 value) internal returns (bool success) {\n if (value <= s_balances[from]) {\n s_balances[from] -= value;\n s_balances[to] += value;\n Transfer(from, to, value);\n return true;\n } else {\n return false;\n }\n }\n\n // Spec: Send `value` amount of tokens to address `to`\n function transfer(address to, uint256 value) public returns (bool success) {\n address from = msg.sender;\n return internalTransfer(from, to, value);\n }\n\n // Spec: Send `value` amount of tokens from address `from` to address `to`\n function transferFrom(address from, address to, uint256 value) public returns (bool success) {\n address spender = msg.sender;\n if(value <= s_allowances[from][spender] && internalTransfer(from, to, value)) {\n s_allowances[from][spender] -= value;\n return true;\n } else {\n return false;\n }\n }\n\n // Spec: Allow `spender` to withdraw from your account, multiple times, up\n // to the `value` amount. If this function is called again it overwrites the\n // current allowance with `value`.\n function approve(address spender, uint256 value) public returns (bool success) {\n address owner = msg.sender;\n if (value != 0 && s_allowances[owner][spender] != 0) {\n return false;\n }\n s_allowances[owner][spender] = value;\n Approval(owner, spender, value);\n return true;\n }\n\n // Spec: Returns the `amount` which `spender` is still allowed to withdraw\n // from `owner`.\n // What if the allowance is higher than the balance of the `owner`?\n // Callers should be careful to use min(allowance, balanceOf) to make sure\n // that the allowance is actually present in the account!\n function allowance(address owner, address spender) public constant returns (uint256 remaining) {\n return s_allowances[owner][spender];\n }\n\n //////////////////////////////////////////////////////////////////////////\n // GasToken specifics\n //////////////////////////////////////////////////////////////////////////\n\n uint8 constant public decimals = 2;\n string constant public name = \"Gastoken.io\";\n string constant public symbol = \"GST2\";\n\n // We build a queue of nonces at which child contracts are stored. s_head is\n // the nonce at the head of the queue, s_tail is the nonce behind the tail\n // of the queue. The queue grows at the head and shrinks from the tail.\n // Note that when and only when a contract CREATEs another contract, the\n // creating contract's nonce is incremented.\n // The first child contract is created with nonce == 1, the second child\n // contract is created with nonce == 2, and so on...\n // For example, if there are child contracts at nonces [2,3,4],\n // then s_head == 4 and s_tail == 1. If there are no child contracts,\n // s_head == s_tail.\n uint256 s_head;\n uint256 s_tail;\n\n // totalSupply gives the number of tokens currently in existence\n // Each token corresponds to one child contract that can be SELFDESTRUCTed\n // for a gas refund.\n function totalSupply() public constant returns (uint256 supply) {\n return s_head - s_tail;\n }\n\n // Creates a child contract that can only be destroyed by this contract.\n function makeChild() internal returns (address addr) {\n assembly {\n // EVM assembler of runtime portion of child contract:\n // ;; Pseudocode: if (msg.sender != 0x0000000000b3f879cb30fe243b4dfee438691c04) { throw; }\n // ;; suicide(msg.sender)\n // PUSH15 0xb3f879cb30fe243b4dfee438691c04 ;; hardcoded address of this contract\n // CALLER\n // XOR\n // PC\n // JUMPI\n // CALLER\n // SELFDESTRUCT\n // Or in binary: 6eb3f879cb30fe243b4dfee438691c043318585733ff\n // Since the binary is so short (22 bytes), we can get away\n // with a very simple initcode:\n // PUSH22 0x6eb3f879cb30fe243b4dfee438691c043318585733ff\n // PUSH1 0\n // MSTORE ;; at this point, memory locations mem[10] through\n // ;; mem[31] contain the runtime portion of the child\n // ;; contract. all that's left to do is to RETURN this\n // ;; chunk of memory.\n // PUSH1 22 ;; length\n // PUSH1 10 ;; offset\n // RETURN\n // Or in binary: 756eb3f879cb30fe243b4dfee438691c043318585733ff6000526016600af3\n // Almost done! All we have to do is put this short (31 bytes) blob into\n // memory and call CREATE with the appropriate offsets.\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 }\n }\n\n // Mints `value` new sub-tokens (e.g. cents, pennies, ...) by creating `value`\n // new child contracts. The minted tokens are owned by the caller of this\n // function.\n function mint(uint256 value) public {\n for (uint256 i = 0; i < value; i++) {\n makeChild();\n }\n s_head += value;\n s_balances[msg.sender] += value;\n }\n\n // Destroys `value` child contracts and updates s_tail.\n //\n // This function is affected by an issue in solc: https://github.com/ethereum/solidity/issues/2999\n // The `mk_contract_address(this, i).call();` doesn't forward all available gas, but only GAS - 25710.\n // As a result, when this line is executed with e.g. 30000 gas, the callee will have less than 5000 gas\n // available and its SELFDESTRUCT operation will fail leading to no gas refund occurring.\n // The remaining ~29000 gas left after the call is enough to update s_tail and the caller's balance.\n // Hence tokens will have been destroyed without a commensurate gas refund.\n // Fortunately, there is a simple workaround:\n // Whenever you call free, freeUpTo, freeFrom, or freeUpToFrom, ensure that you pass at least\n // 25710 + `value` * (1148 + 5722 + 150) gas. (It won't all be used)\n function destroyChildren(uint256 value) internal {\n uint256 tail = s_tail;\n // tail points to slot behind the last contract in the queue\n for (uint256 i = tail + 1; i <= tail + value; i++) {\n mk_contract_address(this, i).call();\n }\n\n s_tail = tail + value;\n }\n\n // Frees `value` sub-tokens (e.g. cents, pennies, ...) belonging to the\n // caller of this function by destroying `value` child contracts, which\n // will trigger a partial gas refund.\n // You should ensure that you pass at least 25710 + `value` * (1148 + 5722 + 150) gas\n // when calling this function. For details, see the comment above `destroyChildren`.\n function free(uint256 value) public returns (bool success) {\n uint256 from_balance = s_balances[msg.sender];\n if (value > from_balance) {\n return false;\n }\n\n destroyChildren(value);\n\n s_balances[msg.sender] = from_balance - value;\n\n return true;\n }\n\n // Frees up to `value` sub-tokens. Returns how many tokens were freed.\n // Otherwise, identical to free.\n // You should ensure that you pass at least 25710 + `value` * (1148 + 5722 + 150) gas\n // when calling this function. For details, see the comment above `destroyChildren`.\n function freeUpTo(uint256 value) public returns (uint256 freed) {\n uint256 from_balance = s_balances[msg.sender];\n if (value > from_balance) {\n value = from_balance;\n }\n\n destroyChildren(value);\n\n s_balances[msg.sender] = from_balance - value;\n\n return value;\n }\n\n // Frees `value` sub-tokens owned by address `from`. Requires that `msg.sender`\n // has been approved by `from`.\n // You should ensure that you pass at least 25710 + `value` * (1148 + 5722 + 150) gas\n // when calling this function. For details, see the comment above `destroyChildren`.\n function freeFrom(address from, uint256 value) public returns (bool success) {\n address spender = msg.sender;\n uint256 from_balance = s_balances[from];\n if (value > from_balance) {\n return false;\n }\n\n mapping(address => uint256) from_allowances = s_allowances[from];\n uint256 spender_allowance = from_allowances[spender];\n if (value > spender_allowance) {\n return false;\n }\n\n destroyChildren(value);\n\n s_balances[from] = from_balance - value;\n from_allowances[spender] = spender_allowance - value;\n\n return true;\n }\n\n event DebugFreeFromUpTo(address _from, address _spender, uint256 value);\n\n // Frees up to `value` sub-tokens owned by address `from`. Returns how many tokens were freed.\n // Otherwise, identical to `freeFrom`.\n // You should ensure that you pass at least 25710 + `value` * (1148 + 5722 + 150) gas\n // when calling this function. For details, see the comment above `destroyChildren`.\n function freeFromUpTo(address from, uint256 value) public returns (uint256 freed) {\n // TODO: WTF?!\n return 0;\n\n // address spender = msg.sender;\n\n // uint256 from_balance = s_balances[from];\n // if (value > from_balance) {\n // value = from_balance;\n // }\n\n // mapping(address => uint256) from_allowances = s_allowances[from];\n // uint256 spender_allowance = from_allowances[spender];\n // if (value > spender_allowance) {\n // value = spender_allowance;\n // }\n\n // destroyChildren(value);\n\n // s_balances[from] = from_balance - value;\n // from_allowances[spender] = spender_allowance - value;\n // return value;\n }\n}\n", | |
"sourcePath": "../contracts-sol-compiler/external/gastoken/GasToken2.sol", | |
"ast": { | |
"absolutePath": "/usr/src/app/contracts-sol-compiler/external/gastoken/GasToken2.sol", | |
"exportedSymbols": { | |
"GasToken2": [ | |
481 | |
] | |
}, | |
"id": 482, | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"0.4", | |
".16" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "0:23:0" | |
}, | |
{ | |
"absolutePath": "/usr/src/app/contracts-sol-compiler/external/gastoken/Rlp.sol", | |
"file": "./Rlp.sol", | |
"id": 2, | |
"nodeType": "ImportDirective", | |
"scope": 482, | |
"sourceUnit": 668, | |
"src": "25:19:0", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"baseContracts": [ | |
{ | |
"arguments": [], | |
"baseName": { | |
"contractScope": null, | |
"id": 3, | |
"name": "Rlp", | |
"nodeType": "UserDefinedTypeName", | |
"referencedDeclaration": 667, | |
"src": "68:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_Rlp_$667", | |
"typeString": "contract Rlp" | |
} | |
}, | |
"id": 4, | |
"nodeType": "InheritanceSpecifier", | |
"src": "68:3:0" | |
} | |
], | |
"contractDependencies": [ | |
667 | |
], | |
"contractKind": "contract", | |
"documentation": null, | |
"fullyImplemented": true, | |
"id": 481, | |
"linearizedBaseContracts": [ | |
481, | |
667 | |
], | |
"name": "GasToken2", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"id": 8, | |
"name": "s_balances", | |
"nodeType": "VariableDeclaration", | |
"scope": 481, | |
"src": "281:38:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"typeName": { | |
"id": 7, | |
"keyType": { | |
"id": 5, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "289:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "281:27:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 6, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "300:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 14, | |
"name": "s_allowances", | |
"nodeType": "VariableDeclaration", | |
"scope": 481, | |
"src": "363:60:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
"typeString": "mapping(address => mapping(address => uint256))" | |
}, | |
"typeName": { | |
"id": 13, | |
"keyType": { | |
"id": 9, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "371:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "363:47:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
"typeString": "mapping(address => mapping(address => uint256))" | |
}, | |
"valueType": { | |
"id": 12, | |
"keyType": { | |
"id": 10, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "390:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "382:27:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 11, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "401:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"anonymous": false, | |
"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": "445:20:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 15, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "445:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 18, | |
"indexed": true, | |
"name": "to", | |
"nodeType": "VariableDeclaration", | |
"scope": 22, | |
"src": "467:18:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 17, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "467:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 20, | |
"indexed": false, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 22, | |
"src": "487:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 19, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "487:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "444:57:0" | |
}, | |
"src": "430:72:0" | |
}, | |
{ | |
"anonymous": false, | |
"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": "523:21:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 23, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "523:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 26, | |
"indexed": true, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 30, | |
"src": "546:23:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 25, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "546:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 28, | |
"indexed": false, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 30, | |
"src": "571:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 27, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "571:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "522:63:0" | |
}, | |
"src": "508:78:0" | |
}, | |
{ | |
"body": { | |
"id": 41, | |
"nodeType": "Block", | |
"src": "745:41:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 37, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "762:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 39, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 38, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 32, | |
"src": "773:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "762:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 36, | |
"id": 40, | |
"nodeType": "Return", | |
"src": "755:24:0" | |
} | |
] | |
}, | |
"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": "688:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 31, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "688:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "687:15:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 36, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 35, | |
"name": "balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 42, | |
"src": "728:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 34, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "728:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "727:17:0" | |
}, | |
"scope": 481, | |
"src": "669:117:0", | |
"stateMutability": "view", | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 83, | |
"nodeType": "Block", | |
"src": "891:241:0", | |
"statements": [ | |
{ | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 57, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 53, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "905:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 54, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "914:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 56, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 55, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 44, | |
"src": "925:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "914:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "905:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 81, | |
"nodeType": "Block", | |
"src": "1089:37:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 79, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1110:5:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 52, | |
"id": 80, | |
"nodeType": "Return", | |
"src": "1103:12:0" | |
} | |
] | |
}, | |
"id": 82, | |
"nodeType": "IfStatement", | |
"src": "901:225:0", | |
"trueBody": { | |
"id": 78, | |
"nodeType": "Block", | |
"src": "932:151:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 62, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 58, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "946:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 60, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 59, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 44, | |
"src": "957:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "946:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 61, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "966:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "946:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 63, | |
"nodeType": "ExpressionStatement", | |
"src": "946:25:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 68, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 64, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "985:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 66, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 65, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 46, | |
"src": "996:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "985:14:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 67, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "1003:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "985:23:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 69, | |
"nodeType": "ExpressionStatement", | |
"src": "985:23:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 71, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 44, | |
"src": "1031:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 72, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 46, | |
"src": "1037:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 73, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 48, | |
"src": "1041:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 70, | |
"name": "Transfer", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 22, | |
"src": "1022:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_event_view$_t_address_$_t_address_$_t_uint256_$returns$__$", | |
"typeString": "function (address,address,uint256) view" | |
} | |
}, | |
"id": 74, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1022:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 75, | |
"nodeType": "ExpressionStatement", | |
"src": "1022:25:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 76, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1068:4:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 52, | |
"id": 77, | |
"nodeType": "Return", | |
"src": "1061:11:0" | |
} | |
] | |
} | |
} | |
] | |
}, | |
"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": "818:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 43, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "818:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 46, | |
"name": "to", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "832:10:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 45, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "832:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 48, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "844:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 47, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "844:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "817:41:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 52, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 51, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 84, | |
"src": "877:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 50, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "877:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "876:14:0" | |
}, | |
"scope": 481, | |
"src": "792:340:0", | |
"stateMutability": "nonpayable", | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 104, | |
"nodeType": "Block", | |
"src": "1272:92:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
94 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 94, | |
"name": "from", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1282:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 93, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1282:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 97, | |
"initialValue": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 95, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "1297:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 96, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "1297:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "1282:25:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 99, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 94, | |
"src": "1341:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 100, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 86, | |
"src": "1347:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 101, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 88, | |
"src": "1351:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 98, | |
"name": "internalTransfer", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 84, | |
"src": "1324:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", | |
"typeString": "function (address,address,uint256) returns (bool)" | |
} | |
}, | |
"id": 102, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1324:33:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"functionReturnParameters": 92, | |
"id": 103, | |
"nodeType": "Return", | |
"src": "1317:40:0" | |
} | |
] | |
}, | |
"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": "1215:10:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 85, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1215:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 88, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1227:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 87, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1227:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1214:27:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 92, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 91, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 105, | |
"src": "1258:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 90, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1258:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1257:14:0" | |
}, | |
"scope": 481, | |
"src": "1197:167:0", | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 149, | |
"nodeType": "Block", | |
"src": "1542:261:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
117 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 117, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1552:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 116, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1552:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 120, | |
"initialValue": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 118, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "1570:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 119, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "1570:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "1552:28:0" | |
}, | |
{ | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"id": 133, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 127, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 121, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 111, | |
"src": "1593:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 122, | |
"name": "s_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "1602:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
"typeString": "mapping(address => mapping(address => uint256))" | |
} | |
}, | |
"id": 124, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 123, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 107, | |
"src": "1615:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1602:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 126, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 125, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 117, | |
"src": "1621:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1602:27:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1593:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "&&", | |
"rightExpression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 129, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 107, | |
"src": "1650:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 130, | |
"name": "to", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 109, | |
"src": "1656:2:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 131, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 111, | |
"src": "1660:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 128, | |
"name": "internalTransfer", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 84, | |
"src": "1633:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", | |
"typeString": "function (address,address,uint256) returns (bool)" | |
} | |
}, | |
"id": 132, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1633:33:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "1593:73:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": { | |
"id": 147, | |
"nodeType": "Block", | |
"src": "1760:37:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 145, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1781:5:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 115, | |
"id": 146, | |
"nodeType": "Return", | |
"src": "1774:12:0" | |
} | |
] | |
}, | |
"id": 148, | |
"nodeType": "IfStatement", | |
"src": "1590:207:0", | |
"trueBody": { | |
"id": 144, | |
"nodeType": "Block", | |
"src": "1668:86:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 140, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 134, | |
"name": "s_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "1682:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
"typeString": "mapping(address => mapping(address => uint256))" | |
} | |
}, | |
"id": 137, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 135, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 107, | |
"src": "1695:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "1682:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 138, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 136, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 117, | |
"src": "1701:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "1682:27:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "-=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 139, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 111, | |
"src": "1713:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "1682:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 141, | |
"nodeType": "ExpressionStatement", | |
"src": "1682:36:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 142, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "1739:4:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 115, | |
"id": 143, | |
"nodeType": "Return", | |
"src": "1732:11:0" | |
} | |
] | |
} | |
} | |
] | |
}, | |
"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": "1471:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 106, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1471:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 109, | |
"name": "to", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1485:10:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 108, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "1485:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 111, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1497:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 110, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "1497:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1470:41:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 115, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 114, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 150, | |
"src": "1528:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 113, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "1528:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "1527:14:0" | |
}, | |
"scope": 481, | |
"src": "1449:354:0", | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 195, | |
"nodeType": "Block", | |
"src": "2087:250:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
160 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 160, | |
"name": "owner", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2097:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 159, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2097:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 163, | |
"initialValue": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 161, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "2113:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 162, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "2113:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "2097:26:0" | |
}, | |
{ | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"id": 174, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 166, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 164, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 154, | |
"src": "2137:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"argumentTypes": null, | |
"hexValue": "30", | |
"id": 165, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2146:1:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "2137:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "&&", | |
"rightExpression": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 173, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 167, | |
"name": "s_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2151:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
"typeString": "mapping(address => mapping(address => uint256))" | |
} | |
}, | |
"id": 169, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 168, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 160, | |
"src": "2164:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2151:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 171, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 170, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 152, | |
"src": "2171:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2151:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "!=", | |
"rightExpression": { | |
"argumentTypes": null, | |
"hexValue": "30", | |
"id": 172, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2183:1:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"src": "2151:33:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"src": "2137:47:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 178, | |
"nodeType": "IfStatement", | |
"src": "2133:90:0", | |
"trueBody": { | |
"id": 177, | |
"nodeType": "Block", | |
"src": "2186:37:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 175, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2207:5:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 158, | |
"id": 176, | |
"nodeType": "Return", | |
"src": "2200:12:0" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 185, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 179, | |
"name": "s_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2232:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
"typeString": "mapping(address => mapping(address => uint256))" | |
} | |
}, | |
"id": 182, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 180, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 160, | |
"src": "2245:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2232:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 183, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 181, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 152, | |
"src": "2252:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "2232:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 184, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 154, | |
"src": "2263:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "2232:36:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 186, | |
"nodeType": "ExpressionStatement", | |
"src": "2232:36:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 188, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 160, | |
"src": "2287:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 189, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 152, | |
"src": "2294:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 190, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 154, | |
"src": "2303:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 187, | |
"name": "Approval", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 30, | |
"src": "2278:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_event_view$_t_address_$_t_address_$_t_uint256_$returns$__$", | |
"typeString": "function (address,address,uint256) view" | |
} | |
}, | |
"id": 191, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "2278:31:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 192, | |
"nodeType": "ExpressionStatement", | |
"src": "2278:31:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 193, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "2326:4:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 158, | |
"id": 194, | |
"nodeType": "Return", | |
"src": "2319:11:0" | |
} | |
] | |
}, | |
"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": "2025:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 151, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2025:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 154, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2042:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 153, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2042:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2024:32:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 158, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 157, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 196, | |
"src": "2073:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 156, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "2073:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2072:14:0" | |
}, | |
"scope": 481, | |
"src": "2008:329:0", | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 211, | |
"nodeType": "Block", | |
"src": "2751:52:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 205, | |
"name": "s_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "2768:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
"typeString": "mapping(address => mapping(address => uint256))" | |
} | |
}, | |
"id": 207, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 206, | |
"name": "owner", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 198, | |
"src": "2781:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2768:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 209, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 208, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 200, | |
"src": "2788:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "2768:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 204, | |
"id": 210, | |
"nodeType": "Return", | |
"src": "2761:35:0" | |
} | |
] | |
}, | |
"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": "2675:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 197, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2675:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 200, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 212, | |
"src": "2690:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 199, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "2690:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2674:32:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 204, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 203, | |
"name": "remaining", | |
"nodeType": "VariableDeclaration", | |
"scope": 212, | |
"src": "2732:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 202, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "2732:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "2731:19:0" | |
}, | |
"scope": 481, | |
"src": "2656:147:0", | |
"stateMutability": "view", | |
"visibility": "public" | |
}, | |
{ | |
"constant": true, | |
"id": 215, | |
"name": "decimals", | |
"nodeType": "VariableDeclaration", | |
"scope": 481, | |
"src": "2994:34:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 213, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "2994:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"value": { | |
"argumentTypes": null, | |
"hexValue": "32", | |
"id": 214, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3027:1:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_2_by_1", | |
"typeString": "int_const 2" | |
}, | |
"value": "2" | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": true, | |
"id": 218, | |
"name": "name", | |
"nodeType": "VariableDeclaration", | |
"scope": 481, | |
"src": "3034:43:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory", | |
"typeString": "string memory" | |
}, | |
"typeName": { | |
"id": 216, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "3034:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string storage pointer" | |
} | |
}, | |
"value": { | |
"argumentTypes": null, | |
"hexValue": "476173746f6b656e2e696f", | |
"id": 217, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3064:13:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_0d1c4286c55d6c98ff887ea24620fba0fa19b2b689915823b5f072d2ed4ebc24", | |
"typeString": "literal_string \"Gastoken.io\"" | |
}, | |
"value": "Gastoken.io" | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": true, | |
"id": 221, | |
"name": "symbol", | |
"nodeType": "VariableDeclaration", | |
"scope": 481, | |
"src": "3083:38:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory", | |
"typeString": "string memory" | |
}, | |
"typeName": { | |
"id": 219, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "3083:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string storage pointer" | |
} | |
}, | |
"value": { | |
"argumentTypes": null, | |
"hexValue": "47535432", | |
"id": 220, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "3115:6:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_5e04720bea86ecb546947317d43c045a01093270a338cc34ec31cfd6a76b4a30", | |
"typeString": "literal_string \"GST2\"" | |
}, | |
"value": "GST2" | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"id": 223, | |
"name": "s_head", | |
"nodeType": "VariableDeclaration", | |
"scope": 481, | |
"src": "3791:14:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 222, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3791:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 225, | |
"name": "s_tail", | |
"nodeType": "VariableDeclaration", | |
"scope": 481, | |
"src": "3811:14:0", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 224, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "3811:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 234, | |
"nodeType": "Block", | |
"src": "4070:39:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 232, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 230, | |
"name": "s_head", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 223, | |
"src": "4087:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 231, | |
"name": "s_tail", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 225, | |
"src": "4096:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "4087:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 229, | |
"id": 233, | |
"nodeType": "Return", | |
"src": "4080:22:0" | |
} | |
] | |
}, | |
"id": 235, | |
"implemented": true, | |
"isConstructor": false, | |
"isDeclaredConst": true, | |
"modifiers": [], | |
"name": "totalSupply", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 226, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4026:2:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 229, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 228, | |
"name": "supply", | |
"nodeType": "VariableDeclaration", | |
"scope": 235, | |
"src": "4054:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 227, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "4054:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "4053:16:0" | |
}, | |
"scope": 481, | |
"src": "4006:103:0", | |
"stateMutability": "view", | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 241, | |
"nodeType": "Block", | |
"src": "4245:1660:0", | |
"statements": [ | |
{ | |
"externalReferences": [ | |
{ | |
"addr": { | |
"declaration": 238, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "5837:4:0", | |
"valueSize": 1 | |
} | |
} | |
], | |
"id": 240, | |
"nodeType": "InlineAssembly", | |
"operations": "{\n let solidity_free_mem_ptr := mload(0x40)\n mstore(solidity_free_mem_ptr, 0x00756eb3f879cb30fe243b4dfee438691c043318585733ff6000526016600af3)\n addr := create(0, add(solidity_free_mem_ptr, 1), 31)\n}", | |
"src": "4255:1650:0" | |
} | |
] | |
}, | |
"id": 242, | |
"implemented": true, | |
"isConstructor": false, | |
"isDeclaredConst": false, | |
"modifiers": [], | |
"name": "makeChild", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 236, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "4210:2:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 239, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 238, | |
"name": "addr", | |
"nodeType": "VariableDeclaration", | |
"scope": 242, | |
"src": "4231:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 237, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "4231:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "4230:14:0" | |
}, | |
"scope": 481, | |
"src": "4192:1713:0", | |
"stateMutability": "nonpayable", | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 273, | |
"nodeType": "Block", | |
"src": "6125:154:0", | |
"statements": [ | |
{ | |
"body": { | |
"id": 260, | |
"nodeType": "Block", | |
"src": "6171:36:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"id": 257, | |
"name": "makeChild", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 242, | |
"src": "6185:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$", | |
"typeString": "function () returns (address)" | |
} | |
}, | |
"id": 258, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "6185:11:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 259, | |
"nodeType": "ExpressionStatement", | |
"src": "6185:11:0" | |
} | |
] | |
}, | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 253, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 251, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 248, | |
"src": "6155:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 252, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6159:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6155:9:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 261, | |
"initializationExpression": { | |
"assignments": [ | |
248 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 248, | |
"name": "i", | |
"nodeType": "VariableDeclaration", | |
"scope": 274, | |
"src": "6140:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 247, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6140:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 250, | |
"initialValue": { | |
"argumentTypes": null, | |
"hexValue": "30", | |
"id": 249, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "6152:1:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "6140:13:0" | |
}, | |
"loopExpression": { | |
"expression": { | |
"argumentTypes": null, | |
"id": 255, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "UnaryOperation", | |
"operator": "++", | |
"prefix": false, | |
"src": "6166:3:0", | |
"subExpression": { | |
"argumentTypes": null, | |
"id": 254, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 248, | |
"src": "6166:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 256, | |
"nodeType": "ExpressionStatement", | |
"src": "6166:3:0" | |
}, | |
"nodeType": "ForStatement", | |
"src": "6135:72:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 264, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"id": 262, | |
"name": "s_head", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 223, | |
"src": "6216:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 263, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6226:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6216:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 265, | |
"nodeType": "ExpressionStatement", | |
"src": "6216:15:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 271, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 266, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "6241:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 269, | |
"indexExpression": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 267, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "6252:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 268, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "6252:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "6241:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "+=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 270, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 244, | |
"src": "6267:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "6241:31:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 272, | |
"nodeType": "ExpressionStatement", | |
"src": "6241:31:0" | |
} | |
] | |
}, | |
"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": "6103:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 243, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "6103:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "6102:15:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 246, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "6125:0:0" | |
}, | |
"scope": 481, | |
"src": "6089:190:0", | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 312, | |
"nodeType": "Block", | |
"src": "7219:259:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
280 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 280, | |
"name": "tail", | |
"nodeType": "VariableDeclaration", | |
"scope": 313, | |
"src": "7229:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 279, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7229:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 282, | |
"initialValue": { | |
"argumentTypes": null, | |
"id": 281, | |
"name": "s_tail", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 225, | |
"src": "7244:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7229:21:0" | |
}, | |
{ | |
"body": { | |
"id": 304, | |
"nodeType": "Block", | |
"src": "7380:60:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 298, | |
"name": "this", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 692, | |
"src": "7414:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_GasToken2_$481", | |
"typeString": "contract GasToken2" | |
} | |
}, | |
{ | |
"argumentTypes": null, | |
"id": 299, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 284, | |
"src": "7420:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_GasToken2_$481", | |
"typeString": "contract GasToken2" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 297, | |
"name": "mk_contract_address", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 666, | |
"src": "7394:19:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_address_$", | |
"typeString": "function (address,uint256) pure returns (address)" | |
} | |
}, | |
"id": 300, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "7394:28:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 301, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "call", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "7394:33:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", | |
"typeString": "function () payable returns (bool)" | |
} | |
}, | |
"id": 302, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "7394:35:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 303, | |
"nodeType": "ExpressionStatement", | |
"src": "7394:35:0" | |
} | |
] | |
}, | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 293, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 289, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 284, | |
"src": "7356:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "<=", | |
"rightExpression": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 292, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 290, | |
"name": "tail", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 280, | |
"src": "7361:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 291, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 276, | |
"src": "7368:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7361:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7356:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"id": 305, | |
"initializationExpression": { | |
"assignments": [ | |
284 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 284, | |
"name": "i", | |
"nodeType": "VariableDeclaration", | |
"scope": 313, | |
"src": "7334:9:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 283, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7334:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 288, | |
"initialValue": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 287, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 285, | |
"name": "tail", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 280, | |
"src": "7346:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"argumentTypes": null, | |
"hexValue": "31", | |
"id": 286, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "7353:1:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_1_by_1", | |
"typeString": "int_const 1" | |
}, | |
"value": "1" | |
}, | |
"src": "7346:8:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7334:20:0" | |
}, | |
"loopExpression": { | |
"expression": { | |
"argumentTypes": null, | |
"id": 295, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "UnaryOperation", | |
"operator": "++", | |
"prefix": false, | |
"src": "7375:3:0", | |
"subExpression": { | |
"argumentTypes": null, | |
"id": 294, | |
"name": "i", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 284, | |
"src": "7375:1:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 296, | |
"nodeType": "ExpressionStatement", | |
"src": "7375:3:0" | |
}, | |
"nodeType": "ForStatement", | |
"src": "7329:111:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 310, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"id": 306, | |
"name": "s_tail", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 225, | |
"src": "7450:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 309, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 307, | |
"name": "tail", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 280, | |
"src": "7459:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "+", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 308, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 276, | |
"src": "7466:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7459:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7450:21:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 311, | |
"nodeType": "ExpressionStatement", | |
"src": "7450:21:0" | |
} | |
] | |
}, | |
"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": "7195:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 275, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7195:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7194:15:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 278, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "7219:0:0" | |
}, | |
"scope": 481, | |
"src": "7170:308:0", | |
"stateMutability": "nonpayable", | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 349, | |
"nodeType": "Block", | |
"src": "7916:245:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
321 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 321, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 350, | |
"src": "7926:20:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 320, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7926:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 326, | |
"initialValue": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 322, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "7949:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 325, | |
"indexExpression": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 323, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "7960:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 324, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "7960:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "7949:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "7926:45:0" | |
}, | |
{ | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 329, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 327, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 315, | |
"src": "7985:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 328, | |
"name": "from_balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 321, | |
"src": "7993:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "7985:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 333, | |
"nodeType": "IfStatement", | |
"src": "7981:63:0", | |
"trueBody": { | |
"id": 332, | |
"nodeType": "Block", | |
"src": "8007:37:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 330, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8028:5:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 319, | |
"id": 331, | |
"nodeType": "Return", | |
"src": "8021:12:0" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 335, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 315, | |
"src": "8070:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 334, | |
"name": "destroyChildren", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 313, | |
"src": "8054:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 336, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "8054:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 337, | |
"nodeType": "ExpressionStatement", | |
"src": "8054:22:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 345, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 338, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "8087:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 341, | |
"indexExpression": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 339, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "8098:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 340, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "8098:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "8087:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 344, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 342, | |
"name": "from_balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 321, | |
"src": "8112:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 343, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 315, | |
"src": "8127:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8112:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8087:45:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 346, | |
"nodeType": "ExpressionStatement", | |
"src": "8087:45:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 347, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "8150:4:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 319, | |
"id": 348, | |
"nodeType": "Return", | |
"src": "8143:11:0" | |
} | |
] | |
}, | |
"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": "7871:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 314, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "7871:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7870:15:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 319, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 318, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 350, | |
"src": "7902:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 317, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "7902:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "7901:14:0" | |
}, | |
"scope": 481, | |
"src": "7857:304:0", | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 388, | |
"nodeType": "Block", | |
"src": "8522:254:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
358 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 358, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 389, | |
"src": "8532:20:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 357, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8532:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 363, | |
"initialValue": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 359, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "8555:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 362, | |
"indexExpression": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 360, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "8566:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 361, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "8566:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "8555:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "8532:45:0" | |
}, | |
{ | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 366, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 364, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8591:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 365, | |
"name": "from_balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 358, | |
"src": "8599:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8591:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 372, | |
"nodeType": "IfStatement", | |
"src": "8587:71:0", | |
"trueBody": { | |
"id": 371, | |
"nodeType": "Block", | |
"src": "8613:45:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 369, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"id": 367, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8627:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"id": 368, | |
"name": "from_balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 358, | |
"src": "8635:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8627:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 370, | |
"nodeType": "ExpressionStatement", | |
"src": "8627:20:0" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 374, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8684:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 373, | |
"name": "destroyChildren", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 313, | |
"src": "8668:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 375, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "8668:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 376, | |
"nodeType": "ExpressionStatement", | |
"src": "8668:22:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 384, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 377, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "8701:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 380, | |
"indexExpression": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 378, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "8712:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 379, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "8712:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "8701:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 383, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 381, | |
"name": "from_balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 358, | |
"src": "8726:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 382, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8741:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8726:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "8701:45:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 385, | |
"nodeType": "ExpressionStatement", | |
"src": "8701:45:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 386, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 352, | |
"src": "8764:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 356, | |
"id": 387, | |
"nodeType": "Return", | |
"src": "8757:12:0" | |
} | |
] | |
}, | |
"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": "8476:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 351, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8476:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "8475:15:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 356, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 355, | |
"name": "freed", | |
"nodeType": "VariableDeclaration", | |
"scope": 389, | |
"src": "8507:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 354, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "8507:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "8506:15:0" | |
}, | |
"scope": 481, | |
"src": "8458:318:0", | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 459, | |
"nodeType": "Block", | |
"src": "9158:547:0", | |
"statements": [ | |
{ | |
"assignments": [ | |
399 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 399, | |
"name": "spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9168:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 398, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9168:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 402, | |
"initialValue": { | |
"argumentTypes": null, | |
"expression": { | |
"argumentTypes": null, | |
"id": 400, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 670, | |
"src": "9186:3:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 401, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": null, | |
"src": "9186:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9168:28:0" | |
}, | |
{ | |
"assignments": [ | |
404 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 404, | |
"name": "from_balance", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9206:20:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 403, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9206:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 408, | |
"initialValue": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 405, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "9229:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 407, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 406, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 391, | |
"src": "9240:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9229:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9206:39:0" | |
}, | |
{ | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 411, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 409, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9259:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 410, | |
"name": "from_balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 404, | |
"src": "9267:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9259:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 415, | |
"nodeType": "IfStatement", | |
"src": "9255:63:0", | |
"trueBody": { | |
"id": 414, | |
"nodeType": "Block", | |
"src": "9281:37:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 412, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9302:5:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 397, | |
"id": 413, | |
"nodeType": "Return", | |
"src": "9295:12:0" | |
} | |
] | |
} | |
}, | |
{ | |
"assignments": [ | |
419 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 419, | |
"name": "from_allowances", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9328:43:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"typeName": { | |
"id": 418, | |
"keyType": { | |
"id": 416, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9336:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "9328:27:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueType": { | |
"id": 417, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9347:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 423, | |
"initialValue": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 420, | |
"name": "s_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 14, | |
"src": "9374:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", | |
"typeString": "mapping(address => mapping(address => uint256))" | |
} | |
}, | |
"id": 422, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 421, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 391, | |
"src": "9387:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9374:18:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9328:64:0" | |
}, | |
{ | |
"assignments": [ | |
425 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 425, | |
"name": "spender_allowance", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9402:25:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 424, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9402:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"id": 429, | |
"initialValue": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 426, | |
"name": "from_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 419, | |
"src": "9430:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 428, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 427, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 399, | |
"src": "9446:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "IndexAccess", | |
"src": "9430:24:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "9402:52:0" | |
}, | |
{ | |
"condition": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 432, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 430, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9468:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 431, | |
"name": "spender_allowance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 425, | |
"src": "9476:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9468:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"falseBody": null, | |
"id": 436, | |
"nodeType": "IfStatement", | |
"src": "9464:68:0", | |
"trueBody": { | |
"id": 435, | |
"nodeType": "Block", | |
"src": "9495:37:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "66616c7365", | |
"id": 433, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9516:5:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "false" | |
}, | |
"functionReturnParameters": 397, | |
"id": 434, | |
"nodeType": "Return", | |
"src": "9509:12:0" | |
} | |
] | |
} | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"arguments": [ | |
{ | |
"argumentTypes": null, | |
"id": 438, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9558:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"id": 437, | |
"name": "destroyChildren", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 313, | |
"src": "9542:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", | |
"typeString": "function (uint256)" | |
} | |
}, | |
"id": 439, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "9542:22:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 440, | |
"nodeType": "ExpressionStatement", | |
"src": "9542:22:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 447, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 441, | |
"name": "s_balances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 8, | |
"src": "9575:10:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 443, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 442, | |
"name": "from", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 391, | |
"src": "9586:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "9575:16:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 446, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 444, | |
"name": "from_balance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 404, | |
"src": "9594:12:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 445, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9609:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9594:20:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9575:39:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 448, | |
"nodeType": "ExpressionStatement", | |
"src": "9575:39:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"id": 455, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"argumentTypes": null, | |
"baseExpression": { | |
"argumentTypes": null, | |
"id": 449, | |
"name": "from_allowances", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 419, | |
"src": "9624:15:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 451, | |
"indexExpression": { | |
"argumentTypes": null, | |
"id": 450, | |
"name": "spender", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 399, | |
"src": "9640:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "9624:24:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 454, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"argumentTypes": null, | |
"id": 452, | |
"name": "spender_allowance", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 425, | |
"src": "9651:17:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "-", | |
"rightExpression": { | |
"argumentTypes": null, | |
"id": 453, | |
"name": "value", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 393, | |
"src": "9671:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9651:25:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "9624:52:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 456, | |
"nodeType": "ExpressionStatement", | |
"src": "9624:52:0" | |
}, | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "74727565", | |
"id": 457, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "bool", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "9694:4:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"value": "true" | |
}, | |
"functionReturnParameters": 397, | |
"id": 458, | |
"nodeType": "Return", | |
"src": "9687:11:0" | |
} | |
] | |
}, | |
"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": "9099:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 390, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9099:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 393, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9113:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 392, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9113:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "9098:29:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 397, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 396, | |
"name": "success", | |
"nodeType": "VariableDeclaration", | |
"scope": 460, | |
"src": "9144:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"typeName": { | |
"id": 395, | |
"name": "bool", | |
"nodeType": "ElementaryTypeName", | |
"src": "9144:4:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "9143:14:0" | |
}, | |
"scope": 481, | |
"src": "9081:624:0", | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
{ | |
"anonymous": false, | |
"id": 468, | |
"name": "DebugFreeFromUpTo", | |
"nodeType": "EventDefinition", | |
"parameters": { | |
"id": 467, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 462, | |
"indexed": false, | |
"name": "_from", | |
"nodeType": "VariableDeclaration", | |
"scope": 468, | |
"src": "9735:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 461, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9735:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 464, | |
"indexed": false, | |
"name": "_spender", | |
"nodeType": "VariableDeclaration", | |
"scope": 468, | |
"src": "9750:16:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 463, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "9750:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 466, | |
"indexed": false, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 468, | |
"src": "9768:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 465, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "9768:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "9734:48:0" | |
}, | |
"src": "9711:72:0" | |
}, | |
{ | |
"body": { | |
"id": 479, | |
"nodeType": "Block", | |
"src": "10192:653:0", | |
"statements": [ | |
{ | |
"expression": { | |
"argumentTypes": null, | |
"hexValue": "30", | |
"id": 477, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "10232:1:0", | |
"subdenomination": null, | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_0_by_1", | |
"typeString": "int_const 0" | |
}, | |
"value": "0" | |
}, | |
"functionReturnParameters": 476, | |
"id": 478, | |
"nodeType": "Return", | |
"src": "10225:8:0" | |
} | |
] | |
}, | |
"id": 480, | |
"implemented": true, | |
"isConstructor": false, | |
"isDeclaredConst": false, | |
"modifiers": [], | |
"name": "freeFromUpTo", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 473, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 470, | |
"name": "from", | |
"nodeType": "VariableDeclaration", | |
"scope": 480, | |
"src": "10132:12:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"typeName": { | |
"id": 469, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "10132:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 472, | |
"name": "value", | |
"nodeType": "VariableDeclaration", | |
"scope": 480, | |
"src": "10146:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 471, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10146:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "10131:29:0" | |
}, | |
"payable": false, | |
"returnParameters": { | |
"id": 476, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 475, | |
"name": "freed", | |
"nodeType": "VariableDeclaration", | |
"scope": 480, | |
"src": "10177:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 474, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "10177:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": null, | |
"visibility": "internal" | |
} | |
], | |
"src": "10176:15:0" | |
}, | |
"scope": 481, | |
"src": "10110:735:0", | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
} | |
], | |
"scope": 482, | |
"src": "46:10801:0" | |
} | |
], | |
"src": "0:10848:0" | |
}, | |
"legacyAST": { | |
"attributes": { | |
"absolutePath": "/usr/src/app/contracts-sol-compiler/external/gastoken/GasToken2.sol", | |
"exportedSymbols": { | |
"GasToken2": [ | |
481 | |
] | |
} | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"literals": [ | |
"solidity", | |
"0.4", | |
".16" | |
] | |
}, | |
"id": 1, | |
"name": "PragmaDirective", | |
"src": "0:23:0" | |
}, | |
{ | |
"attributes": { | |
"SourceUnit": 668, | |
"absolutePath": "/usr/src/app/contracts-sol-compiler/external/gastoken/Rlp.sol", | |
"file": "./Rlp.sol", | |
"scope": 482, | |
"symbolAliases": [ | |
null | |
], | |
"unitAlias": "" | |
}, | |
"id": 2, | |
"name": "ImportDirective", | |
"src": "25:19:0" | |
}, | |
{ | |
"attributes": { | |
"contractDependencies": [ | |
667 | |
], | |
"contractKind": "contract", | |
"documentation": null, | |
"fullyImplemented": true, | |
"linearizedBaseContracts": [ | |
481, | |
667 | |
], | |
"name": "GasToken2", | |
"scope": 482 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"arguments": [ | |
null | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"contractScope": null, | |
"name": "Rlp", | |
"referencedDeclaration": 667, | |
"type": "contract Rlp" | |
}, | |
"id": 3, | |
"name": "UserDefinedTypeName", | |
"src": "68:3:0" | |
} | |
], | |
"id": 4, | |
"name": "InheritanceSpecifier", | |
"src": "68:3:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "s_balances", | |
"scope": 481, | |
"stateVariable": true, | |
"storageLocation": "default", | |
"type": "mapping(address => uint256)", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 5, | |
"name": "ElementaryTypeName", | |
"src": "289:7:0" | |
}, | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 6, | |
"name": "ElementaryTypeName", | |
"src": "300:7:0" | |
} | |
], | |
"id": 7, | |
"name": "Mapping", | |
"src": "281:27:0" | |
} | |
], | |
"id": 8, | |
"name": "VariableDeclaration", | |
"src": "281:38:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "s_allowances", | |
"scope": 481, | |
"stateVariable": true, | |
"storageLocation": "default", | |
"type": "mapping(address => mapping(address => uint256))", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"type": "mapping(address => mapping(address => uint256))" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 9, | |
"name": "ElementaryTypeName", | |
"src": "371:7:0" | |
}, | |
{ | |
"attributes": { | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 10, | |
"name": "ElementaryTypeName", | |
"src": "390:7:0" | |
}, | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 11, | |
"name": "ElementaryTypeName", | |
"src": "401:7:0" | |
} | |
], | |
"id": 12, | |
"name": "Mapping", | |
"src": "382:27:0" | |
} | |
], | |
"id": 13, | |
"name": "Mapping", | |
"src": "363:47:0" | |
} | |
], | |
"id": 14, | |
"name": "VariableDeclaration", | |
"src": "363:60:0" | |
}, | |
{ | |
"attributes": { | |
"anonymous": false, | |
"name": "Transfer" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": true, | |
"name": "from", | |
"scope": 22, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 15, | |
"name": "ElementaryTypeName", | |
"src": "445:7:0" | |
} | |
], | |
"id": 16, | |
"name": "VariableDeclaration", | |
"src": "445:20:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": true, | |
"name": "to", | |
"scope": 22, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 17, | |
"name": "ElementaryTypeName", | |
"src": "467:7:0" | |
} | |
], | |
"id": 18, | |
"name": "VariableDeclaration", | |
"src": "467:18:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": false, | |
"name": "value", | |
"scope": 22, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 19, | |
"name": "ElementaryTypeName", | |
"src": "487:7:0" | |
} | |
], | |
"id": 20, | |
"name": "VariableDeclaration", | |
"src": "487:13:0" | |
} | |
], | |
"id": 21, | |
"name": "ParameterList", | |
"src": "444:57:0" | |
} | |
], | |
"id": 22, | |
"name": "EventDefinition", | |
"src": "430:72:0" | |
}, | |
{ | |
"attributes": { | |
"anonymous": false, | |
"name": "Approval" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": true, | |
"name": "owner", | |
"scope": 30, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 23, | |
"name": "ElementaryTypeName", | |
"src": "523:7:0" | |
} | |
], | |
"id": 24, | |
"name": "VariableDeclaration", | |
"src": "523:21:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": true, | |
"name": "spender", | |
"scope": 30, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 25, | |
"name": "ElementaryTypeName", | |
"src": "546:7:0" | |
} | |
], | |
"id": 26, | |
"name": "VariableDeclaration", | |
"src": "546:23:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": false, | |
"name": "value", | |
"scope": 30, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 27, | |
"name": "ElementaryTypeName", | |
"src": "571:7:0" | |
} | |
], | |
"id": 28, | |
"name": "VariableDeclaration", | |
"src": "571:13:0" | |
} | |
], | |
"id": 29, | |
"name": "ParameterList", | |
"src": "522:63:0" | |
} | |
], | |
"id": 30, | |
"name": "EventDefinition", | |
"src": "508:78:0" | |
}, | |
{ | |
"attributes": { | |
"constant": true, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "balanceOf", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "view", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "owner", | |
"scope": 42, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 31, | |
"name": "ElementaryTypeName", | |
"src": "688:7:0" | |
} | |
], | |
"id": 32, | |
"name": "VariableDeclaration", | |
"src": "688:13:0" | |
} | |
], | |
"id": 33, | |
"name": "ParameterList", | |
"src": "687:15:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "balance", | |
"scope": 42, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 34, | |
"name": "ElementaryTypeName", | |
"src": "728:7:0" | |
} | |
], | |
"id": 35, | |
"name": "VariableDeclaration", | |
"src": "728:15:0" | |
} | |
], | |
"id": 36, | |
"name": "ParameterList", | |
"src": "727:17:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 36 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 37, | |
"name": "Identifier", | |
"src": "762:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 32, | |
"type": "address", | |
"value": "owner" | |
}, | |
"id": 38, | |
"name": "Identifier", | |
"src": "773:5:0" | |
} | |
], | |
"id": 39, | |
"name": "IndexAccess", | |
"src": "762:17:0" | |
} | |
], | |
"id": 40, | |
"name": "Return", | |
"src": "755:24:0" | |
} | |
], | |
"id": 41, | |
"name": "Block", | |
"src": "745:41:0" | |
} | |
], | |
"id": 42, | |
"name": "FunctionDefinition", | |
"src": "669:117:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "internalTransfer", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from", | |
"scope": 84, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 43, | |
"name": "ElementaryTypeName", | |
"src": "818:7:0" | |
} | |
], | |
"id": 44, | |
"name": "VariableDeclaration", | |
"src": "818:12:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "to", | |
"scope": 84, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 45, | |
"name": "ElementaryTypeName", | |
"src": "832:7:0" | |
} | |
], | |
"id": 46, | |
"name": "VariableDeclaration", | |
"src": "832:10:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 84, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 47, | |
"name": "ElementaryTypeName", | |
"src": "844:7:0" | |
} | |
], | |
"id": 48, | |
"name": "VariableDeclaration", | |
"src": "844:13:0" | |
} | |
], | |
"id": 49, | |
"name": "ParameterList", | |
"src": "817:41:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "success", | |
"scope": 84, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "bool", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "bool", | |
"type": "bool" | |
}, | |
"id": 50, | |
"name": "ElementaryTypeName", | |
"src": "877:4:0" | |
} | |
], | |
"id": 51, | |
"name": "VariableDeclaration", | |
"src": "877:12:0" | |
} | |
], | |
"id": 52, | |
"name": "ParameterList", | |
"src": "876:14:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "<=", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 48, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 53, | |
"name": "Identifier", | |
"src": "905:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 54, | |
"name": "Identifier", | |
"src": "914:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 44, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 55, | |
"name": "Identifier", | |
"src": "925:4:0" | |
} | |
], | |
"id": 56, | |
"name": "IndexAccess", | |
"src": "914:16:0" | |
} | |
], | |
"id": 57, | |
"name": "BinaryOperation", | |
"src": "905:25:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "-=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 58, | |
"name": "Identifier", | |
"src": "946:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 44, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 59, | |
"name": "Identifier", | |
"src": "957:4:0" | |
} | |
], | |
"id": 60, | |
"name": "IndexAccess", | |
"src": "946:16:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 48, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 61, | |
"name": "Identifier", | |
"src": "966:5:0" | |
} | |
], | |
"id": 62, | |
"name": "Assignment", | |
"src": "946:25:0" | |
} | |
], | |
"id": 63, | |
"name": "ExpressionStatement", | |
"src": "946:25:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "+=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 64, | |
"name": "Identifier", | |
"src": "985:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 46, | |
"type": "address", | |
"value": "to" | |
}, | |
"id": 65, | |
"name": "Identifier", | |
"src": "996:2:0" | |
} | |
], | |
"id": 66, | |
"name": "IndexAccess", | |
"src": "985:14:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 48, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 67, | |
"name": "Identifier", | |
"src": "1003:5:0" | |
} | |
], | |
"id": 68, | |
"name": "Assignment", | |
"src": "985:23:0" | |
} | |
], | |
"id": 69, | |
"name": "ExpressionStatement", | |
"src": "985:23:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "tuple()", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 22, | |
"type": "function (address,address,uint256) view", | |
"value": "Transfer" | |
}, | |
"id": 70, | |
"name": "Identifier", | |
"src": "1022:8:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 44, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 71, | |
"name": "Identifier", | |
"src": "1031:4:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 46, | |
"type": "address", | |
"value": "to" | |
}, | |
"id": 72, | |
"name": "Identifier", | |
"src": "1037:2:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 48, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 73, | |
"name": "Identifier", | |
"src": "1041:5:0" | |
} | |
], | |
"id": 74, | |
"name": "FunctionCall", | |
"src": "1022:25:0" | |
} | |
], | |
"id": 75, | |
"name": "ExpressionStatement", | |
"src": "1022:25:0" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 52 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "74727565", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "true" | |
}, | |
"id": 76, | |
"name": "Literal", | |
"src": "1068:4:0" | |
} | |
], | |
"id": 77, | |
"name": "Return", | |
"src": "1061:11:0" | |
} | |
], | |
"id": 78, | |
"name": "Block", | |
"src": "932:151:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 52 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "66616c7365", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "false" | |
}, | |
"id": 79, | |
"name": "Literal", | |
"src": "1110:5:0" | |
} | |
], | |
"id": 80, | |
"name": "Return", | |
"src": "1103:12:0" | |
} | |
], | |
"id": 81, | |
"name": "Block", | |
"src": "1089:37:0" | |
} | |
], | |
"id": 82, | |
"name": "IfStatement", | |
"src": "901:225:0" | |
} | |
], | |
"id": 83, | |
"name": "Block", | |
"src": "891:241:0" | |
} | |
], | |
"id": 84, | |
"name": "FunctionDefinition", | |
"src": "792:340:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "transfer", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "to", | |
"scope": 105, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 85, | |
"name": "ElementaryTypeName", | |
"src": "1215:7:0" | |
} | |
], | |
"id": 86, | |
"name": "VariableDeclaration", | |
"src": "1215:10:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 105, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 87, | |
"name": "ElementaryTypeName", | |
"src": "1227:7:0" | |
} | |
], | |
"id": 88, | |
"name": "VariableDeclaration", | |
"src": "1227:13:0" | |
} | |
], | |
"id": 89, | |
"name": "ParameterList", | |
"src": "1214:27:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "success", | |
"scope": 105, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "bool", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "bool", | |
"type": "bool" | |
}, | |
"id": 90, | |
"name": "ElementaryTypeName", | |
"src": "1258:4:0" | |
} | |
], | |
"id": 91, | |
"name": "VariableDeclaration", | |
"src": "1258:12:0" | |
} | |
], | |
"id": 92, | |
"name": "ParameterList", | |
"src": "1257:14:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
94 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from", | |
"scope": 105, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 93, | |
"name": "ElementaryTypeName", | |
"src": "1282:7:0" | |
} | |
], | |
"id": 94, | |
"name": "VariableDeclaration", | |
"src": "1282:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 95, | |
"name": "Identifier", | |
"src": "1297:3:0" | |
} | |
], | |
"id": 96, | |
"name": "MemberAccess", | |
"src": "1297:10:0" | |
} | |
], | |
"id": 97, | |
"name": "VariableDeclarationStatement", | |
"src": "1282:25:0" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 92 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "bool", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 84, | |
"type": "function (address,address,uint256) returns (bool)", | |
"value": "internalTransfer" | |
}, | |
"id": 98, | |
"name": "Identifier", | |
"src": "1324:16:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 94, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 99, | |
"name": "Identifier", | |
"src": "1341:4:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 86, | |
"type": "address", | |
"value": "to" | |
}, | |
"id": 100, | |
"name": "Identifier", | |
"src": "1347:2:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 88, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 101, | |
"name": "Identifier", | |
"src": "1351:5:0" | |
} | |
], | |
"id": 102, | |
"name": "FunctionCall", | |
"src": "1324:33:0" | |
} | |
], | |
"id": 103, | |
"name": "Return", | |
"src": "1317:40:0" | |
} | |
], | |
"id": 104, | |
"name": "Block", | |
"src": "1272:92:0" | |
} | |
], | |
"id": 105, | |
"name": "FunctionDefinition", | |
"src": "1197:167:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "transferFrom", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from", | |
"scope": 150, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 106, | |
"name": "ElementaryTypeName", | |
"src": "1471:7:0" | |
} | |
], | |
"id": 107, | |
"name": "VariableDeclaration", | |
"src": "1471:12:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "to", | |
"scope": 150, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 108, | |
"name": "ElementaryTypeName", | |
"src": "1485:7:0" | |
} | |
], | |
"id": 109, | |
"name": "VariableDeclaration", | |
"src": "1485:10:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 150, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 110, | |
"name": "ElementaryTypeName", | |
"src": "1497:7:0" | |
} | |
], | |
"id": 111, | |
"name": "VariableDeclaration", | |
"src": "1497:13:0" | |
} | |
], | |
"id": 112, | |
"name": "ParameterList", | |
"src": "1470:41:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "success", | |
"scope": 150, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "bool", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "bool", | |
"type": "bool" | |
}, | |
"id": 113, | |
"name": "ElementaryTypeName", | |
"src": "1528:4:0" | |
} | |
], | |
"id": 114, | |
"name": "VariableDeclaration", | |
"src": "1528:12:0" | |
} | |
], | |
"id": 115, | |
"name": "ParameterList", | |
"src": "1527:14:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
117 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "spender", | |
"scope": 150, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 116, | |
"name": "ElementaryTypeName", | |
"src": "1552:7:0" | |
} | |
], | |
"id": 117, | |
"name": "VariableDeclaration", | |
"src": "1552:15:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 118, | |
"name": "Identifier", | |
"src": "1570:3:0" | |
} | |
], | |
"id": 119, | |
"name": "MemberAccess", | |
"src": "1570:10:0" | |
} | |
], | |
"id": 120, | |
"name": "VariableDeclarationStatement", | |
"src": "1552:28:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "&&", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "<=", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 111, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 121, | |
"name": "Identifier", | |
"src": "1593:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 14, | |
"type": "mapping(address => mapping(address => uint256))", | |
"value": "s_allowances" | |
}, | |
"id": 122, | |
"name": "Identifier", | |
"src": "1602:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 107, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 123, | |
"name": "Identifier", | |
"src": "1615:4:0" | |
} | |
], | |
"id": 124, | |
"name": "IndexAccess", | |
"src": "1602:18:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 117, | |
"type": "address", | |
"value": "spender" | |
}, | |
"id": 125, | |
"name": "Identifier", | |
"src": "1621:7:0" | |
} | |
], | |
"id": 126, | |
"name": "IndexAccess", | |
"src": "1602:27:0" | |
} | |
], | |
"id": 127, | |
"name": "BinaryOperation", | |
"src": "1593:36:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "bool", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 84, | |
"type": "function (address,address,uint256) returns (bool)", | |
"value": "internalTransfer" | |
}, | |
"id": 128, | |
"name": "Identifier", | |
"src": "1633:16:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 107, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 129, | |
"name": "Identifier", | |
"src": "1650:4:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 109, | |
"type": "address", | |
"value": "to" | |
}, | |
"id": 130, | |
"name": "Identifier", | |
"src": "1656:2:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 111, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 131, | |
"name": "Identifier", | |
"src": "1660:5:0" | |
} | |
], | |
"id": 132, | |
"name": "FunctionCall", | |
"src": "1633:33:0" | |
} | |
], | |
"id": 133, | |
"name": "BinaryOperation", | |
"src": "1593:73:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "-=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 14, | |
"type": "mapping(address => mapping(address => uint256))", | |
"value": "s_allowances" | |
}, | |
"id": 134, | |
"name": "Identifier", | |
"src": "1682:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 107, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 135, | |
"name": "Identifier", | |
"src": "1695:4:0" | |
} | |
], | |
"id": 137, | |
"name": "IndexAccess", | |
"src": "1682:18:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 117, | |
"type": "address", | |
"value": "spender" | |
}, | |
"id": 136, | |
"name": "Identifier", | |
"src": "1701:7:0" | |
} | |
], | |
"id": 138, | |
"name": "IndexAccess", | |
"src": "1682:27:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 111, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 139, | |
"name": "Identifier", | |
"src": "1713:5:0" | |
} | |
], | |
"id": 140, | |
"name": "Assignment", | |
"src": "1682:36:0" | |
} | |
], | |
"id": 141, | |
"name": "ExpressionStatement", | |
"src": "1682:36:0" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 115 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "74727565", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "true" | |
}, | |
"id": 142, | |
"name": "Literal", | |
"src": "1739:4:0" | |
} | |
], | |
"id": 143, | |
"name": "Return", | |
"src": "1732:11:0" | |
} | |
], | |
"id": 144, | |
"name": "Block", | |
"src": "1668:86:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 115 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "66616c7365", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "false" | |
}, | |
"id": 145, | |
"name": "Literal", | |
"src": "1781:5:0" | |
} | |
], | |
"id": 146, | |
"name": "Return", | |
"src": "1774:12:0" | |
} | |
], | |
"id": 147, | |
"name": "Block", | |
"src": "1760:37:0" | |
} | |
], | |
"id": 148, | |
"name": "IfStatement", | |
"src": "1590:207:0" | |
} | |
], | |
"id": 149, | |
"name": "Block", | |
"src": "1542:261:0" | |
} | |
], | |
"id": 150, | |
"name": "FunctionDefinition", | |
"src": "1449:354:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "approve", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "spender", | |
"scope": 196, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 151, | |
"name": "ElementaryTypeName", | |
"src": "2025:7:0" | |
} | |
], | |
"id": 152, | |
"name": "VariableDeclaration", | |
"src": "2025:15:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 196, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 153, | |
"name": "ElementaryTypeName", | |
"src": "2042:7:0" | |
} | |
], | |
"id": 154, | |
"name": "VariableDeclaration", | |
"src": "2042:13:0" | |
} | |
], | |
"id": 155, | |
"name": "ParameterList", | |
"src": "2024:32:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "success", | |
"scope": 196, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "bool", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "bool", | |
"type": "bool" | |
}, | |
"id": 156, | |
"name": "ElementaryTypeName", | |
"src": "2073:4:0" | |
} | |
], | |
"id": 157, | |
"name": "VariableDeclaration", | |
"src": "2073:12:0" | |
} | |
], | |
"id": 158, | |
"name": "ParameterList", | |
"src": "2072:14:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
160 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "owner", | |
"scope": 196, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 159, | |
"name": "ElementaryTypeName", | |
"src": "2097:7:0" | |
} | |
], | |
"id": 160, | |
"name": "VariableDeclaration", | |
"src": "2097:13:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 161, | |
"name": "Identifier", | |
"src": "2113:3:0" | |
} | |
], | |
"id": 162, | |
"name": "MemberAccess", | |
"src": "2113:10:0" | |
} | |
], | |
"id": 163, | |
"name": "VariableDeclarationStatement", | |
"src": "2097:26:0" | |
}, | |
{ | |
"attributes": { | |
"falseBody": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "&&", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "!=", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 154, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 164, | |
"name": "Identifier", | |
"src": "2137:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "30", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "number", | |
"type": "int_const 0", | |
"value": "0" | |
}, | |
"id": 165, | |
"name": "Literal", | |
"src": "2146:1:0" | |
} | |
], | |
"id": 166, | |
"name": "BinaryOperation", | |
"src": "2137:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "!=", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 14, | |
"type": "mapping(address => mapping(address => uint256))", | |
"value": "s_allowances" | |
}, | |
"id": 167, | |
"name": "Identifier", | |
"src": "2151:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 160, | |
"type": "address", | |
"value": "owner" | |
}, | |
"id": 168, | |
"name": "Identifier", | |
"src": "2164:5:0" | |
} | |
], | |
"id": 169, | |
"name": "IndexAccess", | |
"src": "2151:19:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 152, | |
"type": "address", | |
"value": "spender" | |
}, | |
"id": 170, | |
"name": "Identifier", | |
"src": "2171:7:0" | |
} | |
], | |
"id": 171, | |
"name": "IndexAccess", | |
"src": "2151:28:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "30", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "number", | |
"type": "int_const 0", | |
"value": "0" | |
}, | |
"id": 172, | |
"name": "Literal", | |
"src": "2183:1:0" | |
} | |
], | |
"id": 173, | |
"name": "BinaryOperation", | |
"src": "2151:33:0" | |
} | |
], | |
"id": 174, | |
"name": "BinaryOperation", | |
"src": "2137:47:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 158 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "66616c7365", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "false" | |
}, | |
"id": 175, | |
"name": "Literal", | |
"src": "2207:5:0" | |
} | |
], | |
"id": 176, | |
"name": "Return", | |
"src": "2200:12:0" | |
} | |
], | |
"id": 177, | |
"name": "Block", | |
"src": "2186:37:0" | |
} | |
], | |
"id": 178, | |
"name": "IfStatement", | |
"src": "2133:90:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 14, | |
"type": "mapping(address => mapping(address => uint256))", | |
"value": "s_allowances" | |
}, | |
"id": 179, | |
"name": "Identifier", | |
"src": "2232:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 160, | |
"type": "address", | |
"value": "owner" | |
}, | |
"id": 180, | |
"name": "Identifier", | |
"src": "2245:5:0" | |
} | |
], | |
"id": 182, | |
"name": "IndexAccess", | |
"src": "2232:19:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 152, | |
"type": "address", | |
"value": "spender" | |
}, | |
"id": 181, | |
"name": "Identifier", | |
"src": "2252:7:0" | |
} | |
], | |
"id": 183, | |
"name": "IndexAccess", | |
"src": "2232:28:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 154, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 184, | |
"name": "Identifier", | |
"src": "2263:5:0" | |
} | |
], | |
"id": 185, | |
"name": "Assignment", | |
"src": "2232:36:0" | |
} | |
], | |
"id": 186, | |
"name": "ExpressionStatement", | |
"src": "2232:36:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "tuple()", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 30, | |
"type": "function (address,address,uint256) view", | |
"value": "Approval" | |
}, | |
"id": 187, | |
"name": "Identifier", | |
"src": "2278:8:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 160, | |
"type": "address", | |
"value": "owner" | |
}, | |
"id": 188, | |
"name": "Identifier", | |
"src": "2287:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 152, | |
"type": "address", | |
"value": "spender" | |
}, | |
"id": 189, | |
"name": "Identifier", | |
"src": "2294:7:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 154, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 190, | |
"name": "Identifier", | |
"src": "2303:5:0" | |
} | |
], | |
"id": 191, | |
"name": "FunctionCall", | |
"src": "2278:31:0" | |
} | |
], | |
"id": 192, | |
"name": "ExpressionStatement", | |
"src": "2278:31:0" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 158 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "74727565", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "true" | |
}, | |
"id": 193, | |
"name": "Literal", | |
"src": "2326:4:0" | |
} | |
], | |
"id": 194, | |
"name": "Return", | |
"src": "2319:11:0" | |
} | |
], | |
"id": 195, | |
"name": "Block", | |
"src": "2087:250:0" | |
} | |
], | |
"id": 196, | |
"name": "FunctionDefinition", | |
"src": "2008:329:0" | |
}, | |
{ | |
"attributes": { | |
"constant": true, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "allowance", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "view", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "owner", | |
"scope": 212, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 197, | |
"name": "ElementaryTypeName", | |
"src": "2675:7:0" | |
} | |
], | |
"id": 198, | |
"name": "VariableDeclaration", | |
"src": "2675:13:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "spender", | |
"scope": 212, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 199, | |
"name": "ElementaryTypeName", | |
"src": "2690:7:0" | |
} | |
], | |
"id": 200, | |
"name": "VariableDeclaration", | |
"src": "2690:15:0" | |
} | |
], | |
"id": 201, | |
"name": "ParameterList", | |
"src": "2674:32:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "remaining", | |
"scope": 212, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 202, | |
"name": "ElementaryTypeName", | |
"src": "2732:7:0" | |
} | |
], | |
"id": 203, | |
"name": "VariableDeclaration", | |
"src": "2732:17:0" | |
} | |
], | |
"id": 204, | |
"name": "ParameterList", | |
"src": "2731:19:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 204 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 14, | |
"type": "mapping(address => mapping(address => uint256))", | |
"value": "s_allowances" | |
}, | |
"id": 205, | |
"name": "Identifier", | |
"src": "2768:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 198, | |
"type": "address", | |
"value": "owner" | |
}, | |
"id": 206, | |
"name": "Identifier", | |
"src": "2781:5:0" | |
} | |
], | |
"id": 207, | |
"name": "IndexAccess", | |
"src": "2768:19:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 200, | |
"type": "address", | |
"value": "spender" | |
}, | |
"id": 208, | |
"name": "Identifier", | |
"src": "2788:7:0" | |
} | |
], | |
"id": 209, | |
"name": "IndexAccess", | |
"src": "2768:28:0" | |
} | |
], | |
"id": 210, | |
"name": "Return", | |
"src": "2761:35:0" | |
} | |
], | |
"id": 211, | |
"name": "Block", | |
"src": "2751:52:0" | |
} | |
], | |
"id": 212, | |
"name": "FunctionDefinition", | |
"src": "2656:147:0" | |
}, | |
{ | |
"attributes": { | |
"constant": true, | |
"name": "decimals", | |
"scope": 481, | |
"stateVariable": true, | |
"storageLocation": "default", | |
"type": "uint8", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint8", | |
"type": "uint8" | |
}, | |
"id": 213, | |
"name": "ElementaryTypeName", | |
"src": "2994:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "32", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "number", | |
"type": "int_const 2", | |
"value": "2" | |
}, | |
"id": 214, | |
"name": "Literal", | |
"src": "3027:1:0" | |
} | |
], | |
"id": 215, | |
"name": "VariableDeclaration", | |
"src": "2994:34:0" | |
}, | |
{ | |
"attributes": { | |
"constant": true, | |
"name": "name", | |
"scope": 481, | |
"stateVariable": true, | |
"storageLocation": "default", | |
"type": "string memory", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "string", | |
"type": "string storage pointer" | |
}, | |
"id": 216, | |
"name": "ElementaryTypeName", | |
"src": "3034:6:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "476173746f6b656e2e696f", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "string", | |
"type": "literal_string \"Gastoken.io\"", | |
"value": "Gastoken.io" | |
}, | |
"id": 217, | |
"name": "Literal", | |
"src": "3064:13:0" | |
} | |
], | |
"id": 218, | |
"name": "VariableDeclaration", | |
"src": "3034:43:0" | |
}, | |
{ | |
"attributes": { | |
"constant": true, | |
"name": "symbol", | |
"scope": 481, | |
"stateVariable": true, | |
"storageLocation": "default", | |
"type": "string memory", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "string", | |
"type": "string storage pointer" | |
}, | |
"id": 219, | |
"name": "ElementaryTypeName", | |
"src": "3083:6:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "47535432", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "string", | |
"type": "literal_string \"GST2\"", | |
"value": "GST2" | |
}, | |
"id": 220, | |
"name": "Literal", | |
"src": "3115:6:0" | |
} | |
], | |
"id": 221, | |
"name": "VariableDeclaration", | |
"src": "3083:38:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "s_head", | |
"scope": 481, | |
"stateVariable": true, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 222, | |
"name": "ElementaryTypeName", | |
"src": "3791:7:0" | |
} | |
], | |
"id": 223, | |
"name": "VariableDeclaration", | |
"src": "3791:14:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "s_tail", | |
"scope": 481, | |
"stateVariable": true, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 224, | |
"name": "ElementaryTypeName", | |
"src": "3811:7:0" | |
} | |
], | |
"id": 225, | |
"name": "VariableDeclaration", | |
"src": "3811:14:0" | |
}, | |
{ | |
"attributes": { | |
"constant": true, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "totalSupply", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "view", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"parameters": [ | |
null | |
] | |
}, | |
"children": [], | |
"id": 226, | |
"name": "ParameterList", | |
"src": "4026:2:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "supply", | |
"scope": 235, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 227, | |
"name": "ElementaryTypeName", | |
"src": "4054:7:0" | |
} | |
], | |
"id": 228, | |
"name": "VariableDeclaration", | |
"src": "4054:14:0" | |
} | |
], | |
"id": 229, | |
"name": "ParameterList", | |
"src": "4053:16:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 229 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "-", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 223, | |
"type": "uint256", | |
"value": "s_head" | |
}, | |
"id": 230, | |
"name": "Identifier", | |
"src": "4087:6:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 225, | |
"type": "uint256", | |
"value": "s_tail" | |
}, | |
"id": 231, | |
"name": "Identifier", | |
"src": "4096:6:0" | |
} | |
], | |
"id": 232, | |
"name": "BinaryOperation", | |
"src": "4087:15:0" | |
} | |
], | |
"id": 233, | |
"name": "Return", | |
"src": "4080:22:0" | |
} | |
], | |
"id": 234, | |
"name": "Block", | |
"src": "4070:39:0" | |
} | |
], | |
"id": 235, | |
"name": "FunctionDefinition", | |
"src": "4006:103:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "makeChild", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"parameters": [ | |
null | |
] | |
}, | |
"children": [], | |
"id": 236, | |
"name": "ParameterList", | |
"src": "4210:2:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "addr", | |
"scope": 242, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 237, | |
"name": "ElementaryTypeName", | |
"src": "4231:7:0" | |
} | |
], | |
"id": 238, | |
"name": "VariableDeclaration", | |
"src": "4231:12:0" | |
} | |
], | |
"id": 239, | |
"name": "ParameterList", | |
"src": "4230:14:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"externalReferences": [ | |
{ | |
"addr": { | |
"declaration": 238, | |
"isOffset": false, | |
"isSlot": false, | |
"src": "5837:4:0", | |
"valueSize": 1 | |
} | |
} | |
], | |
"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}" | |
}, | |
"children": [], | |
"id": 240, | |
"name": "InlineAssembly", | |
"src": "4255:1650:0" | |
} | |
], | |
"id": 241, | |
"name": "Block", | |
"src": "4245:1660:0" | |
} | |
], | |
"id": 242, | |
"name": "FunctionDefinition", | |
"src": "4192:1713:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "mint", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 274, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 243, | |
"name": "ElementaryTypeName", | |
"src": "6103:7:0" | |
} | |
], | |
"id": 244, | |
"name": "VariableDeclaration", | |
"src": "6103:13:0" | |
} | |
], | |
"id": 245, | |
"name": "ParameterList", | |
"src": "6102:15:0" | |
}, | |
{ | |
"attributes": { | |
"parameters": [ | |
null | |
] | |
}, | |
"children": [], | |
"id": 246, | |
"name": "ParameterList", | |
"src": "6125:0:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
248 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "i", | |
"scope": 274, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 247, | |
"name": "ElementaryTypeName", | |
"src": "6140:7:0" | |
} | |
], | |
"id": 248, | |
"name": "VariableDeclaration", | |
"src": "6140:9:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "30", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "number", | |
"type": "int_const 0", | |
"value": "0" | |
}, | |
"id": 249, | |
"name": "Literal", | |
"src": "6152:1:0" | |
} | |
], | |
"id": 250, | |
"name": "VariableDeclarationStatement", | |
"src": "6140:13:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "<", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 248, | |
"type": "uint256", | |
"value": "i" | |
}, | |
"id": 251, | |
"name": "Identifier", | |
"src": "6155:1:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 244, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 252, | |
"name": "Identifier", | |
"src": "6159:5:0" | |
} | |
], | |
"id": 253, | |
"name": "BinaryOperation", | |
"src": "6155:9:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "++", | |
"prefix": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 248, | |
"type": "uint256", | |
"value": "i" | |
}, | |
"id": 254, | |
"name": "Identifier", | |
"src": "6166:1:0" | |
} | |
], | |
"id": 255, | |
"name": "UnaryOperation", | |
"src": "6166:3:0" | |
} | |
], | |
"id": 256, | |
"name": "ExpressionStatement", | |
"src": "6166:3:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"arguments": [ | |
null | |
], | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "address", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
null | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 242, | |
"type": "function () returns (address)", | |
"value": "makeChild" | |
}, | |
"id": 257, | |
"name": "Identifier", | |
"src": "6185:9:0" | |
} | |
], | |
"id": 258, | |
"name": "FunctionCall", | |
"src": "6185:11:0" | |
} | |
], | |
"id": 259, | |
"name": "ExpressionStatement", | |
"src": "6185:11:0" | |
} | |
], | |
"id": 260, | |
"name": "Block", | |
"src": "6171:36:0" | |
} | |
], | |
"id": 261, | |
"name": "ForStatement", | |
"src": "6135:72:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "+=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 223, | |
"type": "uint256", | |
"value": "s_head" | |
}, | |
"id": 262, | |
"name": "Identifier", | |
"src": "6216:6:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 244, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 263, | |
"name": "Identifier", | |
"src": "6226:5:0" | |
} | |
], | |
"id": 264, | |
"name": "Assignment", | |
"src": "6216:15:0" | |
} | |
], | |
"id": 265, | |
"name": "ExpressionStatement", | |
"src": "6216:15:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "+=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 266, | |
"name": "Identifier", | |
"src": "6241:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 267, | |
"name": "Identifier", | |
"src": "6252:3:0" | |
} | |
], | |
"id": 268, | |
"name": "MemberAccess", | |
"src": "6252:10:0" | |
} | |
], | |
"id": 269, | |
"name": "IndexAccess", | |
"src": "6241:22:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 244, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 270, | |
"name": "Identifier", | |
"src": "6267:5:0" | |
} | |
], | |
"id": 271, | |
"name": "Assignment", | |
"src": "6241:31:0" | |
} | |
], | |
"id": 272, | |
"name": "ExpressionStatement", | |
"src": "6241:31:0" | |
} | |
], | |
"id": 273, | |
"name": "Block", | |
"src": "6125:154:0" | |
} | |
], | |
"id": 274, | |
"name": "FunctionDefinition", | |
"src": "6089:190:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "destroyChildren", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 313, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 275, | |
"name": "ElementaryTypeName", | |
"src": "7195:7:0" | |
} | |
], | |
"id": 276, | |
"name": "VariableDeclaration", | |
"src": "7195:13:0" | |
} | |
], | |
"id": 277, | |
"name": "ParameterList", | |
"src": "7194:15:0" | |
}, | |
{ | |
"attributes": { | |
"parameters": [ | |
null | |
] | |
}, | |
"children": [], | |
"id": 278, | |
"name": "ParameterList", | |
"src": "7219:0:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
280 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "tail", | |
"scope": 313, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 279, | |
"name": "ElementaryTypeName", | |
"src": "7229:7:0" | |
} | |
], | |
"id": 280, | |
"name": "VariableDeclaration", | |
"src": "7229:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 225, | |
"type": "uint256", | |
"value": "s_tail" | |
}, | |
"id": 281, | |
"name": "Identifier", | |
"src": "7244:6:0" | |
} | |
], | |
"id": 282, | |
"name": "VariableDeclarationStatement", | |
"src": "7229:21:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
284 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "i", | |
"scope": 313, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 283, | |
"name": "ElementaryTypeName", | |
"src": "7334:7:0" | |
} | |
], | |
"id": 284, | |
"name": "VariableDeclaration", | |
"src": "7334:9:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "+", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 280, | |
"type": "uint256", | |
"value": "tail" | |
}, | |
"id": 285, | |
"name": "Identifier", | |
"src": "7346:4:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "31", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "number", | |
"type": "int_const 1", | |
"value": "1" | |
}, | |
"id": 286, | |
"name": "Literal", | |
"src": "7353:1:0" | |
} | |
], | |
"id": 287, | |
"name": "BinaryOperation", | |
"src": "7346:8:0" | |
} | |
], | |
"id": 288, | |
"name": "VariableDeclarationStatement", | |
"src": "7334:20:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "<=", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 284, | |
"type": "uint256", | |
"value": "i" | |
}, | |
"id": 289, | |
"name": "Identifier", | |
"src": "7356:1:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "+", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 280, | |
"type": "uint256", | |
"value": "tail" | |
}, | |
"id": 290, | |
"name": "Identifier", | |
"src": "7361:4:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 276, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 291, | |
"name": "Identifier", | |
"src": "7368:5:0" | |
} | |
], | |
"id": 292, | |
"name": "BinaryOperation", | |
"src": "7361:12:0" | |
} | |
], | |
"id": 293, | |
"name": "BinaryOperation", | |
"src": "7356:17:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "++", | |
"prefix": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 284, | |
"type": "uint256", | |
"value": "i" | |
}, | |
"id": 294, | |
"name": "Identifier", | |
"src": "7375:1:0" | |
} | |
], | |
"id": 295, | |
"name": "UnaryOperation", | |
"src": "7375:3:0" | |
} | |
], | |
"id": 296, | |
"name": "ExpressionStatement", | |
"src": "7375:3:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"arguments": [ | |
null | |
], | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "bool", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
null | |
], | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "call", | |
"referencedDeclaration": null, | |
"type": "function () payable returns (bool)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "address", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_contract$_GasToken2_$481", | |
"typeString": "contract GasToken2" | |
}, | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 666, | |
"type": "function (address,uint256) pure returns (address)", | |
"value": "mk_contract_address" | |
}, | |
"id": 297, | |
"name": "Identifier", | |
"src": "7394:19:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 692, | |
"type": "contract GasToken2", | |
"value": "this" | |
}, | |
"id": 298, | |
"name": "Identifier", | |
"src": "7414:4:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 284, | |
"type": "uint256", | |
"value": "i" | |
}, | |
"id": 299, | |
"name": "Identifier", | |
"src": "7420:1:0" | |
} | |
], | |
"id": 300, | |
"name": "FunctionCall", | |
"src": "7394:28:0" | |
} | |
], | |
"id": 301, | |
"name": "MemberAccess", | |
"src": "7394:33:0" | |
} | |
], | |
"id": 302, | |
"name": "FunctionCall", | |
"src": "7394:35:0" | |
} | |
], | |
"id": 303, | |
"name": "ExpressionStatement", | |
"src": "7394:35:0" | |
} | |
], | |
"id": 304, | |
"name": "Block", | |
"src": "7380:60:0" | |
} | |
], | |
"id": 305, | |
"name": "ForStatement", | |
"src": "7329:111:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 225, | |
"type": "uint256", | |
"value": "s_tail" | |
}, | |
"id": 306, | |
"name": "Identifier", | |
"src": "7450:6:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "+", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 280, | |
"type": "uint256", | |
"value": "tail" | |
}, | |
"id": 307, | |
"name": "Identifier", | |
"src": "7459:4:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 276, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 308, | |
"name": "Identifier", | |
"src": "7466:5:0" | |
} | |
], | |
"id": 309, | |
"name": "BinaryOperation", | |
"src": "7459:12:0" | |
} | |
], | |
"id": 310, | |
"name": "Assignment", | |
"src": "7450:21:0" | |
} | |
], | |
"id": 311, | |
"name": "ExpressionStatement", | |
"src": "7450:21:0" | |
} | |
], | |
"id": 312, | |
"name": "Block", | |
"src": "7219:259:0" | |
} | |
], | |
"id": 313, | |
"name": "FunctionDefinition", | |
"src": "7170:308:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "free", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 350, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 314, | |
"name": "ElementaryTypeName", | |
"src": "7871:7:0" | |
} | |
], | |
"id": 315, | |
"name": "VariableDeclaration", | |
"src": "7871:13:0" | |
} | |
], | |
"id": 316, | |
"name": "ParameterList", | |
"src": "7870:15:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "success", | |
"scope": 350, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "bool", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "bool", | |
"type": "bool" | |
}, | |
"id": 317, | |
"name": "ElementaryTypeName", | |
"src": "7902:4:0" | |
} | |
], | |
"id": 318, | |
"name": "VariableDeclaration", | |
"src": "7902:12:0" | |
} | |
], | |
"id": 319, | |
"name": "ParameterList", | |
"src": "7901:14:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
321 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from_balance", | |
"scope": 350, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 320, | |
"name": "ElementaryTypeName", | |
"src": "7926:7:0" | |
} | |
], | |
"id": 321, | |
"name": "VariableDeclaration", | |
"src": "7926:20:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 322, | |
"name": "Identifier", | |
"src": "7949:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 323, | |
"name": "Identifier", | |
"src": "7960:3:0" | |
} | |
], | |
"id": 324, | |
"name": "MemberAccess", | |
"src": "7960:10:0" | |
} | |
], | |
"id": 325, | |
"name": "IndexAccess", | |
"src": "7949:22:0" | |
} | |
], | |
"id": 326, | |
"name": "VariableDeclarationStatement", | |
"src": "7926:45:0" | |
}, | |
{ | |
"attributes": { | |
"falseBody": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": ">", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 315, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 327, | |
"name": "Identifier", | |
"src": "7985:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 321, | |
"type": "uint256", | |
"value": "from_balance" | |
}, | |
"id": 328, | |
"name": "Identifier", | |
"src": "7993:12:0" | |
} | |
], | |
"id": 329, | |
"name": "BinaryOperation", | |
"src": "7985:20:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 319 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "66616c7365", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "false" | |
}, | |
"id": 330, | |
"name": "Literal", | |
"src": "8028:5:0" | |
} | |
], | |
"id": 331, | |
"name": "Return", | |
"src": "8021:12:0" | |
} | |
], | |
"id": 332, | |
"name": "Block", | |
"src": "8007:37:0" | |
} | |
], | |
"id": 333, | |
"name": "IfStatement", | |
"src": "7981:63:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "tuple()", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 313, | |
"type": "function (uint256)", | |
"value": "destroyChildren" | |
}, | |
"id": 334, | |
"name": "Identifier", | |
"src": "8054:15:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 315, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 335, | |
"name": "Identifier", | |
"src": "8070:5:0" | |
} | |
], | |
"id": 336, | |
"name": "FunctionCall", | |
"src": "8054:22:0" | |
} | |
], | |
"id": 337, | |
"name": "ExpressionStatement", | |
"src": "8054:22:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 338, | |
"name": "Identifier", | |
"src": "8087:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 339, | |
"name": "Identifier", | |
"src": "8098:3:0" | |
} | |
], | |
"id": 340, | |
"name": "MemberAccess", | |
"src": "8098:10:0" | |
} | |
], | |
"id": 341, | |
"name": "IndexAccess", | |
"src": "8087:22:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "-", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 321, | |
"type": "uint256", | |
"value": "from_balance" | |
}, | |
"id": 342, | |
"name": "Identifier", | |
"src": "8112:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 315, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 343, | |
"name": "Identifier", | |
"src": "8127:5:0" | |
} | |
], | |
"id": 344, | |
"name": "BinaryOperation", | |
"src": "8112:20:0" | |
} | |
], | |
"id": 345, | |
"name": "Assignment", | |
"src": "8087:45:0" | |
} | |
], | |
"id": 346, | |
"name": "ExpressionStatement", | |
"src": "8087:45:0" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 319 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "74727565", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "true" | |
}, | |
"id": 347, | |
"name": "Literal", | |
"src": "8150:4:0" | |
} | |
], | |
"id": 348, | |
"name": "Return", | |
"src": "8143:11:0" | |
} | |
], | |
"id": 349, | |
"name": "Block", | |
"src": "7916:245:0" | |
} | |
], | |
"id": 350, | |
"name": "FunctionDefinition", | |
"src": "7857:304:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "freeUpTo", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 389, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 351, | |
"name": "ElementaryTypeName", | |
"src": "8476:7:0" | |
} | |
], | |
"id": 352, | |
"name": "VariableDeclaration", | |
"src": "8476:13:0" | |
} | |
], | |
"id": 353, | |
"name": "ParameterList", | |
"src": "8475:15:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "freed", | |
"scope": 389, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 354, | |
"name": "ElementaryTypeName", | |
"src": "8507:7:0" | |
} | |
], | |
"id": 355, | |
"name": "VariableDeclaration", | |
"src": "8507:13:0" | |
} | |
], | |
"id": 356, | |
"name": "ParameterList", | |
"src": "8506:15:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
358 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from_balance", | |
"scope": 389, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 357, | |
"name": "ElementaryTypeName", | |
"src": "8532:7:0" | |
} | |
], | |
"id": 358, | |
"name": "VariableDeclaration", | |
"src": "8532:20:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 359, | |
"name": "Identifier", | |
"src": "8555:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 360, | |
"name": "Identifier", | |
"src": "8566:3:0" | |
} | |
], | |
"id": 361, | |
"name": "MemberAccess", | |
"src": "8566:10:0" | |
} | |
], | |
"id": 362, | |
"name": "IndexAccess", | |
"src": "8555:22:0" | |
} | |
], | |
"id": 363, | |
"name": "VariableDeclarationStatement", | |
"src": "8532:45:0" | |
}, | |
{ | |
"attributes": { | |
"falseBody": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": ">", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 352, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 364, | |
"name": "Identifier", | |
"src": "8591:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 358, | |
"type": "uint256", | |
"value": "from_balance" | |
}, | |
"id": 365, | |
"name": "Identifier", | |
"src": "8599:12:0" | |
} | |
], | |
"id": 366, | |
"name": "BinaryOperation", | |
"src": "8591:20:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 352, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 367, | |
"name": "Identifier", | |
"src": "8627:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 358, | |
"type": "uint256", | |
"value": "from_balance" | |
}, | |
"id": 368, | |
"name": "Identifier", | |
"src": "8635:12:0" | |
} | |
], | |
"id": 369, | |
"name": "Assignment", | |
"src": "8627:20:0" | |
} | |
], | |
"id": 370, | |
"name": "ExpressionStatement", | |
"src": "8627:20:0" | |
} | |
], | |
"id": 371, | |
"name": "Block", | |
"src": "8613:45:0" | |
} | |
], | |
"id": 372, | |
"name": "IfStatement", | |
"src": "8587:71:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "tuple()", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 313, | |
"type": "function (uint256)", | |
"value": "destroyChildren" | |
}, | |
"id": 373, | |
"name": "Identifier", | |
"src": "8668:15:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 352, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 374, | |
"name": "Identifier", | |
"src": "8684:5:0" | |
} | |
], | |
"id": 375, | |
"name": "FunctionCall", | |
"src": "8668:22:0" | |
} | |
], | |
"id": 376, | |
"name": "ExpressionStatement", | |
"src": "8668:22:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 377, | |
"name": "Identifier", | |
"src": "8701:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 378, | |
"name": "Identifier", | |
"src": "8712:3:0" | |
} | |
], | |
"id": 379, | |
"name": "MemberAccess", | |
"src": "8712:10:0" | |
} | |
], | |
"id": 380, | |
"name": "IndexAccess", | |
"src": "8701:22:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "-", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 358, | |
"type": "uint256", | |
"value": "from_balance" | |
}, | |
"id": 381, | |
"name": "Identifier", | |
"src": "8726:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 352, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 382, | |
"name": "Identifier", | |
"src": "8741:5:0" | |
} | |
], | |
"id": 383, | |
"name": "BinaryOperation", | |
"src": "8726:20:0" | |
} | |
], | |
"id": 384, | |
"name": "Assignment", | |
"src": "8701:45:0" | |
} | |
], | |
"id": 385, | |
"name": "ExpressionStatement", | |
"src": "8701:45:0" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 356 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 352, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 386, | |
"name": "Identifier", | |
"src": "8764:5:0" | |
} | |
], | |
"id": 387, | |
"name": "Return", | |
"src": "8757:12:0" | |
} | |
], | |
"id": 388, | |
"name": "Block", | |
"src": "8522:254:0" | |
} | |
], | |
"id": 389, | |
"name": "FunctionDefinition", | |
"src": "8458:318:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "freeFrom", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from", | |
"scope": 460, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 390, | |
"name": "ElementaryTypeName", | |
"src": "9099:7:0" | |
} | |
], | |
"id": 391, | |
"name": "VariableDeclaration", | |
"src": "9099:12:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 460, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 392, | |
"name": "ElementaryTypeName", | |
"src": "9113:7:0" | |
} | |
], | |
"id": 393, | |
"name": "VariableDeclaration", | |
"src": "9113:13:0" | |
} | |
], | |
"id": 394, | |
"name": "ParameterList", | |
"src": "9098:29:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "success", | |
"scope": 460, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "bool", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "bool", | |
"type": "bool" | |
}, | |
"id": 395, | |
"name": "ElementaryTypeName", | |
"src": "9144:4:0" | |
} | |
], | |
"id": 396, | |
"name": "VariableDeclaration", | |
"src": "9144:12:0" | |
} | |
], | |
"id": 397, | |
"name": "ParameterList", | |
"src": "9143:14:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"assignments": [ | |
399 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "spender", | |
"scope": 460, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 398, | |
"name": "ElementaryTypeName", | |
"src": "9168:7:0" | |
} | |
], | |
"id": 399, | |
"name": "VariableDeclaration", | |
"src": "9168:15:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"member_name": "sender", | |
"referencedDeclaration": null, | |
"type": "address" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 670, | |
"type": "msg", | |
"value": "msg" | |
}, | |
"id": 400, | |
"name": "Identifier", | |
"src": "9186:3:0" | |
} | |
], | |
"id": 401, | |
"name": "MemberAccess", | |
"src": "9186:10:0" | |
} | |
], | |
"id": 402, | |
"name": "VariableDeclarationStatement", | |
"src": "9168:28:0" | |
}, | |
{ | |
"attributes": { | |
"assignments": [ | |
404 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from_balance", | |
"scope": 460, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 403, | |
"name": "ElementaryTypeName", | |
"src": "9206:7:0" | |
} | |
], | |
"id": 404, | |
"name": "VariableDeclaration", | |
"src": "9206:20:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 405, | |
"name": "Identifier", | |
"src": "9229:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 391, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 406, | |
"name": "Identifier", | |
"src": "9240:4:0" | |
} | |
], | |
"id": 407, | |
"name": "IndexAccess", | |
"src": "9229:16:0" | |
} | |
], | |
"id": 408, | |
"name": "VariableDeclarationStatement", | |
"src": "9206:39:0" | |
}, | |
{ | |
"attributes": { | |
"falseBody": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": ">", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 393, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 409, | |
"name": "Identifier", | |
"src": "9259:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 404, | |
"type": "uint256", | |
"value": "from_balance" | |
}, | |
"id": 410, | |
"name": "Identifier", | |
"src": "9267:12:0" | |
} | |
], | |
"id": 411, | |
"name": "BinaryOperation", | |
"src": "9259:20:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 397 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "66616c7365", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "false" | |
}, | |
"id": 412, | |
"name": "Literal", | |
"src": "9302:5:0" | |
} | |
], | |
"id": 413, | |
"name": "Return", | |
"src": "9295:12:0" | |
} | |
], | |
"id": 414, | |
"name": "Block", | |
"src": "9281:37:0" | |
} | |
], | |
"id": 415, | |
"name": "IfStatement", | |
"src": "9255:63:0" | |
}, | |
{ | |
"attributes": { | |
"assignments": [ | |
419 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from_allowances", | |
"scope": 460, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "mapping(address => uint256)", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 416, | |
"name": "ElementaryTypeName", | |
"src": "9336:7:0" | |
}, | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 417, | |
"name": "ElementaryTypeName", | |
"src": "9347:7:0" | |
} | |
], | |
"id": 418, | |
"name": "Mapping", | |
"src": "9328:27:0" | |
} | |
], | |
"id": 419, | |
"name": "VariableDeclaration", | |
"src": "9328:43:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "mapping(address => uint256)" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 14, | |
"type": "mapping(address => mapping(address => uint256))", | |
"value": "s_allowances" | |
}, | |
"id": 420, | |
"name": "Identifier", | |
"src": "9374:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 391, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 421, | |
"name": "Identifier", | |
"src": "9387:4:0" | |
} | |
], | |
"id": 422, | |
"name": "IndexAccess", | |
"src": "9374:18:0" | |
} | |
], | |
"id": 423, | |
"name": "VariableDeclarationStatement", | |
"src": "9328:64:0" | |
}, | |
{ | |
"attributes": { | |
"assignments": [ | |
425 | |
] | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "spender_allowance", | |
"scope": 460, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 424, | |
"name": "ElementaryTypeName", | |
"src": "9402:7:0" | |
} | |
], | |
"id": 425, | |
"name": "VariableDeclaration", | |
"src": "9402:25:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": false, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 419, | |
"type": "mapping(address => uint256)", | |
"value": "from_allowances" | |
}, | |
"id": 426, | |
"name": "Identifier", | |
"src": "9430:15:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 399, | |
"type": "address", | |
"value": "spender" | |
}, | |
"id": 427, | |
"name": "Identifier", | |
"src": "9446:7:0" | |
} | |
], | |
"id": 428, | |
"name": "IndexAccess", | |
"src": "9430:24:0" | |
} | |
], | |
"id": 429, | |
"name": "VariableDeclarationStatement", | |
"src": "9402:52:0" | |
}, | |
{ | |
"attributes": { | |
"falseBody": null | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": ">", | |
"type": "bool" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 393, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 430, | |
"name": "Identifier", | |
"src": "9468:5:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 425, | |
"type": "uint256", | |
"value": "spender_allowance" | |
}, | |
"id": 431, | |
"name": "Identifier", | |
"src": "9476:17:0" | |
} | |
], | |
"id": 432, | |
"name": "BinaryOperation", | |
"src": "9468:25:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 397 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "66616c7365", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "false" | |
}, | |
"id": 433, | |
"name": "Literal", | |
"src": "9516:5:0" | |
} | |
], | |
"id": 434, | |
"name": "Return", | |
"src": "9509:12:0" | |
} | |
], | |
"id": 435, | |
"name": "Block", | |
"src": "9495:37:0" | |
} | |
], | |
"id": 436, | |
"name": "IfStatement", | |
"src": "9464:68:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"isStructConstructorCall": false, | |
"lValueRequested": false, | |
"names": [ | |
null | |
], | |
"type": "tuple()", | |
"type_conversion": false | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
], | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 313, | |
"type": "function (uint256)", | |
"value": "destroyChildren" | |
}, | |
"id": 437, | |
"name": "Identifier", | |
"src": "9542:15:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 393, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 438, | |
"name": "Identifier", | |
"src": "9558:5:0" | |
} | |
], | |
"id": 439, | |
"name": "FunctionCall", | |
"src": "9542:22:0" | |
} | |
], | |
"id": 440, | |
"name": "ExpressionStatement", | |
"src": "9542:22:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 8, | |
"type": "mapping(address => uint256)", | |
"value": "s_balances" | |
}, | |
"id": 441, | |
"name": "Identifier", | |
"src": "9575:10:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 391, | |
"type": "address", | |
"value": "from" | |
}, | |
"id": 442, | |
"name": "Identifier", | |
"src": "9586:4:0" | |
} | |
], | |
"id": 443, | |
"name": "IndexAccess", | |
"src": "9575:16:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "-", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 404, | |
"type": "uint256", | |
"value": "from_balance" | |
}, | |
"id": 444, | |
"name": "Identifier", | |
"src": "9594:12:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 393, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 445, | |
"name": "Identifier", | |
"src": "9609:5:0" | |
} | |
], | |
"id": 446, | |
"name": "BinaryOperation", | |
"src": "9594:20:0" | |
} | |
], | |
"id": 447, | |
"name": "Assignment", | |
"src": "9575:39:0" | |
} | |
], | |
"id": 448, | |
"name": "ExpressionStatement", | |
"src": "9575:39:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "=", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 419, | |
"type": "mapping(address => uint256)", | |
"value": "from_allowances" | |
}, | |
"id": 449, | |
"name": "Identifier", | |
"src": "9624:15:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 399, | |
"type": "address", | |
"value": "spender" | |
}, | |
"id": 450, | |
"name": "Identifier", | |
"src": "9640:7:0" | |
} | |
], | |
"id": 451, | |
"name": "IndexAccess", | |
"src": "9624:24:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"operator": "-", | |
"type": "uint256" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 425, | |
"type": "uint256", | |
"value": "spender_allowance" | |
}, | |
"id": 452, | |
"name": "Identifier", | |
"src": "9651:17:0" | |
}, | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"overloadedDeclarations": [ | |
null | |
], | |
"referencedDeclaration": 393, | |
"type": "uint256", | |
"value": "value" | |
}, | |
"id": 453, | |
"name": "Identifier", | |
"src": "9671:5:0" | |
} | |
], | |
"id": 454, | |
"name": "BinaryOperation", | |
"src": "9651:25:0" | |
} | |
], | |
"id": 455, | |
"name": "Assignment", | |
"src": "9624:52:0" | |
} | |
], | |
"id": 456, | |
"name": "ExpressionStatement", | |
"src": "9624:52:0" | |
}, | |
{ | |
"attributes": { | |
"functionReturnParameters": 397 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "74727565", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "bool", | |
"type": "bool", | |
"value": "true" | |
}, | |
"id": 457, | |
"name": "Literal", | |
"src": "9694:4:0" | |
} | |
], | |
"id": 458, | |
"name": "Return", | |
"src": "9687:11:0" | |
} | |
], | |
"id": 459, | |
"name": "Block", | |
"src": "9158:547:0" | |
} | |
], | |
"id": 460, | |
"name": "FunctionDefinition", | |
"src": "9081:624:0" | |
}, | |
{ | |
"attributes": { | |
"anonymous": false, | |
"name": "DebugFreeFromUpTo" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": false, | |
"name": "_from", | |
"scope": 468, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 461, | |
"name": "ElementaryTypeName", | |
"src": "9735:7:0" | |
} | |
], | |
"id": 462, | |
"name": "VariableDeclaration", | |
"src": "9735:13:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": false, | |
"name": "_spender", | |
"scope": 468, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 463, | |
"name": "ElementaryTypeName", | |
"src": "9750:7:0" | |
} | |
], | |
"id": 464, | |
"name": "VariableDeclaration", | |
"src": "9750:16:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"indexed": false, | |
"name": "value", | |
"scope": 468, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 465, | |
"name": "ElementaryTypeName", | |
"src": "9768:7:0" | |
} | |
], | |
"id": 466, | |
"name": "VariableDeclaration", | |
"src": "9768:13:0" | |
} | |
], | |
"id": 467, | |
"name": "ParameterList", | |
"src": "9734:48:0" | |
} | |
], | |
"id": 468, | |
"name": "EventDefinition", | |
"src": "9711:72:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"implemented": true, | |
"isConstructor": false, | |
"modifiers": [ | |
null | |
], | |
"name": "freeFromUpTo", | |
"payable": false, | |
"scope": 481, | |
"stateMutability": "nonpayable", | |
"visibility": "public" | |
}, | |
"children": [ | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "from", | |
"scope": 480, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "address", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "address", | |
"type": "address" | |
}, | |
"id": 469, | |
"name": "ElementaryTypeName", | |
"src": "10132:7:0" | |
} | |
], | |
"id": 470, | |
"name": "VariableDeclaration", | |
"src": "10132:12:0" | |
}, | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "value", | |
"scope": 480, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 471, | |
"name": "ElementaryTypeName", | |
"src": "10146:7:0" | |
} | |
], | |
"id": 472, | |
"name": "VariableDeclaration", | |
"src": "10146:13:0" | |
} | |
], | |
"id": 473, | |
"name": "ParameterList", | |
"src": "10131:29:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"constant": false, | |
"name": "freed", | |
"scope": 480, | |
"stateVariable": false, | |
"storageLocation": "default", | |
"type": "uint256", | |
"value": null, | |
"visibility": "internal" | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"name": "uint256", | |
"type": "uint256" | |
}, | |
"id": 474, | |
"name": "ElementaryTypeName", | |
"src": "10177:7:0" | |
} | |
], | |
"id": 475, | |
"name": "VariableDeclaration", | |
"src": "10177:13:0" | |
} | |
], | |
"id": 476, | |
"name": "ParameterList", | |
"src": "10176:15:0" | |
}, | |
{ | |
"children": [ | |
{ | |
"attributes": { | |
"functionReturnParameters": 476 | |
}, | |
"children": [ | |
{ | |
"attributes": { | |
"argumentTypes": null, | |
"hexvalue": "30", | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"subdenomination": null, | |
"token": "number", | |
"type": "int_const 0", | |
"value": "0" | |
}, | |
"id": 477, | |
"name": "Literal", | |
"src": "10232:1:0" | |
} | |
], | |
"id": 478, | |
"name": "Return", | |
"src": "10225:8:0" | |
} | |
], | |
"id": 479, | |
"name": "Block", | |
"src": "10192:653:0" | |
} | |
], | |
"id": 480, | |
"name": "FunctionDefinition", | |
"src": "10110:735:0" | |
} | |
], | |
"id": 481, | |
"name": "ContractDefinition", | |
"src": "46:10801:0" | |
} | |
], | |
"id": 482, | |
"name": "SourceUnit", | |
"src": "0:10848:0" | |
}, | |
"compiler": { | |
"name": "solc", | |
"version": "soljson-v0.4.16+commit.d7661dd9.js" | |
}, | |
"networks": { | |
"5777": { | |
"events": {}, | |
"links": {}, | |
"address": "0x46ae8a31b1088E77196342693684F730F0aAb4FB", | |
"transactionHash": "0xbfff7541d1e7a531d6f30c3cd9a184fe745ec1acb59895ac51d455eaada4664e" | |
} | |
}, | |
"schemaVersion": "3.0.2", | |
"updatedAt": "2019-02-26T18:16:20.786Z", | |
"devdoc": { | |
"methods": {} | |
}, | |
"userdoc": { | |
"methods": {} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment