You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37499 lines
1.6 MiB
37499 lines
1.6 MiB
{ |
|
"abi": [ |
|
{ |
|
"anonymous": false, |
|
"inputs": [ |
|
{ |
|
"indexed": false, |
|
"internalType": "address", |
|
"name": "who", |
|
"type": "address" |
|
}, |
|
{ |
|
"indexed": false, |
|
"internalType": "bytes4", |
|
"name": "fsig", |
|
"type": "bytes4" |
|
}, |
|
{ |
|
"indexed": false, |
|
"internalType": "bytes32", |
|
"name": "keysHash", |
|
"type": "bytes32" |
|
}, |
|
{ |
|
"indexed": false, |
|
"internalType": "uint256", |
|
"name": "slot", |
|
"type": "uint256" |
|
} |
|
], |
|
"name": "SlotFound", |
|
"type": "event" |
|
}, |
|
{ |
|
"anonymous": false, |
|
"inputs": [ |
|
{ |
|
"indexed": false, |
|
"internalType": "address", |
|
"name": "who", |
|
"type": "address" |
|
}, |
|
{ |
|
"indexed": false, |
|
"internalType": "uint256", |
|
"name": "slot", |
|
"type": "uint256" |
|
} |
|
], |
|
"name": "WARNING_UninitedSlot", |
|
"type": "event" |
|
}, |
|
{ |
|
"inputs": [ |
|
{ |
|
"internalType": "bytes", |
|
"name": "b", |
|
"type": "bytes" |
|
}, |
|
{ |
|
"internalType": "uint256", |
|
"name": "offset", |
|
"type": "uint256" |
|
} |
|
], |
|
"name": "bytesToBytes32", |
|
"outputs": [ |
|
{ |
|
"internalType": "bytes32", |
|
"name": "", |
|
"type": "bytes32" |
|
} |
|
], |
|
"stateMutability": "pure", |
|
"type": "function" |
|
} |
|
], |
|
"bytecode": { |
|
"object": "0x61025661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063535849391461003a575b600080fd5b61004d6100483660046100f4565b61005f565b60405190815260200160405180910390f35b60008060006020855111610074578451610077565b60205b905060005b818110156100d25761008f8160086101bf565b8661009a83886101de565b815181106100aa576100aa6101f1565b01602001516001600160f81b031916901c9290921791806100ca81610207565b91505061007c565b50909150505b92915050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561010757600080fd5b823567ffffffffffffffff8082111561011f57600080fd5b818501915085601f83011261013357600080fd5b813581811115610145576101456100de565b604051601f8201601f19908116603f0116810190838211818310171561016d5761016d6100de565b8160405282815288602084870101111561018657600080fd5b826020860160208301376000602093820184015298969091013596505050505050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156101d9576101d96101a9565b500290565b808201808211156100d8576100d86101a9565b634e487b7160e01b600052603260045260246000fd5b600060018201610219576102196101a9565b506001019056fea2646970667358221220cae70245ca978baf0285ce092b80c5dcb85ce6cbed3b59bae5ecc409b425945f64736f6c63430008100033", |
|
"sourceMap": "16406:8872:2:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;16406:8872:2;;;;;;;;;;;;;;;;;", |
|
"linkReferences": {} |
|
}, |
|
"deployedBytecode": { |
|
"object": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063535849391461003a575b600080fd5b61004d6100483660046100f4565b61005f565b60405190815260200160405180910390f35b60008060006020855111610074578451610077565b60205b905060005b818110156100d25761008f8160086101bf565b8661009a83886101de565b815181106100aa576100aa6101f1565b01602001516001600160f81b031916901c9290921791806100ca81610207565b91505061007c565b50909150505b92915050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561010757600080fd5b823567ffffffffffffffff8082111561011f57600080fd5b818501915085601f83011261013357600080fd5b813581811115610145576101456100de565b604051601f8201601f19908116603f0116810190838211818310171561016d5761016d6100de565b8160405282815288602084870101111561018657600080fd5b826020860160208301376000602093820184015298969091013596505050505050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156101d9576101d96101a9565b500290565b808201808211156100d8576100d86101a9565b634e487b7160e01b600052603260045260246000fd5b600060018201610219576102196101a9565b506001019056fea2646970667358221220cae70245ca978baf0285ce092b80c5dcb85ce6cbed3b59bae5ecc409b425945f64736f6c63430008100033", |
|
"sourceMap": "16406:8872:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;24576:297;;;;;;:::i;:::-;;:::i;:::-;;;1304:25:9;;;1292:2;1277:18;24576:297:2;;;;;;;;24650:7;24669:11;24691;24716:2;24705:1;:8;:13;:29;;24726:1;:8;24705:29;;;24721:2;24705:29;24691:43;;24749:6;24744:103;24765:3;24761:1;:7;24744:103;;;24830:5;:1;24834;24830:5;:::i;:::-;24804:1;24806:10;24815:1;24806:6;:10;:::i;:::-;24804:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;24804:13:2;24796:40;;24789:47;;;;;24770:3;;;;:::i;:::-;;;;24744:103;;;-1:-1:-1;24863:3:2;;-1:-1:-1;;24576:297:2;;;;;:::o;14:127:9:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:999;223:6;231;284:2;272:9;263:7;259:23;255:32;252:52;;;300:1;297;290:12;252:52;340:9;327:23;369:18;410:2;402:6;399:14;396:34;;;426:1;423;416:12;396:34;464:6;453:9;449:22;439:32;;509:7;502:4;498:2;494:13;490:27;480:55;;531:1;528;521:12;480:55;567:2;554:16;589:2;585;582:10;579:36;;;595:18;;:::i;:::-;670:2;664:9;638:2;724:13;;-1:-1:-1;;720:22:9;;;744:2;716:31;712:40;700:53;;;768:18;;;788:22;;;765:46;762:72;;;814:18;;:::i;:::-;854:10;850:2;843:22;889:2;881:6;874:18;931:7;924:4;919:2;915;911:11;907:22;904:35;901:55;;;952:1;949;942:12;901:55;1012:2;1005:4;1001:2;997:13;990:4;982:6;978:17;965:50;1059:1;1052:4;1035:15;;;1031:26;;1024:37;1035:15;1118:20;;;;1105:34;;-1:-1:-1;;;;;;146:999:9:o;1340:127::-;1401:10;1396:3;1392:20;1389:1;1382:31;1432:4;1429:1;1422:15;1456:4;1453:1;1446:15;1472:168;1512:7;1578:1;1574;1570:6;1566:14;1563:1;1560:21;1555:1;1548:9;1541:17;1537:45;1534:71;;;1585:18;;:::i;:::-;-1:-1:-1;1625:9:9;;1472:168::o;1645:125::-;1710:9;;;1731:10;;;1728:36;;;1744:18;;:::i;1775:127::-;1836:10;1831:3;1827:20;1824:1;1817:31;1867:4;1864:1;1857:15;1891:4;1888:1;1881:15;1907:135;1946:3;1967:17;;;1964:43;;1987:18;;:::i;:::-;-1:-1:-1;2034:1:9;2023:13;;1907:135::o", |
|
"linkReferences": {} |
|
}, |
|
"methodIdentifiers": { |
|
"bytesToBytes32(bytes,uint256)": "53584939" |
|
}, |
|
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.16+commit.07a7930e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"b\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"bytesToBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"stdStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x5d84dd1e27d9127431d6f9aaeb681227235f2b0285545384d1dc236cbcab1364\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fe33b19854be51975ae89d4f4d3074a8b4bbd3c0e4dc5befe84d165f7462b55\",\"dweb:/ipfs/Qma45Q6fvwpmke2rdPdZapNqjXv17ReoT4xp4Tnj1JdBd7\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xa0ede8e0d3dc3246912530aed6cacbc4703e4430c4b4acd91963ccea709755ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a28e7d00aab57ad5159247b0f0f268eda4c6980b29eee7f903578254a2be677f\",\"dweb:/ipfs/QmZrM8gY5BpW8o1QckmPNCYbBP5Q7k5DkcHdaVULKVntxp\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", |
|
"metadata": { |
|
"compiler": { |
|
"version": "0.8.16+commit.07a7930e" |
|
}, |
|
"language": "Solidity", |
|
"output": { |
|
"abi": [ |
|
{ |
|
"inputs": [ |
|
{ |
|
"internalType": "address", |
|
"name": "who", |
|
"type": "address", |
|
"indexed": false |
|
}, |
|
{ |
|
"internalType": "bytes4", |
|
"name": "fsig", |
|
"type": "bytes4", |
|
"indexed": false |
|
}, |
|
{ |
|
"internalType": "bytes32", |
|
"name": "keysHash", |
|
"type": "bytes32", |
|
"indexed": false |
|
}, |
|
{ |
|
"internalType": "uint256", |
|
"name": "slot", |
|
"type": "uint256", |
|
"indexed": false |
|
} |
|
], |
|
"type": "event", |
|
"name": "SlotFound", |
|
"anonymous": false |
|
}, |
|
{ |
|
"inputs": [ |
|
{ |
|
"internalType": "address", |
|
"name": "who", |
|
"type": "address", |
|
"indexed": false |
|
}, |
|
{ |
|
"internalType": "uint256", |
|
"name": "slot", |
|
"type": "uint256", |
|
"indexed": false |
|
} |
|
], |
|
"type": "event", |
|
"name": "WARNING_UninitedSlot", |
|
"anonymous": false |
|
}, |
|
{ |
|
"inputs": [ |
|
{ |
|
"internalType": "bytes", |
|
"name": "b", |
|
"type": "bytes" |
|
}, |
|
{ |
|
"internalType": "uint256", |
|
"name": "offset", |
|
"type": "uint256" |
|
} |
|
], |
|
"stateMutability": "pure", |
|
"type": "function", |
|
"name": "bytesToBytes32", |
|
"outputs": [ |
|
{ |
|
"internalType": "bytes32", |
|
"name": "", |
|
"type": "bytes32" |
|
} |
|
] |
|
} |
|
], |
|
"devdoc": { |
|
"kind": "dev", |
|
"methods": {}, |
|
"version": 1 |
|
}, |
|
"userdoc": { |
|
"kind": "user", |
|
"methods": {}, |
|
"version": 1 |
|
} |
|
}, |
|
"settings": { |
|
"remappings": [ |
|
":ds-test/=lib/forge-std/lib/ds-test/src/", |
|
":forge-std/=lib/forge-std/src/" |
|
], |
|
"optimizer": { |
|
"enabled": true, |
|
"runs": 200 |
|
}, |
|
"metadata": { |
|
"bytecodeHash": "ipfs" |
|
}, |
|
"compilationTarget": { |
|
"lib/forge-std/src/Test.sol": "stdStorage" |
|
}, |
|
"libraries": {} |
|
}, |
|
"sources": { |
|
"lib/forge-std/lib/ds-test/src/test.sol": { |
|
"keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", |
|
"urls": [ |
|
"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", |
|
"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" |
|
], |
|
"license": "GPL-3.0-or-later" |
|
}, |
|
"lib/forge-std/src/Script.sol": { |
|
"keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", |
|
"urls": [ |
|
"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", |
|
"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" |
|
], |
|
"license": "MIT" |
|
}, |
|
"lib/forge-std/src/Test.sol": { |
|
"keccak256": "0x5d84dd1e27d9127431d6f9aaeb681227235f2b0285545384d1dc236cbcab1364", |
|
"urls": [ |
|
"bzz-raw://6fe33b19854be51975ae89d4f4d3074a8b4bbd3c0e4dc5befe84d165f7462b55", |
|
"dweb:/ipfs/Qma45Q6fvwpmke2rdPdZapNqjXv17ReoT4xp4Tnj1JdBd7" |
|
], |
|
"license": "MIT" |
|
}, |
|
"lib/forge-std/src/Vm.sol": { |
|
"keccak256": "0xa0ede8e0d3dc3246912530aed6cacbc4703e4430c4b4acd91963ccea709755ea", |
|
"urls": [ |
|
"bzz-raw://a28e7d00aab57ad5159247b0f0f268eda4c6980b29eee7f903578254a2be677f", |
|
"dweb:/ipfs/QmZrM8gY5BpW8o1QckmPNCYbBP5Q7k5DkcHdaVULKVntxp" |
|
], |
|
"license": "MIT" |
|
}, |
|
"lib/forge-std/src/console.sol": { |
|
"keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", |
|
"urls": [ |
|
"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", |
|
"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" |
|
], |
|
"license": "MIT" |
|
}, |
|
"lib/forge-std/src/console2.sol": { |
|
"keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", |
|
"urls": [ |
|
"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", |
|
"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" |
|
], |
|
"license": "MIT" |
|
} |
|
}, |
|
"version": 1 |
|
}, |
|
"ast": { |
|
"absolutePath": "lib/forge-std/src/Test.sol", |
|
"id": 4796, |
|
"exportedSymbols": { |
|
"DSTest": [ |
|
1786 |
|
], |
|
"Script": [ |
|
2022 |
|
], |
|
"StdStorage": [ |
|
3554 |
|
], |
|
"Test": [ |
|
3456 |
|
], |
|
"Vm": [ |
|
5434 |
|
], |
|
"console": [ |
|
13498 |
|
], |
|
"console2": [ |
|
21562 |
|
], |
|
"stdError": [ |
|
3526 |
|
], |
|
"stdMath": [ |
|
4795 |
|
], |
|
"stdStorage": [ |
|
4656 |
|
] |
|
}, |
|
"nodeType": "SourceUnit", |
|
"src": "32:26751:2", |
|
"nodes": [ |
|
{ |
|
"id": 2024, |
|
"nodeType": "PragmaDirective", |
|
"src": "32:31:2", |
|
"literals": [ |
|
"solidity", |
|
">=", |
|
"0.6", |
|
".0", |
|
"<", |
|
"0.9", |
|
".0" |
|
] |
|
}, |
|
{ |
|
"id": 2025, |
|
"nodeType": "ImportDirective", |
|
"src": "65:22:2", |
|
"absolutePath": "lib/forge-std/src/Script.sol", |
|
"file": "./Script.sol", |
|
"nameLocation": "-1:-1:-1", |
|
"scope": 4796, |
|
"sourceUnit": 2023, |
|
"symbolAliases": [], |
|
"unitAlias": "" |
|
}, |
|
{ |
|
"id": 2026, |
|
"nodeType": "ImportDirective", |
|
"src": "88:26:2", |
|
"absolutePath": "lib/forge-std/lib/ds-test/src/test.sol", |
|
"file": "ds-test/test.sol", |
|
"nameLocation": "-1:-1:-1", |
|
"scope": 4796, |
|
"sourceUnit": 1787, |
|
"symbolAliases": [], |
|
"unitAlias": "" |
|
}, |
|
{ |
|
"id": 3456, |
|
"nodeType": "ContractDefinition", |
|
"src": "164:14580:2", |
|
"nodes": [ |
|
{ |
|
"id": 2034, |
|
"nodeType": "UsingForDirective", |
|
"src": "211:32:2", |
|
"global": false, |
|
"libraryName": { |
|
"id": 2031, |
|
"name": "stdStorage", |
|
"nameLocations": [ |
|
"217:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 4656, |
|
"src": "217:10:2" |
|
}, |
|
"typeName": { |
|
"id": 2033, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 2032, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"232:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "232:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "232:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
} |
|
}, |
|
{ |
|
"id": 2037, |
|
"nodeType": "VariableDeclaration", |
|
"src": "249:126:2", |
|
"constant": true, |
|
"mutability": "constant", |
|
"name": "UINT256_MAX", |
|
"nameLocation": "275:11:2", |
|
"scope": 3456, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2035, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "249:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"value": { |
|
"hexValue": "313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335", |
|
"id": 2036, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "297:78:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", |
|
"typeString": "int_const 1157...(70 digits omitted)...9935" |
|
}, |
|
"value": "115792089237316195423570985008687907853269984665640564039457584007913129639935" |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2040, |
|
"nodeType": "VariableDeclaration", |
|
"src": "382:28:2", |
|
"constant": false, |
|
"mutability": "mutable", |
|
"name": "stdstore", |
|
"nameLocation": "402:8:2", |
|
"scope": 3456, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 2039, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 2038, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"382:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "382:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "382:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2045, |
|
"nodeType": "EventDefinition", |
|
"src": "625:31:2", |
|
"anonymous": false, |
|
"eventSelector": "fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1", |
|
"name": "log_array", |
|
"nameLocation": "631:9:2", |
|
"parameters": { |
|
"id": 2044, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2043, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "val", |
|
"nameLocation": "651:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2045, |
|
"src": "641:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2041, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "641:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2042, |
|
"nodeType": "ArrayTypeName", |
|
"src": "641:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", |
|
"typeString": "uint256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "640:15:2" |
|
} |
|
}, |
|
{ |
|
"id": 2050, |
|
"nodeType": "EventDefinition", |
|
"src": "661:30:2", |
|
"anonymous": false, |
|
"eventSelector": "890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5", |
|
"name": "log_array", |
|
"nameLocation": "667:9:2", |
|
"parameters": { |
|
"id": 2049, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2048, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "val", |
|
"nameLocation": "686:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2050, |
|
"src": "677:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2046, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "677:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"id": 2047, |
|
"nodeType": "ArrayTypeName", |
|
"src": "677:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", |
|
"typeString": "int256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "676:14:2" |
|
} |
|
}, |
|
{ |
|
"id": 2055, |
|
"nodeType": "EventDefinition", |
|
"src": "696:31:2", |
|
"anonymous": false, |
|
"eventSelector": "40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2", |
|
"name": "log_array", |
|
"nameLocation": "702:9:2", |
|
"parameters": { |
|
"id": 2054, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2053, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "val", |
|
"nameLocation": "722:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2055, |
|
"src": "712:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2051, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "712:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 2052, |
|
"nodeType": "ArrayTypeName", |
|
"src": "712:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", |
|
"typeString": "address[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "711:15:2" |
|
} |
|
}, |
|
{ |
|
"id": 2062, |
|
"nodeType": "EventDefinition", |
|
"src": "732:49:2", |
|
"anonymous": false, |
|
"eventSelector": "00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb", |
|
"name": "log_named_array", |
|
"nameLocation": "738:15:2", |
|
"parameters": { |
|
"id": 2061, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2057, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "key", |
|
"nameLocation": "761:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2062, |
|
"src": "754:10:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2056, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "754:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2060, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "val", |
|
"nameLocation": "776:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2062, |
|
"src": "766:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2058, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "766:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2059, |
|
"nodeType": "ArrayTypeName", |
|
"src": "766:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", |
|
"typeString": "uint256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "753:27:2" |
|
} |
|
}, |
|
{ |
|
"id": 2069, |
|
"nodeType": "EventDefinition", |
|
"src": "786:48:2", |
|
"anonymous": false, |
|
"eventSelector": "a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57", |
|
"name": "log_named_array", |
|
"nameLocation": "792:15:2", |
|
"parameters": { |
|
"id": 2068, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2064, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "key", |
|
"nameLocation": "815:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2069, |
|
"src": "808:10:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2063, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "808:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2067, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "val", |
|
"nameLocation": "829:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2069, |
|
"src": "820:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2065, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "820:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"id": 2066, |
|
"nodeType": "ArrayTypeName", |
|
"src": "820:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", |
|
"typeString": "int256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "807:26:2" |
|
} |
|
}, |
|
{ |
|
"id": 2076, |
|
"nodeType": "EventDefinition", |
|
"src": "839:49:2", |
|
"anonymous": false, |
|
"eventSelector": "3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd", |
|
"name": "log_named_array", |
|
"nameLocation": "845:15:2", |
|
"parameters": { |
|
"id": 2075, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2071, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "key", |
|
"nameLocation": "868:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2076, |
|
"src": "861:10:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2070, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "861:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2074, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "val", |
|
"nameLocation": "883:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2076, |
|
"src": "873:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2072, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "873:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 2073, |
|
"nodeType": "ArrayTypeName", |
|
"src": "873:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", |
|
"typeString": "address[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "860:27:2" |
|
} |
|
}, |
|
{ |
|
"id": 2091, |
|
"nodeType": "FunctionDefinition", |
|
"src": "1174:85:2", |
|
"body": { |
|
"id": 2090, |
|
"nodeType": "Block", |
|
"src": "1211:48:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2087, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"expression": { |
|
"id": 2084, |
|
"name": "block", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -4, |
|
"src": "1229:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_block", |
|
"typeString": "block" |
|
} |
|
}, |
|
"id": 2085, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1235:9:2", |
|
"memberName": "timestamp", |
|
"nodeType": "MemberAccess", |
|
"src": "1229:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "+", |
|
"rightExpression": { |
|
"id": 2086, |
|
"name": "time", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2078, |
|
"src": "1247:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "1229:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 2081, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1221:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2083, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1224:4:2", |
|
"memberName": "warp", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4809, |
|
"src": "1221:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", |
|
"typeString": "function (uint256) external" |
|
} |
|
}, |
|
"id": 2088, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1221:31:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2089, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1221:31:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "skip", |
|
"nameLocation": "1183:4:2", |
|
"parameters": { |
|
"id": 2079, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2078, |
|
"mutability": "mutable", |
|
"name": "time", |
|
"nameLocation": "1196:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2091, |
|
"src": "1188:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2077, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1188:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "1187:14:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2080, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "1211:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2106, |
|
"nodeType": "FunctionDefinition", |
|
"src": "1265:87:2", |
|
"body": { |
|
"id": 2105, |
|
"nodeType": "Block", |
|
"src": "1304:48:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2102, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"expression": { |
|
"id": 2099, |
|
"name": "block", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -4, |
|
"src": "1322:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_block", |
|
"typeString": "block" |
|
} |
|
}, |
|
"id": 2100, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1328:9:2", |
|
"memberName": "timestamp", |
|
"nodeType": "MemberAccess", |
|
"src": "1322:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "-", |
|
"rightExpression": { |
|
"id": 2101, |
|
"name": "time", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2093, |
|
"src": "1340:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "1322:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 2096, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1314:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2098, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1317:4:2", |
|
"memberName": "warp", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4809, |
|
"src": "1314:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", |
|
"typeString": "function (uint256) external" |
|
} |
|
}, |
|
"id": 2103, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1314:31:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2104, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1314:31:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "rewind", |
|
"nameLocation": "1274:6:2", |
|
"parameters": { |
|
"id": 2094, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2093, |
|
"mutability": "mutable", |
|
"name": "time", |
|
"nameLocation": "1289:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2106, |
|
"src": "1281:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2092, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1281:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "1280:14:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2095, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "1304:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2127, |
|
"nodeType": "FunctionDefinition", |
|
"src": "1415:98:2", |
|
"body": { |
|
"id": 2126, |
|
"nodeType": "Block", |
|
"src": "1451:62:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2114, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2108, |
|
"src": "1469:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
}, |
|
"id": 2117, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"hexValue": "31", |
|
"id": 2115, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "1474:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "1" |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<<", |
|
"rightExpression": { |
|
"hexValue": "313238", |
|
"id": 2116, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "1479:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_128_by_1", |
|
"typeString": "int_const 128" |
|
}, |
|
"value": "128" |
|
}, |
|
"src": "1474:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
} |
|
], |
|
"expression": { |
|
"id": 2111, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1461:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2113, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1464:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "1461:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2118, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1461:22:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2119, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1461:22:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2123, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2108, |
|
"src": "1502:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2120, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1493:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2122, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1496:5:2", |
|
"memberName": "prank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5020, |
|
"src": "1493:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", |
|
"typeString": "function (address) external" |
|
} |
|
}, |
|
"id": 2124, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1493:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2125, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1493:13:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "hoax", |
|
"nameLocation": "1424:4:2", |
|
"parameters": { |
|
"id": 2109, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2108, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "1437:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2127, |
|
"src": "1429:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2107, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1429:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "1428:13:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2110, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "1451:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2148, |
|
"nodeType": "FunctionDefinition", |
|
"src": "1519:108:2", |
|
"body": { |
|
"id": 2147, |
|
"nodeType": "Block", |
|
"src": "1569:58:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2137, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2129, |
|
"src": "1587:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2138, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2131, |
|
"src": "1592:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 2134, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1579:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2136, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1582:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "1579:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2139, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1579:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2140, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1579:18:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2144, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2129, |
|
"src": "1616:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2141, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1607:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2143, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1610:5:2", |
|
"memberName": "prank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5020, |
|
"src": "1607:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", |
|
"typeString": "function (address) external" |
|
} |
|
}, |
|
"id": 2145, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1607:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2146, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1607:13:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "hoax", |
|
"nameLocation": "1528:4:2", |
|
"parameters": { |
|
"id": 2132, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2129, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "1541:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2148, |
|
"src": "1533:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2128, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1533:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2131, |
|
"mutability": "mutable", |
|
"name": "give", |
|
"nameLocation": "1554:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2148, |
|
"src": "1546:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2130, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1546:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "1532:27:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2133, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "1569:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2172, |
|
"nodeType": "FunctionDefinition", |
|
"src": "1633:122:2", |
|
"body": { |
|
"id": 2171, |
|
"nodeType": "Block", |
|
"src": "1685:70:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2158, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2150, |
|
"src": "1703:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
}, |
|
"id": 2161, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"hexValue": "31", |
|
"id": 2159, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "1708:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "1" |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<<", |
|
"rightExpression": { |
|
"hexValue": "313238", |
|
"id": 2160, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "1713:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_128_by_1", |
|
"typeString": "int_const 128" |
|
}, |
|
"value": "128" |
|
}, |
|
"src": "1708:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
} |
|
], |
|
"expression": { |
|
"id": 2155, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1695:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2157, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1698:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "1695:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2162, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1695:22:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2163, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1695:22:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2167, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2150, |
|
"src": "1736:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2168, |
|
"name": "origin", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2152, |
|
"src": "1741:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2164, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1727:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2166, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1730:5:2", |
|
"memberName": "prank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5032, |
|
"src": "1727:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", |
|
"typeString": "function (address,address) external" |
|
} |
|
}, |
|
"id": 2169, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1727:21:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2170, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1727:21:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "hoax", |
|
"nameLocation": "1642:4:2", |
|
"parameters": { |
|
"id": 2153, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2150, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "1655:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2172, |
|
"src": "1647:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2149, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1647:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2152, |
|
"mutability": "mutable", |
|
"name": "origin", |
|
"nameLocation": "1668:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2172, |
|
"src": "1660:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2151, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1660:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "1646:29:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2154, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "1685:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2196, |
|
"nodeType": "FunctionDefinition", |
|
"src": "1761:132:2", |
|
"body": { |
|
"id": 2195, |
|
"nodeType": "Block", |
|
"src": "1827:66:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2184, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2174, |
|
"src": "1845:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2185, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2178, |
|
"src": "1850:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 2181, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1837:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2183, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1840:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "1837:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2186, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1837:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2187, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1837:18:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2191, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2174, |
|
"src": "1874:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2192, |
|
"name": "origin", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2176, |
|
"src": "1879:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2188, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "1865:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2190, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "1868:5:2", |
|
"memberName": "prank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5032, |
|
"src": "1865:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", |
|
"typeString": "function (address,address) external" |
|
} |
|
}, |
|
"id": 2193, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "1865:21:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2194, |
|
"nodeType": "ExpressionStatement", |
|
"src": "1865:21:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "hoax", |
|
"nameLocation": "1770:4:2", |
|
"parameters": { |
|
"id": 2179, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2174, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "1783:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2196, |
|
"src": "1775:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2173, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1775:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2176, |
|
"mutability": "mutable", |
|
"name": "origin", |
|
"nameLocation": "1796:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2196, |
|
"src": "1788:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2175, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1788:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2178, |
|
"mutability": "mutable", |
|
"name": "give", |
|
"nameLocation": "1812:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2196, |
|
"src": "1804:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2177, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1804:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "1774:43:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2180, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "1827:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2217, |
|
"nodeType": "FunctionDefinition", |
|
"src": "1964:108:2", |
|
"body": { |
|
"id": 2216, |
|
"nodeType": "Block", |
|
"src": "2005:67:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2204, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2198, |
|
"src": "2023:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
}, |
|
"id": 2207, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"hexValue": "31", |
|
"id": 2205, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "2028:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "1" |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<<", |
|
"rightExpression": { |
|
"hexValue": "313238", |
|
"id": 2206, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "2033:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_128_by_1", |
|
"typeString": "int_const 128" |
|
}, |
|
"value": "128" |
|
}, |
|
"src": "2028:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
} |
|
], |
|
"expression": { |
|
"id": 2201, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2015:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2203, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2018:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "2015:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2208, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2015:22:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2209, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2015:22:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2213, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2198, |
|
"src": "2061:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2210, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2047:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2212, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2050:10:2", |
|
"memberName": "startPrank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5025, |
|
"src": "2047:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", |
|
"typeString": "function (address) external" |
|
} |
|
}, |
|
"id": 2214, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2047:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2215, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2047:18:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "startHoax", |
|
"nameLocation": "1973:9:2", |
|
"parameters": { |
|
"id": 2199, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2198, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "1991:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2217, |
|
"src": "1983:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2197, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "1983:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "1982:13:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2200, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "2005:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2238, |
|
"nodeType": "FunctionDefinition", |
|
"src": "2078:118:2", |
|
"body": { |
|
"id": 2237, |
|
"nodeType": "Block", |
|
"src": "2133:63:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2227, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2219, |
|
"src": "2151:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2228, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2221, |
|
"src": "2156:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 2224, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2143:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2226, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2146:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "2143:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2229, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2143:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2230, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2143:18:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2234, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2219, |
|
"src": "2185:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2231, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2171:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2233, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2174:10:2", |
|
"memberName": "startPrank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5025, |
|
"src": "2171:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", |
|
"typeString": "function (address) external" |
|
} |
|
}, |
|
"id": 2235, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2171:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2236, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2171:18:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "startHoax", |
|
"nameLocation": "2087:9:2", |
|
"parameters": { |
|
"id": 2222, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2219, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "2105:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2238, |
|
"src": "2097:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2218, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2097:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2221, |
|
"mutability": "mutable", |
|
"name": "give", |
|
"nameLocation": "2118:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2238, |
|
"src": "2110:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2220, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2110:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "2096:27:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2223, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "2133:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2262, |
|
"nodeType": "FunctionDefinition", |
|
"src": "2315:132:2", |
|
"body": { |
|
"id": 2261, |
|
"nodeType": "Block", |
|
"src": "2372:75:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2248, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2240, |
|
"src": "2390:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
}, |
|
"id": 2251, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"hexValue": "31", |
|
"id": 2249, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "2395:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "1" |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<<", |
|
"rightExpression": { |
|
"hexValue": "313238", |
|
"id": 2250, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "2400:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_128_by_1", |
|
"typeString": "int_const 128" |
|
}, |
|
"value": "128" |
|
}, |
|
"src": "2395:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", |
|
"typeString": "int_const 3402...(31 digits omitted)...1456" |
|
} |
|
], |
|
"expression": { |
|
"id": 2245, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2382:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2247, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2385:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "2382:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2252, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2382:22:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2253, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2382:22:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2257, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2240, |
|
"src": "2428:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2258, |
|
"name": "origin", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2242, |
|
"src": "2433:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2254, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2414:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2256, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2417:10:2", |
|
"memberName": "startPrank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5039, |
|
"src": "2414:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", |
|
"typeString": "function (address,address) external" |
|
} |
|
}, |
|
"id": 2259, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2414:26:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2260, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2414:26:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "startHoax", |
|
"nameLocation": "2324:9:2", |
|
"parameters": { |
|
"id": 2243, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2240, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "2342:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2262, |
|
"src": "2334:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2239, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2334:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2242, |
|
"mutability": "mutable", |
|
"name": "origin", |
|
"nameLocation": "2355:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2262, |
|
"src": "2347:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2241, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2347:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "2333:29:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2244, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "2372:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2286, |
|
"nodeType": "FunctionDefinition", |
|
"src": "2453:142:2", |
|
"body": { |
|
"id": 2285, |
|
"nodeType": "Block", |
|
"src": "2524:71:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2274, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2264, |
|
"src": "2542:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2275, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2268, |
|
"src": "2547:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 2271, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2534:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2273, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2537:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "2534:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2276, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2534:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2277, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2534:18:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2281, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2264, |
|
"src": "2576:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2282, |
|
"name": "origin", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2266, |
|
"src": "2581:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2278, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2562:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2280, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2565:10:2", |
|
"memberName": "startPrank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5039, |
|
"src": "2562:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", |
|
"typeString": "function (address,address) external" |
|
} |
|
}, |
|
"id": 2283, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2562:26:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2284, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2562:26:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "startHoax", |
|
"nameLocation": "2462:9:2", |
|
"parameters": { |
|
"id": 2269, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2264, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "2480:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2286, |
|
"src": "2472:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2263, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2472:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2266, |
|
"mutability": "mutable", |
|
"name": "origin", |
|
"nameLocation": "2493:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2286, |
|
"src": "2485:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2265, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2485:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2268, |
|
"mutability": "mutable", |
|
"name": "give", |
|
"nameLocation": "2509:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2286, |
|
"src": "2501:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2267, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2501:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "2471:43:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2270, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "2524:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2303, |
|
"nodeType": "FunctionDefinition", |
|
"src": "2601:102:2", |
|
"body": { |
|
"id": 2302, |
|
"nodeType": "Block", |
|
"src": "2644:59:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"expression": { |
|
"id": 2291, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2654:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2293, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2657:9:2", |
|
"memberName": "stopPrank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5042, |
|
"src": "2654:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$", |
|
"typeString": "function () external" |
|
} |
|
}, |
|
"id": 2294, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2654:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2295, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2654:14:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2299, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2288, |
|
"src": "2692:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2296, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2678:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2298, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2681:10:2", |
|
"memberName": "startPrank", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5025, |
|
"src": "2678:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", |
|
"typeString": "function (address) external" |
|
} |
|
}, |
|
"id": 2300, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2678:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2301, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2678:18:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "changePrank", |
|
"nameLocation": "2610:11:2", |
|
"parameters": { |
|
"id": 2289, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2288, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "2630:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2303, |
|
"src": "2622:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2287, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2622:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "2621:13:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2290, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "2644:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2339, |
|
"nodeType": "FunctionDefinition", |
|
"src": "2776:233:2", |
|
"body": { |
|
"id": 2338, |
|
"nodeType": "Block", |
|
"src": "2871:138:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 2322, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 2312, |
|
"name": "privateKey", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2310, |
|
"src": "2881:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2318, |
|
"name": "name", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2305, |
|
"src": "2929:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2316, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "2912:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2317, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "2916:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "2912:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2319, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2912:22:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2315, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "2902:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2320, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2902:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 2314, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "2894:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 2313, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2894:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 2321, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2894:42:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "2881:55:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2323, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2881:55:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 2329, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 2324, |
|
"name": "addr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2308, |
|
"src": "2946:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"id": 2327, |
|
"name": "privateKey", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2310, |
|
"src": "2961:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 2325, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2953:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2326, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2956:4:2", |
|
"memberName": "addr", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4867, |
|
"src": "2953:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_address_$", |
|
"typeString": "function (uint256) external returns (address)" |
|
} |
|
}, |
|
"id": 2328, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2953:19:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"src": "2946:26:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 2330, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2946:26:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2334, |
|
"name": "addr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2308, |
|
"src": "2991:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2335, |
|
"name": "name", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2305, |
|
"src": "2997:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2331, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "2982:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2333, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "2985:5:2", |
|
"memberName": "label", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5160, |
|
"src": "2982:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (address,string memory) external" |
|
} |
|
}, |
|
"id": 2336, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "2982:20:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2337, |
|
"nodeType": "ExpressionStatement", |
|
"src": "2982:20:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "makeAddrAndKey", |
|
"nameLocation": "2785:14:2", |
|
"parameters": { |
|
"id": 2306, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2305, |
|
"mutability": "mutable", |
|
"name": "name", |
|
"nameLocation": "2814:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2339, |
|
"src": "2800:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2304, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2800:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "2799:20:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2311, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2308, |
|
"mutability": "mutable", |
|
"name": "addr", |
|
"nameLocation": "2845:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2339, |
|
"src": "2837:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2307, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2837:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2310, |
|
"mutability": "mutable", |
|
"name": "privateKey", |
|
"nameLocation": "2859:10:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2339, |
|
"src": "2851:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2309, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "2851:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "2836:34:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2354, |
|
"nodeType": "FunctionDefinition", |
|
"src": "3048:116:2", |
|
"body": { |
|
"id": 2353, |
|
"nodeType": "Block", |
|
"src": "3117:47:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 2351, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"components": [ |
|
{ |
|
"id": 2346, |
|
"name": "addr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2344, |
|
"src": "3128:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
null |
|
], |
|
"id": 2347, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"nodeType": "TupleExpression", |
|
"src": "3127:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_address_$__$", |
|
"typeString": "tuple(address,)" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"id": 2349, |
|
"name": "name", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2341, |
|
"src": "3152:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 2348, |
|
"name": "makeAddrAndKey", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2339, |
|
"src": "3137:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$", |
|
"typeString": "function (string memory) returns (address,uint256)" |
|
} |
|
}, |
|
"id": 2350, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "3137:20:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_address_$_t_uint256_$", |
|
"typeString": "tuple(address,uint256)" |
|
} |
|
}, |
|
"src": "3127:30:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2352, |
|
"nodeType": "ExpressionStatement", |
|
"src": "3127:30:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "makeAddr", |
|
"nameLocation": "3057:8:2", |
|
"parameters": { |
|
"id": 2342, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2341, |
|
"mutability": "mutable", |
|
"name": "name", |
|
"nameLocation": "3080:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2354, |
|
"src": "3066:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2340, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3066:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "3065:20:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2345, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2344, |
|
"mutability": "mutable", |
|
"name": "addr", |
|
"nameLocation": "3111:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2354, |
|
"src": "3103:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2343, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3103:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "3102:14:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2384, |
|
"nodeType": "FunctionDefinition", |
|
"src": "3208:343:2", |
|
"body": { |
|
"id": 2383, |
|
"nodeType": "Block", |
|
"src": "3271:280:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "5741524e494e47", |
|
"id": 2364, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "3303:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_51aac253d1d3eb5d066c1c453a3853c9527c2f88e5bdf63a1c20e25e8cf24885", |
|
"typeString": "literal_string \"WARNING\"" |
|
}, |
|
"value": "WARNING" |
|
}, |
|
{ |
|
"hexValue": "546573742074697028616464726573732c616464726573732c75696e74323536293a2054686520607469706020737464636865617420686173206265656e20646570726563617465642e2055736520606465616c6020696e73746561642e", |
|
"id": 2365, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "3314:96:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_762cc440f1f8cee7b2ded8a4dd443d4267a1f30da9ac7fb41d8332668a3aaa5e", |
|
"typeString": "literal_string \"Test tip(address,address,uint256): The `tip` stdcheat has been deprecated. Use `deal` instead.\"" |
|
}, |
|
"value": "Test tip(address,address,uint256): The `tip` stdcheat has been deprecated. Use `deal` instead." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_51aac253d1d3eb5d066c1c453a3853c9527c2f88e5bdf63a1c20e25e8cf24885", |
|
"typeString": "literal_string \"WARNING\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_762cc440f1f8cee7b2ded8a4dd443d4267a1f30da9ac7fb41d8332668a3aaa5e", |
|
"typeString": "literal_string \"Test tip(address,address,uint256): The `tip` stdcheat has been deprecated. Use `deal` instead.\"" |
|
} |
|
], |
|
"id": 2363, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "3286:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 2366, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "3286:125:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2367, |
|
"nodeType": "EmitStatement", |
|
"src": "3281:130:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2380, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2360, |
|
"src": "3539:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2377, |
|
"name": "to", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2358, |
|
"src": "3508:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30783730613038323331", |
|
"id": 2374, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "3474:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1889567281_by_1", |
|
"typeString": "int_const 1889567281" |
|
}, |
|
"value": "0x70a08231" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_1889567281_by_1", |
|
"typeString": "int_const 1889567281" |
|
} |
|
], |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2371, |
|
"name": "token", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2356, |
|
"src": "3450:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2368, |
|
"name": "stdstore", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2040, |
|
"src": "3421:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage", |
|
"typeString": "struct StdStorage storage ref" |
|
} |
|
}, |
|
"id": 2370, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "3443:6:2", |
|
"memberName": "target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4076, |
|
"src": "3421:28:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$3554_storage_ptr_$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" |
|
} |
|
}, |
|
"id": 2372, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "3421:35:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 2373, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "3470:3:2", |
|
"memberName": "sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4096, |
|
"src": "3421:52:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$3554_storage_ptr_$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)" |
|
} |
|
}, |
|
"id": 2375, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "3421:64:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 2376, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "3499:8:2", |
|
"memberName": "with_key", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4149, |
|
"src": "3421:86:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$3554_storage_ptr_$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" |
|
} |
|
}, |
|
"id": 2378, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "3421:90:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 2379, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "3525:13:2", |
|
"memberName": "checked_write", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4256, |
|
"src": "3421:117:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,uint256)" |
|
} |
|
}, |
|
"id": 2381, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "3421:123:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2382, |
|
"nodeType": "ExpressionStatement", |
|
"src": "3421:123:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "tip", |
|
"nameLocation": "3217:3:2", |
|
"parameters": { |
|
"id": 2361, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2356, |
|
"mutability": "mutable", |
|
"name": "token", |
|
"nameLocation": "3229:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2384, |
|
"src": "3221:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2355, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3221:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2358, |
|
"mutability": "mutable", |
|
"name": "to", |
|
"nameLocation": "3244:2:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2384, |
|
"src": "3236:10:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2357, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3236:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2360, |
|
"mutability": "mutable", |
|
"name": "give", |
|
"nameLocation": "3256:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2384, |
|
"src": "3248:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2359, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3248:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "3220:41:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2362, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "3271:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2399, |
|
"nodeType": "FunctionDefinition", |
|
"src": "3642:83:2", |
|
"body": { |
|
"id": 2398, |
|
"nodeType": "Block", |
|
"src": "3691:34:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2394, |
|
"name": "to", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2386, |
|
"src": "3709:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2395, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2388, |
|
"src": "3713:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 2391, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "3701:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2393, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "3704:4:2", |
|
"memberName": "deal", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5049, |
|
"src": "3701:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256) external" |
|
} |
|
}, |
|
"id": 2396, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "3701:17:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2397, |
|
"nodeType": "ExpressionStatement", |
|
"src": "3701:17:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "deal", |
|
"nameLocation": "3651:4:2", |
|
"parameters": { |
|
"id": 2389, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2386, |
|
"mutability": "mutable", |
|
"name": "to", |
|
"nameLocation": "3664:2:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2399, |
|
"src": "3656:10:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2385, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3656:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2388, |
|
"mutability": "mutable", |
|
"name": "give", |
|
"nameLocation": "3676:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2399, |
|
"src": "3668:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2387, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3668:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "3655:26:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2390, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "3691:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2416, |
|
"nodeType": "FunctionDefinition", |
|
"src": "3849:109:2", |
|
"body": { |
|
"id": 2415, |
|
"nodeType": "Block", |
|
"src": "3913:45:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2409, |
|
"name": "token", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2401, |
|
"src": "3928:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2410, |
|
"name": "to", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2403, |
|
"src": "3935:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 2411, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2405, |
|
"src": "3939:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"hexValue": "66616c7365", |
|
"id": 2412, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "bool", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "3945:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"value": "false" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
], |
|
"id": 2408, |
|
"name": "deal", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2399, |
|
2416, |
|
2519 |
|
], |
|
"referencedDeclaration": 2519, |
|
"src": "3923:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$", |
|
"typeString": "function (address,address,uint256,bool)" |
|
} |
|
}, |
|
"id": 2413, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "3923:28:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2414, |
|
"nodeType": "ExpressionStatement", |
|
"src": "3923:28:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "deal", |
|
"nameLocation": "3858:4:2", |
|
"parameters": { |
|
"id": 2406, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2401, |
|
"mutability": "mutable", |
|
"name": "token", |
|
"nameLocation": "3871:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2416, |
|
"src": "3863:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2400, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3863:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2403, |
|
"mutability": "mutable", |
|
"name": "to", |
|
"nameLocation": "3886:2:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2416, |
|
"src": "3878:10:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2402, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3878:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2405, |
|
"mutability": "mutable", |
|
"name": "give", |
|
"nameLocation": "3898:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2416, |
|
"src": "3890:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2404, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3890:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "3862:41:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2407, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "3913:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2519, |
|
"nodeType": "FunctionDefinition", |
|
"src": "3964:917:2", |
|
"body": { |
|
"id": 2518, |
|
"nodeType": "Block", |
|
"src": "4041:840:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
null, |
|
2428 |
|
], |
|
"declarations": [ |
|
null, |
|
{ |
|
"constant": false, |
|
"id": 2428, |
|
"mutability": "mutable", |
|
"name": "balData", |
|
"nameLocation": "4098:7:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2518, |
|
"src": "4085:20:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2427, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4085:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2437, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"hexValue": "30783730613038323331", |
|
"id": 2433, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "4143:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1889567281_by_1", |
|
"typeString": "int_const 1889567281" |
|
}, |
|
"value": "0x70a08231" |
|
}, |
|
{ |
|
"id": 2434, |
|
"name": "to", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2420, |
|
"src": "4155:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_1889567281_by_1", |
|
"typeString": "int_const 1889567281" |
|
}, |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2431, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "4120:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2432, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "4124:18:2", |
|
"memberName": "encodeWithSelector", |
|
"nodeType": "MemberAccess", |
|
"src": "4120:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes4) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2435, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4120:38:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2429, |
|
"name": "token", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2418, |
|
"src": "4109:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 2430, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4115:4:2", |
|
"memberName": "call", |
|
"nodeType": "MemberAccess", |
|
"src": "4109:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes memory) payable returns (bool,bytes memory)" |
|
} |
|
}, |
|
"id": 2436, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4109:50:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "tuple(bool,bytes memory)" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "4082:77:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
2439 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 2439, |
|
"mutability": "mutable", |
|
"name": "prevBal", |
|
"nameLocation": "4177:7:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2518, |
|
"src": "4169:15:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2438, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4169:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2447, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 2442, |
|
"name": "balData", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2428, |
|
"src": "4198:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"components": [ |
|
{ |
|
"id": 2444, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "4208:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 2443, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4208:7:2", |
|
"typeDescriptions": {} |
|
} |
|
} |
|
], |
|
"id": 2445, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "4207:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
} |
|
], |
|
"expression": { |
|
"id": 2440, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "4187:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2441, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "4191:6:2", |
|
"memberName": "decode", |
|
"nodeType": "MemberAccess", |
|
"src": "4187:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$", |
|
"typeString": "function () pure" |
|
} |
|
}, |
|
"id": 2446, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4187:30:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "4169:48:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2460, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2422, |
|
"src": "4372:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2457, |
|
"name": "to", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2420, |
|
"src": "4341:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30783730613038323331", |
|
"id": 2454, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "4307:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1889567281_by_1", |
|
"typeString": "int_const 1889567281" |
|
}, |
|
"value": "0x70a08231" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_1889567281_by_1", |
|
"typeString": "int_const 1889567281" |
|
} |
|
], |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2451, |
|
"name": "token", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2418, |
|
"src": "4283:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2448, |
|
"name": "stdstore", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2040, |
|
"src": "4254:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage", |
|
"typeString": "struct StdStorage storage ref" |
|
} |
|
}, |
|
"id": 2450, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4276:6:2", |
|
"memberName": "target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4076, |
|
"src": "4254:28:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$3554_storage_ptr_$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" |
|
} |
|
}, |
|
"id": 2452, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4254:35:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 2453, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4303:3:2", |
|
"memberName": "sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4096, |
|
"src": "4254:52:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$3554_storage_ptr_$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)" |
|
} |
|
}, |
|
"id": 2455, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4254:64:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 2456, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4332:8:2", |
|
"memberName": "with_key", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4149, |
|
"src": "4254:86:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$3554_storage_ptr_$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" |
|
} |
|
}, |
|
"id": 2458, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4254:90:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 2459, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4358:13:2", |
|
"memberName": "checked_write", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4256, |
|
"src": "4254:117:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,uint256)" |
|
} |
|
}, |
|
"id": 2461, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4254:123:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2462, |
|
"nodeType": "ExpressionStatement", |
|
"src": "4254:123:2" |
|
}, |
|
{ |
|
"condition": { |
|
"id": 2463, |
|
"name": "adjust", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2424, |
|
"src": "4422:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 2517, |
|
"nodeType": "IfStatement", |
|
"src": "4419:456:2", |
|
"trueBody": { |
|
"id": 2516, |
|
"nodeType": "Block", |
|
"src": "4429:446:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
null, |
|
2465 |
|
], |
|
"declarations": [ |
|
null, |
|
{ |
|
"constant": false, |
|
"id": 2465, |
|
"mutability": "mutable", |
|
"name": "totSupData", |
|
"nameLocation": "4459:10:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2516, |
|
"src": "4446:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2464, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4446:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2473, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"hexValue": "30783138313630646464", |
|
"id": 2470, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "4507:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_404098525_by_1", |
|
"typeString": "int_const 404098525" |
|
}, |
|
"value": "0x18160ddd" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_404098525_by_1", |
|
"typeString": "int_const 404098525" |
|
} |
|
], |
|
"expression": { |
|
"id": 2468, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "4484:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2469, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "4488:18:2", |
|
"memberName": "encodeWithSelector", |
|
"nodeType": "MemberAccess", |
|
"src": "4484:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes4) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2471, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4484:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2466, |
|
"name": "token", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2418, |
|
"src": "4473:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 2467, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4479:4:2", |
|
"memberName": "call", |
|
"nodeType": "MemberAccess", |
|
"src": "4473:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes memory) payable returns (bool,bytes memory)" |
|
} |
|
}, |
|
"id": 2472, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4473:46:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "tuple(bool,bytes memory)" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "4443:76:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
2475 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 2475, |
|
"mutability": "mutable", |
|
"name": "totSup", |
|
"nameLocation": "4541:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2516, |
|
"src": "4533:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2474, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4533:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2483, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 2478, |
|
"name": "totSupData", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2465, |
|
"src": "4561:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"components": [ |
|
{ |
|
"id": 2480, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "4574:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 2479, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4574:7:2", |
|
"typeDescriptions": {} |
|
} |
|
} |
|
], |
|
"id": 2481, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "4573:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
} |
|
], |
|
"expression": { |
|
"id": 2476, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "4550:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2477, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "4554:6:2", |
|
"memberName": "decode", |
|
"nodeType": "MemberAccess", |
|
"src": "4550:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$", |
|
"typeString": "function () pure" |
|
} |
|
}, |
|
"id": 2482, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4550:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "4533:50:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2486, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2484, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2422, |
|
"src": "4600:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<", |
|
"rightExpression": { |
|
"id": 2485, |
|
"name": "prevBal", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2439, |
|
"src": "4607:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "4600:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseBody": { |
|
"id": 2502, |
|
"nodeType": "Block", |
|
"src": "4681:59:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 2500, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 2495, |
|
"name": "totSup", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2475, |
|
"src": "4699:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "+=", |
|
"rightHandSide": { |
|
"components": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2498, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2496, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2422, |
|
"src": "4710:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "-", |
|
"rightExpression": { |
|
"id": 2497, |
|
"name": "prevBal", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2439, |
|
"src": "4717:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "4710:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"id": 2499, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "4709:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "4699:26:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2501, |
|
"nodeType": "ExpressionStatement", |
|
"src": "4699:26:2" |
|
} |
|
] |
|
}, |
|
"id": 2503, |
|
"nodeType": "IfStatement", |
|
"src": "4597:143:2", |
|
"trueBody": { |
|
"id": 2494, |
|
"nodeType": "Block", |
|
"src": "4616:59:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 2492, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 2487, |
|
"name": "totSup", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2475, |
|
"src": "4634:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "-=", |
|
"rightHandSide": { |
|
"components": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2490, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2488, |
|
"name": "prevBal", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2439, |
|
"src": "4645:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "-", |
|
"rightExpression": { |
|
"id": 2489, |
|
"name": "give", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2422, |
|
"src": "4655:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "4645:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"id": 2491, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "4644:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "4634:26:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2493, |
|
"nodeType": "ExpressionStatement", |
|
"src": "4634:26:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2513, |
|
"name": "totSup", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2475, |
|
"src": "4857:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30783138313630646464", |
|
"id": 2510, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "4814:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_404098525_by_1", |
|
"typeString": "int_const 404098525" |
|
}, |
|
"value": "0x18160ddd" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_404098525_by_1", |
|
"typeString": "int_const 404098525" |
|
} |
|
], |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2507, |
|
"name": "token", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2418, |
|
"src": "4786:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 2504, |
|
"name": "stdstore", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2040, |
|
"src": "4753:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage", |
|
"typeString": "struct StdStorage storage ref" |
|
} |
|
}, |
|
"id": 2506, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4779:6:2", |
|
"memberName": "target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4076, |
|
"src": "4753:32:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$3554_storage_ptr_$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)" |
|
} |
|
}, |
|
"id": 2508, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4753:39:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 2509, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4810:3:2", |
|
"memberName": "sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4096, |
|
"src": "4753:60:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$3554_storage_ptr_$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)" |
|
} |
|
}, |
|
"id": 2511, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4753:72:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 2512, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "4843:13:2", |
|
"memberName": "checked_write", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4256, |
|
"src": "4753:103:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$3554_storage_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer,uint256)" |
|
} |
|
}, |
|
"id": 2514, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4753:111:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2515, |
|
"nodeType": "ExpressionStatement", |
|
"src": "4753:111:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "deal", |
|
"nameLocation": "3973:4:2", |
|
"parameters": { |
|
"id": 2425, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2418, |
|
"mutability": "mutable", |
|
"name": "token", |
|
"nameLocation": "3986:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2519, |
|
"src": "3978:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2417, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3978:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2420, |
|
"mutability": "mutable", |
|
"name": "to", |
|
"nameLocation": "4001:2:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2519, |
|
"src": "3993:10:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2419, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "3993:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2422, |
|
"mutability": "mutable", |
|
"name": "give", |
|
"nameLocation": "4013:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2519, |
|
"src": "4005:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2421, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4005:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2424, |
|
"mutability": "mutable", |
|
"name": "adjust", |
|
"nameLocation": "4024:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2519, |
|
"src": "4019:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 2423, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4019:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "3977:54:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2426, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "4041:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2583, |
|
"nodeType": "FunctionDefinition", |
|
"src": "4887:578:2", |
|
"body": { |
|
"id": 2582, |
|
"nodeType": "Block", |
|
"src": "4981:484:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2533, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2531, |
|
"name": "min", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2523, |
|
"src": "4999:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<=", |
|
"rightExpression": { |
|
"id": 2532, |
|
"name": "max", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2525, |
|
"src": "5006:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "4999:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"hexValue": "5465737420626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e", |
|
"id": 2534, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "5011:60:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_3bbfc2dadabc14e74ee28873c31ab942a6b0084199df371a57fc6e23a8b91a7d", |
|
"typeString": "literal_string \"Test bound(uint256,uint256,uint256): Max is less than min.\"" |
|
}, |
|
"value": "Test bound(uint256,uint256,uint256): Max is less than min." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_3bbfc2dadabc14e74ee28873c31ab942a6b0084199df371a57fc6e23a8b91a7d", |
|
"typeString": "literal_string \"Test bound(uint256,uint256,uint256): Max is less than min.\"" |
|
} |
|
], |
|
"id": 2530, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "4991:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 2535, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "4991:81:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2536, |
|
"nodeType": "ExpressionStatement", |
|
"src": "4991:81:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
2538 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 2538, |
|
"mutability": "mutable", |
|
"name": "size", |
|
"nameLocation": "5091:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2582, |
|
"src": "5083:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2537, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "5083:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2542, |
|
"initialValue": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2541, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2539, |
|
"name": "max", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2525, |
|
"src": "5098:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "-", |
|
"rightExpression": { |
|
"id": 2540, |
|
"name": "min", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2523, |
|
"src": "5104:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "5098:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "5083:24:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2545, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2543, |
|
"name": "size", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2538, |
|
"src": "5122:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"hexValue": "30", |
|
"id": 2544, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "5130:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"src": "5122:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseBody": { |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2553, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2551, |
|
"name": "size", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2538, |
|
"src": "5196:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"id": 2552, |
|
"name": "UINT256_MAX", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2037, |
|
"src": "5204:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "5196:19:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseBody": { |
|
"id": 2574, |
|
"nodeType": "Block", |
|
"src": "5282:123:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 2560, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "++", |
|
"prefix": true, |
|
"src": "5296:6:2", |
|
"subExpression": { |
|
"id": 2559, |
|
"name": "size", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2538, |
|
"src": "5298:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2561, |
|
"nodeType": "ExpressionStatement", |
|
"src": "5296:6:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
2563 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 2563, |
|
"mutability": "mutable", |
|
"name": "mod", |
|
"nameLocation": "5348:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2574, |
|
"src": "5340:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2562, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "5340:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2567, |
|
"initialValue": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2566, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2564, |
|
"name": "x", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2521, |
|
"src": "5354:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "%", |
|
"rightExpression": { |
|
"id": 2565, |
|
"name": "size", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2538, |
|
"src": "5358:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "5354:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "5340:22:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 2572, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 2568, |
|
"name": "result", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2528, |
|
"src": "5376:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 2571, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2569, |
|
"name": "min", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2523, |
|
"src": "5385:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "+", |
|
"rightExpression": { |
|
"id": 2570, |
|
"name": "mod", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2563, |
|
"src": "5391:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "5385:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "5376:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2573, |
|
"nodeType": "ExpressionStatement", |
|
"src": "5376:18:2" |
|
} |
|
] |
|
}, |
|
"id": 2575, |
|
"nodeType": "IfStatement", |
|
"src": "5192:213:2", |
|
"trueBody": { |
|
"id": 2558, |
|
"nodeType": "Block", |
|
"src": "5225:35:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 2556, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 2554, |
|
"name": "result", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2528, |
|
"src": "5239:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"id": 2555, |
|
"name": "x", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2521, |
|
"src": "5248:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "5239:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2557, |
|
"nodeType": "ExpressionStatement", |
|
"src": "5239:10:2" |
|
} |
|
] |
|
} |
|
}, |
|
"id": 2576, |
|
"nodeType": "IfStatement", |
|
"src": "5118:287:2", |
|
"trueBody": { |
|
"id": 2550, |
|
"nodeType": "Block", |
|
"src": "5141:37:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 2548, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 2546, |
|
"name": "result", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2528, |
|
"src": "5155:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"id": 2547, |
|
"name": "min", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2523, |
|
"src": "5164:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "5155:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2549, |
|
"nodeType": "ExpressionStatement", |
|
"src": "5155:12:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "426f756e6420526573756c74", |
|
"id": 2578, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "5435:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52", |
|
"typeString": "literal_string \"Bound Result\"" |
|
}, |
|
"value": "Bound Result" |
|
}, |
|
{ |
|
"id": 2579, |
|
"name": "result", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2528, |
|
"src": "5451:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52", |
|
"typeString": "literal_string \"Bound Result\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 2577, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "5420:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 2580, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "5420:38:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2581, |
|
"nodeType": "EmitStatement", |
|
"src": "5415:43:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "bound", |
|
"nameLocation": "4896:5:2", |
|
"parameters": { |
|
"id": 2526, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2521, |
|
"mutability": "mutable", |
|
"name": "x", |
|
"nameLocation": "4910:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2583, |
|
"src": "4902:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2520, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4902:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2523, |
|
"mutability": "mutable", |
|
"name": "min", |
|
"nameLocation": "4921:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2583, |
|
"src": "4913:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2522, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4913:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2525, |
|
"mutability": "mutable", |
|
"name": "max", |
|
"nameLocation": "4934:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2583, |
|
"src": "4926:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2524, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4926:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "4901:37:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2529, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2528, |
|
"mutability": "mutable", |
|
"name": "result", |
|
"nameLocation": "4973:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2583, |
|
"src": "4965:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2527, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "4965:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "4964:16:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2615, |
|
"nodeType": "FunctionDefinition", |
|
"src": "5625:457:2", |
|
"body": { |
|
"id": 2614, |
|
"nodeType": "Block", |
|
"src": "5736:346:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
2593 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 2593, |
|
"mutability": "mutable", |
|
"name": "bytecode", |
|
"nameLocation": "5759:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2614, |
|
"src": "5746:21:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2592, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "5746:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2602, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2598, |
|
"name": "what", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2585, |
|
"src": "5798:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2596, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "5787:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2597, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "5790:7:2", |
|
"memberName": "getCode", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5153, |
|
"src": "5787:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) external returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2599, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "5787:16:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"id": 2600, |
|
"name": "args", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2587, |
|
"src": "5805:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2594, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "5770:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2595, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "5774:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "5770:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2601, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "5770:40:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "5746:64:2" |
|
}, |
|
{ |
|
"AST": { |
|
"nodeType": "YulBlock", |
|
"src": "5872:79:2", |
|
"statements": [ |
|
{ |
|
"nodeType": "YulAssignment", |
|
"src": "5886:55:2", |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"kind": "number", |
|
"nodeType": "YulLiteral", |
|
"src": "5901:1:2", |
|
"type": "", |
|
"value": "0" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "bytecode", |
|
"nodeType": "YulIdentifier", |
|
"src": "5908:8:2" |
|
}, |
|
{ |
|
"kind": "number", |
|
"nodeType": "YulLiteral", |
|
"src": "5918:4:2", |
|
"type": "", |
|
"value": "0x20" |
|
} |
|
], |
|
"functionName": { |
|
"name": "add", |
|
"nodeType": "YulIdentifier", |
|
"src": "5904:3:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "5904:19:2" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "bytecode", |
|
"nodeType": "YulIdentifier", |
|
"src": "5931:8:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "mload", |
|
"nodeType": "YulIdentifier", |
|
"src": "5925:5:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "5925:15:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "create", |
|
"nodeType": "YulIdentifier", |
|
"src": "5894:6:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "5894:47:2" |
|
}, |
|
"variableNames": [ |
|
{ |
|
"name": "addr", |
|
"nodeType": "YulIdentifier", |
|
"src": "5886:4:2" |
|
} |
|
] |
|
} |
|
] |
|
}, |
|
"documentation": "@solidity memory-safe-assembly", |
|
"evmVersion": "london", |
|
"externalReferences": [ |
|
{ |
|
"declaration": 2590, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "5886:4:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2593, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "5908:8:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2593, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "5931:8:2", |
|
"valueSize": 1 |
|
} |
|
], |
|
"id": 2603, |
|
"nodeType": "InlineAssembly", |
|
"src": "5863:88:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"id": 2610, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2605, |
|
"name": "addr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2590, |
|
"src": "5982:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30", |
|
"id": 2608, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "5998:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
} |
|
], |
|
"id": 2607, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "5990:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
}, |
|
"typeName": { |
|
"id": 2606, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "5990:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 2609, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "5990:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"src": "5982:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"hexValue": "54657374206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e", |
|
"id": 2611, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "6014:51:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_d1c806ce7af1725b71ce0c84a849070672773be785c276ca8554d3c1f196865d", |
|
"typeString": "literal_string \"Test deployCode(string,bytes): Deployment failed.\"" |
|
}, |
|
"value": "Test deployCode(string,bytes): Deployment failed." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_d1c806ce7af1725b71ce0c84a849070672773be785c276ca8554d3c1f196865d", |
|
"typeString": "literal_string \"Test deployCode(string,bytes): Deployment failed.\"" |
|
} |
|
], |
|
"id": 2604, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "5961:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 2612, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "5961:114:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2613, |
|
"nodeType": "ExpressionStatement", |
|
"src": "5961:114:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "deployCode", |
|
"nameLocation": "5634:10:2", |
|
"parameters": { |
|
"id": 2588, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2585, |
|
"mutability": "mutable", |
|
"name": "what", |
|
"nameLocation": "5659:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2615, |
|
"src": "5645:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2584, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "5645:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2587, |
|
"mutability": "mutable", |
|
"name": "args", |
|
"nameLocation": "5678:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2615, |
|
"src": "5665:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2586, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "5665:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "5644:39:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2591, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2590, |
|
"mutability": "mutable", |
|
"name": "addr", |
|
"nameLocation": "5726:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2615, |
|
"src": "5718:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2589, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "5718:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "5717:14:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2641, |
|
"nodeType": "FunctionDefinition", |
|
"src": "6088:408:2", |
|
"body": { |
|
"id": 2640, |
|
"nodeType": "Block", |
|
"src": "6180:316:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
2623 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 2623, |
|
"mutability": "mutable", |
|
"name": "bytecode", |
|
"nameLocation": "6203:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2640, |
|
"src": "6190:21:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2622, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6190:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2628, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 2626, |
|
"name": "what", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2617, |
|
"src": "6225:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2624, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "6214:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2625, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "6217:7:2", |
|
"memberName": "getCode", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5153, |
|
"src": "6214:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) external returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2627, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "6214:16:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "6190:40:2" |
|
}, |
|
{ |
|
"AST": { |
|
"nodeType": "YulBlock", |
|
"src": "6292:79:2", |
|
"statements": [ |
|
{ |
|
"nodeType": "YulAssignment", |
|
"src": "6306:55:2", |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"kind": "number", |
|
"nodeType": "YulLiteral", |
|
"src": "6321:1:2", |
|
"type": "", |
|
"value": "0" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "bytecode", |
|
"nodeType": "YulIdentifier", |
|
"src": "6328:8:2" |
|
}, |
|
{ |
|
"kind": "number", |
|
"nodeType": "YulLiteral", |
|
"src": "6338:4:2", |
|
"type": "", |
|
"value": "0x20" |
|
} |
|
], |
|
"functionName": { |
|
"name": "add", |
|
"nodeType": "YulIdentifier", |
|
"src": "6324:3:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "6324:19:2" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "bytecode", |
|
"nodeType": "YulIdentifier", |
|
"src": "6351:8:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "mload", |
|
"nodeType": "YulIdentifier", |
|
"src": "6345:5:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "6345:15:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "create", |
|
"nodeType": "YulIdentifier", |
|
"src": "6314:6:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "6314:47:2" |
|
}, |
|
"variableNames": [ |
|
{ |
|
"name": "addr", |
|
"nodeType": "YulIdentifier", |
|
"src": "6306:4:2" |
|
} |
|
] |
|
} |
|
] |
|
}, |
|
"documentation": "@solidity memory-safe-assembly", |
|
"evmVersion": "london", |
|
"externalReferences": [ |
|
{ |
|
"declaration": 2620, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "6306:4:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2623, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "6328:8:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2623, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "6351:8:2", |
|
"valueSize": 1 |
|
} |
|
], |
|
"id": 2629, |
|
"nodeType": "InlineAssembly", |
|
"src": "6283:88:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"id": 2636, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2631, |
|
"name": "addr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2620, |
|
"src": "6402:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30", |
|
"id": 2634, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "6418:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
} |
|
], |
|
"id": 2633, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "6410:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
}, |
|
"typeName": { |
|
"id": 2632, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6410:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 2635, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "6410:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"src": "6402:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"hexValue": "54657374206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e", |
|
"id": 2637, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "6434:45:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_b9fd17b1c001ca1277bfc68fcfcc57948bec4ffe1adf822157bd27978fa551cb", |
|
"typeString": "literal_string \"Test deployCode(string): Deployment failed.\"" |
|
}, |
|
"value": "Test deployCode(string): Deployment failed." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_b9fd17b1c001ca1277bfc68fcfcc57948bec4ffe1adf822157bd27978fa551cb", |
|
"typeString": "literal_string \"Test deployCode(string): Deployment failed.\"" |
|
} |
|
], |
|
"id": 2630, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "6381:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 2638, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "6381:108:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2639, |
|
"nodeType": "ExpressionStatement", |
|
"src": "6381:108:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "deployCode", |
|
"nameLocation": "6097:10:2", |
|
"parameters": { |
|
"id": 2618, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2617, |
|
"mutability": "mutable", |
|
"name": "what", |
|
"nameLocation": "6122:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2641, |
|
"src": "6108:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2616, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6108:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "6107:20:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2621, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2620, |
|
"mutability": "mutable", |
|
"name": "addr", |
|
"nameLocation": "6170:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2641, |
|
"src": "6162:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2619, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6162:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "6161:14:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2676, |
|
"nodeType": "FunctionDefinition", |
|
"src": "6553:480:2", |
|
"body": { |
|
"id": 2675, |
|
"nodeType": "Block", |
|
"src": "6677:356:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
2654 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 2654, |
|
"mutability": "mutable", |
|
"name": "bytecode", |
|
"nameLocation": "6700:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2675, |
|
"src": "6687:21:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2653, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6687:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2663, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2659, |
|
"name": "what", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2644, |
|
"src": "6739:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2657, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "6728:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2658, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "6731:7:2", |
|
"memberName": "getCode", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5153, |
|
"src": "6728:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) external returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2660, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "6728:16:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"id": 2661, |
|
"name": "args", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2646, |
|
"src": "6746:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2655, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "6711:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2656, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "6715:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "6711:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2662, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "6711:40:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "6687:64:2" |
|
}, |
|
{ |
|
"AST": { |
|
"nodeType": "YulBlock", |
|
"src": "6813:81:2", |
|
"statements": [ |
|
{ |
|
"nodeType": "YulAssignment", |
|
"src": "6827:57:2", |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"name": "val", |
|
"nodeType": "YulIdentifier", |
|
"src": "6842:3:2" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "bytecode", |
|
"nodeType": "YulIdentifier", |
|
"src": "6851:8:2" |
|
}, |
|
{ |
|
"kind": "number", |
|
"nodeType": "YulLiteral", |
|
"src": "6861:4:2", |
|
"type": "", |
|
"value": "0x20" |
|
} |
|
], |
|
"functionName": { |
|
"name": "add", |
|
"nodeType": "YulIdentifier", |
|
"src": "6847:3:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "6847:19:2" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "bytecode", |
|
"nodeType": "YulIdentifier", |
|
"src": "6874:8:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "mload", |
|
"nodeType": "YulIdentifier", |
|
"src": "6868:5:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "6868:15:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "create", |
|
"nodeType": "YulIdentifier", |
|
"src": "6835:6:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "6835:49:2" |
|
}, |
|
"variableNames": [ |
|
{ |
|
"name": "addr", |
|
"nodeType": "YulIdentifier", |
|
"src": "6827:4:2" |
|
} |
|
] |
|
} |
|
] |
|
}, |
|
"documentation": "@solidity memory-safe-assembly", |
|
"evmVersion": "london", |
|
"externalReferences": [ |
|
{ |
|
"declaration": 2651, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "6827:4:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2654, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "6851:8:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2654, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "6874:8:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2648, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "6842:3:2", |
|
"valueSize": 1 |
|
} |
|
], |
|
"id": 2664, |
|
"nodeType": "InlineAssembly", |
|
"src": "6804:90:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"id": 2671, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2666, |
|
"name": "addr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2651, |
|
"src": "6925:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30", |
|
"id": 2669, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "6941:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
} |
|
], |
|
"id": 2668, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "6933:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
}, |
|
"typeName": { |
|
"id": 2667, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6933:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 2670, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "6933:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"src": "6925:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"hexValue": "54657374206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e", |
|
"id": 2672, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "6957:59:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_48c6a907f17116971b60f748697256dfa1e2b6301c67424b0afa1c8e2a6fcf69", |
|
"typeString": "literal_string \"Test deployCode(string,bytes,uint256): Deployment failed.\"" |
|
}, |
|
"value": "Test deployCode(string,bytes,uint256): Deployment failed." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_48c6a907f17116971b60f748697256dfa1e2b6301c67424b0afa1c8e2a6fcf69", |
|
"typeString": "literal_string \"Test deployCode(string,bytes,uint256): Deployment failed.\"" |
|
} |
|
], |
|
"id": 2665, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "6904:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 2673, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "6904:122:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2674, |
|
"nodeType": "ExpressionStatement", |
|
"src": "6904:122:2" |
|
} |
|
] |
|
}, |
|
"documentation": { |
|
"id": 2642, |
|
"nodeType": "StructuredDocumentation", |
|
"src": "6502:46:2", |
|
"text": "deploy contract with value on construction" |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "deployCode", |
|
"nameLocation": "6562:10:2", |
|
"parameters": { |
|
"id": 2649, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2644, |
|
"mutability": "mutable", |
|
"name": "what", |
|
"nameLocation": "6587:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2676, |
|
"src": "6573:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2643, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6573:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2646, |
|
"mutability": "mutable", |
|
"name": "args", |
|
"nameLocation": "6606:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2676, |
|
"src": "6593:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2645, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6593:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2648, |
|
"mutability": "mutable", |
|
"name": "val", |
|
"nameLocation": "6620:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2676, |
|
"src": "6612:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2647, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6612:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "6572:52:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2652, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2651, |
|
"mutability": "mutable", |
|
"name": "addr", |
|
"nameLocation": "6667:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2676, |
|
"src": "6659:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2650, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "6659:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "6658:14:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2704, |
|
"nodeType": "FunctionDefinition", |
|
"src": "7039:431:2", |
|
"body": { |
|
"id": 2703, |
|
"nodeType": "Block", |
|
"src": "7144:326:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
2686 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 2686, |
|
"mutability": "mutable", |
|
"name": "bytecode", |
|
"nameLocation": "7167:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2703, |
|
"src": "7154:21:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2685, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7154:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 2691, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 2689, |
|
"name": "what", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2678, |
|
"src": "7189:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2687, |
|
"name": "vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 1817, |
|
"src": "7178:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 2688, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "7181:7:2", |
|
"memberName": "getCode", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5153, |
|
"src": "7178:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) external returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2690, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "7178:16:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "7154:40:2" |
|
}, |
|
{ |
|
"AST": { |
|
"nodeType": "YulBlock", |
|
"src": "7256:81:2", |
|
"statements": [ |
|
{ |
|
"nodeType": "YulAssignment", |
|
"src": "7270:57:2", |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"name": "val", |
|
"nodeType": "YulIdentifier", |
|
"src": "7285:3:2" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "bytecode", |
|
"nodeType": "YulIdentifier", |
|
"src": "7294:8:2" |
|
}, |
|
{ |
|
"kind": "number", |
|
"nodeType": "YulLiteral", |
|
"src": "7304:4:2", |
|
"type": "", |
|
"value": "0x20" |
|
} |
|
], |
|
"functionName": { |
|
"name": "add", |
|
"nodeType": "YulIdentifier", |
|
"src": "7290:3:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "7290:19:2" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "bytecode", |
|
"nodeType": "YulIdentifier", |
|
"src": "7317:8:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "mload", |
|
"nodeType": "YulIdentifier", |
|
"src": "7311:5:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "7311:15:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "create", |
|
"nodeType": "YulIdentifier", |
|
"src": "7278:6:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "7278:49:2" |
|
}, |
|
"variableNames": [ |
|
{ |
|
"name": "addr", |
|
"nodeType": "YulIdentifier", |
|
"src": "7270:4:2" |
|
} |
|
] |
|
} |
|
] |
|
}, |
|
"documentation": "@solidity memory-safe-assembly", |
|
"evmVersion": "london", |
|
"externalReferences": [ |
|
{ |
|
"declaration": 2683, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "7270:4:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2686, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "7294:8:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2686, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "7317:8:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 2680, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "7285:3:2", |
|
"valueSize": 1 |
|
} |
|
], |
|
"id": 2692, |
|
"nodeType": "InlineAssembly", |
|
"src": "7247:90:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"id": 2699, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2694, |
|
"name": "addr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2683, |
|
"src": "7368:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30", |
|
"id": 2697, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "7384:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
} |
|
], |
|
"id": 2696, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "7376:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
}, |
|
"typeName": { |
|
"id": 2695, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7376:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 2698, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "7376:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"src": "7368:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"hexValue": "54657374206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e", |
|
"id": 2700, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "7400:53:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_3fa81ff94e5c0be4a794a2745793ac7e0a88d8864b4f59c0b3d5cc00c8442226", |
|
"typeString": "literal_string \"Test deployCode(string,uint256): Deployment failed.\"" |
|
}, |
|
"value": "Test deployCode(string,uint256): Deployment failed." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_3fa81ff94e5c0be4a794a2745793ac7e0a88d8864b4f59c0b3d5cc00c8442226", |
|
"typeString": "literal_string \"Test deployCode(string,uint256): Deployment failed.\"" |
|
} |
|
], |
|
"id": 2693, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "7347:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 2701, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "7347:116:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2702, |
|
"nodeType": "ExpressionStatement", |
|
"src": "7347:116:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "deployCode", |
|
"nameLocation": "7048:10:2", |
|
"parameters": { |
|
"id": 2681, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2678, |
|
"mutability": "mutable", |
|
"name": "what", |
|
"nameLocation": "7073:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2704, |
|
"src": "7059:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2677, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7059:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2680, |
|
"mutability": "mutable", |
|
"name": "val", |
|
"nameLocation": "7087:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2704, |
|
"src": "7079:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 2679, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7079:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "7058:33:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2684, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2683, |
|
"mutability": "mutable", |
|
"name": "addr", |
|
"nameLocation": "7134:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2704, |
|
"src": "7126:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 2682, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7126:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "7125:14:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2718, |
|
"nodeType": "FunctionDefinition", |
|
"src": "7690:118:2", |
|
"body": { |
|
"id": 2717, |
|
"nodeType": "Block", |
|
"src": "7740:68:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 2710, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "7772:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 2711, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2706, |
|
"src": "7781:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 2709, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "7755:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 2712, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "7755:30:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2713, |
|
"nodeType": "EmitStatement", |
|
"src": "7750:35:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 2714, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "7795:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 2715, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "7795:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2716, |
|
"nodeType": "ExpressionStatement", |
|
"src": "7795:6:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "fail", |
|
"nameLocation": "7699:4:2", |
|
"parameters": { |
|
"id": 2707, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2706, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "7718:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2718, |
|
"src": "7704:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2705, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7704:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "7703:19:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2708, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "7740:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2729, |
|
"nodeType": "FunctionDefinition", |
|
"src": "7814:83:2", |
|
"body": { |
|
"id": 2728, |
|
"nodeType": "Block", |
|
"src": "7863:34:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2725, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "!", |
|
"prefix": true, |
|
"src": "7884:5:2", |
|
"subExpression": { |
|
"id": 2724, |
|
"name": "data", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2720, |
|
"src": "7885:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
], |
|
"id": 2723, |
|
"name": "assertTrue", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
269, |
|
290 |
|
], |
|
"referencedDeclaration": 269, |
|
"src": "7873:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", |
|
"typeString": "function (bool)" |
|
} |
|
}, |
|
"id": 2726, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "7873:17:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2727, |
|
"nodeType": "ExpressionStatement", |
|
"src": "7873:17:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertFalse", |
|
"nameLocation": "7823:11:2", |
|
"parameters": { |
|
"id": 2721, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2720, |
|
"mutability": "mutable", |
|
"name": "data", |
|
"nameLocation": "7840:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2729, |
|
"src": "7835:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 2719, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7835:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "7834:11:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2722, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "7863:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2743, |
|
"nodeType": "FunctionDefinition", |
|
"src": "7903:107:2", |
|
"body": { |
|
"id": 2742, |
|
"nodeType": "Block", |
|
"src": "7971:39:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2738, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "!", |
|
"prefix": true, |
|
"src": "7992:5:2", |
|
"subExpression": { |
|
"id": 2737, |
|
"name": "data", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2731, |
|
"src": "7993:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"id": 2739, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2733, |
|
"src": "7999:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 2736, |
|
"name": "assertTrue", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
269, |
|
290 |
|
], |
|
"referencedDeclaration": 290, |
|
"src": "7981:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory)" |
|
} |
|
}, |
|
"id": 2740, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "7981:22:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2741, |
|
"nodeType": "ExpressionStatement", |
|
"src": "7981:22:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertFalse", |
|
"nameLocation": "7912:11:2", |
|
"parameters": { |
|
"id": 2734, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2731, |
|
"mutability": "mutable", |
|
"name": "data", |
|
"nameLocation": "7929:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2743, |
|
"src": "7924:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 2730, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7924:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2733, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "7949:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2743, |
|
"src": "7935:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2732, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "7935:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "7923:30:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2735, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "7971:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2779, |
|
"nodeType": "FunctionDefinition", |
|
"src": "8016:326:2", |
|
"body": { |
|
"id": 2778, |
|
"nodeType": "Block", |
|
"src": "8059:283:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"id": 2752, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2750, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2745, |
|
"src": "8073:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"id": 2751, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2747, |
|
"src": "8078:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"src": "8073:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 2777, |
|
"nodeType": "IfStatement", |
|
"src": "8069:267:2", |
|
"trueBody": { |
|
"id": 2776, |
|
"nodeType": "Block", |
|
"src": "8081:255:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f6c5d", |
|
"id": 2754, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8120:36:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_8b48ec9ac4dc7123ad32509232067c63ebae61bff18d5e06bf4dea2a25240ed2", |
|
"typeString": "literal_string \"Error: a == b not satisfied [bool]\"" |
|
}, |
|
"value": "Error: a == b not satisfied [bool]" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_8b48ec9ac4dc7123ad32509232067c63ebae61bff18d5e06bf4dea2a25240ed2", |
|
"typeString": "literal_string \"Error: a == b not satisfied [bool]\"" |
|
} |
|
], |
|
"id": 2753, |
|
"name": "log", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5, |
|
"src": "8100:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory)" |
|
} |
|
}, |
|
"id": 2755, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8100:57:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2756, |
|
"nodeType": "EmitStatement", |
|
"src": "8095:62:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "20204578706563746564", |
|
"id": 2758, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8196:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
"value": " Expected" |
|
}, |
|
{ |
|
"condition": { |
|
"id": 2759, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2747, |
|
"src": "8210:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseExpression": { |
|
"hexValue": "66616c7365", |
|
"id": 2761, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8223:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a", |
|
"typeString": "literal_string \"false\"" |
|
}, |
|
"value": "false" |
|
}, |
|
"id": 2762, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "Conditional", |
|
"src": "8210:20:2", |
|
"trueExpression": { |
|
"hexValue": "74727565", |
|
"id": 2760, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8214:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_6273151f959616268004b58dbb21e5c851b7b8d04498b4aabee12291d22fc034", |
|
"typeString": "literal_string \"true\"" |
|
}, |
|
"value": "true" |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 2757, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "8176:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 2763, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8176:55:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2764, |
|
"nodeType": "EmitStatement", |
|
"src": "8171:60:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "2020202041637475616c", |
|
"id": 2766, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8270:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
"value": " Actual" |
|
}, |
|
{ |
|
"condition": { |
|
"id": 2767, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2745, |
|
"src": "8284:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseExpression": { |
|
"hexValue": "66616c7365", |
|
"id": 2769, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8297:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a", |
|
"typeString": "literal_string \"false\"" |
|
}, |
|
"value": "false" |
|
}, |
|
"id": 2770, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "Conditional", |
|
"src": "8284:20:2", |
|
"trueExpression": { |
|
"hexValue": "74727565", |
|
"id": 2768, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8288:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_6273151f959616268004b58dbb21e5c851b7b8d04498b4aabee12291d22fc034", |
|
"typeString": "literal_string \"true\"" |
|
}, |
|
"value": "true" |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 2765, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "8250:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 2771, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8250:55:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2772, |
|
"nodeType": "EmitStatement", |
|
"src": "8245:60:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 2773, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "8319:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 2774, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8319:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2775, |
|
"nodeType": "ExpressionStatement", |
|
"src": "8319:6:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "8025:8:2", |
|
"parameters": { |
|
"id": 2748, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2745, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "8039:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2779, |
|
"src": "8034:6:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 2744, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8034:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2747, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "8047:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2779, |
|
"src": "8042:6:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 2746, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8042:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "8033:16:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2749, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "8059:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2804, |
|
"nodeType": "FunctionDefinition", |
|
"src": "8348:178:2", |
|
"body": { |
|
"id": 2803, |
|
"nodeType": "Block", |
|
"src": "8410:116:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"id": 2790, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 2788, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2781, |
|
"src": "8424:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"id": 2789, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2783, |
|
"src": "8429:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"src": "8424:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 2802, |
|
"nodeType": "IfStatement", |
|
"src": "8420:100:2", |
|
"trueBody": { |
|
"id": 2801, |
|
"nodeType": "Block", |
|
"src": "8432:88:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 2792, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8468:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 2793, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2785, |
|
"src": "8477:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 2791, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "8451:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 2794, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8451:30:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2795, |
|
"nodeType": "EmitStatement", |
|
"src": "8446:35:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2797, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2781, |
|
"src": "8504:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"id": 2798, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2783, |
|
"src": "8507:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
], |
|
"id": 2796, |
|
"name": "assertEq", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2779, |
|
2804, |
|
2817, |
|
2833, |
|
2875, |
|
2917, |
|
2959, |
|
2996, |
|
3033, |
|
3070, |
|
320, |
|
345, |
|
375, |
|
400, |
|
459, |
|
484, |
|
514, |
|
539, |
|
1639, |
|
1674 |
|
], |
|
"referencedDeclaration": 2779, |
|
"src": "8495:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bool_$_t_bool_$returns$__$", |
|
"typeString": "function (bool,bool)" |
|
} |
|
}, |
|
"id": 2799, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8495:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2800, |
|
"nodeType": "ExpressionStatement", |
|
"src": "8495:14:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "8357:8:2", |
|
"parameters": { |
|
"id": 2786, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2781, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "8371:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2804, |
|
"src": "8366:6:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 2780, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8366:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2783, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "8379:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2804, |
|
"src": "8374:6:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 2782, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8374:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2785, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "8396:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2804, |
|
"src": "8382:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2784, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8382:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "8365:35:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2787, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "8410:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2817, |
|
"nodeType": "FunctionDefinition", |
|
"src": "8532:91:2", |
|
"body": { |
|
"id": 2816, |
|
"nodeType": "Block", |
|
"src": "8591:32:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2812, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2806, |
|
"src": "8611:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"id": 2813, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2808, |
|
"src": "8614:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2811, |
|
"name": "assertEq0", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
1758, |
|
1785 |
|
], |
|
"referencedDeclaration": 1758, |
|
"src": "8601:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", |
|
"typeString": "function (bytes memory,bytes memory)" |
|
} |
|
}, |
|
"id": 2814, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8601:15:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2815, |
|
"nodeType": "ExpressionStatement", |
|
"src": "8601:15:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "8541:8:2", |
|
"parameters": { |
|
"id": 2809, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2806, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "8563:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2817, |
|
"src": "8550:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2805, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8550:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2808, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "8579:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2817, |
|
"src": "8566:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2807, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8566:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "8549:32:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2810, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "8591:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2833, |
|
"nodeType": "FunctionDefinition", |
|
"src": "8629:115:2", |
|
"body": { |
|
"id": 2832, |
|
"nodeType": "Block", |
|
"src": "8707:37:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2827, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2819, |
|
"src": "8727:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"id": 2828, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2821, |
|
"src": "8730:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"id": 2829, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2823, |
|
"src": "8733:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 2826, |
|
"name": "assertEq0", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
1758, |
|
1785 |
|
], |
|
"referencedDeclaration": 1785, |
|
"src": "8717:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bytes memory,bytes memory,string memory)" |
|
} |
|
}, |
|
"id": 2830, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8717:20:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2831, |
|
"nodeType": "ExpressionStatement", |
|
"src": "8717:20:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "8638:8:2", |
|
"parameters": { |
|
"id": 2824, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2819, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "8660:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2833, |
|
"src": "8647:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2818, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8647:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2821, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "8676:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2833, |
|
"src": "8663:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 2820, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8663:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2823, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "8693:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2833, |
|
"src": "8679:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2822, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8679:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "8646:51:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2825, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "8707:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2875, |
|
"nodeType": "FunctionDefinition", |
|
"src": "8750:336:2", |
|
"body": { |
|
"id": 2874, |
|
"nodeType": "Block", |
|
"src": "8817:269:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 2854, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2845, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2836, |
|
"src": "8852:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2843, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "8841:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2844, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "8845:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "8841:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2846, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8841:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2842, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "8831:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2847, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8831:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2851, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2839, |
|
"src": "8880:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2849, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "8869:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2850, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "8873:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "8869:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2852, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8869:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2848, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "8859:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2853, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8859:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "8831:52:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 2873, |
|
"nodeType": "IfStatement", |
|
"src": "8827:253:2", |
|
"trueBody": { |
|
"id": 2872, |
|
"nodeType": "Block", |
|
"src": "8885:195:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745b5d5d", |
|
"id": 2856, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8908:38:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_521d63632bd73b6c06245b96e4e8f1b767ee309607c65899b409e5c9e6c384eb", |
|
"typeString": "literal_string \"Error: a == b not satisfied [uint[]]\"" |
|
}, |
|
"value": "Error: a == b not satisfied [uint[]]" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_521d63632bd73b6c06245b96e4e8f1b767ee309607c65899b409e5c9e6c384eb", |
|
"typeString": "literal_string \"Error: a == b not satisfied [uint[]]\"" |
|
} |
|
], |
|
"id": 2855, |
|
"name": "log", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5, |
|
"src": "8904:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory)" |
|
} |
|
}, |
|
"id": 2857, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8904:43:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2858, |
|
"nodeType": "EmitStatement", |
|
"src": "8899:48:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "20204578706563746564", |
|
"id": 2860, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "8982:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
"value": " Expected" |
|
}, |
|
{ |
|
"id": 2861, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2839, |
|
"src": "8996:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
], |
|
"id": 2859, |
|
"name": "log_named_array", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2062, |
|
2069, |
|
2076 |
|
], |
|
"referencedDeclaration": 2062, |
|
"src": "8966:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,uint256[] memory)" |
|
} |
|
}, |
|
"id": 2862, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "8966:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2863, |
|
"nodeType": "EmitStatement", |
|
"src": "8961:37:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "2020202041637475616c", |
|
"id": 2865, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "9033:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
"value": " Actual" |
|
}, |
|
{ |
|
"id": 2866, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2836, |
|
"src": "9047:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
], |
|
"id": 2864, |
|
"name": "log_named_array", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2062, |
|
2069, |
|
2076 |
|
], |
|
"referencedDeclaration": 2062, |
|
"src": "9017:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,uint256[] memory)" |
|
} |
|
}, |
|
"id": 2867, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9017:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2868, |
|
"nodeType": "EmitStatement", |
|
"src": "9012:37:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 2869, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "9063:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 2870, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9063:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2871, |
|
"nodeType": "ExpressionStatement", |
|
"src": "9063:6:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "8759:8:2", |
|
"parameters": { |
|
"id": 2840, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2836, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "8785:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2875, |
|
"src": "8768:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2834, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8768:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2835, |
|
"nodeType": "ArrayTypeName", |
|
"src": "8768:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", |
|
"typeString": "uint256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2839, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "8805:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2875, |
|
"src": "8788:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2837, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "8788:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2838, |
|
"nodeType": "ArrayTypeName", |
|
"src": "8788:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", |
|
"typeString": "uint256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "8767:40:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2841, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "8817:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2917, |
|
"nodeType": "FunctionDefinition", |
|
"src": "9092:333:2", |
|
"body": { |
|
"id": 2916, |
|
"nodeType": "Block", |
|
"src": "9157:268:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 2896, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2887, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2878, |
|
"src": "9192:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2885, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "9181:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2886, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "9185:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "9181:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2888, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9181:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2884, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "9171:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2889, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9171:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2893, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2881, |
|
"src": "9220:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2891, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "9209:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2892, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "9213:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "9209:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2894, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9209:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2890, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "9199:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2895, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9199:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "9171:52:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 2915, |
|
"nodeType": "IfStatement", |
|
"src": "9167:252:2", |
|
"trueBody": { |
|
"id": 2914, |
|
"nodeType": "Block", |
|
"src": "9225:194:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745b5d5d", |
|
"id": 2898, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "9248:37:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_6c8a6638f7c95c9ee18ffcfc37ffe04d6270c2db7493e9b7a14add834054a5f5", |
|
"typeString": "literal_string \"Error: a == b not satisfied [int[]]\"" |
|
}, |
|
"value": "Error: a == b not satisfied [int[]]" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_6c8a6638f7c95c9ee18ffcfc37ffe04d6270c2db7493e9b7a14add834054a5f5", |
|
"typeString": "literal_string \"Error: a == b not satisfied [int[]]\"" |
|
} |
|
], |
|
"id": 2897, |
|
"name": "log", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5, |
|
"src": "9244:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory)" |
|
} |
|
}, |
|
"id": 2899, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9244:42:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2900, |
|
"nodeType": "EmitStatement", |
|
"src": "9239:47:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "20204578706563746564", |
|
"id": 2902, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "9321:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
"value": " Expected" |
|
}, |
|
{ |
|
"id": 2903, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2881, |
|
"src": "9335:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
], |
|
"id": 2901, |
|
"name": "log_named_array", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2062, |
|
2069, |
|
2076 |
|
], |
|
"referencedDeclaration": 2069, |
|
"src": "9305:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,int256[] memory)" |
|
} |
|
}, |
|
"id": 2904, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9305:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2905, |
|
"nodeType": "EmitStatement", |
|
"src": "9300:37:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "2020202041637475616c", |
|
"id": 2907, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "9372:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
"value": " Actual" |
|
}, |
|
{ |
|
"id": 2908, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2878, |
|
"src": "9386:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
], |
|
"id": 2906, |
|
"name": "log_named_array", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2062, |
|
2069, |
|
2076 |
|
], |
|
"referencedDeclaration": 2069, |
|
"src": "9356:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,int256[] memory)" |
|
} |
|
}, |
|
"id": 2909, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9356:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2910, |
|
"nodeType": "EmitStatement", |
|
"src": "9351:37:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 2911, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "9402:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 2912, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9402:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2913, |
|
"nodeType": "ExpressionStatement", |
|
"src": "9402:6:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "9101:8:2", |
|
"parameters": { |
|
"id": 2882, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2878, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "9126:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2917, |
|
"src": "9110:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2876, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "9110:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"id": 2877, |
|
"nodeType": "ArrayTypeName", |
|
"src": "9110:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", |
|
"typeString": "int256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2881, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "9145:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2917, |
|
"src": "9129:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2879, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "9129:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"id": 2880, |
|
"nodeType": "ArrayTypeName", |
|
"src": "9129:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", |
|
"typeString": "int256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "9109:38:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2883, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "9157:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2959, |
|
"nodeType": "FunctionDefinition", |
|
"src": "9431:339:2", |
|
"body": { |
|
"id": 2958, |
|
"nodeType": "Block", |
|
"src": "9498:272:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 2938, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2929, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2920, |
|
"src": "9533:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2927, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "9522:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2928, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "9526:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "9522:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2930, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9522:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2926, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "9512:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2931, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9512:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2935, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2923, |
|
"src": "9561:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2933, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "9550:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2934, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "9554:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "9550:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2936, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9550:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2932, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "9540:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2937, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9540:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "9512:52:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 2957, |
|
"nodeType": "IfStatement", |
|
"src": "9508:256:2", |
|
"trueBody": { |
|
"id": 2956, |
|
"nodeType": "Block", |
|
"src": "9566:198:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735b5d5d", |
|
"id": 2940, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "9589:41:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_18b6dc04296758144a4e9b271bd3d79214335bb195df00f93d1706586d5041f8", |
|
"typeString": "literal_string \"Error: a == b not satisfied [address[]]\"" |
|
}, |
|
"value": "Error: a == b not satisfied [address[]]" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_18b6dc04296758144a4e9b271bd3d79214335bb195df00f93d1706586d5041f8", |
|
"typeString": "literal_string \"Error: a == b not satisfied [address[]]\"" |
|
} |
|
], |
|
"id": 2939, |
|
"name": "log", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5, |
|
"src": "9585:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory)" |
|
} |
|
}, |
|
"id": 2941, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9585:46:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2942, |
|
"nodeType": "EmitStatement", |
|
"src": "9580:51:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "20204578706563746564", |
|
"id": 2944, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "9666:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
"value": " Expected" |
|
}, |
|
{ |
|
"id": 2945, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2923, |
|
"src": "9680:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
], |
|
"id": 2943, |
|
"name": "log_named_array", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2062, |
|
2069, |
|
2076 |
|
], |
|
"referencedDeclaration": 2076, |
|
"src": "9650:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,address[] memory)" |
|
} |
|
}, |
|
"id": 2946, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9650:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2947, |
|
"nodeType": "EmitStatement", |
|
"src": "9645:37:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "2020202041637475616c", |
|
"id": 2949, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "9717:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
"value": " Actual" |
|
}, |
|
{ |
|
"id": 2950, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2920, |
|
"src": "9731:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
], |
|
"id": 2948, |
|
"name": "log_named_array", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2062, |
|
2069, |
|
2076 |
|
], |
|
"referencedDeclaration": 2076, |
|
"src": "9701:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,address[] memory)" |
|
} |
|
}, |
|
"id": 2951, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9701:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2952, |
|
"nodeType": "EmitStatement", |
|
"src": "9696:37:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 2953, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "9747:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 2954, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9747:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2955, |
|
"nodeType": "ExpressionStatement", |
|
"src": "9747:6:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "9440:8:2", |
|
"parameters": { |
|
"id": 2924, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2920, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "9466:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2959, |
|
"src": "9449:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2918, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "9449:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 2919, |
|
"nodeType": "ArrayTypeName", |
|
"src": "9449:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", |
|
"typeString": "address[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2923, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "9486:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2959, |
|
"src": "9469:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2921, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "9469:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 2922, |
|
"nodeType": "ArrayTypeName", |
|
"src": "9469:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", |
|
"typeString": "address[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "9448:40:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2925, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "9498:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 2996, |
|
"nodeType": "FunctionDefinition", |
|
"src": "9776:248:2", |
|
"body": { |
|
"id": 2995, |
|
"nodeType": "Block", |
|
"src": "9862:162:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 2982, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2973, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2962, |
|
"src": "9897:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2971, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "9886:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2972, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "9890:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "9886:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2974, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9886:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2970, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "9876:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2975, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9876:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 2979, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2965, |
|
"src": "9925:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 2977, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "9914:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 2978, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "9918:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "9914:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 2980, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9914:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 2976, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "9904:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 2981, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9904:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "9876:52:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 2994, |
|
"nodeType": "IfStatement", |
|
"src": "9872:146:2", |
|
"trueBody": { |
|
"id": 2993, |
|
"nodeType": "Block", |
|
"src": "9930:88:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 2984, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "9966:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 2985, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2967, |
|
"src": "9975:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 2983, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "9949:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 2986, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9949:30:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2987, |
|
"nodeType": "EmitStatement", |
|
"src": "9944:35:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 2989, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2962, |
|
"src": "10002:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 2990, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2965, |
|
"src": "10005:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[] memory" |
|
} |
|
], |
|
"id": 2988, |
|
"name": "assertEq", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2779, |
|
2804, |
|
2817, |
|
2833, |
|
2875, |
|
2917, |
|
2959, |
|
2996, |
|
3033, |
|
3070, |
|
320, |
|
345, |
|
375, |
|
400, |
|
459, |
|
484, |
|
514, |
|
539, |
|
1639, |
|
1674 |
|
], |
|
"referencedDeclaration": 2875, |
|
"src": "9993:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (uint256[] memory,uint256[] memory)" |
|
} |
|
}, |
|
"id": 2991, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "9993:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 2992, |
|
"nodeType": "ExpressionStatement", |
|
"src": "9993:14:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "9785:8:2", |
|
"parameters": { |
|
"id": 2968, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2962, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "9811:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2996, |
|
"src": "9794:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2960, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "9794:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2961, |
|
"nodeType": "ArrayTypeName", |
|
"src": "9794:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", |
|
"typeString": "uint256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2965, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "9831:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2996, |
|
"src": "9814:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", |
|
"typeString": "uint256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2963, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "9814:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 2964, |
|
"nodeType": "ArrayTypeName", |
|
"src": "9814:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", |
|
"typeString": "uint256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 2967, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "9848:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 2996, |
|
"src": "9834:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 2966, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "9834:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "9793:59:2" |
|
}, |
|
"returnParameters": { |
|
"id": 2969, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "9862:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3033, |
|
"nodeType": "FunctionDefinition", |
|
"src": "10030:246:2", |
|
"body": { |
|
"id": 3032, |
|
"nodeType": "Block", |
|
"src": "10114:162:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 3019, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3010, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2999, |
|
"src": "10149:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 3008, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "10138:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3009, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "10142:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "10138:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3011, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10138:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3007, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "10128:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3012, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10128:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3016, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3002, |
|
"src": "10177:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 3014, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "10166:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3015, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "10170:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "10166:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3017, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10166:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3013, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "10156:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3018, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10156:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "10128:52:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3031, |
|
"nodeType": "IfStatement", |
|
"src": "10124:146:2", |
|
"trueBody": { |
|
"id": 3030, |
|
"nodeType": "Block", |
|
"src": "10182:88:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 3021, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "10218:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 3022, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3004, |
|
"src": "10227:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 3020, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "10201:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 3023, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10201:30:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3024, |
|
"nodeType": "EmitStatement", |
|
"src": "10196:35:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3026, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 2999, |
|
"src": "10254:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3027, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3002, |
|
"src": "10257:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[] memory" |
|
} |
|
], |
|
"id": 3025, |
|
"name": "assertEq", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2779, |
|
2804, |
|
2817, |
|
2833, |
|
2875, |
|
2917, |
|
2959, |
|
2996, |
|
3033, |
|
3070, |
|
320, |
|
345, |
|
375, |
|
400, |
|
459, |
|
484, |
|
514, |
|
539, |
|
1639, |
|
1674 |
|
], |
|
"referencedDeclaration": 2917, |
|
"src": "10245:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (int256[] memory,int256[] memory)" |
|
} |
|
}, |
|
"id": 3028, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10245:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3029, |
|
"nodeType": "ExpressionStatement", |
|
"src": "10245:14:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "10039:8:2", |
|
"parameters": { |
|
"id": 3005, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 2999, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "10064:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3033, |
|
"src": "10048:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 2997, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10048:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"id": 2998, |
|
"nodeType": "ArrayTypeName", |
|
"src": "10048:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", |
|
"typeString": "int256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3002, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "10083:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3033, |
|
"src": "10067:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_memory_ptr", |
|
"typeString": "int256[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 3000, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10067:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"id": 3001, |
|
"nodeType": "ArrayTypeName", |
|
"src": "10067:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_int256_$dyn_storage_ptr", |
|
"typeString": "int256[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3004, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "10100:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3033, |
|
"src": "10086:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 3003, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10086:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "10047:57:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3006, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "10114:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3070, |
|
"nodeType": "FunctionDefinition", |
|
"src": "10283:248:2", |
|
"body": { |
|
"id": 3069, |
|
"nodeType": "Block", |
|
"src": "10369:162:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 3056, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3047, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3036, |
|
"src": "10404:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 3045, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "10393:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3046, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "10397:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "10393:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3048, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10393:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3044, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "10383:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3049, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10383:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3053, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3039, |
|
"src": "10432:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 3051, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "10421:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3052, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "10425:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "10421:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3054, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10421:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3050, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "10411:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3055, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10411:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "10383:52:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3068, |
|
"nodeType": "IfStatement", |
|
"src": "10379:146:2", |
|
"trueBody": { |
|
"id": 3067, |
|
"nodeType": "Block", |
|
"src": "10437:88:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 3058, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "10473:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 3059, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3041, |
|
"src": "10482:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 3057, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "10456:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 3060, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10456:30:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3061, |
|
"nodeType": "EmitStatement", |
|
"src": "10451:35:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3063, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3036, |
|
"src": "10509:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3064, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3039, |
|
"src": "10512:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[] memory" |
|
} |
|
], |
|
"id": 3062, |
|
"name": "assertEq", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2779, |
|
2804, |
|
2817, |
|
2833, |
|
2875, |
|
2917, |
|
2959, |
|
2996, |
|
3033, |
|
3070, |
|
320, |
|
345, |
|
375, |
|
400, |
|
459, |
|
484, |
|
514, |
|
539, |
|
1639, |
|
1674 |
|
], |
|
"referencedDeclaration": 2959, |
|
"src": "10500:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", |
|
"typeString": "function (address[] memory,address[] memory)" |
|
} |
|
}, |
|
"id": 3065, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10500:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3066, |
|
"nodeType": "ExpressionStatement", |
|
"src": "10500:14:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertEq", |
|
"nameLocation": "10292:8:2", |
|
"parameters": { |
|
"id": 3042, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3036, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "10318:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3070, |
|
"src": "10301:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 3034, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10301:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 3035, |
|
"nodeType": "ArrayTypeName", |
|
"src": "10301:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", |
|
"typeString": "address[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3039, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "10338:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3070, |
|
"src": "10321:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", |
|
"typeString": "address[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 3037, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10321:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 3038, |
|
"nodeType": "ArrayTypeName", |
|
"src": "10321:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", |
|
"typeString": "address[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3041, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "10355:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3070, |
|
"src": "10341:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 3040, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10341:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "10300:59:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3043, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "10369:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3120, |
|
"nodeType": "FunctionDefinition", |
|
"src": "10537:516:2", |
|
"body": { |
|
"id": 3119, |
|
"nodeType": "Block", |
|
"src": "10651:402:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
3080 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3080, |
|
"mutability": "mutable", |
|
"name": "delta", |
|
"nameLocation": "10669:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3119, |
|
"src": "10661:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3079, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10661:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3086, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3083, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3072, |
|
"src": "10691:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3084, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3074, |
|
"src": "10694:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3081, |
|
"name": "stdMath", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4795, |
|
"src": "10677:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_stdMath_$4795_$", |
|
"typeString": "type(library stdMath)" |
|
} |
|
}, |
|
"id": 3082, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "10685:5:2", |
|
"memberName": "delta", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4706, |
|
"src": "10677:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", |
|
"typeString": "function (uint256,uint256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 3085, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10677:19:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "10661:35:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3089, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3087, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3080, |
|
"src": "10711:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 3088, |
|
"name": "maxDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3076, |
|
"src": "10719:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "10711:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3118, |
|
"nodeType": "IfStatement", |
|
"src": "10707:340:2", |
|
"trueBody": { |
|
"id": 3117, |
|
"nodeType": "Block", |
|
"src": "10729:318:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d", |
|
"id": 3091, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "10764:36:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", |
|
"typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" |
|
}, |
|
"value": "Error: a ~= b not satisfied [uint]" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", |
|
"typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" |
|
} |
|
], |
|
"id": 3090, |
|
"name": "log", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5, |
|
"src": "10748:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory)" |
|
} |
|
}, |
|
"id": 3092, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10748:53:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3093, |
|
"nodeType": "EmitStatement", |
|
"src": "10743:58:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "20204578706563746564", |
|
"id": 3095, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "10836:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
"value": " Expected" |
|
}, |
|
{ |
|
"id": 3096, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3074, |
|
"src": "10850:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3094, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "10820:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 3097, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10820:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3098, |
|
"nodeType": "EmitStatement", |
|
"src": "10815:37:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "2020202041637475616c", |
|
"id": 3100, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "10887:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
"value": " Actual" |
|
}, |
|
{ |
|
"id": 3101, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3072, |
|
"src": "10901:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3099, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "10871:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 3102, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10871:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3103, |
|
"nodeType": "EmitStatement", |
|
"src": "10866:37:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "204d61782044656c7461", |
|
"id": 3105, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "10938:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", |
|
"typeString": "literal_string \" Max Delta\"" |
|
}, |
|
"value": " Max Delta" |
|
}, |
|
{ |
|
"id": 3106, |
|
"name": "maxDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3076, |
|
"src": "10952:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", |
|
"typeString": "literal_string \" Max Delta\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3104, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "10922:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 3107, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10922:39:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3108, |
|
"nodeType": "EmitStatement", |
|
"src": "10917:44:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "202020202044656c7461", |
|
"id": 3110, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "10996:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", |
|
"typeString": "literal_string \" Delta\"" |
|
}, |
|
"value": " Delta" |
|
}, |
|
{ |
|
"id": 3111, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3080, |
|
"src": "11010:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", |
|
"typeString": "literal_string \" Delta\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3109, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "10980:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 3112, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "10980:36:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3113, |
|
"nodeType": "EmitStatement", |
|
"src": "10975:41:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 3114, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "11030:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 3115, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11030:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3116, |
|
"nodeType": "ExpressionStatement", |
|
"src": "11030:6:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertApproxEqAbs", |
|
"nameLocation": "10546:17:2", |
|
"parameters": { |
|
"id": 3077, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3072, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "10581:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3120, |
|
"src": "10573:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3071, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10573:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3074, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "10600:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3120, |
|
"src": "10592:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3073, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10592:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3076, |
|
"mutability": "mutable", |
|
"name": "maxDelta", |
|
"nameLocation": "10619:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3120, |
|
"src": "10611:16:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3075, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "10611:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "10563:70:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3078, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "10651:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3156, |
|
"nodeType": "FunctionDefinition", |
|
"src": "11059:335:2", |
|
"body": { |
|
"id": 3155, |
|
"nodeType": "Block", |
|
"src": "11200:194:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
3132 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3132, |
|
"mutability": "mutable", |
|
"name": "delta", |
|
"nameLocation": "11218:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3155, |
|
"src": "11210:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3131, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11210:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3138, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3135, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3122, |
|
"src": "11240:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3136, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3124, |
|
"src": "11243:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3133, |
|
"name": "stdMath", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4795, |
|
"src": "11226:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_stdMath_$4795_$", |
|
"typeString": "type(library stdMath)" |
|
} |
|
}, |
|
"id": 3134, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "11234:5:2", |
|
"memberName": "delta", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4706, |
|
"src": "11226:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", |
|
"typeString": "function (uint256,uint256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 3137, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11226:19:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "11210:35:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3141, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3139, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3132, |
|
"src": "11260:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 3140, |
|
"name": "maxDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3126, |
|
"src": "11268:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "11260:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3154, |
|
"nodeType": "IfStatement", |
|
"src": "11256:132:2", |
|
"trueBody": { |
|
"id": 3153, |
|
"nodeType": "Block", |
|
"src": "11278:110:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 3143, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "11317:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 3144, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3128, |
|
"src": "11326:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 3142, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "11297:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 3145, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11297:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3146, |
|
"nodeType": "EmitStatement", |
|
"src": "11292:38:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3148, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3122, |
|
"src": "11362:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3149, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3124, |
|
"src": "11365:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3150, |
|
"name": "maxDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3126, |
|
"src": "11368:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3147, |
|
"name": "assertApproxEqAbs", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
3120, |
|
3156, |
|
3206, |
|
3242 |
|
], |
|
"referencedDeclaration": 3120, |
|
"src": "11344:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", |
|
"typeString": "function (uint256,uint256,uint256)" |
|
} |
|
}, |
|
"id": 3151, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11344:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3152, |
|
"nodeType": "ExpressionStatement", |
|
"src": "11344:33:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertApproxEqAbs", |
|
"nameLocation": "11068:17:2", |
|
"parameters": { |
|
"id": 3129, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3122, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "11103:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3156, |
|
"src": "11095:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3121, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11095:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3124, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "11122:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3156, |
|
"src": "11114:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3123, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11114:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3126, |
|
"mutability": "mutable", |
|
"name": "maxDelta", |
|
"nameLocation": "11141:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3156, |
|
"src": "11133:16:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3125, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11133:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3128, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "11173:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3156, |
|
"src": "11159:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 3127, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11159:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "11085:97:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3130, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "11200:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3206, |
|
"nodeType": "FunctionDefinition", |
|
"src": "11400:513:2", |
|
"body": { |
|
"id": 3205, |
|
"nodeType": "Block", |
|
"src": "11512:401:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
3166 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3166, |
|
"mutability": "mutable", |
|
"name": "delta", |
|
"nameLocation": "11530:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3205, |
|
"src": "11522:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3165, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11522:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3172, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3169, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3158, |
|
"src": "11552:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3170, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3160, |
|
"src": "11555:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3167, |
|
"name": "stdMath", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4795, |
|
"src": "11538:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_stdMath_$4795_$", |
|
"typeString": "type(library stdMath)" |
|
} |
|
}, |
|
"id": 3168, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "11546:5:2", |
|
"memberName": "delta", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4742, |
|
"src": "11538:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256,int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 3171, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11538:19:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "11522:35:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3175, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3173, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3166, |
|
"src": "11572:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 3174, |
|
"name": "maxDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3162, |
|
"src": "11580:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "11572:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3204, |
|
"nodeType": "IfStatement", |
|
"src": "11568:339:2", |
|
"trueBody": { |
|
"id": 3203, |
|
"nodeType": "Block", |
|
"src": "11590:317:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d", |
|
"id": 3177, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "11625:35:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", |
|
"typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" |
|
}, |
|
"value": "Error: a ~= b not satisfied [int]" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", |
|
"typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" |
|
} |
|
], |
|
"id": 3176, |
|
"name": "log", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5, |
|
"src": "11609:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory)" |
|
} |
|
}, |
|
"id": 3178, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11609:52:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3179, |
|
"nodeType": "EmitStatement", |
|
"src": "11604:57:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "20204578706563746564", |
|
"id": 3181, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "11696:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
"value": " Expected" |
|
}, |
|
{ |
|
"id": 3182, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3160, |
|
"src": "11710:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 3180, |
|
"name": "log_named_int", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 67, |
|
"src": "11680:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", |
|
"typeString": "function (string memory,int256)" |
|
} |
|
}, |
|
"id": 3183, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11680:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3184, |
|
"nodeType": "EmitStatement", |
|
"src": "11675:37:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "2020202041637475616c", |
|
"id": 3186, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "11747:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
"value": " Actual" |
|
}, |
|
{ |
|
"id": 3187, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3158, |
|
"src": "11761:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 3185, |
|
"name": "log_named_int", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 67, |
|
"src": "11731:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", |
|
"typeString": "function (string memory,int256)" |
|
} |
|
}, |
|
"id": 3188, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11731:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3189, |
|
"nodeType": "EmitStatement", |
|
"src": "11726:37:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "204d61782044656c7461", |
|
"id": 3191, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "11798:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", |
|
"typeString": "literal_string \" Max Delta\"" |
|
}, |
|
"value": " Max Delta" |
|
}, |
|
{ |
|
"id": 3192, |
|
"name": "maxDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3162, |
|
"src": "11812:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5", |
|
"typeString": "literal_string \" Max Delta\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3190, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "11782:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 3193, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11782:39:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3194, |
|
"nodeType": "EmitStatement", |
|
"src": "11777:44:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "202020202044656c7461", |
|
"id": 3196, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "11856:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", |
|
"typeString": "literal_string \" Delta\"" |
|
}, |
|
"value": " Delta" |
|
}, |
|
{ |
|
"id": 3197, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3166, |
|
"src": "11870:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f", |
|
"typeString": "literal_string \" Delta\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3195, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "11840:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 3198, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11840:36:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3199, |
|
"nodeType": "EmitStatement", |
|
"src": "11835:41:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 3200, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "11890:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 3201, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "11890:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3202, |
|
"nodeType": "ExpressionStatement", |
|
"src": "11890:6:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertApproxEqAbs", |
|
"nameLocation": "11409:17:2", |
|
"parameters": { |
|
"id": 3163, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3158, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "11443:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3206, |
|
"src": "11436:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3157, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11436:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3160, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "11461:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3206, |
|
"src": "11454:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3159, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11454:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3162, |
|
"mutability": "mutable", |
|
"name": "maxDelta", |
|
"nameLocation": "11480:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3206, |
|
"src": "11472:16:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3161, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11472:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "11426:68:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3164, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "11512:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3242, |
|
"nodeType": "FunctionDefinition", |
|
"src": "11919:333:2", |
|
"body": { |
|
"id": 3241, |
|
"nodeType": "Block", |
|
"src": "12058:194:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
3218 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3218, |
|
"mutability": "mutable", |
|
"name": "delta", |
|
"nameLocation": "12076:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3241, |
|
"src": "12068:13:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3217, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "12068:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3224, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3221, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3208, |
|
"src": "12098:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3222, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3210, |
|
"src": "12101:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3219, |
|
"name": "stdMath", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4795, |
|
"src": "12084:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_stdMath_$4795_$", |
|
"typeString": "type(library stdMath)" |
|
} |
|
}, |
|
"id": 3220, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "12092:5:2", |
|
"memberName": "delta", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4742, |
|
"src": "12084:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256,int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 3223, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12084:19:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "12068:35:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3227, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3225, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3218, |
|
"src": "12118:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 3226, |
|
"name": "maxDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3212, |
|
"src": "12126:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "12118:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3240, |
|
"nodeType": "IfStatement", |
|
"src": "12114:132:2", |
|
"trueBody": { |
|
"id": 3239, |
|
"nodeType": "Block", |
|
"src": "12136:110:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 3229, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12175:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 3230, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3214, |
|
"src": "12184:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 3228, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "12155:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 3231, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12155:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3232, |
|
"nodeType": "EmitStatement", |
|
"src": "12150:38:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3234, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3208, |
|
"src": "12220:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3235, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3210, |
|
"src": "12223:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3236, |
|
"name": "maxDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3212, |
|
"src": "12226:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3233, |
|
"name": "assertApproxEqAbs", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
3120, |
|
3156, |
|
3206, |
|
3242 |
|
], |
|
"referencedDeclaration": 3206, |
|
"src": "12202:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", |
|
"typeString": "function (int256,int256,uint256)" |
|
} |
|
}, |
|
"id": 3237, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12202:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3238, |
|
"nodeType": "ExpressionStatement", |
|
"src": "12202:33:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertApproxEqAbs", |
|
"nameLocation": "11928:17:2", |
|
"parameters": { |
|
"id": 3215, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3208, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "11962:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3242, |
|
"src": "11955:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3207, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11955:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3210, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "11980:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3242, |
|
"src": "11973:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3209, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11973:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3212, |
|
"mutability": "mutable", |
|
"name": "maxDelta", |
|
"nameLocation": "11999:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3242, |
|
"src": "11991:16:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3211, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "11991:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3214, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "12031:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3242, |
|
"src": "12017:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 3213, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "12017:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "11945:95:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3216, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "12058:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3303, |
|
"nodeType": "FunctionDefinition", |
|
"src": "12258:766:2", |
|
"body": { |
|
"id": 3302, |
|
"nodeType": "Block", |
|
"src": "12435:589:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3253, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3251, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3246, |
|
"src": "12449:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"hexValue": "30", |
|
"id": 3252, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12454:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"src": "12449:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3259, |
|
"nodeType": "IfStatement", |
|
"src": "12445:33:2", |
|
"trueBody": { |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3255, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3244, |
|
"src": "12473:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3256, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3246, |
|
"src": "12476:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3254, |
|
"name": "assertEq", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2779, |
|
2804, |
|
2817, |
|
2833, |
|
2875, |
|
2917, |
|
2959, |
|
2996, |
|
3033, |
|
3070, |
|
320, |
|
345, |
|
375, |
|
400, |
|
459, |
|
484, |
|
514, |
|
539, |
|
1639, |
|
1674 |
|
], |
|
"referencedDeclaration": 514, |
|
"src": "12464:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", |
|
"typeString": "function (uint256,uint256)" |
|
} |
|
}, |
|
"id": 3257, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12464:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"functionReturnParameters": 3250, |
|
"id": 3258, |
|
"nodeType": "Return", |
|
"src": "12457:21:2" |
|
} |
|
}, |
|
{ |
|
"assignments": [ |
|
3261 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3261, |
|
"mutability": "mutable", |
|
"name": "percentDelta", |
|
"nameLocation": "12542:12:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3302, |
|
"src": "12534:20:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3260, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "12534:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3267, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3264, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3244, |
|
"src": "12578:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3265, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3246, |
|
"src": "12581:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3262, |
|
"name": "stdMath", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4795, |
|
"src": "12557:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_stdMath_$4795_$", |
|
"typeString": "type(library stdMath)" |
|
} |
|
}, |
|
"id": 3263, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "12565:12:2", |
|
"memberName": "percentDelta", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4765, |
|
"src": "12557:20:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", |
|
"typeString": "function (uint256,uint256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 3266, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12557:26:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "12534:49:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3270, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3268, |
|
"name": "percentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3261, |
|
"src": "12598:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 3269, |
|
"name": "maxPercentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3248, |
|
"src": "12613:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "12598:30:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3301, |
|
"nodeType": "IfStatement", |
|
"src": "12594:424:2", |
|
"trueBody": { |
|
"id": 3300, |
|
"nodeType": "Block", |
|
"src": "12630:388:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d", |
|
"id": 3272, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12673:36:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", |
|
"typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" |
|
}, |
|
"value": "Error: a ~= b not satisfied [uint]" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe", |
|
"typeString": "literal_string \"Error: a ~= b not satisfied [uint]\"" |
|
} |
|
], |
|
"id": 3271, |
|
"name": "log", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5, |
|
"src": "12649:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory)" |
|
} |
|
}, |
|
"id": 3273, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12649:61:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3274, |
|
"nodeType": "EmitStatement", |
|
"src": "12644:66:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "202020204578706563746564", |
|
"id": 3276, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12753:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
"value": " Expected" |
|
}, |
|
{ |
|
"id": 3277, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3246, |
|
"src": "12769:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3275, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "12729:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 3278, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12729:42:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3279, |
|
"nodeType": "EmitStatement", |
|
"src": "12724:47:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "20202020202041637475616c", |
|
"id": 3281, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12814:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
"value": " Actual" |
|
}, |
|
{ |
|
"id": 3282, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3244, |
|
"src": "12830:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3280, |
|
"name": "log_named_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 73, |
|
"src": "12790:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256)" |
|
} |
|
}, |
|
"id": 3283, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12790:42:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3284, |
|
"nodeType": "EmitStatement", |
|
"src": "12785:47:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "204d617820252044656c7461", |
|
"id": 3286, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12875:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", |
|
"typeString": "literal_string \" Max % Delta\"" |
|
}, |
|
"value": " Max % Delta" |
|
}, |
|
{ |
|
"id": 3287, |
|
"name": "maxPercentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3248, |
|
"src": "12891:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"hexValue": "3138", |
|
"id": 3288, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12908:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
}, |
|
"value": "18" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", |
|
"typeString": "literal_string \" Max % Delta\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
} |
|
], |
|
"id": 3285, |
|
"name": "log_named_decimal_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 61, |
|
"src": "12851:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256,uint256)" |
|
} |
|
}, |
|
"id": 3289, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12851:60:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3290, |
|
"nodeType": "EmitStatement", |
|
"src": "12846:65:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "2020202020252044656c7461", |
|
"id": 3292, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12954:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", |
|
"typeString": "literal_string \" % Delta\"" |
|
}, |
|
"value": " % Delta" |
|
}, |
|
{ |
|
"id": 3293, |
|
"name": "percentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3261, |
|
"src": "12970:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"hexValue": "3138", |
|
"id": 3294, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "12984:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
}, |
|
"value": "18" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", |
|
"typeString": "literal_string \" % Delta\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
} |
|
], |
|
"id": 3291, |
|
"name": "log_named_decimal_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 61, |
|
"src": "12930:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256,uint256)" |
|
} |
|
}, |
|
"id": 3295, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "12930:57:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3296, |
|
"nodeType": "EmitStatement", |
|
"src": "12925:62:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 3297, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "13001:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 3298, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13001:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3299, |
|
"nodeType": "ExpressionStatement", |
|
"src": "13001:6:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertApproxEqRel", |
|
"nameLocation": "12267:17:2", |
|
"parameters": { |
|
"id": 3249, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3244, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "12302:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3303, |
|
"src": "12294:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3243, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "12294:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3246, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "12321:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3303, |
|
"src": "12313:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3245, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "12313:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3248, |
|
"mutability": "mutable", |
|
"name": "maxPercentDelta", |
|
"nameLocation": "12340:15:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3303, |
|
"src": "12332:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3247, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "12332:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "12284:133:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3250, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "12435:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3349, |
|
"nodeType": "FunctionDefinition", |
|
"src": "13030:531:2", |
|
"body": { |
|
"id": 3348, |
|
"nodeType": "Block", |
|
"src": "13234:327:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3316, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3314, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3307, |
|
"src": "13248:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"hexValue": "30", |
|
"id": 3315, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "13253:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"src": "13248:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3323, |
|
"nodeType": "IfStatement", |
|
"src": "13244:38:2", |
|
"trueBody": { |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3318, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3305, |
|
"src": "13272:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3319, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3307, |
|
"src": "13275:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3320, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3311, |
|
"src": "13278:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 3317, |
|
"name": "assertEq", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2779, |
|
2804, |
|
2817, |
|
2833, |
|
2875, |
|
2917, |
|
2959, |
|
2996, |
|
3033, |
|
3070, |
|
320, |
|
345, |
|
375, |
|
400, |
|
459, |
|
484, |
|
514, |
|
539, |
|
1639, |
|
1674 |
|
], |
|
"referencedDeclaration": 539, |
|
"src": "13263:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (uint256,uint256,string memory)" |
|
} |
|
}, |
|
"id": 3321, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13263:19:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"functionReturnParameters": 3313, |
|
"id": 3322, |
|
"nodeType": "Return", |
|
"src": "13256:26:2" |
|
} |
|
}, |
|
{ |
|
"assignments": [ |
|
3325 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3325, |
|
"mutability": "mutable", |
|
"name": "percentDelta", |
|
"nameLocation": "13346:12:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3348, |
|
"src": "13338:20:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3324, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13338:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3331, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3328, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3305, |
|
"src": "13382:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3329, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3307, |
|
"src": "13385:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3326, |
|
"name": "stdMath", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4795, |
|
"src": "13361:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_stdMath_$4795_$", |
|
"typeString": "type(library stdMath)" |
|
} |
|
}, |
|
"id": 3327, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "13369:12:2", |
|
"memberName": "percentDelta", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4765, |
|
"src": "13361:20:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", |
|
"typeString": "function (uint256,uint256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 3330, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13361:26:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "13338:49:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3334, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3332, |
|
"name": "percentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3325, |
|
"src": "13402:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 3333, |
|
"name": "maxPercentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3309, |
|
"src": "13417:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "13402:30:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3347, |
|
"nodeType": "IfStatement", |
|
"src": "13398:157:2", |
|
"trueBody": { |
|
"id": 3346, |
|
"nodeType": "Block", |
|
"src": "13434:121:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 3336, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "13477:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 3337, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3311, |
|
"src": "13486:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 3335, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "13453:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 3338, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13453:37:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3339, |
|
"nodeType": "EmitStatement", |
|
"src": "13448:42:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3341, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3305, |
|
"src": "13522:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3342, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3307, |
|
"src": "13525:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 3343, |
|
"name": "maxPercentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3309, |
|
"src": "13528:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3340, |
|
"name": "assertApproxEqRel", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
3303, |
|
3349, |
|
3410, |
|
3455 |
|
], |
|
"referencedDeclaration": 3303, |
|
"src": "13504:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", |
|
"typeString": "function (uint256,uint256,uint256)" |
|
} |
|
}, |
|
"id": 3344, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13504:40:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3345, |
|
"nodeType": "ExpressionStatement", |
|
"src": "13504:40:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertApproxEqRel", |
|
"nameLocation": "13039:17:2", |
|
"parameters": { |
|
"id": 3312, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3305, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "13074:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3349, |
|
"src": "13066:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3304, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13066:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3307, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "13093:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3349, |
|
"src": "13085:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3306, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13085:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3309, |
|
"mutability": "mutable", |
|
"name": "maxPercentDelta", |
|
"nameLocation": "13112:15:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3349, |
|
"src": "13104:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3308, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13104:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3311, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "13207:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3349, |
|
"src": "13193:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 3310, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13193:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "13056:160:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3313, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "13234:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3410, |
|
"nodeType": "FunctionDefinition", |
|
"src": "13567:702:2", |
|
"body": { |
|
"id": 3409, |
|
"nodeType": "Block", |
|
"src": "13686:583:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"id": 3360, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3358, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3353, |
|
"src": "13700:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"hexValue": "30", |
|
"id": 3359, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "13705:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"src": "13700:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3366, |
|
"nodeType": "IfStatement", |
|
"src": "13696:33:2", |
|
"trueBody": { |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3362, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3351, |
|
"src": "13724:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3363, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3353, |
|
"src": "13727:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 3361, |
|
"name": "assertEq", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2779, |
|
2804, |
|
2817, |
|
2833, |
|
2875, |
|
2917, |
|
2959, |
|
2996, |
|
3033, |
|
3070, |
|
320, |
|
345, |
|
375, |
|
400, |
|
459, |
|
484, |
|
514, |
|
539, |
|
1639, |
|
1674 |
|
], |
|
"referencedDeclaration": 459, |
|
"src": "13715:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", |
|
"typeString": "function (int256,int256)" |
|
} |
|
}, |
|
"id": 3364, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13715:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"functionReturnParameters": 3357, |
|
"id": 3365, |
|
"nodeType": "Return", |
|
"src": "13708:21:2" |
|
} |
|
}, |
|
{ |
|
"assignments": [ |
|
3368 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3368, |
|
"mutability": "mutable", |
|
"name": "percentDelta", |
|
"nameLocation": "13793:12:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3409, |
|
"src": "13785:20:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3367, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13785:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3374, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3371, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3351, |
|
"src": "13829:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3372, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3353, |
|
"src": "13832:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3369, |
|
"name": "stdMath", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4795, |
|
"src": "13808:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_stdMath_$4795_$", |
|
"typeString": "type(library stdMath)" |
|
} |
|
}, |
|
"id": 3370, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "13816:12:2", |
|
"memberName": "percentDelta", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4794, |
|
"src": "13808:20:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256,int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 3373, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13808:26:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "13785:49:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3377, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3375, |
|
"name": "percentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3368, |
|
"src": "13849:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 3376, |
|
"name": "maxPercentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3355, |
|
"src": "13864:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "13849:30:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3408, |
|
"nodeType": "IfStatement", |
|
"src": "13845:418:2", |
|
"trueBody": { |
|
"id": 3407, |
|
"nodeType": "Block", |
|
"src": "13881:382:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d", |
|
"id": 3379, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "13923:35:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", |
|
"typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" |
|
}, |
|
"value": "Error: a ~= b not satisfied [int]" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d", |
|
"typeString": "literal_string \"Error: a ~= b not satisfied [int]\"" |
|
} |
|
], |
|
"id": 3378, |
|
"name": "log", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5, |
|
"src": "13900:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory)" |
|
} |
|
}, |
|
"id": 3380, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13900:59:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3381, |
|
"nodeType": "EmitStatement", |
|
"src": "13895:64:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "202020204578706563746564", |
|
"id": 3383, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "14001:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
"value": " Expected" |
|
}, |
|
{ |
|
"id": 3384, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3353, |
|
"src": "14017:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_0e33bb6058f2c6cccd03674115e231a9d0cfe482a7efa638b81035808613e7d3", |
|
"typeString": "literal_string \" Expected\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 3382, |
|
"name": "log_named_int", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 67, |
|
"src": "13978:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", |
|
"typeString": "function (string memory,int256)" |
|
} |
|
}, |
|
"id": 3385, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "13978:41:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3386, |
|
"nodeType": "EmitStatement", |
|
"src": "13973:46:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "20202020202041637475616c", |
|
"id": 3388, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "14061:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
"value": " Actual" |
|
}, |
|
{ |
|
"id": 3389, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3351, |
|
"src": "14077:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_0c86931dadd9b7dcb5fe0132c9f180edb774e714bd6d32d0fc56d5f9258e30e9", |
|
"typeString": "literal_string \" Actual\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 3387, |
|
"name": "log_named_int", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 67, |
|
"src": "14038:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", |
|
"typeString": "function (string memory,int256)" |
|
} |
|
}, |
|
"id": 3390, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "14038:41:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3391, |
|
"nodeType": "EmitStatement", |
|
"src": "14033:46:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "204d617820252044656c7461", |
|
"id": 3393, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "14121:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", |
|
"typeString": "literal_string \" Max % Delta\"" |
|
}, |
|
"value": " Max % Delta" |
|
}, |
|
{ |
|
"id": 3394, |
|
"name": "maxPercentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3355, |
|
"src": "14137:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"hexValue": "3138", |
|
"id": 3395, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "14154:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
}, |
|
"value": "18" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d", |
|
"typeString": "literal_string \" Max % Delta\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
} |
|
], |
|
"id": 3392, |
|
"name": "log_named_decimal_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 61, |
|
"src": "14098:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256,uint256)" |
|
} |
|
}, |
|
"id": 3396, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "14098:59:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3397, |
|
"nodeType": "EmitStatement", |
|
"src": "14093:64:2" |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "2020202020252044656c7461", |
|
"id": 3399, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "14199:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", |
|
"typeString": "literal_string \" % Delta\"" |
|
}, |
|
"value": " % Delta" |
|
}, |
|
{ |
|
"id": 3400, |
|
"name": "percentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3368, |
|
"src": "14215:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"hexValue": "3138", |
|
"id": 3401, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "14229:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
}, |
|
"value": "18" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7", |
|
"typeString": "literal_string \" % Delta\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
} |
|
], |
|
"id": 3398, |
|
"name": "log_named_decimal_uint", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 61, |
|
"src": "14176:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", |
|
"typeString": "function (string memory,uint256,uint256)" |
|
} |
|
}, |
|
"id": 3402, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "14176:56:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3403, |
|
"nodeType": "EmitStatement", |
|
"src": "14171:61:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"id": 3404, |
|
"name": "fail", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2718, |
|
216 |
|
], |
|
"referencedDeclaration": 216, |
|
"src": "14246:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", |
|
"typeString": "function ()" |
|
} |
|
}, |
|
"id": 3405, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "14246:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3406, |
|
"nodeType": "ExpressionStatement", |
|
"src": "14246:6:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertApproxEqRel", |
|
"nameLocation": "13576:17:2", |
|
"parameters": { |
|
"id": 3356, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3351, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "13610:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3410, |
|
"src": "13603:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3350, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13603:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3353, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "13628:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3410, |
|
"src": "13621:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3352, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13621:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3355, |
|
"mutability": "mutable", |
|
"name": "maxPercentDelta", |
|
"nameLocation": "13647:15:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3410, |
|
"src": "13639:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3354, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "13639:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "13593:75:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3357, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "13686:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 3455, |
|
"nodeType": "FunctionDefinition", |
|
"src": "14275:467:2", |
|
"body": { |
|
"id": 3454, |
|
"nodeType": "Block", |
|
"src": "14421:321:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"id": 3423, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3421, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3414, |
|
"src": "14435:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"hexValue": "30", |
|
"id": 3422, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "14440:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"src": "14435:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3429, |
|
"nodeType": "IfStatement", |
|
"src": "14431:33:2", |
|
"trueBody": { |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3425, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3412, |
|
"src": "14459:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3426, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3414, |
|
"src": "14462:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 3424, |
|
"name": "assertEq", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
2779, |
|
2804, |
|
2817, |
|
2833, |
|
2875, |
|
2917, |
|
2959, |
|
2996, |
|
3033, |
|
3070, |
|
320, |
|
345, |
|
375, |
|
400, |
|
459, |
|
484, |
|
514, |
|
539, |
|
1639, |
|
1674 |
|
], |
|
"referencedDeclaration": 459, |
|
"src": "14450:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", |
|
"typeString": "function (int256,int256)" |
|
} |
|
}, |
|
"id": 3427, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "14450:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"functionReturnParameters": 3420, |
|
"id": 3428, |
|
"nodeType": "Return", |
|
"src": "14443:21:2" |
|
} |
|
}, |
|
{ |
|
"assignments": [ |
|
3431 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3431, |
|
"mutability": "mutable", |
|
"name": "percentDelta", |
|
"nameLocation": "14528:12:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3454, |
|
"src": "14520:20:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3430, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "14520:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3437, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3434, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3412, |
|
"src": "14564:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3435, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3414, |
|
"src": "14567:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3432, |
|
"name": "stdMath", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4795, |
|
"src": "14543:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_stdMath_$4795_$", |
|
"typeString": "type(library stdMath)" |
|
} |
|
}, |
|
"id": 3433, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "14551:12:2", |
|
"memberName": "percentDelta", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4794, |
|
"src": "14543:20:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256,int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 3436, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "14543:26:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "14520:49:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3440, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3438, |
|
"name": "percentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3431, |
|
"src": "14584:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 3439, |
|
"name": "maxPercentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3416, |
|
"src": "14599:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "14584:30:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3453, |
|
"nodeType": "IfStatement", |
|
"src": "14580:156:2", |
|
"trueBody": { |
|
"id": 3452, |
|
"nodeType": "Block", |
|
"src": "14616:120:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "4572726f72", |
|
"id": 3442, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "14658:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
"value": "Error" |
|
}, |
|
{ |
|
"id": 3443, |
|
"name": "err", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3418, |
|
"src": "14667:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", |
|
"typeString": "literal_string \"Error\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 3441, |
|
"name": "log_named_string", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 85, |
|
"src": "14635:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory,string memory)" |
|
} |
|
}, |
|
"id": 3444, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "14635:36:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3445, |
|
"nodeType": "EmitStatement", |
|
"src": "14630:41:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3447, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3412, |
|
"src": "14703:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3448, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3414, |
|
"src": "14706:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 3449, |
|
"name": "maxPercentDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3416, |
|
"src": "14709:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3446, |
|
"name": "assertApproxEqRel", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
3303, |
|
3349, |
|
3410, |
|
3455 |
|
], |
|
"referencedDeclaration": 3410, |
|
"src": "14685:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", |
|
"typeString": "function (int256,int256,uint256)" |
|
} |
|
}, |
|
"id": 3450, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "14685:40:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3451, |
|
"nodeType": "ExpressionStatement", |
|
"src": "14685:40:2" |
|
} |
|
] |
|
} |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "assertApproxEqRel", |
|
"nameLocation": "14284:17:2", |
|
"parameters": { |
|
"id": 3419, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3412, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "14318:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3455, |
|
"src": "14311:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3411, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "14311:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3414, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "14336:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3455, |
|
"src": "14329:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3413, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "14329:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3416, |
|
"mutability": "mutable", |
|
"name": "maxPercentDelta", |
|
"nameLocation": "14355:15:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3455, |
|
"src": "14347:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3415, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "14347:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3418, |
|
"mutability": "mutable", |
|
"name": "err", |
|
"nameLocation": "14394:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3455, |
|
"src": "14380:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 3417, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "14380:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "14301:102:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3420, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "14421:0:2" |
|
}, |
|
"scope": 3456, |
|
"stateMutability": "nonpayable", |
|
"virtual": true, |
|
"visibility": "internal" |
|
} |
|
], |
|
"abstract": true, |
|
"baseContracts": [ |
|
{ |
|
"baseName": { |
|
"id": 2027, |
|
"name": "DSTest", |
|
"nameLocations": [ |
|
"190:6:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 1786, |
|
"src": "190:6:2" |
|
}, |
|
"id": 2028, |
|
"nodeType": "InheritanceSpecifier", |
|
"src": "190:6:2" |
|
}, |
|
{ |
|
"baseName": { |
|
"id": 2029, |
|
"name": "Script", |
|
"nameLocations": [ |
|
"198:6:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 2022, |
|
"src": "198:6:2" |
|
}, |
|
"id": 2030, |
|
"nodeType": "InheritanceSpecifier", |
|
"src": "198:6:2" |
|
} |
|
], |
|
"canonicalName": "Test", |
|
"contractDependencies": [], |
|
"contractKind": "contract", |
|
"fullyImplemented": true, |
|
"linearizedBaseContracts": [ |
|
3456, |
|
2022, |
|
1786 |
|
], |
|
"name": "Test", |
|
"nameLocation": "182:4:2", |
|
"scope": 4796, |
|
"usedErrors": [] |
|
}, |
|
{ |
|
"id": 3526, |
|
"nodeType": "ContractDefinition", |
|
"src": "14944:984:2", |
|
"nodes": [ |
|
{ |
|
"id": 3463, |
|
"nodeType": "VariableDeclaration", |
|
"src": "14967:86:2", |
|
"constant": true, |
|
"functionSelector": "10332977", |
|
"mutability": "constant", |
|
"name": "assertionError", |
|
"nameLocation": "14989:14:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3457, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "14967:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3460, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15030:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783031", |
|
"id": 3461, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15048:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "0x01" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
} |
|
], |
|
"expression": { |
|
"id": 3458, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15006:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3459, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15010:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15006:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3462, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15006:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3470, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15059:87:2", |
|
"constant": true, |
|
"functionSelector": "8995290f", |
|
"mutability": "constant", |
|
"name": "arithmeticError", |
|
"nameLocation": "15081:15:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3464, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15059:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3467, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15123:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783131", |
|
"id": 3468, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15141:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_17_by_1", |
|
"typeString": "int_const 17" |
|
}, |
|
"value": "0x11" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_17_by_1", |
|
"typeString": "int_const 17" |
|
} |
|
], |
|
"expression": { |
|
"id": 3465, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15099:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3466, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15103:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15099:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3469, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15099:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3477, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15152:85:2", |
|
"constant": true, |
|
"functionSelector": "fa784a44", |
|
"mutability": "constant", |
|
"name": "divisionError", |
|
"nameLocation": "15174:13:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3471, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15152:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3474, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15214:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783132", |
|
"id": 3475, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15232:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
}, |
|
"value": "0x12" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_18_by_1", |
|
"typeString": "int_const 18" |
|
} |
|
], |
|
"expression": { |
|
"id": 3472, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15190:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3473, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15194:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15190:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3476, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15190:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3484, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15243:91:2", |
|
"constant": true, |
|
"functionSelector": "1de45560", |
|
"mutability": "constant", |
|
"name": "enumConversionError", |
|
"nameLocation": "15265:19:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3478, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15243:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3481, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15311:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783231", |
|
"id": 3482, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15329:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_33_by_1", |
|
"typeString": "int_const 33" |
|
}, |
|
"value": "0x21" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_33_by_1", |
|
"typeString": "int_const 33" |
|
} |
|
], |
|
"expression": { |
|
"id": 3479, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15287:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3480, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15291:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15287:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3483, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15287:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3491, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15340:90:2", |
|
"constant": true, |
|
"functionSelector": "d160e4de", |
|
"mutability": "constant", |
|
"name": "encodeStorageError", |
|
"nameLocation": "15362:18:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3485, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15340:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3488, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15407:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783232", |
|
"id": 3489, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15425:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_34_by_1", |
|
"typeString": "int_const 34" |
|
}, |
|
"value": "0x22" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_34_by_1", |
|
"typeString": "int_const 34" |
|
} |
|
], |
|
"expression": { |
|
"id": 3486, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15383:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3487, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15387:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15383:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3490, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15383:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3498, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15436:80:2", |
|
"constant": true, |
|
"functionSelector": "b22dc54d", |
|
"mutability": "constant", |
|
"name": "popError", |
|
"nameLocation": "15458:8:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3492, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15436:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3495, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15493:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783331", |
|
"id": 3496, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15511:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_49_by_1", |
|
"typeString": "int_const 49" |
|
}, |
|
"value": "0x31" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_49_by_1", |
|
"typeString": "int_const 49" |
|
} |
|
], |
|
"expression": { |
|
"id": 3493, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15469:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3494, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15473:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15469:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3497, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15469:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3505, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15522:85:2", |
|
"constant": true, |
|
"functionSelector": "05ee8612", |
|
"mutability": "constant", |
|
"name": "indexOOBError", |
|
"nameLocation": "15544:13:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3499, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15522:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3502, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15584:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783332", |
|
"id": 3503, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15602:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_50_by_1", |
|
"typeString": "int_const 50" |
|
}, |
|
"value": "0x32" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_50_by_1", |
|
"typeString": "int_const 50" |
|
} |
|
], |
|
"expression": { |
|
"id": 3500, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15560:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3501, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15564:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15560:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3504, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15560:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3512, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15613:88:2", |
|
"constant": true, |
|
"functionSelector": "986c5f68", |
|
"mutability": "constant", |
|
"name": "memOverflowError", |
|
"nameLocation": "15635:16:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3506, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15613:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3509, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15678:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783431", |
|
"id": 3510, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15696:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_65_by_1", |
|
"typeString": "int_const 65" |
|
}, |
|
"value": "0x41" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_65_by_1", |
|
"typeString": "int_const 65" |
|
} |
|
], |
|
"expression": { |
|
"id": 3507, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15654:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3508, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15658:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15654:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3511, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15654:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3519, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15707:84:2", |
|
"constant": true, |
|
"functionSelector": "b67689da", |
|
"mutability": "constant", |
|
"name": "zeroVarError", |
|
"nameLocation": "15729:12:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3513, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15707:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "50616e69632875696e7432353629", |
|
"id": 3516, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15768:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
"value": "Panic(uint256)" |
|
}, |
|
{ |
|
"hexValue": "30783531", |
|
"id": 3517, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15786:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_81_by_1", |
|
"typeString": "int_const 81" |
|
}, |
|
"value": "0x51" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268", |
|
"typeString": "literal_string \"Panic(uint256)\"" |
|
}, |
|
{ |
|
"typeIdentifier": "t_rational_81_by_1", |
|
"typeString": "int_const 81" |
|
} |
|
], |
|
"expression": { |
|
"id": 3514, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "15744:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3515, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "15748:19:2", |
|
"memberName": "encodeWithSignature", |
|
"nodeType": "MemberAccess", |
|
"src": "15744:23:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (string memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3518, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15744:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 3525, |
|
"nodeType": "VariableDeclaration", |
|
"src": "15870:47:2", |
|
"constant": true, |
|
"functionSelector": "ac3d92c6", |
|
"mutability": "constant", |
|
"name": "lowLevelError", |
|
"nameLocation": "15892:13:2", |
|
"scope": 3526, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3520, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15870:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "", |
|
"id": 3523, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "15914:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", |
|
"typeString": "literal_string \"\"" |
|
}, |
|
"value": "" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", |
|
"typeString": "literal_string \"\"" |
|
} |
|
], |
|
"id": 3522, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "15908:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$", |
|
"typeString": "type(bytes storage pointer)" |
|
}, |
|
"typeName": { |
|
"id": 3521, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "15908:5:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3524, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "15908:9:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"visibility": "public" |
|
} |
|
], |
|
"abstract": false, |
|
"baseContracts": [], |
|
"canonicalName": "stdError", |
|
"contractDependencies": [], |
|
"contractKind": "library", |
|
"fullyImplemented": true, |
|
"linearizedBaseContracts": [ |
|
3526 |
|
], |
|
"name": "stdError", |
|
"nameLocation": "14952:8:2", |
|
"scope": 4796, |
|
"usedErrors": [] |
|
}, |
|
{ |
|
"id": 3554, |
|
"nodeType": "StructDefinition", |
|
"src": "16129:275:2", |
|
"canonicalName": "StdStorage", |
|
"members": [ |
|
{ |
|
"constant": false, |
|
"id": 3534, |
|
"mutability": "mutable", |
|
"name": "slots", |
|
"nameLocation": "16221:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3554, |
|
"src": "16153:73:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" |
|
}, |
|
"typeName": { |
|
"id": 3533, |
|
"keyType": { |
|
"id": 3527, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16162:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "Mapping", |
|
"src": "16153:67:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" |
|
}, |
|
"valueType": { |
|
"id": 3532, |
|
"keyType": { |
|
"id": 3528, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16181:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"nodeType": "Mapping", |
|
"src": "16173:46:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" |
|
}, |
|
"valueType": { |
|
"id": 3531, |
|
"keyType": { |
|
"id": 3529, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16199:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "Mapping", |
|
"src": "16191:27:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", |
|
"typeString": "mapping(bytes32 => uint256)" |
|
}, |
|
"valueType": { |
|
"id": 3530, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16210:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3542, |
|
"mutability": "mutable", |
|
"name": "finds", |
|
"nameLocation": "16298:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3554, |
|
"src": "16232:71:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" |
|
}, |
|
"typeName": { |
|
"id": 3541, |
|
"keyType": { |
|
"id": 3535, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16241:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "Mapping", |
|
"src": "16232:65:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" |
|
}, |
|
"valueType": { |
|
"id": 3540, |
|
"keyType": { |
|
"id": 3536, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16260:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"nodeType": "Mapping", |
|
"src": "16252:44:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => bool))" |
|
}, |
|
"valueType": { |
|
"id": 3539, |
|
"keyType": { |
|
"id": 3537, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16279:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "Mapping", |
|
"src": "16271:24:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", |
|
"typeString": "mapping(bytes32 => bool)" |
|
}, |
|
"valueType": { |
|
"id": 3538, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16290:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3545, |
|
"mutability": "mutable", |
|
"name": "_keys", |
|
"nameLocation": "16320:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3554, |
|
"src": "16310:15:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", |
|
"typeString": "bytes32[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 3543, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16310:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 3544, |
|
"nodeType": "ArrayTypeName", |
|
"src": "16310:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", |
|
"typeString": "bytes32[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3547, |
|
"mutability": "mutable", |
|
"name": "_sig", |
|
"nameLocation": "16338:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3554, |
|
"src": "16331:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
"typeName": { |
|
"id": 3546, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16331:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3549, |
|
"mutability": "mutable", |
|
"name": "_depth", |
|
"nameLocation": "16356:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3554, |
|
"src": "16348:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3548, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16348:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3551, |
|
"mutability": "mutable", |
|
"name": "_target", |
|
"nameLocation": "16376:7:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3554, |
|
"src": "16368:15:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 3550, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16368:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3553, |
|
"mutability": "mutable", |
|
"name": "_set", |
|
"nameLocation": "16397:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3554, |
|
"src": "16389:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 3552, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16389:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"name": "StdStorage", |
|
"nameLocation": "16136:10:2", |
|
"scope": 4796, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 4656, |
|
"nodeType": "ContractDefinition", |
|
"src": "16406:8872:2", |
|
"nodes": [ |
|
{ |
|
"id": 3564, |
|
"nodeType": "EventDefinition", |
|
"src": "16431:71:2", |
|
"anonymous": false, |
|
"eventSelector": "9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed", |
|
"name": "SlotFound", |
|
"nameLocation": "16437:9:2", |
|
"parameters": { |
|
"id": 3563, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3556, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "16455:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3564, |
|
"src": "16447:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 3555, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16447:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3558, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "fsig", |
|
"nameLocation": "16467:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3564, |
|
"src": "16460:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
"typeName": { |
|
"id": 3557, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16460:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3560, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "keysHash", |
|
"nameLocation": "16481:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3564, |
|
"src": "16473:16:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 3559, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16473:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3562, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "slot", |
|
"nameLocation": "16496:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3564, |
|
"src": "16491:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3561, |
|
"name": "uint", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16491:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "16446:55:2" |
|
} |
|
}, |
|
{ |
|
"id": 3570, |
|
"nodeType": "EventDefinition", |
|
"src": "16507:51:2", |
|
"anonymous": false, |
|
"eventSelector": "080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5", |
|
"name": "WARNING_UninitedSlot", |
|
"nameLocation": "16513:20:2", |
|
"parameters": { |
|
"id": 3569, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3566, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "16542:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3570, |
|
"src": "16534:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 3565, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16534:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 3568, |
|
"indexed": false, |
|
"mutability": "mutable", |
|
"name": "slot", |
|
"nameLocation": "16552:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3570, |
|
"src": "16547:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3567, |
|
"name": "uint", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16547:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "16533:24:2" |
|
} |
|
}, |
|
{ |
|
"id": 3573, |
|
"nodeType": "VariableDeclaration", |
|
"src": "16564:117:2", |
|
"constant": true, |
|
"mutability": "constant", |
|
"name": "UINT256_MAX", |
|
"nameLocation": "16589:11:2", |
|
"scope": 4656, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3571, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16564:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"value": { |
|
"hexValue": "313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335", |
|
"id": 3572, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "16603:78:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", |
|
"typeString": "int_const 1157...(70 digits omitted)...9935" |
|
}, |
|
"value": "115792089237316195423570985008687907853269984665640564039457584007913129639935" |
|
}, |
|
"visibility": "private" |
|
}, |
|
{ |
|
"id": 3576, |
|
"nodeType": "VariableDeclaration", |
|
"src": "16687:114:2", |
|
"constant": true, |
|
"mutability": "constant", |
|
"name": "INT256_MAX", |
|
"nameLocation": "16711:10:2", |
|
"scope": 4656, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 3574, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16687:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"value": { |
|
"hexValue": "3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393637", |
|
"id": 3575, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "16724:77:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1", |
|
"typeString": "int_const 5789...(69 digits omitted)...9967" |
|
}, |
|
"value": "57896044618658097711785492504343953926634992332820282019728792003956564819967" |
|
}, |
|
"visibility": "private" |
|
}, |
|
{ |
|
"id": 3593, |
|
"nodeType": "VariableDeclaration", |
|
"src": "16808:94:2", |
|
"constant": true, |
|
"mutability": "constant", |
|
"name": "vm_std_store", |
|
"nameLocation": "16828:12:2", |
|
"scope": 4656, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
}, |
|
"typeName": { |
|
"id": 3578, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 3577, |
|
"name": "Vm", |
|
"nameLocations": [ |
|
"16808:2:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 5434, |
|
"src": "16808:2:2" |
|
}, |
|
"referencedDeclaration": 5434, |
|
"src": "16808:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"value": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"hexValue": "6865766d20636865617420636f6465", |
|
"id": 3587, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "16880:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", |
|
"typeString": "literal_string \"hevm cheat code\"" |
|
}, |
|
"value": "hevm cheat code" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d", |
|
"typeString": "literal_string \"hevm cheat code\"" |
|
} |
|
], |
|
"id": 3586, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "16870:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3588, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "16870:28:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 3585, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "16862:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 3584, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16862:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3589, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "16862:37:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3583, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "16854:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint160_$", |
|
"typeString": "type(uint160)" |
|
}, |
|
"typeName": { |
|
"id": 3582, |
|
"name": "uint160", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16854:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3590, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "16854:46:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint160", |
|
"typeString": "uint160" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint160", |
|
"typeString": "uint160" |
|
} |
|
], |
|
"id": 3581, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "16846:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
}, |
|
"typeName": { |
|
"id": 3580, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16846:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3591, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "16846:55:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"id": 3579, |
|
"name": "Vm", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 5434, |
|
"src": "16843:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_contract$_Vm_$5434_$", |
|
"typeString": "type(contract Vm)" |
|
} |
|
}, |
|
"id": 3592, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "16843:59:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"visibility": "private" |
|
}, |
|
{ |
|
"id": 3611, |
|
"nodeType": "FunctionDefinition", |
|
"src": "16909:165:2", |
|
"body": { |
|
"id": 3610, |
|
"nodeType": "Block", |
|
"src": "17018:56:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3605, |
|
"name": "sigStr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3595, |
|
"src": "17058:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 3604, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "17052:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$", |
|
"typeString": "type(bytes storage pointer)" |
|
}, |
|
"typeName": { |
|
"id": 3603, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "17052:5:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3606, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "17052:13:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3602, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "17042:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3607, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "17042:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 3601, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "17035:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes4_$", |
|
"typeString": "type(bytes4)" |
|
}, |
|
"typeName": { |
|
"id": 3600, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "17035:6:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3608, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "17035:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"functionReturnParameters": 3599, |
|
"id": 3609, |
|
"nodeType": "Return", |
|
"src": "17028:39:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "sigs", |
|
"nameLocation": "16918:4:2", |
|
"parameters": { |
|
"id": 3596, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3595, |
|
"mutability": "mutable", |
|
"name": "sigStr", |
|
"nameLocation": "16946:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3611, |
|
"src": "16932:20:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 3594, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "16932:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "16922:36:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3599, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3598, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3611, |
|
"src": "17006:6:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
"typeName": { |
|
"id": 3597, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "17006:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "17005:8:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "pure", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4056, |
|
"nodeType": "FunctionDefinition", |
|
"src": "17588:3214:2", |
|
"body": { |
|
"id": 4055, |
|
"nodeType": "Block", |
|
"src": "17688:3114:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
3621 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3621, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "17706:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4055, |
|
"src": "17698:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 3620, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "17698:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3624, |
|
"initialValue": { |
|
"expression": { |
|
"id": 3622, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "17712:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3623, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "17717:7:2", |
|
"memberName": "_target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3551, |
|
"src": "17712:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "17698:26:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
3626 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3626, |
|
"mutability": "mutable", |
|
"name": "fsig", |
|
"nameLocation": "17741:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4055, |
|
"src": "17734:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
"typeName": { |
|
"id": 3625, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "17734:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3629, |
|
"initialValue": { |
|
"expression": { |
|
"id": 3627, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "17748:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3628, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "17753:4:2", |
|
"memberName": "_sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3547, |
|
"src": "17748:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "17734:23:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
3631 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3631, |
|
"mutability": "mutable", |
|
"name": "field_depth", |
|
"nameLocation": "17775:11:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4055, |
|
"src": "17767:19:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3630, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "17767:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3634, |
|
"initialValue": { |
|
"expression": { |
|
"id": 3632, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "17789:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3633, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "17794:6:2", |
|
"memberName": "_depth", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3549, |
|
"src": "17789:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "17767:33:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
3639 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3639, |
|
"mutability": "mutable", |
|
"name": "ins", |
|
"nameLocation": "17827:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4055, |
|
"src": "17810:20:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 3637, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "17810:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 3638, |
|
"nodeType": "ArrayTypeName", |
|
"src": "17810:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", |
|
"typeString": "bytes32[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3642, |
|
"initialValue": { |
|
"expression": { |
|
"id": 3640, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "17833:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3641, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "17838:5:2", |
|
"memberName": "_keys", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3545, |
|
"src": "17833:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage", |
|
"typeString": "bytes32[] storage ref" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "17810:33:2" |
|
}, |
|
{ |
|
"condition": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 3643, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "17894:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3644, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "17899:5:2", |
|
"memberName": "finds", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3542, |
|
"src": "17894:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" |
|
} |
|
}, |
|
"id": 3646, |
|
"indexExpression": { |
|
"id": 3645, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "17905:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "17894:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => bool))" |
|
} |
|
}, |
|
"id": 3648, |
|
"indexExpression": { |
|
"id": 3647, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "17910:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "17894:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", |
|
"typeString": "mapping(bytes32 => bool)" |
|
} |
|
}, |
|
"id": 3656, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3652, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "17943:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3653, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "17948:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3650, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "17926:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3651, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "17930:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "17926:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3654, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "17926:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3649, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "17916:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3655, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "17916:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "17894:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3673, |
|
"nodeType": "IfStatement", |
|
"src": "17890:174:2", |
|
"trueBody": { |
|
"id": 3672, |
|
"nodeType": "Block", |
|
"src": "17964:100:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 3657, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "17985:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3658, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "17990:5:2", |
|
"memberName": "slots", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3534, |
|
"src": "17985:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" |
|
} |
|
}, |
|
"id": 3660, |
|
"indexExpression": { |
|
"id": 3659, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "17996:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "17985:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" |
|
} |
|
}, |
|
"id": 3662, |
|
"indexExpression": { |
|
"id": 3661, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "18001:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "17985:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", |
|
"typeString": "mapping(bytes32 => uint256)" |
|
} |
|
}, |
|
"id": 3670, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3666, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "18034:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3667, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "18039:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3664, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "18017:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3665, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "18021:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "18017:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3668, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18017:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3663, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "18007:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3669, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18007:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "17985:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 3619, |
|
"id": 3671, |
|
"nodeType": "Return", |
|
"src": "17978:75:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"assignments": [ |
|
3675 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3675, |
|
"mutability": "mutable", |
|
"name": "cald", |
|
"nameLocation": "18086:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4055, |
|
"src": "18073:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3674, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18073:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3683, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3678, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "18110:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3680, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "18124:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
], |
|
"id": 3679, |
|
"name": "flatten", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4655, |
|
"src": "18116:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes32[] memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3681, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18116:12:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 3676, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "18093:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3677, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "18097:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "18093:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3682, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18093:36:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "18073:56:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [], |
|
"expression": { |
|
"argumentTypes": [], |
|
"expression": { |
|
"id": 3684, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "18139:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 3686, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "18152:6:2", |
|
"memberName": "record", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5072, |
|
"src": "18139:19:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$", |
|
"typeString": "function () external" |
|
} |
|
}, |
|
"id": 3687, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18139:21:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3688, |
|
"nodeType": "ExpressionStatement", |
|
"src": "18139:21:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
3690 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3690, |
|
"mutability": "mutable", |
|
"name": "fdat", |
|
"nameLocation": "18178:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4055, |
|
"src": "18170:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 3689, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18170:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3691, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "18170:12:2" |
|
}, |
|
{ |
|
"id": 3708, |
|
"nodeType": "Block", |
|
"src": "18192:126:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
null, |
|
3693 |
|
], |
|
"declarations": [ |
|
null, |
|
{ |
|
"constant": false, |
|
"id": 3693, |
|
"mutability": "mutable", |
|
"name": "rdat", |
|
"nameLocation": "18222:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3708, |
|
"src": "18209:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3692, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18209:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3698, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3696, |
|
"name": "cald", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3675, |
|
"src": "18245:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 3694, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "18230:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 3695, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "18234:10:2", |
|
"memberName": "staticcall", |
|
"nodeType": "MemberAccess", |
|
"src": "18230:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes memory) view returns (bool,bytes memory)" |
|
} |
|
}, |
|
"id": 3697, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18230:20:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "tuple(bool,bytes memory)" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "18206:44:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 3706, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 3699, |
|
"name": "fdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3690, |
|
"src": "18264:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"id": 3701, |
|
"name": "rdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3693, |
|
"src": "18286:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3704, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"hexValue": "3332", |
|
"id": 3702, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "18292:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_32_by_1", |
|
"typeString": "int_const 32" |
|
}, |
|
"value": "32" |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "*", |
|
"rightExpression": { |
|
"id": 3703, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "18295:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "18292:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3700, |
|
"name": "bytesToBytes32", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4614, |
|
"src": "18271:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory,uint256) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3705, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18271:36:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "18264:43:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 3707, |
|
"nodeType": "ExpressionStatement", |
|
"src": "18264:43:2" |
|
} |
|
] |
|
}, |
|
{ |
|
"assignments": [ |
|
3713, |
|
null |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3713, |
|
"mutability": "mutable", |
|
"name": "reads", |
|
"nameLocation": "18346:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4055, |
|
"src": "18329:22:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 3711, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18329:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 3712, |
|
"nodeType": "ArrayTypeName", |
|
"src": "18329:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", |
|
"typeString": "bytes32[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
null |
|
], |
|
"id": 3721, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3718, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "18387:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"id": 3717, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "18379:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
}, |
|
"typeName": { |
|
"id": 3716, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18379:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3719, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18379:12:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"expression": { |
|
"id": 3714, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "18357:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 3715, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "18370:8:2", |
|
"memberName": "accesses", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 5083, |
|
"src": "18357:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", |
|
"typeString": "function (address) external returns (bytes32[] memory,bytes32[] memory)" |
|
} |
|
}, |
|
"id": 3720, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18357:35:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", |
|
"typeString": "tuple(bytes32[] memory,bytes32[] memory)" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "18328:64:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3725, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"expression": { |
|
"id": 3722, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "18406:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3723, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "18412:6:2", |
|
"memberName": "length", |
|
"nodeType": "MemberAccess", |
|
"src": "18406:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"hexValue": "31", |
|
"id": 3724, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "18422:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "1" |
|
}, |
|
"src": "18406:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseBody": { |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3827, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"expression": { |
|
"id": 3824, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "19115:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3825, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "19121:6:2", |
|
"memberName": "length", |
|
"nodeType": "MemberAccess", |
|
"src": "19115:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"hexValue": "31", |
|
"id": 3826, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "19130:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "1" |
|
}, |
|
"src": "19115:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseBody": { |
|
"id": 4003, |
|
"nodeType": "Block", |
|
"src": "20353:107:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "66616c7365", |
|
"id": 3999, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "bool", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "20375:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"value": "false" |
|
}, |
|
{ |
|
"hexValue": "73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e", |
|
"id": 4000, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "20382:66:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283", |
|
"typeString": "literal_string \"stdStorage find(StdStorage): No storage use detected for target.\"" |
|
}, |
|
"value": "stdStorage find(StdStorage): No storage use detected for target." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283", |
|
"typeString": "literal_string \"stdStorage find(StdStorage): No storage use detected for target.\"" |
|
} |
|
], |
|
"id": 3998, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "20367:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 4001, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20367:82:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4002, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20367:82:2" |
|
} |
|
] |
|
}, |
|
"id": 4004, |
|
"nodeType": "IfStatement", |
|
"src": "19111:1349:2", |
|
"trueBody": { |
|
"id": 3997, |
|
"nodeType": "Block", |
|
"src": "19133:1214:2", |
|
"statements": [ |
|
{ |
|
"body": { |
|
"id": 3995, |
|
"nodeType": "Block", |
|
"src": "19190:1147:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
3840 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3840, |
|
"mutability": "mutable", |
|
"name": "prev", |
|
"nameLocation": "19216:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3995, |
|
"src": "19208:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 3839, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19208:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3848, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3843, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "19241:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"baseExpression": { |
|
"id": 3844, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "19246:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3846, |
|
"indexExpression": { |
|
"id": 3845, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "19252:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "19246:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 3841, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "19223:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 3842, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "19236:4:2", |
|
"memberName": "load", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4838, |
|
"src": "19223:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bytes32_$", |
|
"typeString": "function (address,bytes32) external returns (bytes32)" |
|
} |
|
}, |
|
"id": 3847, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19223:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "19208:47:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 3854, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3849, |
|
"name": "prev", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3840, |
|
"src": "19277:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30", |
|
"id": 3852, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "19293:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
} |
|
], |
|
"id": 3851, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "19285:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 3850, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19285:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3853, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19285:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "19277:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3866, |
|
"nodeType": "IfStatement", |
|
"src": "19273:114:2", |
|
"trueBody": { |
|
"id": 3865, |
|
"nodeType": "Block", |
|
"src": "19297:90:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"id": 3856, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "19345:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"baseExpression": { |
|
"id": 3859, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "19358:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3861, |
|
"indexExpression": { |
|
"id": 3860, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "19364:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "19358:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 3858, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "19350:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 3857, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19350:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3862, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19350:17:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3855, |
|
"name": "WARNING_UninitedSlot", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3570, |
|
"src": "19324:20:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256)" |
|
} |
|
}, |
|
"id": 3863, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19324:44:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3864, |
|
"nodeType": "EmitStatement", |
|
"src": "19319:49:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3870, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "19448:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"baseExpression": { |
|
"id": 3871, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "19453:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3873, |
|
"indexExpression": { |
|
"id": 3872, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "19459:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "19453:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"hexValue": "1337", |
|
"id": 3876, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "hexString", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "19471:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", |
|
"typeString": "literal_string hex\"1337\"" |
|
}, |
|
"value": "\u00137" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", |
|
"typeString": "literal_string hex\"1337\"" |
|
} |
|
], |
|
"id": 3875, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "19463:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 3874, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19463:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3877, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19463:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 3867, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "19429:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 3869, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "19442:5:2", |
|
"memberName": "store", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4847, |
|
"src": "19429:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", |
|
"typeString": "function (address,bytes32,bytes32) external" |
|
} |
|
}, |
|
"id": 3878, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19429:53:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3879, |
|
"nodeType": "ExpressionStatement", |
|
"src": "19429:53:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
3881 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3881, |
|
"mutability": "mutable", |
|
"name": "success", |
|
"nameLocation": "19505:7:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3995, |
|
"src": "19500:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 3880, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19500:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3882, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "19500:12:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
3884 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3884, |
|
"mutability": "mutable", |
|
"name": "rdat", |
|
"nameLocation": "19543:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3995, |
|
"src": "19530:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 3883, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19530:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3885, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "19530:17:2" |
|
}, |
|
{ |
|
"id": 3904, |
|
"nodeType": "Block", |
|
"src": "19565:144:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 3893, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"components": [ |
|
{ |
|
"id": 3886, |
|
"name": "success", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3881, |
|
"src": "19588:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"id": 3887, |
|
"name": "rdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3884, |
|
"src": "19597:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"id": 3888, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"nodeType": "TupleExpression", |
|
"src": "19587:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "tuple(bool,bytes memory)" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"id": 3891, |
|
"name": "cald", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3675, |
|
"src": "19620:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 3889, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "19605:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 3890, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "19609:10:2", |
|
"memberName": "staticcall", |
|
"nodeType": "MemberAccess", |
|
"src": "19605:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes memory) view returns (bool,bytes memory)" |
|
} |
|
}, |
|
"id": 3892, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19605:20:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "tuple(bool,bytes memory)" |
|
} |
|
}, |
|
"src": "19587:38:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3894, |
|
"nodeType": "ExpressionStatement", |
|
"src": "19587:38:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 3902, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 3895, |
|
"name": "fdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3690, |
|
"src": "19647:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"id": 3897, |
|
"name": "rdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3884, |
|
"src": "19669:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3900, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"hexValue": "3332", |
|
"id": 3898, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "19675:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_32_by_1", |
|
"typeString": "int_const 32" |
|
}, |
|
"value": "32" |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "*", |
|
"rightExpression": { |
|
"id": 3899, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "19678:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "19675:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3896, |
|
"name": "bytesToBytes32", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4614, |
|
"src": "19654:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory,uint256) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3901, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19654:36:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "19647:43:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 3903, |
|
"nodeType": "ExpressionStatement", |
|
"src": "19647:43:2" |
|
} |
|
] |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"id": 3912, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3905, |
|
"name": "success", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3881, |
|
"src": "19731:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "&&", |
|
"rightExpression": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 3911, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3906, |
|
"name": "fdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3690, |
|
"src": "19742:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "1337", |
|
"id": 3909, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "hexString", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "19758:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", |
|
"typeString": "literal_string hex\"1337\"" |
|
}, |
|
"value": "\u00137" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc", |
|
"typeString": "literal_string hex\"1337\"" |
|
} |
|
], |
|
"id": 3908, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "19750:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 3907, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19750:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3910, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19750:18:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "19742:26:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"src": "19731:37:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3984, |
|
"nodeType": "IfStatement", |
|
"src": "19727:539:2", |
|
"trueBody": { |
|
"id": 3983, |
|
"nodeType": "Block", |
|
"src": "19770:496:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"id": 3914, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "19876:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 3915, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "19881:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3919, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "19914:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3920, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "19919:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3917, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "19897:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3918, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "19901:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "19897:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3921, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19897:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3916, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "19887:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3922, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19887:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"baseExpression": { |
|
"id": 3925, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "19942:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3927, |
|
"indexExpression": { |
|
"id": 3926, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "19948:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "19942:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 3924, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "19934:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 3923, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19934:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3928, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19934:17:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3913, |
|
"name": "SlotFound", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3564, |
|
"src": "19866:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,bytes4,bytes32,uint256)" |
|
} |
|
}, |
|
"id": 3929, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19866:86:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3930, |
|
"nodeType": "EmitStatement", |
|
"src": "19861:91:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 3952, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 3931, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "19974:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3942, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "19979:5:2", |
|
"memberName": "slots", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3534, |
|
"src": "19974:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" |
|
} |
|
}, |
|
"id": 3943, |
|
"indexExpression": { |
|
"id": 3933, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "19985:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "19974:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" |
|
} |
|
}, |
|
"id": 3944, |
|
"indexExpression": { |
|
"id": 3934, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "19990:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "19974:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", |
|
"typeString": "mapping(bytes32 => uint256)" |
|
} |
|
}, |
|
"id": 3945, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3938, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "20023:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3939, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "20028:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3936, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "20006:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3937, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "20010:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "20006:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3940, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20006:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3935, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "19996:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3941, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19996:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"nodeType": "IndexAccess", |
|
"src": "19974:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"baseExpression": { |
|
"id": 3948, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "20053:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3950, |
|
"indexExpression": { |
|
"id": 3949, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "20059:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20053:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 3947, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "20045:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 3946, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "20045:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3951, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20045:17:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "19974:88:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 3953, |
|
"nodeType": "ExpressionStatement", |
|
"src": "19974:88:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 3970, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 3954, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "20084:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3965, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "20089:5:2", |
|
"memberName": "finds", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3542, |
|
"src": "20084:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" |
|
} |
|
}, |
|
"id": 3966, |
|
"indexExpression": { |
|
"id": 3956, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "20095:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20084:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => bool))" |
|
} |
|
}, |
|
"id": 3967, |
|
"indexExpression": { |
|
"id": 3957, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "20100:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20084:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", |
|
"typeString": "mapping(bytes32 => bool)" |
|
} |
|
}, |
|
"id": 3968, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3961, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "20133:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3962, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "20138:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3959, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "20116:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3960, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "20120:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "20116:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3963, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20116:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3958, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "20106:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3964, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20106:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"nodeType": "IndexAccess", |
|
"src": "20084:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"hexValue": "74727565", |
|
"id": 3969, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "bool", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "20155:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"value": "true" |
|
}, |
|
"src": "20084:75:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3971, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20084:75:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3975, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "20200:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"baseExpression": { |
|
"id": 3976, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "20205:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3978, |
|
"indexExpression": { |
|
"id": 3977, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "20211:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20205:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
{ |
|
"id": 3979, |
|
"name": "prev", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3840, |
|
"src": "20215:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 3972, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "20181:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 3974, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "20194:5:2", |
|
"memberName": "store", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4847, |
|
"src": "20181:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", |
|
"typeString": "function (address,bytes32,bytes32) external" |
|
} |
|
}, |
|
"id": 3980, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20181:39:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3981, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20181:39:2" |
|
}, |
|
{ |
|
"id": 3982, |
|
"nodeType": "Break", |
|
"src": "20242:5:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 3988, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "20302:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"baseExpression": { |
|
"id": 3989, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "20307:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3991, |
|
"indexExpression": { |
|
"id": 3990, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "20313:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20307:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
{ |
|
"id": 3992, |
|
"name": "prev", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3840, |
|
"src": "20317:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 3985, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "20283:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 3987, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "20296:5:2", |
|
"memberName": "store", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4847, |
|
"src": "20283:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", |
|
"typeString": "function (address,bytes32,bytes32) external" |
|
} |
|
}, |
|
"id": 3993, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20283:39:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3994, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20283:39:2" |
|
} |
|
] |
|
}, |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 3835, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3832, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "19167:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<", |
|
"rightExpression": { |
|
"expression": { |
|
"id": 3833, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "19171:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3834, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "19177:6:2", |
|
"memberName": "length", |
|
"nodeType": "MemberAccess", |
|
"src": "19171:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "19167:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3996, |
|
"initializationExpression": { |
|
"assignments": [ |
|
3829 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3829, |
|
"mutability": "mutable", |
|
"name": "i", |
|
"nameLocation": "19160:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3996, |
|
"src": "19152:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3828, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "19152:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3831, |
|
"initialValue": { |
|
"hexValue": "30", |
|
"id": 3830, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "19164:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "19152:13:2" |
|
}, |
|
"loopExpression": { |
|
"expression": { |
|
"id": 3837, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "++", |
|
"prefix": false, |
|
"src": "19185:3:2", |
|
"subExpression": { |
|
"id": 3836, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3829, |
|
"src": "19185:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 3838, |
|
"nodeType": "ExpressionStatement", |
|
"src": "19185:3:2" |
|
}, |
|
"nodeType": "ForStatement", |
|
"src": "19147:1190:2" |
|
} |
|
] |
|
} |
|
}, |
|
"id": 4005, |
|
"nodeType": "IfStatement", |
|
"src": "18402:2058:2", |
|
"trueBody": { |
|
"id": 3823, |
|
"nodeType": "Block", |
|
"src": "18425:680:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
3727 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 3727, |
|
"mutability": "mutable", |
|
"name": "curr", |
|
"nameLocation": "18447:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 3823, |
|
"src": "18439:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 3726, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18439:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 3735, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 3730, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "18472:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"baseExpression": { |
|
"id": 3731, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "18477:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3733, |
|
"indexExpression": { |
|
"hexValue": "30", |
|
"id": 3732, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "18483:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "18477:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 3728, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "18454:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 3729, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "18467:4:2", |
|
"memberName": "load", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4838, |
|
"src": "18454:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bytes32_$", |
|
"typeString": "function (address,bytes32) external returns (bytes32)" |
|
} |
|
}, |
|
"id": 3734, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18454:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "18439:47:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 3741, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3736, |
|
"name": "curr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3727, |
|
"src": "18504:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "30", |
|
"id": 3739, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "18520:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
} |
|
], |
|
"id": 3738, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "18512:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 3737, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18512:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3740, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18512:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "18504:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3753, |
|
"nodeType": "IfStatement", |
|
"src": "18500:106:2", |
|
"trueBody": { |
|
"id": 3752, |
|
"nodeType": "Block", |
|
"src": "18524:82:2", |
|
"statements": [ |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"id": 3743, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "18568:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"baseExpression": { |
|
"id": 3746, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "18581:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3748, |
|
"indexExpression": { |
|
"hexValue": "30", |
|
"id": 3747, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "18587:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "18581:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 3745, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "18573:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 3744, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18573:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3749, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18573:17:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3742, |
|
"name": "WARNING_UninitedSlot", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3570, |
|
"src": "18547:20:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,uint256)" |
|
} |
|
}, |
|
"id": 3750, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18547:44:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3751, |
|
"nodeType": "EmitStatement", |
|
"src": "18542:49:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 3756, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 3754, |
|
"name": "fdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3690, |
|
"src": "18623:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"id": 3755, |
|
"name": "curr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3727, |
|
"src": "18631:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "18623:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3763, |
|
"nodeType": "IfStatement", |
|
"src": "18619:180:2", |
|
"trueBody": { |
|
"id": 3762, |
|
"nodeType": "Block", |
|
"src": "18637:162:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "66616c7365", |
|
"id": 3758, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "bool", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "18663:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"value": "false" |
|
}, |
|
{ |
|
"hexValue": "73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e", |
|
"id": 3759, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "18670:113:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", |
|
"typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" |
|
}, |
|
"value": "stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", |
|
"typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" |
|
} |
|
], |
|
"id": 3757, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "18655:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 3760, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18655:129:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3761, |
|
"nodeType": "ExpressionStatement", |
|
"src": "18655:129:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"eventCall": { |
|
"arguments": [ |
|
{ |
|
"id": 3765, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "18827:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 3766, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "18832:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3770, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "18865:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3771, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "18870:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3768, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "18848:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3769, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "18852:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "18848:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3772, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18848:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3767, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "18838:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3773, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18838:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"baseExpression": { |
|
"id": 3776, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "18893:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3778, |
|
"indexExpression": { |
|
"hexValue": "30", |
|
"id": 3777, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "18899:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "18893:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 3775, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "18885:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 3774, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18885:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3779, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18885:17:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 3764, |
|
"name": "SlotFound", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3564, |
|
"src": "18817:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$", |
|
"typeString": "function (address,bytes4,bytes32,uint256)" |
|
} |
|
}, |
|
"id": 3780, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18817:86:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 3781, |
|
"nodeType": "EmitStatement", |
|
"src": "18812:91:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 3803, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 3782, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "18917:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3793, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "18922:5:2", |
|
"memberName": "slots", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3534, |
|
"src": "18917:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" |
|
} |
|
}, |
|
"id": 3794, |
|
"indexExpression": { |
|
"id": 3784, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "18928:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "18917:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" |
|
} |
|
}, |
|
"id": 3795, |
|
"indexExpression": { |
|
"id": 3785, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "18933:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "18917:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", |
|
"typeString": "mapping(bytes32 => uint256)" |
|
} |
|
}, |
|
"id": 3796, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3789, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "18966:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3790, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "18971:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3787, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "18949:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3788, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "18953:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "18949:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3791, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18949:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3786, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "18939:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3792, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18939:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"nodeType": "IndexAccess", |
|
"src": "18917:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"baseExpression": { |
|
"id": 3799, |
|
"name": "reads", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3713, |
|
"src": "18996:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 3801, |
|
"indexExpression": { |
|
"hexValue": "30", |
|
"id": 3800, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "19002:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "18996:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 3798, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "18988:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 3797, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "18988:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 3802, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "18988:17:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "18917:88:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 3804, |
|
"nodeType": "ExpressionStatement", |
|
"src": "18917:88:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 3821, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 3805, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "19019:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 3816, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "19024:5:2", |
|
"memberName": "finds", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3542, |
|
"src": "19019:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" |
|
} |
|
}, |
|
"id": 3817, |
|
"indexExpression": { |
|
"id": 3807, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "19030:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "19019:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => bool))" |
|
} |
|
}, |
|
"id": 3818, |
|
"indexExpression": { |
|
"id": 3808, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "19035:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "19019:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", |
|
"typeString": "mapping(bytes32 => bool)" |
|
} |
|
}, |
|
"id": 3819, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 3812, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "19068:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 3813, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "19073:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 3810, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "19051:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 3811, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "19055:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "19051:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 3814, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19051:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 3809, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "19041:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 3815, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "19041:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"nodeType": "IndexAccess", |
|
"src": "19019:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"hexValue": "74727565", |
|
"id": 3820, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "bool", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "19090:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"value": "true" |
|
}, |
|
"src": "19019:75:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 3822, |
|
"nodeType": "ExpressionStatement", |
|
"src": "19019:75:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 4007, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "20478:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4008, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "20483:5:2", |
|
"memberName": "finds", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3542, |
|
"src": "20478:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" |
|
} |
|
}, |
|
"id": 4010, |
|
"indexExpression": { |
|
"id": 4009, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "20489:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20478:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => bool))" |
|
} |
|
}, |
|
"id": 4012, |
|
"indexExpression": { |
|
"id": 4011, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "20494:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20478:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", |
|
"typeString": "mapping(bytes32 => bool)" |
|
} |
|
}, |
|
"id": 4020, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4016, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "20527:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 4017, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "20532:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 4014, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "20510:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4015, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "20514:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "20510:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4018, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20510:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 4013, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "20500:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 4019, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20500:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20478:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
{ |
|
"hexValue": "73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e", |
|
"id": 4021, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "20548:49:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8", |
|
"typeString": "literal_string \"stdStorage find(StdStorage): Slot(s) not found.\"" |
|
}, |
|
"value": "stdStorage find(StdStorage): Slot(s) not found." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8", |
|
"typeString": "literal_string \"stdStorage find(StdStorage): Slot(s) not found.\"" |
|
} |
|
], |
|
"id": 4006, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "20470:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 4022, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20470:128:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4023, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20470:128:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4026, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "delete", |
|
"prefix": true, |
|
"src": "20609:19:2", |
|
"subExpression": { |
|
"expression": { |
|
"id": 4024, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "20616:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4025, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "20621:7:2", |
|
"memberName": "_target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3551, |
|
"src": "20616:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4027, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20609:19:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4030, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "delete", |
|
"prefix": true, |
|
"src": "20638:16:2", |
|
"subExpression": { |
|
"expression": { |
|
"id": 4028, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "20645:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4029, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "20650:4:2", |
|
"memberName": "_sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3547, |
|
"src": "20645:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4031, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20638:16:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4034, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "delete", |
|
"prefix": true, |
|
"src": "20664:17:2", |
|
"subExpression": { |
|
"expression": { |
|
"id": 4032, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "20671:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4033, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "20676:5:2", |
|
"memberName": "_keys", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3545, |
|
"src": "20671:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage", |
|
"typeString": "bytes32[] storage ref" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4035, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20664:17:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4038, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "delete", |
|
"prefix": true, |
|
"src": "20691:18:2", |
|
"subExpression": { |
|
"expression": { |
|
"id": 4036, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "20698:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4037, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "20703:6:2", |
|
"memberName": "_depth", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3549, |
|
"src": "20698:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4039, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20691:18:2" |
|
}, |
|
{ |
|
"expression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 4040, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3615, |
|
"src": "20727:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4041, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "20732:5:2", |
|
"memberName": "slots", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3534, |
|
"src": "20727:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" |
|
} |
|
}, |
|
"id": 4043, |
|
"indexExpression": { |
|
"id": 4042, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3621, |
|
"src": "20738:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20727:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" |
|
} |
|
}, |
|
"id": 4045, |
|
"indexExpression": { |
|
"id": 4044, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3626, |
|
"src": "20743:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20727:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", |
|
"typeString": "mapping(bytes32 => uint256)" |
|
} |
|
}, |
|
"id": 4053, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4049, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3639, |
|
"src": "20776:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 4050, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3631, |
|
"src": "20781:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 4047, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "20759:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4048, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "20763:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "20759:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4051, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20759:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 4046, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "20749:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 4052, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "20749:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "20727:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 3619, |
|
"id": 4054, |
|
"nodeType": "Return", |
|
"src": "20720:75:2" |
|
} |
|
] |
|
}, |
|
"documentation": { |
|
"id": 3612, |
|
"nodeType": "StructuredDocumentation", |
|
"src": "17080:129:2", |
|
"text": "@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against" |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "find", |
|
"nameLocation": "17597:4:2", |
|
"parameters": { |
|
"id": 3616, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3615, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "17630:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4056, |
|
"src": "17611:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 3614, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 3613, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"17611:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "17611:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "17611:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "17601:39:2" |
|
}, |
|
"returnParameters": { |
|
"id": 3619, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 3618, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4056, |
|
"src": "17675:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 3617, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "17675:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "17674:9:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4076, |
|
"nodeType": "FunctionDefinition", |
|
"src": "20808:156:2", |
|
"body": { |
|
"id": 4075, |
|
"nodeType": "Block", |
|
"src": "20904:60:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 4071, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"expression": { |
|
"id": 4067, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4059, |
|
"src": "20914:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4069, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "20919:7:2", |
|
"memberName": "_target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3551, |
|
"src": "20914:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"id": 4070, |
|
"name": "_target", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4061, |
|
"src": "20929:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"src": "20914:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 4072, |
|
"nodeType": "ExpressionStatement", |
|
"src": "20914:22:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4073, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4059, |
|
"src": "20953:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"functionReturnParameters": 4066, |
|
"id": 4074, |
|
"nodeType": "Return", |
|
"src": "20946:11:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "target", |
|
"nameLocation": "20817:6:2", |
|
"parameters": { |
|
"id": 4062, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4059, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "20843:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4076, |
|
"src": "20824:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4058, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4057, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"20824:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "20824:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "20824:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4061, |
|
"mutability": "mutable", |
|
"name": "_target", |
|
"nameLocation": "20857:7:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4076, |
|
"src": "20849:15:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 4060, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "20849:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "20823:42:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4066, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4065, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4076, |
|
"src": "20884:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4064, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4063, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"20884:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "20884:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "20884:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "20883:20:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4096, |
|
"nodeType": "FunctionDefinition", |
|
"src": "20970:143:2", |
|
"body": { |
|
"id": 4095, |
|
"nodeType": "Block", |
|
"src": "21059:54:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 4091, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"expression": { |
|
"id": 4087, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4079, |
|
"src": "21069:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4089, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "21074:4:2", |
|
"memberName": "_sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3547, |
|
"src": "21069:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"id": 4090, |
|
"name": "_sig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4081, |
|
"src": "21081:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"src": "21069:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"id": 4092, |
|
"nodeType": "ExpressionStatement", |
|
"src": "21069:16:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4093, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4079, |
|
"src": "21102:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"functionReturnParameters": 4086, |
|
"id": 4094, |
|
"nodeType": "Return", |
|
"src": "21095:11:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "sig", |
|
"nameLocation": "20979:3:2", |
|
"parameters": { |
|
"id": 4082, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4079, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "21002:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4096, |
|
"src": "20983:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4078, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4077, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"20983:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "20983:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "20983:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4081, |
|
"mutability": "mutable", |
|
"name": "_sig", |
|
"nameLocation": "21015:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4096, |
|
"src": "21008:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
"typeName": { |
|
"id": 4080, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21008:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "20982:38:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4086, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4085, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4096, |
|
"src": "21039:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4084, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4083, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21039:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21039:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21039:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21038:20:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4118, |
|
"nodeType": "FunctionDefinition", |
|
"src": "21119:156:2", |
|
"body": { |
|
"id": 4117, |
|
"nodeType": "Block", |
|
"src": "21215:60:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 4113, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"expression": { |
|
"id": 4107, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4099, |
|
"src": "21225:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4109, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "21230:4:2", |
|
"memberName": "_sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3547, |
|
"src": "21225:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"id": 4111, |
|
"name": "_sig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4101, |
|
"src": "21242:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string memory" |
|
} |
|
], |
|
"id": 4110, |
|
"name": "sigs", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3611, |
|
"src": "21237:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$", |
|
"typeString": "function (string memory) pure returns (bytes4)" |
|
} |
|
}, |
|
"id": 4112, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "21237:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"src": "21225:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"id": 4114, |
|
"nodeType": "ExpressionStatement", |
|
"src": "21225:22:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4115, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4099, |
|
"src": "21264:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"functionReturnParameters": 4106, |
|
"id": 4116, |
|
"nodeType": "Return", |
|
"src": "21257:11:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "sig", |
|
"nameLocation": "21128:3:2", |
|
"parameters": { |
|
"id": 4102, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4099, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "21151:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4118, |
|
"src": "21132:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4098, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4097, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21132:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21132:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21132:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4101, |
|
"mutability": "mutable", |
|
"name": "_sig", |
|
"nameLocation": "21171:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4118, |
|
"src": "21157:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_memory_ptr", |
|
"typeString": "string" |
|
}, |
|
"typeName": { |
|
"id": 4100, |
|
"name": "string", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21157:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_string_storage_ptr", |
|
"typeString": "string" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21131:45:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4106, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4105, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4118, |
|
"src": "21195:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4104, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4103, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21195:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21195:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21195:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21194:20:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4149, |
|
"nodeType": "FunctionDefinition", |
|
"src": "21281:179:2", |
|
"body": { |
|
"id": 4148, |
|
"nodeType": "Block", |
|
"src": "21375:85:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4140, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4123, |
|
"src": "21425:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"id": 4139, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "21417:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint160_$", |
|
"typeString": "type(uint160)" |
|
}, |
|
"typeName": { |
|
"id": 4138, |
|
"name": "uint160", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21417:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4141, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "21417:12:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint160", |
|
"typeString": "uint160" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint160", |
|
"typeString": "uint160" |
|
} |
|
], |
|
"id": 4137, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "21409:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 4136, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21409:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4142, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "21409:21:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4135, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "21401:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 4134, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21401:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4143, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "21401:30:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"expression": { |
|
"id": 4129, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4121, |
|
"src": "21385:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4132, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "21390:5:2", |
|
"memberName": "_keys", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3545, |
|
"src": "21385:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage", |
|
"typeString": "bytes32[] storage ref" |
|
} |
|
}, |
|
"id": 4133, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "21396:4:2", |
|
"memberName": "push", |
|
"nodeType": "MemberAccess", |
|
"src": "21385:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", |
|
"typeString": "function (bytes32[] storage pointer,bytes32)" |
|
} |
|
}, |
|
"id": 4144, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "21385:47:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4145, |
|
"nodeType": "ExpressionStatement", |
|
"src": "21385:47:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4146, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4121, |
|
"src": "21449:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"functionReturnParameters": 4128, |
|
"id": 4147, |
|
"nodeType": "Return", |
|
"src": "21442:11:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "with_key", |
|
"nameLocation": "21290:8:2", |
|
"parameters": { |
|
"id": 4124, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4121, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "21318:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4149, |
|
"src": "21299:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4120, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4119, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21299:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21299:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21299:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4123, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "21332:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4149, |
|
"src": "21324:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 4122, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21324:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21298:38:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4128, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4127, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4149, |
|
"src": "21355:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4126, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4125, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21355:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21355:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21355:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21354:20:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4174, |
|
"nodeType": "FunctionDefinition", |
|
"src": "21466:161:2", |
|
"body": { |
|
"id": 4173, |
|
"nodeType": "Block", |
|
"src": "21560:67:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4167, |
|
"name": "amt", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4154, |
|
"src": "21594:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4166, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "21586:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 4165, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21586:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4168, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "21586:12:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"expression": { |
|
"id": 4160, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4152, |
|
"src": "21570:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4163, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "21575:5:2", |
|
"memberName": "_keys", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3545, |
|
"src": "21570:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage", |
|
"typeString": "bytes32[] storage ref" |
|
} |
|
}, |
|
"id": 4164, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "21581:4:2", |
|
"memberName": "push", |
|
"nodeType": "MemberAccess", |
|
"src": "21570:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", |
|
"typeString": "function (bytes32[] storage pointer,bytes32)" |
|
} |
|
}, |
|
"id": 4169, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "21570:29:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4170, |
|
"nodeType": "ExpressionStatement", |
|
"src": "21570:29:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4171, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4152, |
|
"src": "21616:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"functionReturnParameters": 4159, |
|
"id": 4172, |
|
"nodeType": "Return", |
|
"src": "21609:11:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "with_key", |
|
"nameLocation": "21475:8:2", |
|
"parameters": { |
|
"id": 4155, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4152, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "21503:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4174, |
|
"src": "21484:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4151, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4150, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21484:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21484:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21484:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4154, |
|
"mutability": "mutable", |
|
"name": "amt", |
|
"nameLocation": "21517:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4174, |
|
"src": "21509:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4153, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21509:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21483:38:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4159, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4158, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4174, |
|
"src": "21540:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4157, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4156, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21540:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21540:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21540:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21539:20:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4196, |
|
"nodeType": "FunctionDefinition", |
|
"src": "21632:152:2", |
|
"body": { |
|
"id": 4195, |
|
"nodeType": "Block", |
|
"src": "21726:58:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 4190, |
|
"name": "key", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4179, |
|
"src": "21752:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"expression": { |
|
"id": 4185, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4177, |
|
"src": "21736:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4188, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "21741:5:2", |
|
"memberName": "_keys", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3545, |
|
"src": "21736:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage", |
|
"typeString": "bytes32[] storage ref" |
|
} |
|
}, |
|
"id": 4189, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "21747:4:2", |
|
"memberName": "push", |
|
"nodeType": "MemberAccess", |
|
"src": "21736:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$", |
|
"typeString": "function (bytes32[] storage pointer,bytes32)" |
|
} |
|
}, |
|
"id": 4191, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "21736:20:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4192, |
|
"nodeType": "ExpressionStatement", |
|
"src": "21736:20:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4193, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4177, |
|
"src": "21773:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"functionReturnParameters": 4184, |
|
"id": 4194, |
|
"nodeType": "Return", |
|
"src": "21766:11:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "with_key", |
|
"nameLocation": "21641:8:2", |
|
"parameters": { |
|
"id": 4180, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4177, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "21669:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4196, |
|
"src": "21650:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4176, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4175, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21650:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21650:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21650:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4179, |
|
"mutability": "mutable", |
|
"name": "key", |
|
"nameLocation": "21683:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4196, |
|
"src": "21675:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4178, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21675:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21649:38:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4184, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4183, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4196, |
|
"src": "21706:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4182, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4181, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21706:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21706:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21706:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21705:20:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4216, |
|
"nodeType": "FunctionDefinition", |
|
"src": "21790:152:2", |
|
"body": { |
|
"id": 4215, |
|
"nodeType": "Block", |
|
"src": "21884:58:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 4211, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"expression": { |
|
"id": 4207, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4199, |
|
"src": "21894:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4209, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "21899:6:2", |
|
"memberName": "_depth", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3549, |
|
"src": "21894:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"id": 4210, |
|
"name": "_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4201, |
|
"src": "21908:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "21894:20:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 4212, |
|
"nodeType": "ExpressionStatement", |
|
"src": "21894:20:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4213, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4199, |
|
"src": "21931:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"functionReturnParameters": 4206, |
|
"id": 4214, |
|
"nodeType": "Return", |
|
"src": "21924:11:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "depth", |
|
"nameLocation": "21799:5:2", |
|
"parameters": { |
|
"id": 4202, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4199, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "21824:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4216, |
|
"src": "21805:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4198, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4197, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21805:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21805:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21805:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4201, |
|
"mutability": "mutable", |
|
"name": "_depth", |
|
"nameLocation": "21838:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4216, |
|
"src": "21830:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4200, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21830:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21804:41:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4206, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4205, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4216, |
|
"src": "21864:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4204, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4203, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21864:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21864:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21864:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21863:20:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4239, |
|
"nodeType": "FunctionDefinition", |
|
"src": "21948:138:2", |
|
"body": { |
|
"id": 4238, |
|
"nodeType": "Block", |
|
"src": "22018:68:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 4225, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4219, |
|
"src": "22042:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4232, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4221, |
|
"src": "22072:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
], |
|
"id": 4231, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "22064:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint160_$", |
|
"typeString": "type(uint160)" |
|
}, |
|
"typeName": { |
|
"id": 4230, |
|
"name": "uint160", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22064:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4233, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22064:12:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint160", |
|
"typeString": "uint160" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint160", |
|
"typeString": "uint160" |
|
} |
|
], |
|
"id": 4229, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "22056:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 4228, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22056:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4234, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22056:21:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4227, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "22048:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 4226, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22048:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4235, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22048:30:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 4224, |
|
"name": "checked_write", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
4239, |
|
4256, |
|
4274, |
|
4419 |
|
], |
|
"referencedDeclaration": 4419, |
|
"src": "22028:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_bytes32_$returns$__$", |
|
"typeString": "function (struct StdStorage storage pointer,bytes32)" |
|
} |
|
}, |
|
"id": 4236, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22028:51:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4237, |
|
"nodeType": "ExpressionStatement", |
|
"src": "22028:51:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "checked_write", |
|
"nameLocation": "21957:13:2", |
|
"parameters": { |
|
"id": 4222, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4219, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "21990:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4239, |
|
"src": "21971:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4218, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4217, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"21971:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "21971:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "21971:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4221, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "22004:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4239, |
|
"src": "21996:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 4220, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "21996:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "21970:38:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4223, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "22018:0:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4256, |
|
"nodeType": "FunctionDefinition", |
|
"src": "22092:120:2", |
|
"body": { |
|
"id": 4255, |
|
"nodeType": "Block", |
|
"src": "22162:50:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 4248, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4242, |
|
"src": "22186:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4251, |
|
"name": "amt", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4244, |
|
"src": "22200:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4250, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "22192:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 4249, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22192:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4252, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22192:12:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 4247, |
|
"name": "checked_write", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
4239, |
|
4256, |
|
4274, |
|
4419 |
|
], |
|
"referencedDeclaration": 4419, |
|
"src": "22172:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_bytes32_$returns$__$", |
|
"typeString": "function (struct StdStorage storage pointer,bytes32)" |
|
} |
|
}, |
|
"id": 4253, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22172:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4254, |
|
"nodeType": "ExpressionStatement", |
|
"src": "22172:33:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "checked_write", |
|
"nameLocation": "22101:13:2", |
|
"parameters": { |
|
"id": 4245, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4242, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "22134:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4256, |
|
"src": "22115:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4241, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4240, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"22115:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "22115:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "22115:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4244, |
|
"mutability": "mutable", |
|
"name": "amt", |
|
"nameLocation": "22148:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4256, |
|
"src": "22140:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4243, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22140:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "22114:38:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4246, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "22162:0:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4274, |
|
"nodeType": "FunctionDefinition", |
|
"src": "22218:222:2", |
|
"body": { |
|
"id": 4273, |
|
"nodeType": "Block", |
|
"src": "22287:153:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4265 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4265, |
|
"mutability": "mutable", |
|
"name": "t", |
|
"nameLocation": "22305:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4273, |
|
"src": "22297:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4264, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22297:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4266, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "22297:9:2" |
|
}, |
|
{ |
|
"AST": { |
|
"nodeType": "YulBlock", |
|
"src": "22368:34:2", |
|
"statements": [ |
|
{ |
|
"nodeType": "YulAssignment", |
|
"src": "22382:10:2", |
|
"value": { |
|
"name": "write", |
|
"nodeType": "YulIdentifier", |
|
"src": "22387:5:2" |
|
}, |
|
"variableNames": [ |
|
{ |
|
"name": "t", |
|
"nodeType": "YulIdentifier", |
|
"src": "22382:1:2" |
|
} |
|
] |
|
} |
|
] |
|
}, |
|
"documentation": "@solidity memory-safe-assembly", |
|
"evmVersion": "london", |
|
"externalReferences": [ |
|
{ |
|
"declaration": 4265, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "22382:1:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 4261, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "22387:5:2", |
|
"valueSize": 1 |
|
} |
|
], |
|
"id": 4267, |
|
"nodeType": "InlineAssembly", |
|
"src": "22359:43:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 4269, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4259, |
|
"src": "22425:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
{ |
|
"id": 4270, |
|
"name": "t", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4265, |
|
"src": "22431:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"id": 4268, |
|
"name": "checked_write", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
4239, |
|
4256, |
|
4274, |
|
4419 |
|
], |
|
"referencedDeclaration": 4419, |
|
"src": "22411:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$_t_bytes32_$returns$__$", |
|
"typeString": "function (struct StdStorage storage pointer,bytes32)" |
|
} |
|
}, |
|
"id": 4271, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22411:22:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4272, |
|
"nodeType": "ExpressionStatement", |
|
"src": "22411:22:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "checked_write", |
|
"nameLocation": "22227:13:2", |
|
"parameters": { |
|
"id": 4262, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4259, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "22260:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4274, |
|
"src": "22241:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4258, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4257, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"22241:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "22241:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "22241:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4261, |
|
"mutability": "mutable", |
|
"name": "write", |
|
"nameLocation": "22271:5:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4274, |
|
"src": "22266:10:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 4260, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22266:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "22240:37:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4263, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "22287:0:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4419, |
|
"nodeType": "FunctionDefinition", |
|
"src": "22446:1089:2", |
|
"body": { |
|
"id": 4418, |
|
"nodeType": "Block", |
|
"src": "22538:997:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4283 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4283, |
|
"mutability": "mutable", |
|
"name": "who", |
|
"nameLocation": "22556:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4418, |
|
"src": "22548:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 4282, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22548:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4286, |
|
"initialValue": { |
|
"expression": { |
|
"id": 4284, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "22562:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4285, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "22567:7:2", |
|
"memberName": "_target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3551, |
|
"src": "22562:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "22548:26:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
4288 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4288, |
|
"mutability": "mutable", |
|
"name": "fsig", |
|
"nameLocation": "22591:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4418, |
|
"src": "22584:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
"typeName": { |
|
"id": 4287, |
|
"name": "bytes4", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22584:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4291, |
|
"initialValue": { |
|
"expression": { |
|
"id": 4289, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "22598:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4290, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "22603:4:2", |
|
"memberName": "_sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3547, |
|
"src": "22598:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "22584:23:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
4293 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4293, |
|
"mutability": "mutable", |
|
"name": "field_depth", |
|
"nameLocation": "22625:11:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4418, |
|
"src": "22617:19:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4292, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22617:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4296, |
|
"initialValue": { |
|
"expression": { |
|
"id": 4294, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "22639:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4295, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "22644:6:2", |
|
"memberName": "_depth", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3549, |
|
"src": "22639:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "22617:33:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
4301 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4301, |
|
"mutability": "mutable", |
|
"name": "ins", |
|
"nameLocation": "22677:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4418, |
|
"src": "22660:20:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 4299, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22660:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 4300, |
|
"nodeType": "ArrayTypeName", |
|
"src": "22660:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", |
|
"typeString": "bytes32[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4304, |
|
"initialValue": { |
|
"expression": { |
|
"id": 4302, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "22683:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4303, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "22688:5:2", |
|
"memberName": "_keys", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3545, |
|
"src": "22683:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage", |
|
"typeString": "bytes32[] storage ref" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "22660:33:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
4306 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4306, |
|
"mutability": "mutable", |
|
"name": "cald", |
|
"nameLocation": "22717:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4418, |
|
"src": "22704:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 4305, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22704:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4314, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 4309, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4288, |
|
"src": "22741:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4311, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4301, |
|
"src": "22755:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
], |
|
"id": 4310, |
|
"name": "flatten", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4655, |
|
"src": "22747:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes32[] memory) pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4312, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22747:12:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 4307, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "22724:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4308, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "22728:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "22724:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4313, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22724:36:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "22704:56:2" |
|
}, |
|
{ |
|
"condition": { |
|
"id": 4329, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "!", |
|
"prefix": true, |
|
"src": "22774:69:2", |
|
"subExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 4315, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "22775:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4316, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "22780:5:2", |
|
"memberName": "finds", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3542, |
|
"src": "22775:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))" |
|
} |
|
}, |
|
"id": 4318, |
|
"indexExpression": { |
|
"id": 4317, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4283, |
|
"src": "22786:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "22775:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => bool))" |
|
} |
|
}, |
|
"id": 4320, |
|
"indexExpression": { |
|
"id": 4319, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4288, |
|
"src": "22791:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "22775:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", |
|
"typeString": "mapping(bytes32 => bool)" |
|
} |
|
}, |
|
"id": 4328, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4324, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4301, |
|
"src": "22824:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 4325, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4293, |
|
"src": "22829:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 4322, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "22807:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4323, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "22811:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "22807:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4326, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22807:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 4321, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "22797:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 4327, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22797:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "22775:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 4335, |
|
"nodeType": "IfStatement", |
|
"src": "22770:110:2", |
|
"trueBody": { |
|
"id": 4334, |
|
"nodeType": "Block", |
|
"src": "22845:35:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 4331, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "22864:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
], |
|
"id": 4330, |
|
"name": "find", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4056, |
|
"src": "22859:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$returns$_t_uint256_$", |
|
"typeString": "function (struct StdStorage storage pointer) returns (uint256)" |
|
} |
|
}, |
|
"id": 4332, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22859:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 4333, |
|
"nodeType": "ExpressionStatement", |
|
"src": "22859:10:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"assignments": [ |
|
4337 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4337, |
|
"mutability": "mutable", |
|
"name": "slot", |
|
"nameLocation": "22897:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4418, |
|
"src": "22889:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4336, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22889:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4355, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"baseExpression": { |
|
"baseExpression": { |
|
"baseExpression": { |
|
"expression": { |
|
"id": 4340, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "22912:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4341, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "22917:5:2", |
|
"memberName": "slots", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3534, |
|
"src": "22912:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$", |
|
"typeString": "mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))" |
|
} |
|
}, |
|
"id": 4343, |
|
"indexExpression": { |
|
"id": 4342, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4283, |
|
"src": "22923:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "22912:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$", |
|
"typeString": "mapping(bytes4 => mapping(bytes32 => uint256))" |
|
} |
|
}, |
|
"id": 4345, |
|
"indexExpression": { |
|
"id": 4344, |
|
"name": "fsig", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4288, |
|
"src": "22928:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "22912:21:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", |
|
"typeString": "mapping(bytes32 => uint256)" |
|
} |
|
}, |
|
"id": 4353, |
|
"indexExpression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4349, |
|
"name": "ins", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4301, |
|
"src": "22961:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
{ |
|
"id": 4350, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4293, |
|
"src": "22966:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"expression": { |
|
"id": 4347, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "22944:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4348, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "22948:12:2", |
|
"memberName": "encodePacked", |
|
"nodeType": "MemberAccess", |
|
"src": "22944:16:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4351, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22944:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"id": 4346, |
|
"name": "keccak256", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -8, |
|
"src": "22934:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 4352, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22934:45:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "22912:68:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4339, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "22904:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 4338, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22904:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4354, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "22904:77:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "22889:92:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
4357 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4357, |
|
"mutability": "mutable", |
|
"name": "fdat", |
|
"nameLocation": "23000:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4418, |
|
"src": "22992:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4356, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22992:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4358, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "22992:12:2" |
|
}, |
|
{ |
|
"id": 4375, |
|
"nodeType": "Block", |
|
"src": "23014:126:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
null, |
|
4360 |
|
], |
|
"declarations": [ |
|
null, |
|
{ |
|
"constant": false, |
|
"id": 4360, |
|
"mutability": "mutable", |
|
"name": "rdat", |
|
"nameLocation": "23044:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4375, |
|
"src": "23031:17:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 4359, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23031:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4365, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 4363, |
|
"name": "cald", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4306, |
|
"src": "23067:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
], |
|
"expression": { |
|
"id": 4361, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4283, |
|
"src": "23052:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"id": 4362, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "23056:10:2", |
|
"memberName": "staticcall", |
|
"nodeType": "MemberAccess", |
|
"src": "23052:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "function (bytes memory) view returns (bool,bytes memory)" |
|
} |
|
}, |
|
"id": 4364, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23052:20:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", |
|
"typeString": "tuple(bool,bytes memory)" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "23028:44:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4373, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 4366, |
|
"name": "fdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4357, |
|
"src": "23086:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "=", |
|
"rightHandSide": { |
|
"arguments": [ |
|
{ |
|
"id": 4368, |
|
"name": "rdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4360, |
|
"src": "23108:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4371, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"hexValue": "3332", |
|
"id": 4369, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "23114:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_32_by_1", |
|
"typeString": "int_const 32" |
|
}, |
|
"value": "32" |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "*", |
|
"rightExpression": { |
|
"id": 4370, |
|
"name": "field_depth", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4293, |
|
"src": "23117:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "23114:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4367, |
|
"name": "bytesToBytes32", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4614, |
|
"src": "23093:14:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", |
|
"typeString": "function (bytes memory,uint256) pure returns (bytes32)" |
|
} |
|
}, |
|
"id": 4372, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23093:36:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "23086:43:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 4374, |
|
"nodeType": "ExpressionStatement", |
|
"src": "23086:43:2" |
|
} |
|
] |
|
}, |
|
{ |
|
"assignments": [ |
|
4377 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4377, |
|
"mutability": "mutable", |
|
"name": "curr", |
|
"nameLocation": "23157:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4418, |
|
"src": "23149:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4376, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23149:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4383, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 4380, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4283, |
|
"src": "23182:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 4381, |
|
"name": "slot", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4337, |
|
"src": "23187:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 4378, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "23164:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 4379, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "23177:4:2", |
|
"memberName": "load", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4838, |
|
"src": "23164:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bytes32_$", |
|
"typeString": "function (address,bytes32) external returns (bytes32)" |
|
} |
|
}, |
|
"id": 4382, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23164:28:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "23149:43:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 4386, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4384, |
|
"name": "fdat", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4357, |
|
"src": "23207:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "!=", |
|
"rightExpression": { |
|
"id": 4385, |
|
"name": "curr", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4377, |
|
"src": "23215:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "23207:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 4393, |
|
"nodeType": "IfStatement", |
|
"src": "23203:172:2", |
|
"trueBody": { |
|
"id": 4392, |
|
"nodeType": "Block", |
|
"src": "23221:154:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "66616c7365", |
|
"id": 4388, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "bool", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "23243:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"value": "false" |
|
}, |
|
{ |
|
"hexValue": "73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e", |
|
"id": 4389, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "23250:113:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", |
|
"typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" |
|
}, |
|
"value": "stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
{ |
|
"typeIdentifier": "t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3", |
|
"typeString": "literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"" |
|
} |
|
], |
|
"id": 4387, |
|
"name": "require", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-18, |
|
-18 |
|
], |
|
"referencedDeclaration": -18, |
|
"src": "23235:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (bool,string memory) pure" |
|
} |
|
}, |
|
"id": 4390, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23235:129:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4391, |
|
"nodeType": "ExpressionStatement", |
|
"src": "23235:129:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"id": 4397, |
|
"name": "who", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4283, |
|
"src": "23403:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"id": 4398, |
|
"name": "slot", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4337, |
|
"src": "23408:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
{ |
|
"id": 4399, |
|
"name": "set", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4279, |
|
"src": "23414:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 4394, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "23384:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 4396, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "23397:5:2", |
|
"memberName": "store", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4847, |
|
"src": "23384:18:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$", |
|
"typeString": "function (address,bytes32,bytes32) external" |
|
} |
|
}, |
|
"id": 4400, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23384:34:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4401, |
|
"nodeType": "ExpressionStatement", |
|
"src": "23384:34:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4404, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "delete", |
|
"prefix": true, |
|
"src": "23428:19:2", |
|
"subExpression": { |
|
"expression": { |
|
"id": 4402, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "23435:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4403, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "23440:7:2", |
|
"memberName": "_target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3551, |
|
"src": "23435:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4405, |
|
"nodeType": "ExpressionStatement", |
|
"src": "23428:19:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4408, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "delete", |
|
"prefix": true, |
|
"src": "23457:16:2", |
|
"subExpression": { |
|
"expression": { |
|
"id": 4406, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "23464:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4407, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "23469:4:2", |
|
"memberName": "_sig", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3547, |
|
"src": "23464:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes4", |
|
"typeString": "bytes4" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4409, |
|
"nodeType": "ExpressionStatement", |
|
"src": "23457:16:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4412, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "delete", |
|
"prefix": true, |
|
"src": "23483:17:2", |
|
"subExpression": { |
|
"expression": { |
|
"id": 4410, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "23490:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4411, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "23495:5:2", |
|
"memberName": "_keys", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3545, |
|
"src": "23490:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage", |
|
"typeString": "bytes32[] storage ref" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4413, |
|
"nodeType": "ExpressionStatement", |
|
"src": "23483:17:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4416, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "delete", |
|
"prefix": true, |
|
"src": "23510:18:2", |
|
"subExpression": { |
|
"expression": { |
|
"id": 4414, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4277, |
|
"src": "23517:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4415, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": true, |
|
"memberLocation": "23522:6:2", |
|
"memberName": "_depth", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3549, |
|
"src": "23517:11:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4417, |
|
"nodeType": "ExpressionStatement", |
|
"src": "23510:18:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "checked_write", |
|
"nameLocation": "22455:13:2", |
|
"parameters": { |
|
"id": 4280, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4277, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "22497:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4419, |
|
"src": "22478:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4276, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4275, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"22478:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "22478:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "22478:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4279, |
|
"mutability": "mutable", |
|
"name": "set", |
|
"nameLocation": "22519:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4419, |
|
"src": "22511:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4278, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "22511:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "22468:60:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4281, |
|
"nodeType": "ParameterList", |
|
"parameters": [], |
|
"src": "22538:0:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4451, |
|
"nodeType": "FunctionDefinition", |
|
"src": "23541:204:2", |
|
"body": { |
|
"id": 4450, |
|
"nodeType": "Block", |
|
"src": "23611:134:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4428 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4428, |
|
"mutability": "mutable", |
|
"name": "t", |
|
"nameLocation": "23629:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4450, |
|
"src": "23621:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 4427, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23621:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4431, |
|
"initialValue": { |
|
"expression": { |
|
"id": 4429, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4422, |
|
"src": "23633:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
}, |
|
"id": 4430, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "23638:7:2", |
|
"memberName": "_target", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 3551, |
|
"src": "23633:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "23621:24:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
4433 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4433, |
|
"mutability": "mutable", |
|
"name": "s", |
|
"nameLocation": "23663:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4450, |
|
"src": "23655:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4432, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23655:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4437, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 4435, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4422, |
|
"src": "23672:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
], |
|
"id": 4434, |
|
"name": "find", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4056, |
|
"src": "23667:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$returns$_t_uint256_$", |
|
"typeString": "function (struct StdStorage storage pointer) returns (uint256)" |
|
} |
|
}, |
|
"id": 4436, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23667:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "23655:22:2" |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4442, |
|
"name": "t", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4428, |
|
"src": "23723:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4445, |
|
"name": "s", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4433, |
|
"src": "23734:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4444, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "23726:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 4443, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23726:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4446, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23726:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 4440, |
|
"name": "vm_std_store", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 3593, |
|
"src": "23705:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_contract$_Vm_$5434", |
|
"typeString": "contract Vm" |
|
} |
|
}, |
|
"id": 4441, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "23718:4:2", |
|
"memberName": "load", |
|
"nodeType": "MemberAccess", |
|
"referencedDeclaration": 4838, |
|
"src": "23705:17:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bytes32_$", |
|
"typeString": "function (address,bytes32) external returns (bytes32)" |
|
} |
|
}, |
|
"id": 4447, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23705:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
], |
|
"expression": { |
|
"id": 4438, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "23694:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4439, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "23698:6:2", |
|
"memberName": "encode", |
|
"nodeType": "MemberAccess", |
|
"src": "23694:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function () pure returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4448, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23694:44:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"functionReturnParameters": 4426, |
|
"id": 4449, |
|
"nodeType": "Return", |
|
"src": "23687:51:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "read", |
|
"nameLocation": "23550:4:2", |
|
"parameters": { |
|
"id": 4423, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4422, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "23574:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4451, |
|
"src": "23555:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4421, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4420, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"23555:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "23555:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "23555:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "23554:25:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4426, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4425, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4451, |
|
"src": "23597:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 4424, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23597:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "23596:14:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "private" |
|
}, |
|
{ |
|
"id": 4470, |
|
"nodeType": "FunctionDefinition", |
|
"src": "23751:131:2", |
|
"body": { |
|
"id": 4469, |
|
"nodeType": "Block", |
|
"src": "23825:57:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4462, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4454, |
|
"src": "23858:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
], |
|
"id": 4461, |
|
"name": "read", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4451, |
|
"src": "23853:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4463, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23853:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"components": [ |
|
{ |
|
"id": 4465, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "23866:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 4464, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23866:7:2", |
|
"typeDescriptions": {} |
|
} |
|
} |
|
], |
|
"id": 4466, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "23865:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
} |
|
], |
|
"expression": { |
|
"id": 4459, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "23842:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4460, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "23846:6:2", |
|
"memberName": "decode", |
|
"nodeType": "MemberAccess", |
|
"src": "23842:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$", |
|
"typeString": "function () pure" |
|
} |
|
}, |
|
"id": 4467, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23842:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"functionReturnParameters": 4458, |
|
"id": 4468, |
|
"nodeType": "Return", |
|
"src": "23835:40:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "read_bytes32", |
|
"nameLocation": "23760:12:2", |
|
"parameters": { |
|
"id": 4455, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4454, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "23792:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4470, |
|
"src": "23773:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4453, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4452, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"23773:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "23773:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "23773:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "23772:25:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4458, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4457, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4470, |
|
"src": "23816:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4456, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23816:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "23815:9:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4501, |
|
"nodeType": "FunctionDefinition", |
|
"src": "23889:279:2", |
|
"body": { |
|
"id": 4500, |
|
"nodeType": "Block", |
|
"src": "23957:211:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4479 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4479, |
|
"mutability": "mutable", |
|
"name": "v", |
|
"nameLocation": "23974:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4500, |
|
"src": "23967:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 4478, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23967:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4483, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 4481, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4473, |
|
"src": "23987:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
], |
|
"id": 4480, |
|
"name": "read_int", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4558, |
|
"src": "23978:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$returns$_t_int256_$", |
|
"typeString": "function (struct StdStorage storage pointer) returns (int256)" |
|
} |
|
}, |
|
"id": 4482, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "23978:14:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "23967:25:2" |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"id": 4486, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4484, |
|
"name": "v", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4479, |
|
"src": "24006:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"hexValue": "30", |
|
"id": 4485, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24011:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"src": "24006:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 4489, |
|
"nodeType": "IfStatement", |
|
"src": "24002:24:2", |
|
"trueBody": { |
|
"expression": { |
|
"hexValue": "66616c7365", |
|
"id": 4487, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "bool", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24021:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"value": "false" |
|
}, |
|
"functionReturnParameters": 4477, |
|
"id": 4488, |
|
"nodeType": "Return", |
|
"src": "24014:12:2" |
|
} |
|
}, |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"id": 4492, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4490, |
|
"name": "v", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4479, |
|
"src": "24040:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"hexValue": "31", |
|
"id": 4491, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24045:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "1" |
|
}, |
|
"src": "24040:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 4495, |
|
"nodeType": "IfStatement", |
|
"src": "24036:23:2", |
|
"trueBody": { |
|
"expression": { |
|
"hexValue": "74727565", |
|
"id": 4493, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "bool", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24055:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"value": "true" |
|
}, |
|
"functionReturnParameters": 4477, |
|
"id": 4494, |
|
"nodeType": "Return", |
|
"src": "24048:11:2" |
|
} |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"hexValue": "73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e", |
|
"id": 4497, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "string", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24076:84:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5", |
|
"typeString": "literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\"" |
|
}, |
|
"value": "stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool." |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5", |
|
"typeString": "literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\"" |
|
} |
|
], |
|
"id": 4496, |
|
"name": "revert", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
-19, |
|
-19 |
|
], |
|
"referencedDeclaration": -19, |
|
"src": "24069:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", |
|
"typeString": "function (string memory) pure" |
|
} |
|
}, |
|
"id": 4498, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24069:92:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_tuple$__$", |
|
"typeString": "tuple()" |
|
} |
|
}, |
|
"id": 4499, |
|
"nodeType": "ExpressionStatement", |
|
"src": "24069:92:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "read_bool", |
|
"nameLocation": "23898:9:2", |
|
"parameters": { |
|
"id": 4474, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4473, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "23927:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4501, |
|
"src": "23908:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4472, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4471, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"23908:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "23908:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "23908:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "23907:25:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4477, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4476, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4501, |
|
"src": "23951:4:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
}, |
|
"typeName": { |
|
"id": 4475, |
|
"name": "bool", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "23951:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "23950:6:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4520, |
|
"nodeType": "FunctionDefinition", |
|
"src": "24174:131:2", |
|
"body": { |
|
"id": 4519, |
|
"nodeType": "Block", |
|
"src": "24248:57:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4512, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4504, |
|
"src": "24281:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
], |
|
"id": 4511, |
|
"name": "read", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4451, |
|
"src": "24276:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4513, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24276:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"components": [ |
|
{ |
|
"id": 4515, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "24289:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
}, |
|
"typeName": { |
|
"id": 4514, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24289:7:2", |
|
"typeDescriptions": {} |
|
} |
|
} |
|
], |
|
"id": 4516, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "24288:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_type$_t_address_$", |
|
"typeString": "type(address)" |
|
} |
|
], |
|
"expression": { |
|
"id": 4509, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "24265:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4510, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "24269:6:2", |
|
"memberName": "decode", |
|
"nodeType": "MemberAccess", |
|
"src": "24265:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$", |
|
"typeString": "function () pure" |
|
} |
|
}, |
|
"id": 4517, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24265:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address_payable", |
|
"typeString": "address payable" |
|
} |
|
}, |
|
"functionReturnParameters": 4508, |
|
"id": 4518, |
|
"nodeType": "Return", |
|
"src": "24258:40:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "read_address", |
|
"nameLocation": "24183:12:2", |
|
"parameters": { |
|
"id": 4505, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4504, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "24215:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4520, |
|
"src": "24196:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4503, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4502, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"24196:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "24196:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "24196:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24195:25:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4508, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4507, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4520, |
|
"src": "24239:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
}, |
|
"typeName": { |
|
"id": 4506, |
|
"name": "address", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24239:7:2", |
|
"stateMutability": "nonpayable", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_address", |
|
"typeString": "address" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24238:9:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4539, |
|
"nodeType": "FunctionDefinition", |
|
"src": "24311:128:2", |
|
"body": { |
|
"id": 4538, |
|
"nodeType": "Block", |
|
"src": "24382:57:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4531, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4523, |
|
"src": "24415:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
], |
|
"id": 4530, |
|
"name": "read", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4451, |
|
"src": "24410:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4532, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24410:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"components": [ |
|
{ |
|
"id": 4534, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "24423:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 4533, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24423:7:2", |
|
"typeDescriptions": {} |
|
} |
|
} |
|
], |
|
"id": 4535, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "24422:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
} |
|
], |
|
"expression": { |
|
"id": 4528, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "24399:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4529, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "24403:6:2", |
|
"memberName": "decode", |
|
"nodeType": "MemberAccess", |
|
"src": "24399:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$", |
|
"typeString": "function () pure" |
|
} |
|
}, |
|
"id": 4536, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24399:33:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 4527, |
|
"id": 4537, |
|
"nodeType": "Return", |
|
"src": "24392:40:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "read_uint", |
|
"nameLocation": "24320:9:2", |
|
"parameters": { |
|
"id": 4524, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4523, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "24349:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4539, |
|
"src": "24330:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4522, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4521, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"24330:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "24330:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "24330:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24329:25:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4527, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4526, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4539, |
|
"src": "24373:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4525, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24373:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24372:9:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4558, |
|
"nodeType": "FunctionDefinition", |
|
"src": "24445:125:2", |
|
"body": { |
|
"id": 4557, |
|
"nodeType": "Block", |
|
"src": "24514:56:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4550, |
|
"name": "self", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4542, |
|
"src": "24547:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage storage pointer" |
|
} |
|
], |
|
"id": 4549, |
|
"name": "read", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4451, |
|
"src": "24542:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$3554_storage_ptr_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (struct StdStorage storage pointer) returns (bytes memory)" |
|
} |
|
}, |
|
"id": 4551, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24542:10:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
{ |
|
"components": [ |
|
{ |
|
"id": 4553, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "24555:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_int256_$", |
|
"typeString": "type(int256)" |
|
}, |
|
"typeName": { |
|
"id": 4552, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24555:6:2", |
|
"typeDescriptions": {} |
|
} |
|
} |
|
], |
|
"id": 4554, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "24554:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_int256_$", |
|
"typeString": "type(int256)" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
}, |
|
{ |
|
"typeIdentifier": "t_type$_t_int256_$", |
|
"typeString": "type(int256)" |
|
} |
|
], |
|
"expression": { |
|
"id": 4547, |
|
"name": "abi", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": -1, |
|
"src": "24531:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_magic_abi", |
|
"typeString": "abi" |
|
} |
|
}, |
|
"id": 4548, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"memberLocation": "24535:6:2", |
|
"memberName": "decode", |
|
"nodeType": "MemberAccess", |
|
"src": "24531:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_abidecode_pure$__$returns$__$", |
|
"typeString": "function () pure" |
|
} |
|
}, |
|
"id": 4555, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24531:32:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"functionReturnParameters": 4546, |
|
"id": 4556, |
|
"nodeType": "Return", |
|
"src": "24524:39:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "read_int", |
|
"nameLocation": "24454:8:2", |
|
"parameters": { |
|
"id": 4543, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4542, |
|
"mutability": "mutable", |
|
"name": "self", |
|
"nameLocation": "24482:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4558, |
|
"src": "24463:23:2", |
|
"stateVariable": false, |
|
"storageLocation": "storage", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
}, |
|
"typeName": { |
|
"id": 4541, |
|
"nodeType": "UserDefinedTypeName", |
|
"pathNode": { |
|
"id": 4540, |
|
"name": "StdStorage", |
|
"nameLocations": [ |
|
"24463:10:2" |
|
], |
|
"nodeType": "IdentifierPath", |
|
"referencedDeclaration": 3554, |
|
"src": "24463:10:2" |
|
}, |
|
"referencedDeclaration": 3554, |
|
"src": "24463:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_struct$_StdStorage_$3554_storage_ptr", |
|
"typeString": "struct StdStorage" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24462:25:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4546, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4545, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4558, |
|
"src": "24506:6:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 4544, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24506:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24505:8:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "nonpayable", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4614, |
|
"nodeType": "FunctionDefinition", |
|
"src": "24576:297:2", |
|
"body": { |
|
"id": 4613, |
|
"nodeType": "Block", |
|
"src": "24659:214:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4568 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4568, |
|
"mutability": "mutable", |
|
"name": "out", |
|
"nameLocation": "24677:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4613, |
|
"src": "24669:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4567, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24669:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4569, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "24669:11:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
4571 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4571, |
|
"mutability": "mutable", |
|
"name": "max", |
|
"nameLocation": "24699:3:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4613, |
|
"src": "24691:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4570, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24691:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4580, |
|
"initialValue": { |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4575, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"expression": { |
|
"id": 4572, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4560, |
|
"src": "24705:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"id": 4573, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "24707:6:2", |
|
"memberName": "length", |
|
"nodeType": "MemberAccess", |
|
"src": "24705:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"hexValue": "3332", |
|
"id": 4574, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24716:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_32_by_1", |
|
"typeString": "int_const 32" |
|
}, |
|
"value": "32" |
|
}, |
|
"src": "24705:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseExpression": { |
|
"expression": { |
|
"id": 4577, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4560, |
|
"src": "24726:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"id": 4578, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "24728:6:2", |
|
"memberName": "length", |
|
"nodeType": "MemberAccess", |
|
"src": "24726:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 4579, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "Conditional", |
|
"src": "24705:29:2", |
|
"trueExpression": { |
|
"hexValue": "3332", |
|
"id": 4576, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24721:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_32_by_1", |
|
"typeString": "int_const 32" |
|
}, |
|
"value": "32" |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "24691:43:2" |
|
}, |
|
{ |
|
"body": { |
|
"id": 4609, |
|
"nodeType": "Block", |
|
"src": "24775:72:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"id": 4607, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftHandSide": { |
|
"id": 4591, |
|
"name": "out", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4568, |
|
"src": "24789:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "Assignment", |
|
"operator": "|=", |
|
"rightHandSide": { |
|
"commonType": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"id": 4606, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_bytes1", |
|
"typeString": "bytes1" |
|
}, |
|
"id": 4600, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"baseExpression": { |
|
"id": 4594, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4560, |
|
"src": "24804:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"id": 4598, |
|
"indexExpression": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4597, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4595, |
|
"name": "offset", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4562, |
|
"src": "24806:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "+", |
|
"rightExpression": { |
|
"id": 4596, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4582, |
|
"src": "24815:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "24806:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "24804:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes1", |
|
"typeString": "bytes1" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "&", |
|
"rightExpression": { |
|
"hexValue": "30784646", |
|
"id": 4599, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24820:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_255_by_1", |
|
"typeString": "int_const 255" |
|
}, |
|
"value": "0xFF" |
|
}, |
|
"src": "24804:20:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes1", |
|
"typeString": "bytes1" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_bytes1", |
|
"typeString": "bytes1" |
|
} |
|
], |
|
"id": 4593, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "24796:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_bytes32_$", |
|
"typeString": "type(bytes32)" |
|
}, |
|
"typeName": { |
|
"id": 4592, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24796:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4601, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24796:29:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">>", |
|
"rightExpression": { |
|
"components": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4604, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4602, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4582, |
|
"src": "24830:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "*", |
|
"rightExpression": { |
|
"hexValue": "38", |
|
"id": 4603, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24834:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_8_by_1", |
|
"typeString": "int_const 8" |
|
}, |
|
"value": "8" |
|
}, |
|
"src": "24830:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"id": 4605, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "24829:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "24796:40:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"src": "24789:47:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 4608, |
|
"nodeType": "ExpressionStatement", |
|
"src": "24789:47:2" |
|
} |
|
] |
|
}, |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4587, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4585, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4582, |
|
"src": "24761:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<", |
|
"rightExpression": { |
|
"id": 4586, |
|
"name": "max", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4571, |
|
"src": "24765:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "24761:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 4610, |
|
"initializationExpression": { |
|
"assignments": [ |
|
4582 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4582, |
|
"mutability": "mutable", |
|
"name": "i", |
|
"nameLocation": "24754:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4610, |
|
"src": "24749:6:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4581, |
|
"name": "uint", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24749:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4584, |
|
"initialValue": { |
|
"hexValue": "30", |
|
"id": 4583, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "24758:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "24749:10:2" |
|
}, |
|
"loopExpression": { |
|
"expression": { |
|
"id": 4589, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "++", |
|
"prefix": false, |
|
"src": "24770:3:2", |
|
"subExpression": { |
|
"id": 4588, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4582, |
|
"src": "24770:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 4590, |
|
"nodeType": "ExpressionStatement", |
|
"src": "24770:3:2" |
|
}, |
|
"nodeType": "ForStatement", |
|
"src": "24744:103:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4611, |
|
"name": "out", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4568, |
|
"src": "24863:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"functionReturnParameters": 4566, |
|
"id": 4612, |
|
"nodeType": "Return", |
|
"src": "24856:10:2" |
|
} |
|
] |
|
}, |
|
"functionSelector": "53584939", |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "bytesToBytes32", |
|
"nameLocation": "24585:14:2", |
|
"parameters": { |
|
"id": 4563, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4560, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "24613:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4614, |
|
"src": "24600:14:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 4559, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24600:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4562, |
|
"mutability": "mutable", |
|
"name": "offset", |
|
"nameLocation": "24621:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4614, |
|
"src": "24616:11:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4561, |
|
"name": "uint", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24616:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24599:29:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4566, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4565, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4614, |
|
"src": "24650:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4564, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24650:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24649:9:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "pure", |
|
"virtual": false, |
|
"visibility": "public" |
|
}, |
|
{ |
|
"id": 4655, |
|
"nodeType": "FunctionDefinition", |
|
"src": "24879:397:2", |
|
"body": { |
|
"id": 4654, |
|
"nodeType": "Block", |
|
"src": "24956:320:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4623 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4623, |
|
"mutability": "mutable", |
|
"name": "result", |
|
"nameLocation": "24979:6:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4654, |
|
"src": "24966:19:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 4622, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24966:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4631, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4629, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"expression": { |
|
"id": 4626, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4617, |
|
"src": "24998:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 4627, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "25000:6:2", |
|
"memberName": "length", |
|
"nodeType": "MemberAccess", |
|
"src": "24998:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "*", |
|
"rightExpression": { |
|
"hexValue": "3332", |
|
"id": 4628, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "25009:2:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_32_by_1", |
|
"typeString": "int_const 32" |
|
}, |
|
"value": "32" |
|
}, |
|
"src": "24998:13:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4625, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "NewExpression", |
|
"src": "24988:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", |
|
"typeString": "function (uint256) pure returns (bytes memory)" |
|
}, |
|
"typeName": { |
|
"id": 4624, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24992:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
} |
|
}, |
|
"id": 4630, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "24988:24:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "24966:46:2" |
|
}, |
|
{ |
|
"body": { |
|
"id": 4650, |
|
"nodeType": "Block", |
|
"src": "25061:185:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4644 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4644, |
|
"mutability": "mutable", |
|
"name": "k", |
|
"nameLocation": "25083:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4650, |
|
"src": "25075:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
}, |
|
"typeName": { |
|
"id": 4643, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25075:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4648, |
|
"initialValue": { |
|
"baseExpression": { |
|
"id": 4645, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4617, |
|
"src": "25087:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 4647, |
|
"indexExpression": { |
|
"id": 4646, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4633, |
|
"src": "25089:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"isConstant": false, |
|
"isLValue": true, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "IndexAccess", |
|
"src": "25087:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "25075:16:2" |
|
}, |
|
{ |
|
"AST": { |
|
"nodeType": "YulBlock", |
|
"src": "25161:75:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"name": "result", |
|
"nodeType": "YulIdentifier", |
|
"src": "25190:6:2" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"kind": "number", |
|
"nodeType": "YulLiteral", |
|
"src": "25202:2:2", |
|
"type": "", |
|
"value": "32" |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"kind": "number", |
|
"nodeType": "YulLiteral", |
|
"src": "25210:2:2", |
|
"type": "", |
|
"value": "32" |
|
}, |
|
{ |
|
"name": "i", |
|
"nodeType": "YulIdentifier", |
|
"src": "25214:1:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "mul", |
|
"nodeType": "YulIdentifier", |
|
"src": "25206:3:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "25206:10:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "add", |
|
"nodeType": "YulIdentifier", |
|
"src": "25198:3:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "25198:19:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "add", |
|
"nodeType": "YulIdentifier", |
|
"src": "25186:3:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "25186:32:2" |
|
}, |
|
{ |
|
"name": "k", |
|
"nodeType": "YulIdentifier", |
|
"src": "25220:1:2" |
|
} |
|
], |
|
"functionName": { |
|
"name": "mstore", |
|
"nodeType": "YulIdentifier", |
|
"src": "25179:6:2" |
|
}, |
|
"nodeType": "YulFunctionCall", |
|
"src": "25179:43:2" |
|
}, |
|
"nodeType": "YulExpressionStatement", |
|
"src": "25179:43:2" |
|
} |
|
] |
|
}, |
|
"documentation": "@solidity memory-safe-assembly", |
|
"evmVersion": "london", |
|
"externalReferences": [ |
|
{ |
|
"declaration": 4633, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "25214:1:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 4644, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "25220:1:2", |
|
"valueSize": 1 |
|
}, |
|
{ |
|
"declaration": 4623, |
|
"isOffset": false, |
|
"isSlot": false, |
|
"src": "25190:6:2", |
|
"valueSize": 1 |
|
} |
|
], |
|
"id": 4649, |
|
"nodeType": "InlineAssembly", |
|
"src": "25152:84:2" |
|
} |
|
] |
|
}, |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4639, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4636, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4633, |
|
"src": "25042:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "<", |
|
"rightExpression": { |
|
"expression": { |
|
"id": 4637, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4617, |
|
"src": "25046:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[] memory" |
|
} |
|
}, |
|
"id": 4638, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"memberLocation": "25048:6:2", |
|
"memberName": "length", |
|
"nodeType": "MemberAccess", |
|
"src": "25046:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "25042:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 4651, |
|
"initializationExpression": { |
|
"assignments": [ |
|
4633 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4633, |
|
"mutability": "mutable", |
|
"name": "i", |
|
"nameLocation": "25035:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4651, |
|
"src": "25027:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4632, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25027:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4635, |
|
"initialValue": { |
|
"hexValue": "30", |
|
"id": 4634, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "25039:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "25027:13:2" |
|
}, |
|
"loopExpression": { |
|
"expression": { |
|
"id": 4641, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "++", |
|
"prefix": false, |
|
"src": "25056:3:2", |
|
"subExpression": { |
|
"id": 4640, |
|
"name": "i", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4633, |
|
"src": "25056:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 4642, |
|
"nodeType": "ExpressionStatement", |
|
"src": "25056:3:2" |
|
}, |
|
"nodeType": "ForStatement", |
|
"src": "25022:224:2" |
|
}, |
|
{ |
|
"expression": { |
|
"id": 4652, |
|
"name": "result", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4623, |
|
"src": "25263:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes memory" |
|
} |
|
}, |
|
"functionReturnParameters": 4621, |
|
"id": 4653, |
|
"nodeType": "Return", |
|
"src": "25256:13:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "flatten", |
|
"nameLocation": "24888:7:2", |
|
"parameters": { |
|
"id": 4618, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4617, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "24913:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4655, |
|
"src": "24896:18:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", |
|
"typeString": "bytes32[]" |
|
}, |
|
"typeName": { |
|
"baseType": { |
|
"id": 4615, |
|
"name": "bytes32", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24896:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes32", |
|
"typeString": "bytes32" |
|
} |
|
}, |
|
"id": 4616, |
|
"nodeType": "ArrayTypeName", |
|
"src": "24896:9:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", |
|
"typeString": "bytes32[]" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24895:20:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4621, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4620, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4655, |
|
"src": "24938:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "memory", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_memory_ptr", |
|
"typeString": "bytes" |
|
}, |
|
"typeName": { |
|
"id": 4619, |
|
"name": "bytes", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "24938:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bytes_storage_ptr", |
|
"typeString": "bytes" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "24937:14:2" |
|
}, |
|
"scope": 4656, |
|
"stateMutability": "pure", |
|
"virtual": false, |
|
"visibility": "private" |
|
} |
|
], |
|
"abstract": false, |
|
"baseContracts": [], |
|
"canonicalName": "stdStorage", |
|
"contractDependencies": [], |
|
"contractKind": "library", |
|
"fullyImplemented": true, |
|
"linearizedBaseContracts": [ |
|
4656 |
|
], |
|
"name": "stdStorage", |
|
"nameLocation": "16414:10:2", |
|
"scope": 4796, |
|
"usedErrors": [] |
|
}, |
|
{ |
|
"id": 4795, |
|
"nodeType": "ContractDefinition", |
|
"src": "25476:1306:2", |
|
"nodes": [ |
|
{ |
|
"id": 4660, |
|
"nodeType": "VariableDeclaration", |
|
"src": "25498:115:2", |
|
"constant": true, |
|
"mutability": "constant", |
|
"name": "INT256_MIN", |
|
"nameLocation": "25522:10:2", |
|
"scope": 4795, |
|
"stateVariable": true, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 4657, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25498:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"value": { |
|
"id": 4659, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "-", |
|
"prefix": true, |
|
"src": "25535:78:2", |
|
"subExpression": { |
|
"hexValue": "3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638", |
|
"id": 4658, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "25536:77:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", |
|
"typeString": "int_const 5789...(69 digits omitted)...9968" |
|
}, |
|
"value": "57896044618658097711785492504343953926634992332820282019728792003956564819968" |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", |
|
"typeString": "int_const -578...(70 digits omitted)...9968" |
|
} |
|
}, |
|
"visibility": "private" |
|
}, |
|
{ |
|
"id": 4685, |
|
"nodeType": "FunctionDefinition", |
|
"src": "25620:294:2", |
|
"body": { |
|
"id": 4684, |
|
"nodeType": "Block", |
|
"src": "25675:239:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"id": 4669, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4667, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4662, |
|
"src": "25753:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "==", |
|
"rightExpression": { |
|
"id": 4668, |
|
"name": "INT256_MIN", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4660, |
|
"src": "25758:10:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"src": "25753:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 4672, |
|
"nodeType": "IfStatement", |
|
"src": "25749:117:2", |
|
"trueBody": { |
|
"expression": { |
|
"hexValue": "3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638", |
|
"id": 4670, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "25789:77:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1", |
|
"typeString": "int_const 5789...(69 digits omitted)...9968" |
|
}, |
|
"value": "57896044618658097711785492504343953926634992332820282019728792003956564819968" |
|
}, |
|
"functionReturnParameters": 4666, |
|
"id": 4671, |
|
"nodeType": "Return", |
|
"src": "25782:84:2" |
|
} |
|
}, |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"id": 4677, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4675, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4662, |
|
"src": "25892:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"hexValue": "30", |
|
"id": 4676, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "25896:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_0_by_1", |
|
"typeString": "int_const 0" |
|
}, |
|
"value": "0" |
|
}, |
|
"src": "25892:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseExpression": { |
|
"id": 4680, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "-", |
|
"prefix": true, |
|
"src": "25904:2:2", |
|
"subExpression": { |
|
"id": 4679, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4662, |
|
"src": "25905:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"id": 4681, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "Conditional", |
|
"src": "25892:14:2", |
|
"trueExpression": { |
|
"id": 4678, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4662, |
|
"src": "25900:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 4674, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "ElementaryTypeNameExpression", |
|
"src": "25884:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_type$_t_uint256_$", |
|
"typeString": "type(uint256)" |
|
}, |
|
"typeName": { |
|
"id": 4673, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25884:7:2", |
|
"typeDescriptions": {} |
|
} |
|
}, |
|
"id": 4682, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "typeConversion", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "25884:23:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 4666, |
|
"id": 4683, |
|
"nodeType": "Return", |
|
"src": "25877:30:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "abs", |
|
"nameLocation": "25629:3:2", |
|
"parameters": { |
|
"id": 4663, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4662, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "25640:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4685, |
|
"src": "25633:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 4661, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25633:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "25632:10:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4666, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4665, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4685, |
|
"src": "25666:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4664, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25666:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "25665:9:2" |
|
}, |
|
"scope": 4795, |
|
"stateMutability": "pure", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4706, |
|
"nodeType": "FunctionDefinition", |
|
"src": "25920:138:2", |
|
"body": { |
|
"id": 4705, |
|
"nodeType": "Block", |
|
"src": "25989:69:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4696, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4694, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4687, |
|
"src": "26006:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 4695, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4689, |
|
"src": "26010:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "26006:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"falseExpression": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4702, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4700, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4689, |
|
"src": "26046:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "-", |
|
"rightExpression": { |
|
"id": 4701, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4687, |
|
"src": "26050:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "26046:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"id": 4703, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "Conditional", |
|
"src": "26006:45:2", |
|
"trueExpression": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4699, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4697, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4687, |
|
"src": "26026:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "-", |
|
"rightExpression": { |
|
"id": 4698, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4689, |
|
"src": "26030:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "26026:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 4693, |
|
"id": 4704, |
|
"nodeType": "Return", |
|
"src": "25999:52:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "delta", |
|
"nameLocation": "25929:5:2", |
|
"parameters": { |
|
"id": 4690, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4687, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "25943:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4706, |
|
"src": "25935:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4686, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25935:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4689, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "25954:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4706, |
|
"src": "25946:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4688, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25946:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "25934:22:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4693, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4692, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4706, |
|
"src": "25980:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4691, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "25980:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "25979:9:2" |
|
}, |
|
"scope": 4795, |
|
"stateMutability": "pure", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4742, |
|
"nodeType": "FunctionDefinition", |
|
"src": "26064:352:2", |
|
"body": { |
|
"id": 4741, |
|
"nodeType": "Block", |
|
"src": "26131:285:2", |
|
"statements": [ |
|
{ |
|
"condition": { |
|
"commonType": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"id": 4721, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"components": [ |
|
{ |
|
"commonType": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"id": 4717, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4715, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4708, |
|
"src": "26270:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "^", |
|
"rightExpression": { |
|
"id": 4716, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4710, |
|
"src": "26274:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"src": "26270:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"id": 4718, |
|
"isConstant": false, |
|
"isInlineArray": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"nodeType": "TupleExpression", |
|
"src": "26269:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": ">", |
|
"rightExpression": { |
|
"id": 4720, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"lValueRequested": false, |
|
"nodeType": "UnaryOperation", |
|
"operator": "-", |
|
"prefix": true, |
|
"src": "26279:2:2", |
|
"subExpression": { |
|
"hexValue": "31", |
|
"id": 4719, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "26280:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1_by_1", |
|
"typeString": "int_const 1" |
|
}, |
|
"value": "1" |
|
}, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_minus_1_by_1", |
|
"typeString": "int_const -1" |
|
} |
|
}, |
|
"src": "26269:12:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_bool", |
|
"typeString": "bool" |
|
} |
|
}, |
|
"id": 4732, |
|
"nodeType": "IfStatement", |
|
"src": "26265:71:2", |
|
"trueBody": { |
|
"id": 4731, |
|
"nodeType": "Block", |
|
"src": "26283:53:2", |
|
"statements": [ |
|
{ |
|
"expression": { |
|
"arguments": [ |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4724, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4708, |
|
"src": "26314:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 4723, |
|
"name": "abs", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4685, |
|
"src": "26310:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 4725, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "26310:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"arguments": [ |
|
{ |
|
"id": 4727, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4710, |
|
"src": "26322:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 4726, |
|
"name": "abs", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4685, |
|
"src": "26318:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 4728, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "26318:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4722, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
4706, |
|
4742 |
|
], |
|
"referencedDeclaration": 4706, |
|
"src": "26304:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", |
|
"typeString": "function (uint256,uint256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 4729, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "26304:21:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 4714, |
|
"id": 4730, |
|
"nodeType": "Return", |
|
"src": "26297:28:2" |
|
} |
|
] |
|
} |
|
}, |
|
{ |
|
"expression": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4739, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"arguments": [ |
|
{ |
|
"id": 4734, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4708, |
|
"src": "26398:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 4733, |
|
"name": "abs", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4685, |
|
"src": "26394:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 4735, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "26394:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "+", |
|
"rightExpression": { |
|
"arguments": [ |
|
{ |
|
"id": 4737, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4710, |
|
"src": "26407:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 4736, |
|
"name": "abs", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4685, |
|
"src": "26403:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 4738, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "26403:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "26394:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 4714, |
|
"id": 4740, |
|
"nodeType": "Return", |
|
"src": "26387:22:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "delta", |
|
"nameLocation": "26073:5:2", |
|
"parameters": { |
|
"id": 4711, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4708, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "26086:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4742, |
|
"src": "26079:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 4707, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26079:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4710, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "26096:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4742, |
|
"src": "26089:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 4709, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26089:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "26078:20:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4714, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4713, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4742, |
|
"src": "26122:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4712, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26122:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "26121:9:2" |
|
}, |
|
"scope": 4795, |
|
"stateMutability": "pure", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4765, |
|
"nodeType": "FunctionDefinition", |
|
"src": "26422:160:2", |
|
"body": { |
|
"id": 4764, |
|
"nodeType": "Block", |
|
"src": "26498:84:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4752 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4752, |
|
"mutability": "mutable", |
|
"name": "absDelta", |
|
"nameLocation": "26516:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4764, |
|
"src": "26508:16:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4751, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26508:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4757, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 4754, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4744, |
|
"src": "26533:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
{ |
|
"id": 4755, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4746, |
|
"src": "26536:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
], |
|
"id": 4753, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
4706, |
|
4742 |
|
], |
|
"referencedDeclaration": 4706, |
|
"src": "26527:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", |
|
"typeString": "function (uint256,uint256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 4756, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "26527:11:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "26508:30:2" |
|
}, |
|
{ |
|
"expression": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4762, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4760, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4758, |
|
"name": "absDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4752, |
|
"src": "26556:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "*", |
|
"rightExpression": { |
|
"hexValue": "31653138", |
|
"id": 4759, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "26567:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1000000000000000000_by_1", |
|
"typeString": "int_const 1000000000000000000" |
|
}, |
|
"value": "1e18" |
|
}, |
|
"src": "26556:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "/", |
|
"rightExpression": { |
|
"id": 4761, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4746, |
|
"src": "26574:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "26556:19:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 4750, |
|
"id": 4763, |
|
"nodeType": "Return", |
|
"src": "26549:26:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "percentDelta", |
|
"nameLocation": "26431:12:2", |
|
"parameters": { |
|
"id": 4747, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4744, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "26452:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4765, |
|
"src": "26444:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4743, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26444:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4746, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "26463:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4765, |
|
"src": "26455:9:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4745, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26455:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "26443:22:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4750, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4749, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4765, |
|
"src": "26489:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4748, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26489:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "26488:9:2" |
|
}, |
|
"scope": 4795, |
|
"stateMutability": "pure", |
|
"virtual": false, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"id": 4794, |
|
"nodeType": "FunctionDefinition", |
|
"src": "26588:192:2", |
|
"body": { |
|
"id": 4793, |
|
"nodeType": "Block", |
|
"src": "26662:118:2", |
|
"statements": [ |
|
{ |
|
"assignments": [ |
|
4775 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4775, |
|
"mutability": "mutable", |
|
"name": "absDelta", |
|
"nameLocation": "26680:8:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4793, |
|
"src": "26672:16:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4774, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26672:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4780, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 4777, |
|
"name": "a", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4767, |
|
"src": "26697:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
{ |
|
"id": 4778, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4769, |
|
"src": "26700:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 4776, |
|
"name": "delta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [ |
|
4706, |
|
4742 |
|
], |
|
"referencedDeclaration": 4742, |
|
"src": "26691:5:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256,int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 4779, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "26691:11:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "26672:30:2" |
|
}, |
|
{ |
|
"assignments": [ |
|
4782 |
|
], |
|
"declarations": [ |
|
{ |
|
"constant": false, |
|
"id": 4782, |
|
"mutability": "mutable", |
|
"name": "absB", |
|
"nameLocation": "26720:4:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4793, |
|
"src": "26712:12:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4781, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26712:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"id": 4786, |
|
"initialValue": { |
|
"arguments": [ |
|
{ |
|
"id": 4784, |
|
"name": "b", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4769, |
|
"src": "26731:1:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
} |
|
], |
|
"expression": { |
|
"argumentTypes": [ |
|
{ |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
], |
|
"id": 4783, |
|
"name": "abs", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4685, |
|
"src": "26727:3:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_function_internal_pure$_t_int256_$returns$_t_uint256_$", |
|
"typeString": "function (int256) pure returns (uint256)" |
|
} |
|
}, |
|
"id": 4785, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"kind": "functionCall", |
|
"lValueRequested": false, |
|
"nameLocations": [], |
|
"names": [], |
|
"nodeType": "FunctionCall", |
|
"src": "26727:6:2", |
|
"tryCall": false, |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "VariableDeclarationStatement", |
|
"src": "26712:21:2" |
|
}, |
|
{ |
|
"expression": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4791, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"commonType": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"id": 4789, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": false, |
|
"lValueRequested": false, |
|
"leftExpression": { |
|
"id": 4787, |
|
"name": "absDelta", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4775, |
|
"src": "26751:8:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "*", |
|
"rightExpression": { |
|
"hexValue": "31653138", |
|
"id": 4788, |
|
"isConstant": false, |
|
"isLValue": false, |
|
"isPure": true, |
|
"kind": "number", |
|
"lValueRequested": false, |
|
"nodeType": "Literal", |
|
"src": "26762:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_rational_1000000000000000000_by_1", |
|
"typeString": "int_const 1000000000000000000" |
|
}, |
|
"value": "1e18" |
|
}, |
|
"src": "26751:15:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"nodeType": "BinaryOperation", |
|
"operator": "/", |
|
"rightExpression": { |
|
"id": 4790, |
|
"name": "absB", |
|
"nodeType": "Identifier", |
|
"overloadedDeclarations": [], |
|
"referencedDeclaration": 4782, |
|
"src": "26769:4:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"src": "26751:22:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"functionReturnParameters": 4773, |
|
"id": 4792, |
|
"nodeType": "Return", |
|
"src": "26744:29:2" |
|
} |
|
] |
|
}, |
|
"implemented": true, |
|
"kind": "function", |
|
"modifiers": [], |
|
"name": "percentDelta", |
|
"nameLocation": "26597:12:2", |
|
"parameters": { |
|
"id": 4770, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4767, |
|
"mutability": "mutable", |
|
"name": "a", |
|
"nameLocation": "26617:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4794, |
|
"src": "26610:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 4766, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26610:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
}, |
|
{ |
|
"constant": false, |
|
"id": 4769, |
|
"mutability": "mutable", |
|
"name": "b", |
|
"nameLocation": "26627:1:2", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4794, |
|
"src": "26620:8:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
}, |
|
"typeName": { |
|
"id": 4768, |
|
"name": "int256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26620:6:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_int256", |
|
"typeString": "int256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "26609:20:2" |
|
}, |
|
"returnParameters": { |
|
"id": 4773, |
|
"nodeType": "ParameterList", |
|
"parameters": [ |
|
{ |
|
"constant": false, |
|
"id": 4772, |
|
"mutability": "mutable", |
|
"name": "", |
|
"nameLocation": "-1:-1:-1", |
|
"nodeType": "VariableDeclaration", |
|
"scope": 4794, |
|
"src": "26653:7:2", |
|
"stateVariable": false, |
|
"storageLocation": "default", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
}, |
|
"typeName": { |
|
"id": 4771, |
|
"name": "uint256", |
|
"nodeType": "ElementaryTypeName", |
|
"src": "26653:7:2", |
|
"typeDescriptions": { |
|
"typeIdentifier": "t_uint256", |
|
"typeString": "uint256" |
|
} |
|
}, |
|
"visibility": "internal" |
|
} |
|
], |
|
"src": "26652:9:2" |
|
}, |
|
"scope": 4795, |
|
"stateMutability": "pure", |
|
"virtual": false, |
|
"visibility": "internal" |
|
} |
|
], |
|
"abstract": false, |
|
"baseContracts": [], |
|
"canonicalName": "stdMath", |
|
"contractDependencies": [], |
|
"contractKind": "library", |
|
"fullyImplemented": true, |
|
"linearizedBaseContracts": [ |
|
4795 |
|
], |
|
"name": "stdMath", |
|
"nameLocation": "25484:7:2", |
|
"scope": 4796, |
|
"usedErrors": [] |
|
} |
|
], |
|
"license": "MIT" |
|
}, |
|
"id": 2 |
|
} |