{ "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "", "type": "string" } ], "name": "log", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "", "type": "address" } ], "name": "log_address", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "log_bytes", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "log_bytes32", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "int256", "name": "", "type": "int256" } ], "name": "log_int", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "address", "name": "val", "type": "address" } ], "name": "log_named_address", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "val", "type": "bytes" } ], "name": "log_named_bytes", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "bytes32", "name": "val", "type": "bytes32" } ], "name": "log_named_bytes32", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "int256", "name": "val", "type": "int256" }, { "indexed": false, "internalType": "uint256", "name": "decimals", "type": "uint256" } ], "name": "log_named_decimal_int", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "uint256", "name": "val", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "decimals", "type": "uint256" } ], "name": "log_named_decimal_uint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "int256", "name": "val", "type": "int256" } ], "name": "log_named_int", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "string", "name": "val", "type": "string" } ], "name": "log_named_string", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "key", "type": "string" }, { "indexed": false, "internalType": "uint256", "name": "val", "type": "uint256" } ], "name": "log_named_uint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "", "type": "string" } ], "name": "log_string", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "log_uint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "logs", "type": "event" }, { "inputs": [], "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": { "object": "0x60806040526000805460ff1916600117905534801561001d57600080fd5b5061024e8061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea264697066735822122045c71866b7277b78c94e0db187c0f0104c3e20a8ebb03c073fa06ba1f22d809f64736f6c63430008100033", "sourceMap": "715:15435:0:-:0;;;1572:26;;;-1:-1:-1;;1572:26:0;1594:4;1572:26;;;715:15435;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea264697066735822122045c71866b7277b78c94e0db187c0f0104c3e20a8ebb03c073fa06ba1f22d809f64736f6c63430008100033", "sourceMap": "715:15435:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:9;;172:22;154:41;;142:2;127:18;1819:584:0;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2990:42;2978:55;3059:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:51:9;;;-1:-1:-1;;;447:18:9;;;440:34;2196:43:0;;;;;;;;;353:18:9;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:0;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;485:322:9:-;526:3;564:5;558:12;588:1;598:128;612:6;609:1;606:13;598:128;;;709:4;694:13;;;690:24;;684:31;671:11;;;664:52;627:12;598:128;;;-1:-1:-1;781:1:9;745:16;;770:13;;;-1:-1:-1;745:16:9;;485:322;-1:-1:-1;485:322:9:o;812:278::-;-1:-1:-1;;;;;;997:33:9;;985:46;;967:3;1047:37;1081:1;1072:11;;1064:6;1047:37;:::i;:::-;1040:44;812:278;-1:-1:-1;;;;812:278:9:o;1095:189::-;1224:3;1249:29;1274:3;1266:6;1249:29;:::i;:::-;1242:36;1095:189;-1:-1:-1;;;1095:189:9:o;1289:277::-;1356:6;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1457:9;1451:16;1510:5;1503:13;1496:21;1489:5;1486:32;1476:60;;1532:1;1529;1522:12", "linkReferences": {} }, "methodIdentifiers": { "IS_TEST()": "fa7626d4", "failed()": "ba414fa6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.16+commit.07a7930e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/lib/ds-test/src/test.sol\":\"DSTest\"},\"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\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.16+commit.07a7930e" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "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/lib/ds-test/src/test.sol": "DSTest" }, "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" } }, "version": 1 }, "ast": { "absolutePath": "lib/forge-std/lib/ds-test/src/test.sol", "id": 1787, "exportedSymbols": { "DSTest": [ 1786 ] }, "nodeType": "SourceUnit", "src": "689:15462:0", "nodes": [ { "id": 1, "nodeType": "PragmaDirective", "src": "689:24:0", "literals": [ "solidity", ">=", "0.5", ".0" ] }, { "id": 1786, "nodeType": "ContractDefinition", "src": "715:15435:0", "nodes": [ { "id": 5, "nodeType": "EventDefinition", "src": "737:38:0", "anonymous": false, "eventSelector": "41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", "name": "log", "nameLocation": "743:3:0", "parameters": { "id": 4, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3, "indexed": false, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 5, "src": "767:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 2, "name": "string", "nodeType": "ElementaryTypeName", "src": "767:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "766:8:0" } }, { "id": 9, "nodeType": "EventDefinition", "src": "780:37:0", "anonymous": false, "eventSelector": "e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4", "name": "logs", "nameLocation": "786:4:0", "parameters": { "id": 8, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 7, "indexed": false, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 9, "src": "810:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 6, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "810:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "809:7:0" } }, { "id": 13, "nodeType": "EventDefinition", "src": "823:39:0", "anonymous": false, "eventSelector": "7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3", "name": "log_address", "nameLocation": "829:11:0", "parameters": { "id": 12, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11, "indexed": false, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 13, "src": "853:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 10, "name": "address", "nodeType": "ElementaryTypeName", "src": "853:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "852:9:0" } }, { "id": 17, "nodeType": "EventDefinition", "src": "867:39:0", "anonymous": false, "eventSelector": "e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3", "name": "log_bytes32", "nameLocation": "873:11:0", "parameters": { "id": 16, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15, "indexed": false, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 17, "src": "897:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 14, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "897:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "896:9:0" } }, { "id": 21, "nodeType": "EventDefinition", "src": "911:35:0", "anonymous": false, "eventSelector": "0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8", "name": "log_int", "nameLocation": "917:7:0", "parameters": { "id": 20, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 19, "indexed": false, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 21, "src": "941:3:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 18, "name": "int", "nodeType": "ElementaryTypeName", "src": "941:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "940:5:0" } }, { "id": 25, "nodeType": "EventDefinition", "src": "951:36:0", "anonymous": false, "eventSelector": "2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755", "name": "log_uint", "nameLocation": "957:8:0", "parameters": { "id": 24, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23, "indexed": false, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 25, "src": "981:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 22, "name": "uint", "nodeType": "ElementaryTypeName", "src": "981:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "980:6:0" } }, { "id": 29, "nodeType": "EventDefinition", "src": "992:37:0", "anonymous": false, "eventSelector": "23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20", "name": "log_bytes", "nameLocation": "998:9:0", "parameters": { "id": 28, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27, "indexed": false, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 29, "src": "1022:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 26, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1022:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "1021:7:0" } }, { "id": 33, "nodeType": "EventDefinition", "src": "1034:38:0", "anonymous": false, "eventSelector": "0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b", "name": "log_string", "nameLocation": "1040:10:0", "parameters": { "id": 32, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 31, "indexed": false, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 33, "src": "1064:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 30, "name": "string", "nodeType": "ElementaryTypeName", "src": "1064:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "1063:8:0" } }, { "id": 39, "nodeType": "EventDefinition", "src": "1078:55:0", "anonymous": false, "eventSelector": "9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f", "name": "log_named_address", "nameLocation": "1084:17:0", "parameters": { "id": 38, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 35, "indexed": false, "mutability": "mutable", "name": "key", "nameLocation": "1115:3:0", "nodeType": "VariableDeclaration", "scope": 39, "src": "1108:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 34, "name": "string", "nodeType": "ElementaryTypeName", "src": "1108:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 37, "indexed": false, "mutability": "mutable", "name": "val", "nameLocation": "1128:3:0", "nodeType": "VariableDeclaration", "scope": 39, "src": "1120:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 36, "name": "address", "nodeType": "ElementaryTypeName", "src": "1120:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1107:25:0" } }, { "id": 45, "nodeType": "EventDefinition", "src": "1138:55:0", "anonymous": false, "eventSelector": "afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99", "name": "log_named_bytes32", "nameLocation": "1144:17:0", "parameters": { "id": 44, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 41, "indexed": false, "mutability": "mutable", "name": "key", "nameLocation": "1175:3:0", "nodeType": "VariableDeclaration", "scope": 45, "src": "1168:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 40, "name": "string", "nodeType": "ElementaryTypeName", "src": "1168:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 43, "indexed": false, "mutability": "mutable", "name": "val", "nameLocation": "1188:3:0", "nodeType": "VariableDeclaration", "scope": 45, "src": "1180:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 42, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1180:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1167:25:0" } }, { "id": 53, "nodeType": "EventDefinition", "src": "1198:66:0", "anonymous": false, "eventSelector": "5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95", "name": "log_named_decimal_int", "nameLocation": "1204:21:0", "parameters": { "id": 52, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 47, "indexed": false, "mutability": "mutable", "name": "key", "nameLocation": "1235:3:0", "nodeType": "VariableDeclaration", "scope": 53, "src": "1228:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 46, "name": "string", "nodeType": "ElementaryTypeName", "src": "1228:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 49, "indexed": false, "mutability": "mutable", "name": "val", "nameLocation": "1244:3:0", "nodeType": "VariableDeclaration", "scope": 53, "src": "1240:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 48, "name": "int", "nodeType": "ElementaryTypeName", "src": "1240:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 51, "indexed": false, "mutability": "mutable", "name": "decimals", "nameLocation": "1254:8:0", "nodeType": "VariableDeclaration", "scope": 53, "src": "1249:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 50, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1249:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1227:36:0" } }, { "id": 61, "nodeType": "EventDefinition", "src": "1269:67:0", "anonymous": false, "eventSelector": "eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b", "name": "log_named_decimal_uint", "nameLocation": "1275:22:0", "parameters": { "id": 60, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 55, "indexed": false, "mutability": "mutable", "name": "key", "nameLocation": "1306:3:0", "nodeType": "VariableDeclaration", "scope": 61, "src": "1299:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 54, "name": "string", "nodeType": "ElementaryTypeName", "src": "1299:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 57, "indexed": false, "mutability": "mutable", "name": "val", "nameLocation": "1316:3:0", "nodeType": "VariableDeclaration", "scope": 61, "src": "1311:8:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 56, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1311:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 59, "indexed": false, "mutability": "mutable", "name": "decimals", "nameLocation": "1326:8:0", "nodeType": "VariableDeclaration", "scope": 61, "src": "1321:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 58, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1321:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1298:37:0" } }, { "id": 67, "nodeType": "EventDefinition", "src": "1341:51:0", "anonymous": false, "eventSelector": "2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168", "name": "log_named_int", "nameLocation": "1347:13:0", "parameters": { "id": 66, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 63, "indexed": false, "mutability": "mutable", "name": "key", "nameLocation": "1378:3:0", "nodeType": "VariableDeclaration", "scope": 67, "src": "1371:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 62, "name": "string", "nodeType": "ElementaryTypeName", "src": "1371:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 65, "indexed": false, "mutability": "mutable", "name": "val", "nameLocation": "1387:3:0", "nodeType": "VariableDeclaration", "scope": 67, "src": "1383:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 64, "name": "int", "nodeType": "ElementaryTypeName", "src": "1383:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "1370:21:0" } }, { "id": 73, "nodeType": "EventDefinition", "src": "1397:52:0", "anonymous": false, "eventSelector": "b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8", "name": "log_named_uint", "nameLocation": "1403:14:0", "parameters": { "id": 72, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 69, "indexed": false, "mutability": "mutable", "name": "key", "nameLocation": "1434:3:0", "nodeType": "VariableDeclaration", "scope": 73, "src": "1427:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 68, "name": "string", "nodeType": "ElementaryTypeName", "src": "1427:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 71, "indexed": false, "mutability": "mutable", "name": "val", "nameLocation": "1444:3:0", "nodeType": "VariableDeclaration", "scope": 73, "src": "1439:8:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 70, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1439:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1426:22:0" } }, { "id": 79, "nodeType": "EventDefinition", "src": "1454:53:0", "anonymous": false, "eventSelector": "d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18", "name": "log_named_bytes", "nameLocation": "1460:15:0", "parameters": { "id": 78, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 75, "indexed": false, "mutability": "mutable", "name": "key", "nameLocation": "1491:3:0", "nodeType": "VariableDeclaration", "scope": 79, "src": "1484:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 74, "name": "string", "nodeType": "ElementaryTypeName", "src": "1484:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 77, "indexed": false, "mutability": "mutable", "name": "val", "nameLocation": "1502:3:0", "nodeType": "VariableDeclaration", "scope": 79, "src": "1496:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 76, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1496:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "1483:23:0" } }, { "id": 85, "nodeType": "EventDefinition", "src": "1512:54:0", "anonymous": false, "eventSelector": "280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583", "name": "log_named_string", "nameLocation": "1518:16:0", "parameters": { "id": 84, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 81, "indexed": false, "mutability": "mutable", "name": "key", "nameLocation": "1549:3:0", "nodeType": "VariableDeclaration", "scope": 85, "src": "1542:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 80, "name": "string", "nodeType": "ElementaryTypeName", "src": "1542:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 83, "indexed": false, "mutability": "mutable", "name": "val", "nameLocation": "1561:3:0", "nodeType": "VariableDeclaration", "scope": 85, "src": "1554:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 82, "name": "string", "nodeType": "ElementaryTypeName", "src": "1554:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "1541:24:0" } }, { "id": 88, "nodeType": "VariableDeclaration", "src": "1572:26:0", "constant": false, "functionSelector": "fa7626d4", "mutability": "mutable", "name": "IS_TEST", "nameLocation": "1584:7:0", "scope": 1786, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 86, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1572:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": { "hexValue": "74727565", "id": 87, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1594:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "visibility": "public" }, { "id": 90, "nodeType": "VariableDeclaration", "src": "1604:20:0", "constant": false, "mutability": "mutable", "name": "_failed", "nameLocation": "1617:7:0", "scope": 1786, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 89, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1604:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "private" }, { "id": 107, "nodeType": "VariableDeclaration", "src": "1631:104:0", "constant": true, "mutability": "constant", "name": "HEVM_ADDRESS", "nameLocation": "1648:12:0", "scope": 1786, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 91, "name": "address", "nodeType": "ElementaryTypeName", "src": "1631:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "6865766d20636865617420636f6465", "id": 101, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1713:17:0", "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": 100, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "1703:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1703:28:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 99, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1695:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 98, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1695:7:0", "typeDescriptions": {} } }, "id": 103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1695:37:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 97, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1687:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint160_$", "typeString": "type(uint160)" }, "typeName": { "id": 96, "name": "uint160", "nodeType": "ElementaryTypeName", "src": "1687:7:0", "typeDescriptions": {} } }, "id": 104, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1687:46:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint160", "typeString": "uint160" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint160", "typeString": "uint160" } ], "id": 95, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1679:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes20_$", "typeString": "type(bytes20)" }, "typeName": { "id": 94, "name": "bytes20", "nodeType": "ElementaryTypeName", "src": "1679:7:0", "typeDescriptions": {} } }, "id": 105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1679:55:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes20", "typeString": "bytes20" } ], "id": 93, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1671:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 92, "name": "address", "nodeType": "ElementaryTypeName", "src": "1671:7:0", "typeDescriptions": {} } }, "id": 106, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1671:64:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "id": 111, "nodeType": "ModifierDefinition", "src": "1742:27:0", "body": { "id": 110, "nodeType": "Block", "src": "1763:6:0", "statements": [ { "id": 109, "nodeType": "PlaceholderStatement", "src": "1765:1:0" } ] }, "name": "mayRevert", "nameLocation": "1751:9:0", "parameters": { "id": 108, "nodeType": "ParameterList", "parameters": [], "src": "1760:2:0" }, "virtual": false, "visibility": "internal" }, { "id": 117, "nodeType": "ModifierDefinition", "src": "1774:39:0", "body": { "id": 116, "nodeType": "Block", "src": "1807:6:0", "statements": [ { "id": 115, "nodeType": "PlaceholderStatement", "src": "1809:1:0" } ] }, "name": "testopts", "nameLocation": "1783:8:0", "parameters": { "id": 114, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 113, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 117, "src": "1792:13:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 112, "name": "string", "nodeType": "ElementaryTypeName", "src": "1792:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "1791:15:0" }, "virtual": false, "visibility": "internal" }, { "id": 172, "nodeType": "FunctionDefinition", "src": "1819:584:0", "body": { "id": 171, "nodeType": "Block", "src": "1859:544:0", "statements": [ { "condition": { "id": 122, "name": "_failed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90, "src": "1873:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 169, "nodeType": "Block", "src": "1927:470:0", "statements": [ { "assignments": [ 127 ], "declarations": [ { "constant": false, "id": 127, "mutability": "mutable", "name": "globalFailed", "nameLocation": "1946:12:0", "nodeType": "VariableDeclaration", "scope": 169, "src": "1941:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 126, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1941:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "id": 129, "initialValue": { "hexValue": "66616c7365", "id": 128, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "1961:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "nodeType": "VariableDeclarationStatement", "src": "1941:25:0" }, { "condition": { "arguments": [], "expression": { "argumentTypes": [], "id": 130, "name": "hasHEVMContext", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 231, "src": "1984:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 131, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1984:16:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 166, "nodeType": "IfStatement", "src": "1980:374:0", "trueBody": { "id": 165, "nodeType": "Block", "src": "2002:352:0", "statements": [ { "assignments": [ null, 133 ], "declarations": [ null, { "constant": false, "id": 133, "mutability": "mutable", "name": "retdata", "nameLocation": "2036:7:0", "nodeType": "VariableDeclaration", "scope": 165, "src": "2023:20:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 132, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2023:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 154, "initialValue": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "6c6f616428616464726573732c6279746573333229", "id": 141, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2145:23:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4", "typeString": "literal_string \"load(address,bytes32)\"" }, "value": "load(address,bytes32)" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4", "typeString": "literal_string \"load(address,bytes32)\"" } ], "id": 140, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2135:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2135:34:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 139, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2128:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, "typeName": { "id": 138, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "2128:6:0", "typeDescriptions": {} } }, "id": 143, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2128:42:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "id": 146, "name": "HEVM_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 107, "src": "2207:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "6661696c6564", "id": 149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2229:8:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43", "typeString": "literal_string \"failed\"" }, "value": "failed" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43", "typeString": "literal_string \"failed\"" } ], "id": 148, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2221:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 147, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2221:7:0", "typeDescriptions": {} } }, "id": 150, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2221:17:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "expression": { "id": 144, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2196:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 145, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2200:6:0", "memberName": "encode", "nodeType": "MemberAccess", "src": "2196:10:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2196:43:0", "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": 136, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2086:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 137, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2090:12:0", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2086:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2086:175:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 134, "name": "HEVM_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 107, "src": "2047:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 135, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2060:4:0", "memberName": "call", "nodeType": "MemberAccess", "src": "2047:17:0", "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": 153, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2047:232:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "2020:259:0" }, { "expression": { "id": 163, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 155, "name": "globalFailed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 127, "src": "2297:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 158, "name": "retdata", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 133, "src": "2323:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "components": [ { "id": 160, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2333:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" }, "typeName": { "id": 159, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2333:4:0", "typeDescriptions": {} } } ], "id": 161, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2332:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" }, { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" } ], "expression": { "id": 156, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2312:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 157, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2316:6:0", "memberName": "decode", "nodeType": "MemberAccess", "src": "2312:10:0", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 162, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2312:27:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "2297:42:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 164, "nodeType": "ExpressionStatement", "src": "2297:42:0" } ] } }, { "expression": { "id": 167, "name": "globalFailed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 127, "src": "2374:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 121, "id": 168, "nodeType": "Return", "src": "2367:19:0" } ] }, "id": 170, "nodeType": "IfStatement", "src": "1869:528:0", "trueBody": { "id": 125, "nodeType": "Block", "src": "1882:39:0", "statements": [ { "expression": { "id": 123, "name": "_failed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90, "src": "1903:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 121, "id": 124, "nodeType": "Return", "src": "1896:14:0" } ] } } ] }, "functionSelector": "ba414fa6", "implemented": true, "kind": "function", "modifiers": [], "name": "failed", "nameLocation": "1828:6:0", "parameters": { "id": 118, "nodeType": "ParameterList", "parameters": [], "src": "1834:2:0" }, "returnParameters": { "id": 121, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 120, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 172, "src": "1853:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 119, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1853:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "1852:6:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "id": 216, "nodeType": "FunctionDefinition", "src": "2410:424:0", "body": { "id": 215, "nodeType": "Block", "src": "2435:399:0", "statements": [ { "condition": { "arguments": [], "expression": { "argumentTypes": [], "id": 175, "name": "hasHEVMContext", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 231, "src": "2449:14:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 176, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2449:16:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 210, "nodeType": "IfStatement", "src": "2445:359:0", "trueBody": { "id": 209, "nodeType": "Block", "src": "2467:337:0", "statements": [ { "assignments": [ 178, null ], "declarations": [ { "constant": false, "id": 178, "mutability": "mutable", "name": "status", "nameLocation": "2487:6:0", "nodeType": "VariableDeclaration", "scope": 209, "src": "2482:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 177, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2482:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, null ], "id": 206, "initialValue": { "arguments": [ { "arguments": [ { "arguments": [ { "arguments": [ { "hexValue": "73746f726528616464726573732c627974657333322c6279746573333229", "id": 186, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2589:32:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4", "typeString": "literal_string \"store(address,bytes32,bytes32)\"" }, "value": "store(address,bytes32,bytes32)" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4", "typeString": "literal_string \"store(address,bytes32,bytes32)\"" } ], "id": 185, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "2579:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 187, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2579:43:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 184, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2572:6:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes4_$", "typeString": "type(bytes4)" }, "typeName": { "id": 183, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "2572:6:0", "typeDescriptions": {} } }, "id": 188, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2572:51:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, { "arguments": [ { "id": 191, "name": "HEVM_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 107, "src": "2656:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "arguments": [ { "hexValue": "6661696c6564", "id": 194, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "2678:8:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43", "typeString": "literal_string \"failed\"" }, "value": "failed" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43", "typeString": "literal_string \"failed\"" } ], "id": 193, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2670:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 192, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2670:7:0", "typeDescriptions": {} } }, "id": 195, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2670:17:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "arguments": [ { "arguments": [ { "hexValue": "30783031", "id": 200, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2705:4:0", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "0x01" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" } ], "id": 199, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2697:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { "id": 198, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2697:7:0", "typeDescriptions": {} } }, "id": 201, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2697:13:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 197, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2689:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes32_$", "typeString": "type(bytes32)" }, "typeName": { "id": 196, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2689:7:0", "typeDescriptions": {} } }, "id": 202, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2689:22:0", "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": 189, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2645:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 190, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2649:6:0", "memberName": "encode", "nodeType": "MemberAccess", "src": "2645:10:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 203, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2645:67:0", "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": 181, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "2534:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 182, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "2538:12:0", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "2534:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 204, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2534:196:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "expression": { "id": 179, "name": "HEVM_ADDRESS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 107, "src": "2499:12:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 180, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2512:4:0", "memberName": "call", "nodeType": "MemberAccess", "src": "2499:17:0", "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": 205, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2499:245:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "2481:263:0" }, { "expression": { "id": 207, "name": "status", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 178, "src": "2758:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 208, "nodeType": "ExpressionStatement", "src": "2758:6:0" } ] } }, { "expression": { "id": 213, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 211, "name": "_failed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 90, "src": "2813:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "2823:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "2813:14:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 214, "nodeType": "ExpressionStatement", "src": "2813:14:0" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "fail", "nameLocation": "2419:4:0", "parameters": { "id": 173, "nodeType": "ParameterList", "parameters": [], "src": "2423:2:0" }, "returnParameters": { "id": 174, "nodeType": "ParameterList", "parameters": [], "src": "2435:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 231, "nodeType": "FunctionDefinition", "src": "2840:242:0", "body": { "id": 230, "nodeType": "Block", "src": "2895:187:0", "statements": [ { "assignments": [ 222 ], "declarations": [ { "constant": false, "id": 222, "mutability": "mutable", "name": "hevmCodeSize", "nameLocation": "2913:12:0", "nodeType": "VariableDeclaration", "scope": 230, "src": "2905:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 221, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2905:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 224, "initialValue": { "hexValue": "30", "id": 223, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2928:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "2905:24:0" }, { "AST": { "nodeType": "YulBlock", "src": "2948:95:0", "statements": [ { "nodeType": "YulAssignment", "src": "2962:71:0", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", "src": "2990:42:0", "type": "", "value": "0x7109709ECfa91a80626fF3989D68f67F5b1DD12D" } ], "functionName": { "name": "extcodesize", "nodeType": "YulIdentifier", "src": "2978:11:0" }, "nodeType": "YulFunctionCall", "src": "2978:55:0" }, "variableNames": [ { "name": "hevmCodeSize", "nodeType": "YulIdentifier", "src": "2962:12:0" } ] } ] }, "evmVersion": "london", "externalReferences": [ { "declaration": 222, "isOffset": false, "isSlot": false, "src": "2962:12:0", "valueSize": 1 } ], "id": 225, "nodeType": "InlineAssembly", "src": "2939:104:0" }, { "expression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 228, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 226, "name": "hevmCodeSize", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 222, "src": "3059:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 227, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "3074:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "3059:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 220, "id": 229, "nodeType": "Return", "src": "3052:23:0" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "hasHEVMContext", "nameLocation": "2849:14:0", "parameters": { "id": 217, "nodeType": "ParameterList", "parameters": [], "src": "2863:2:0" }, "returnParameters": { "id": 220, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 219, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 231, "src": "2889:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 218, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2889:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "2888:6:0" }, "scope": 1786, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { "id": 252, "nodeType": "ModifierDefinition", "src": "3088:161:0", "body": { "id": 251, "nodeType": "Block", "src": "3108:141:0", "statements": [ { "assignments": [ 234 ], "declarations": [ { "constant": false, "id": 234, "mutability": "mutable", "name": "startGas", "nameLocation": "3123:8:0", "nodeType": "VariableDeclaration", "scope": 251, "src": "3118:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 233, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3118:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 237, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "id": 235, "name": "gasleft", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -7, "src": "3134:7:0", "typeDescriptions": { "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, "id": 236, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3134:9:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "3118:25:0" }, { "id": 238, "nodeType": "PlaceholderStatement", "src": "3153:1:0" }, { "assignments": [ 240 ], "declarations": [ { "constant": false, "id": 240, "mutability": "mutable", "name": "endGas", "nameLocation": "3169:6:0", "nodeType": "VariableDeclaration", "scope": 251, "src": "3164:11:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 239, "name": "uint", "nodeType": "ElementaryTypeName", "src": "3164:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 243, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "id": 241, "name": "gasleft", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -7, "src": "3178:7:0", "typeDescriptions": { "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, "id": 242, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3178:9:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "3164:23:0" }, { "eventCall": { "arguments": [ { "hexValue": "676173", "id": 245, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3217:5:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7", "typeString": "literal_string \"gas\"" }, "value": "gas" }, { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 248, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 246, "name": "startGas", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 234, "src": "3224:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 247, "name": "endGas", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 240, "src": "3235:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "3224:17:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7", "typeString": "literal_string \"gas\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 244, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "3202:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 249, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3202:40:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 250, "nodeType": "EmitStatement", "src": "3197:45:0" } ] }, "name": "logs_gas", "nameLocation": "3097:8:0", "parameters": { "id": 232, "nodeType": "ParameterList", "parameters": [], "src": "3105:2:0" }, "virtual": false, "visibility": "internal" }, { "id": 269, "nodeType": "FunctionDefinition", "src": "3255:157:0", "body": { "id": 268, "nodeType": "Block", "src": "3300:112:0", "statements": [ { "condition": { "id": 258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "3314:10:0", "subExpression": { "id": 257, "name": "condition", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 254, "src": "3315:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 267, "nodeType": "IfStatement", "src": "3310:96:0", "trueBody": { "id": 266, "nodeType": "Block", "src": "3326:80:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a20417373657274696f6e204661696c6564", "id": 260, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3349:25:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687", "typeString": "literal_string \"Error: Assertion Failed\"" }, "value": "Error: Assertion Failed" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687", "typeString": "literal_string \"Error: Assertion Failed\"" } ], "id": 259, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "3345:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 261, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3345:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 262, "nodeType": "EmitStatement", "src": "3340:35:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 263, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "3389:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 264, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3389:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 265, "nodeType": "ExpressionStatement", "src": "3389:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertTrue", "nameLocation": "3264:10:0", "parameters": { "id": 255, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 254, "mutability": "mutable", "name": "condition", "nameLocation": "3280:9:0", "nodeType": "VariableDeclaration", "scope": 269, "src": "3275:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 253, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3275:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "3274:16:0" }, "returnParameters": { "id": 256, "nodeType": "ParameterList", "parameters": [], "src": "3300:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 290, "nodeType": "FunctionDefinition", "src": "3418:191:0", "body": { "id": 289, "nodeType": "Block", "src": "3482:127:0", "statements": [ { "condition": { "id": 277, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "3496:10:0", "subExpression": { "id": 276, "name": "condition", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 271, "src": "3497:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 288, "nodeType": "IfStatement", "src": "3492:111:0", "trueBody": { "id": 287, "nodeType": "Block", "src": "3508:95:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3544:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 280, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 273, "src": "3553:3:0", "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": 278, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "3527:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 281, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3527:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 282, "nodeType": "EmitStatement", "src": "3522:35:0" }, { "expression": { "arguments": [ { "id": 284, "name": "condition", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 271, "src": "3582:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 283, "name": "assertTrue", "nodeType": "Identifier", "overloadedDeclarations": [ 269, 290 ], "referencedDeclaration": 269, "src": "3571:10:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", "typeString": "function (bool)" } }, "id": 285, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3571:21:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 286, "nodeType": "ExpressionStatement", "src": "3571:21:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertTrue", "nameLocation": "3427:10:0", "parameters": { "id": 274, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 271, "mutability": "mutable", "name": "condition", "nameLocation": "3443:9:0", "nodeType": "VariableDeclaration", "scope": 290, "src": "3438:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 270, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3438:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 273, "mutability": "mutable", "name": "err", "nameLocation": "3468:3:0", "nodeType": "VariableDeclaration", "scope": 290, "src": "3454:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 272, "name": "string", "nodeType": "ElementaryTypeName", "src": "3454:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "3437:35:0" }, "returnParameters": { "id": 275, "nodeType": "ParameterList", "parameters": [], "src": "3482:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 320, "nodeType": "FunctionDefinition", "src": "3615:277:0", "body": { "id": 319, "nodeType": "Block", "src": "3664:228:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 299, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 297, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 292, "src": "3678:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 298, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 294, "src": "3683:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "3678:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 318, "nodeType": "IfStatement", "src": "3674:212:0", "trueBody": { "id": 317, "nodeType": "Block", "src": "3686:200:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d", "id": 301, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3709:39:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017", "typeString": "literal_string \"Error: a == b not satisfied [address]\"" }, "value": "Error: a == b not satisfied [address]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017", "typeString": "literal_string \"Error: a == b not satisfied [address]\"" } ], "id": 300, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "3705:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 302, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3705:44:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 303, "nodeType": "EmitStatement", "src": "3700:49:0" }, { "eventCall": { "arguments": [ { "hexValue": "20204578706563746564", "id": 305, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3786:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, "value": " Expected" }, { "id": 306, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 294, "src": "3800:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 304, "name": "log_named_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 39, "src": "3768:17:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", "typeString": "function (string memory,address)" } }, "id": 307, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3768:34:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 308, "nodeType": "EmitStatement", "src": "3763:39:0" }, { "eventCall": { "arguments": [ { "hexValue": "2020202041637475616c", "id": 310, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "3839:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, "value": " Actual" }, { "id": 311, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 292, "src": "3853:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 309, "name": "log_named_address", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 39, "src": "3821:17:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", "typeString": "function (string memory,address)" } }, "id": 312, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3821:34:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 313, "nodeType": "EmitStatement", "src": "3816:39:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 314, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "3869:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 315, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "3869:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 316, "nodeType": "ExpressionStatement", "src": "3869:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "3624:8:0", "parameters": { "id": 295, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 292, "mutability": "mutable", "name": "a", "nameLocation": "3641:1:0", "nodeType": "VariableDeclaration", "scope": 320, "src": "3633:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 291, "name": "address", "nodeType": "ElementaryTypeName", "src": "3633:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 294, "mutability": "mutable", "name": "b", "nameLocation": "3652:1:0", "nodeType": "VariableDeclaration", "scope": 320, "src": "3644:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 293, "name": "address", "nodeType": "ElementaryTypeName", "src": "3644:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "3632:22:0" }, "returnParameters": { "id": 296, "nodeType": "ParameterList", "parameters": [], "src": "3664:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 345, "nodeType": "FunctionDefinition", "src": "3897:185:0", "body": { "id": 344, "nodeType": "Block", "src": "3965:117:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 331, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 329, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 322, "src": "3979:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 330, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 324, "src": "3984:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "3979:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 343, "nodeType": "IfStatement", "src": "3975:101:0", "trueBody": { "id": 342, "nodeType": "Block", "src": "3987:89:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 333, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4024:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 334, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 326, "src": "4033:3:0", "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": 332, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "4006:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 335, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4006:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 336, "nodeType": "EmitStatement", "src": "4001:36:0" }, { "expression": { "arguments": [ { "id": 338, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 322, "src": "4060:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "id": 339, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 324, "src": "4063:1:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 337, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 320, "src": "4051:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 340, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4051:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 341, "nodeType": "ExpressionStatement", "src": "4051:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "3906:8:0", "parameters": { "id": 327, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 322, "mutability": "mutable", "name": "a", "nameLocation": "3923:1:0", "nodeType": "VariableDeclaration", "scope": 345, "src": "3915:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 321, "name": "address", "nodeType": "ElementaryTypeName", "src": "3915:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 324, "mutability": "mutable", "name": "b", "nameLocation": "3934:1:0", "nodeType": "VariableDeclaration", "scope": 345, "src": "3926:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 323, "name": "address", "nodeType": "ElementaryTypeName", "src": "3926:7:0", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 326, "mutability": "mutable", "name": "err", "nameLocation": "3951:3:0", "nodeType": "VariableDeclaration", "scope": 345, "src": "3937:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 325, "name": "string", "nodeType": "ElementaryTypeName", "src": "3937:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "3914:41:0" }, "returnParameters": { "id": 328, "nodeType": "ParameterList", "parameters": [], "src": "3965:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 375, "nodeType": "FunctionDefinition", "src": "4088:277:0", "body": { "id": 374, "nodeType": "Block", "src": "4137:228:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 354, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 352, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 347, "src": "4151:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 353, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 349, "src": "4156:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "4151:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 373, "nodeType": "IfStatement", "src": "4147:212:0", "trueBody": { "id": 372, "nodeType": "Block", "src": "4159:200:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974657333325d", "id": 356, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4182:39:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef", "typeString": "literal_string \"Error: a == b not satisfied [bytes32]\"" }, "value": "Error: a == b not satisfied [bytes32]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef", "typeString": "literal_string \"Error: a == b not satisfied [bytes32]\"" } ], "id": 355, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "4178:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 357, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4178:44:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 358, "nodeType": "EmitStatement", "src": "4173:49:0" }, { "eventCall": { "arguments": [ { "hexValue": "20204578706563746564", "id": 360, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4259:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, "value": " Expected" }, { "id": 361, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 349, "src": "4273:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 359, "name": "log_named_bytes32", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, "src": "4241:17:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (string memory,bytes32)" } }, "id": 362, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4241:34:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 363, "nodeType": "EmitStatement", "src": "4236:39:0" }, { "eventCall": { "arguments": [ { "hexValue": "2020202041637475616c", "id": 365, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4312:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, "value": " Actual" }, { "id": 366, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 347, "src": "4326:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 364, "name": "log_named_bytes32", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 45, "src": "4294:17:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$", "typeString": "function (string memory,bytes32)" } }, "id": 367, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4294:34:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 368, "nodeType": "EmitStatement", "src": "4289:39:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 369, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "4342:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 370, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4342:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 371, "nodeType": "ExpressionStatement", "src": "4342:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "4097:8:0", "parameters": { "id": 350, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 347, "mutability": "mutable", "name": "a", "nameLocation": "4114:1:0", "nodeType": "VariableDeclaration", "scope": 375, "src": "4106:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 346, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4106:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 349, "mutability": "mutable", "name": "b", "nameLocation": "4125:1:0", "nodeType": "VariableDeclaration", "scope": 375, "src": "4117:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 348, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4117:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "4105:22:0" }, "returnParameters": { "id": 351, "nodeType": "ParameterList", "parameters": [], "src": "4137:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 400, "nodeType": "FunctionDefinition", "src": "4370:185:0", "body": { "id": 399, "nodeType": "Block", "src": "4438:117:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 384, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 377, "src": "4452:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 385, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 379, "src": "4457:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "4452:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 398, "nodeType": "IfStatement", "src": "4448:101:0", "trueBody": { "id": 397, "nodeType": "Block", "src": "4460:89:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 388, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4497:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 389, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 381, "src": "4506:3:0", "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": 387, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "4479:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 390, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4479:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 391, "nodeType": "EmitStatement", "src": "4474:36:0" }, { "expression": { "arguments": [ { "id": 393, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 377, "src": "4533:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 394, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 379, "src": "4536:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 392, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 375, "src": "4524:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, "id": 395, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4524:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 396, "nodeType": "ExpressionStatement", "src": "4524:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "4379:8:0", "parameters": { "id": 382, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 377, "mutability": "mutable", "name": "a", "nameLocation": "4396:1:0", "nodeType": "VariableDeclaration", "scope": 400, "src": "4388:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 376, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4388:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 379, "mutability": "mutable", "name": "b", "nameLocation": "4407:1:0", "nodeType": "VariableDeclaration", "scope": 400, "src": "4399:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 378, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4399:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 381, "mutability": "mutable", "name": "err", "nameLocation": "4424:3:0", "nodeType": "VariableDeclaration", "scope": 400, "src": "4410:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 380, "name": "string", "nodeType": "ElementaryTypeName", "src": "4410:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "4387:41:0" }, "returnParameters": { "id": 383, "nodeType": "ParameterList", "parameters": [], "src": "4438:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 413, "nodeType": "FunctionDefinition", "src": "4560:82:0", "body": { "id": 412, "nodeType": "Block", "src": "4611:31:0", "statements": [ { "expression": { "arguments": [ { "id": 408, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 402, "src": "4630:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 409, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 404, "src": "4633:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } ], "id": 407, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 375, "src": "4621:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, "id": 410, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4621:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 411, "nodeType": "ExpressionStatement", "src": "4621:14:0" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq32", "nameLocation": "4569:10:0", "parameters": { "id": 405, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 402, "mutability": "mutable", "name": "a", "nameLocation": "4588:1:0", "nodeType": "VariableDeclaration", "scope": 413, "src": "4580:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 401, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4580:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 404, "mutability": "mutable", "name": "b", "nameLocation": "4599:1:0", "nodeType": "VariableDeclaration", "scope": 413, "src": "4591:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 403, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4591:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "4579:22:0" }, "returnParameters": { "id": 406, "nodeType": "ParameterList", "parameters": [], "src": "4611:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 429, "nodeType": "FunctionDefinition", "src": "4647:106:0", "body": { "id": 428, "nodeType": "Block", "src": "4717:36:0", "statements": [ { "expression": { "arguments": [ { "id": 423, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 415, "src": "4736:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 424, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 417, "src": "4739:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { "id": 425, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 419, "src": "4742:3:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 422, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 400, "src": "4727:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bytes32,bytes32,string memory)" } }, "id": 426, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4727:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 427, "nodeType": "ExpressionStatement", "src": "4727:19:0" } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq32", "nameLocation": "4656:10:0", "parameters": { "id": 420, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 415, "mutability": "mutable", "name": "a", "nameLocation": "4675:1:0", "nodeType": "VariableDeclaration", "scope": 429, "src": "4667:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 414, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4667:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 417, "mutability": "mutable", "name": "b", "nameLocation": "4686:1:0", "nodeType": "VariableDeclaration", "scope": 429, "src": "4678:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 416, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4678:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 419, "mutability": "mutable", "name": "err", "nameLocation": "4703:3:0", "nodeType": "VariableDeclaration", "scope": 429, "src": "4689:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 418, "name": "string", "nodeType": "ElementaryTypeName", "src": "4689:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "4666:41:0" }, "returnParameters": { "id": 421, "nodeType": "ParameterList", "parameters": [], "src": "4717:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 459, "nodeType": "FunctionDefinition", "src": "4759:257:0", "body": { "id": 458, "nodeType": "Block", "src": "4800:216:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 438, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 436, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 431, "src": "4814:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 437, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, "src": "4819:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "4814:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 457, "nodeType": "IfStatement", "src": "4810:200:0", "trueBody": { "id": 456, "nodeType": "Block", "src": "4822:188:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745d", "id": 440, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4845:35:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81", "typeString": "literal_string \"Error: a == b not satisfied [int]\"" }, "value": "Error: a == b not satisfied [int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81", "typeString": "literal_string \"Error: a == b not satisfied [int]\"" } ], "id": 439, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "4841:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 441, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4841:40:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 442, "nodeType": "EmitStatement", "src": "4836:45:0" }, { "eventCall": { "arguments": [ { "hexValue": "20204578706563746564", "id": 444, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4914:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, "value": " Expected" }, { "id": 445, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 433, "src": "4928:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 443, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "4900:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 446, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4900:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 447, "nodeType": "EmitStatement", "src": "4895:35:0" }, { "eventCall": { "arguments": [ { "hexValue": "2020202041637475616c", "id": 449, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "4963:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, "value": " Actual" }, { "id": 450, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 431, "src": "4977:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 448, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "4949:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 451, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4949:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 452, "nodeType": "EmitStatement", "src": "4944:35:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 453, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "4993:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 454, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "4993:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 455, "nodeType": "ExpressionStatement", "src": "4993:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "4768:8:0", "parameters": { "id": 434, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 431, "mutability": "mutable", "name": "a", "nameLocation": "4781:1:0", "nodeType": "VariableDeclaration", "scope": 459, "src": "4777:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 430, "name": "int", "nodeType": "ElementaryTypeName", "src": "4777:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 433, "mutability": "mutable", "name": "b", "nameLocation": "4788:1:0", "nodeType": "VariableDeclaration", "scope": 459, "src": "4784:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 432, "name": "int", "nodeType": "ElementaryTypeName", "src": "4784:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "4776:14:0" }, "returnParameters": { "id": 435, "nodeType": "ParameterList", "parameters": [], "src": "4800:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 484, "nodeType": "FunctionDefinition", "src": "5021:176:0", "body": { "id": 483, "nodeType": "Block", "src": "5081:116:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 470, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 468, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 461, "src": "5095:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 469, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 463, "src": "5100:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "5095:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 482, "nodeType": "IfStatement", "src": "5091:100:0", "trueBody": { "id": 481, "nodeType": "Block", "src": "5103:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5139:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 473, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 465, "src": "5148:3:0", "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": 471, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "5122:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 474, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5122:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 475, "nodeType": "EmitStatement", "src": "5117:35:0" }, { "expression": { "arguments": [ { "id": 477, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 461, "src": "5175:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 478, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 463, "src": "5178:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 476, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 459, "src": "5166:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", "typeString": "function (int256,int256)" } }, "id": 479, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5166:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 480, "nodeType": "ExpressionStatement", "src": "5166:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "5030:8:0", "parameters": { "id": 466, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 461, "mutability": "mutable", "name": "a", "nameLocation": "5043:1:0", "nodeType": "VariableDeclaration", "scope": 484, "src": "5039:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 460, "name": "int", "nodeType": "ElementaryTypeName", "src": "5039:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 463, "mutability": "mutable", "name": "b", "nameLocation": "5050:1:0", "nodeType": "VariableDeclaration", "scope": 484, "src": "5046:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 462, "name": "int", "nodeType": "ElementaryTypeName", "src": "5046:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 465, "mutability": "mutable", "name": "err", "nameLocation": "5067:3:0", "nodeType": "VariableDeclaration", "scope": 484, "src": "5053:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 464, "name": "string", "nodeType": "ElementaryTypeName", "src": "5053:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "5038:33:0" }, "returnParameters": { "id": 467, "nodeType": "ParameterList", "parameters": [], "src": "5081:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 514, "nodeType": "FunctionDefinition", "src": "5202:262:0", "body": { "id": 513, "nodeType": "Block", "src": "5245:219:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 493, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 491, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 486, "src": "5259:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 492, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 488, "src": "5264:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "5259:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 512, "nodeType": "IfStatement", "src": "5255:203:0", "trueBody": { "id": 511, "nodeType": "Block", "src": "5267:191:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d", "id": 495, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5290:36:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183", "typeString": "literal_string \"Error: a == b not satisfied [uint]\"" }, "value": "Error: a == b not satisfied [uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183", "typeString": "literal_string \"Error: a == b not satisfied [uint]\"" } ], "id": 494, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "5286:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 496, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5286:41:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 497, "nodeType": "EmitStatement", "src": "5281:46:0" }, { "eventCall": { "arguments": [ { "hexValue": "20204578706563746564", "id": 499, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5361:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, "value": " Expected" }, { "id": 500, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 488, "src": "5375:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 498, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "5346:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 501, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5346:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 502, "nodeType": "EmitStatement", "src": "5341:36:0" }, { "eventCall": { "arguments": [ { "hexValue": "2020202041637475616c", "id": 504, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5411:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, "value": " Actual" }, { "id": 505, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 486, "src": "5425:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 503, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "5396:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 506, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5396:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 507, "nodeType": "EmitStatement", "src": "5391:36:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 508, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "5441:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 509, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5441:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 510, "nodeType": "ExpressionStatement", "src": "5441:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "5211:8:0", "parameters": { "id": 489, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 486, "mutability": "mutable", "name": "a", "nameLocation": "5225:1:0", "nodeType": "VariableDeclaration", "scope": 514, "src": "5220:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 485, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5220:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 488, "mutability": "mutable", "name": "b", "nameLocation": "5233:1:0", "nodeType": "VariableDeclaration", "scope": 514, "src": "5228:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 487, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5228:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "5219:16:0" }, "returnParameters": { "id": 490, "nodeType": "ParameterList", "parameters": [], "src": "5245:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 539, "nodeType": "FunctionDefinition", "src": "5469:178:0", "body": { "id": 538, "nodeType": "Block", "src": "5531:116:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 525, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 523, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 516, "src": "5545:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 524, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 518, "src": "5550:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "5545:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 537, "nodeType": "IfStatement", "src": "5541:100:0", "trueBody": { "id": 536, "nodeType": "Block", "src": "5553:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 527, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5589:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 528, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 520, "src": "5598:3:0", "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": 526, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "5572:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 529, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5572:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 530, "nodeType": "EmitStatement", "src": "5567:35:0" }, { "expression": { "arguments": [ { "id": 532, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 516, "src": "5625:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 533, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 518, "src": "5628:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 531, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 514, "src": "5616:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, "id": 534, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5616:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 535, "nodeType": "ExpressionStatement", "src": "5616:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "5478:8:0", "parameters": { "id": 521, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 516, "mutability": "mutable", "name": "a", "nameLocation": "5492:1:0", "nodeType": "VariableDeclaration", "scope": 539, "src": "5487:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 515, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5487:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 518, "mutability": "mutable", "name": "b", "nameLocation": "5500:1:0", "nodeType": "VariableDeclaration", "scope": 539, "src": "5495:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 517, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5495:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 520, "mutability": "mutable", "name": "err", "nameLocation": "5517:3:0", "nodeType": "VariableDeclaration", "scope": 539, "src": "5503:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 519, "name": "string", "nodeType": "ElementaryTypeName", "src": "5503:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "5486:35:0" }, "returnParameters": { "id": 522, "nodeType": "ParameterList", "parameters": [], "src": "5531:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 573, "nodeType": "FunctionDefinition", "src": "5652:323:0", "body": { "id": 572, "nodeType": "Block", "src": "5715:260:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 548, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 541, "src": "5729:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 549, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 543, "src": "5734:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "5729:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 571, "nodeType": "IfStatement", "src": "5725:244:0", "trueBody": { "id": 570, "nodeType": "Block", "src": "5737:232:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c20696e745d", "id": 552, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5760:43:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6", "typeString": "literal_string \"Error: a == b not satisfied [decimal int]\"" }, "value": "Error: a == b not satisfied [decimal int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6", "typeString": "literal_string \"Error: a == b not satisfied [decimal int]\"" } ], "id": 551, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "5756:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 553, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5756:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 554, "nodeType": "EmitStatement", "src": "5751:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "20204578706563746564", "id": 556, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5845:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, "value": " Expected" }, { "id": 557, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 543, "src": "5859:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 558, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 545, "src": "5862:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 555, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "5823:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 559, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5823:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 560, "nodeType": "EmitStatement", "src": "5818:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "2020202041637475616c", "id": 562, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "5912:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, "value": " Actual" }, { "id": 563, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 541, "src": "5926:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 564, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 545, "src": "5929:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 561, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "5890:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 565, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5890:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 566, "nodeType": "EmitStatement", "src": "5885:53:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 567, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "5952:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 568, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "5952:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 569, "nodeType": "ExpressionStatement", "src": "5952:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEqDecimal", "nameLocation": "5661:15:0", "parameters": { "id": 546, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 541, "mutability": "mutable", "name": "a", "nameLocation": "5681:1:0", "nodeType": "VariableDeclaration", "scope": 573, "src": "5677:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 540, "name": "int", "nodeType": "ElementaryTypeName", "src": "5677:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 543, "mutability": "mutable", "name": "b", "nameLocation": "5688:1:0", "nodeType": "VariableDeclaration", "scope": 573, "src": "5684:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 542, "name": "int", "nodeType": "ElementaryTypeName", "src": "5684:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 545, "mutability": "mutable", "name": "decimals", "nameLocation": "5696:8:0", "nodeType": "VariableDeclaration", "scope": 573, "src": "5691:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 544, "name": "uint", "nodeType": "ElementaryTypeName", "src": "5691:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "5676:29:0" }, "returnParameters": { "id": 547, "nodeType": "ParameterList", "parameters": [], "src": "5715:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 601, "nodeType": "FunctionDefinition", "src": "5980:215:0", "body": { "id": 600, "nodeType": "Block", "src": "6062:133:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 584, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 575, "src": "6076:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 585, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 577, "src": "6081:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "6076:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 599, "nodeType": "IfStatement", "src": "6072:117:0", "trueBody": { "id": 598, "nodeType": "Block", "src": "6084:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 588, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6120:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 589, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 581, "src": "6129:3:0", "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": 587, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "6103:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 590, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6103:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 591, "nodeType": "EmitStatement", "src": "6098:35:0" }, { "expression": { "arguments": [ { "id": 593, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 575, "src": "6163:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 594, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 577, "src": "6166:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 595, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 579, "src": "6169:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 592, "name": "assertEqDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 573, 601, 635, 663 ], "referencedDeclaration": 573, "src": "6147:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (int256,int256,uint256)" } }, "id": 596, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6147:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 597, "nodeType": "ExpressionStatement", "src": "6147:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEqDecimal", "nameLocation": "5989:15:0", "parameters": { "id": 582, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 575, "mutability": "mutable", "name": "a", "nameLocation": "6009:1:0", "nodeType": "VariableDeclaration", "scope": 601, "src": "6005:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 574, "name": "int", "nodeType": "ElementaryTypeName", "src": "6005:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 577, "mutability": "mutable", "name": "b", "nameLocation": "6016:1:0", "nodeType": "VariableDeclaration", "scope": 601, "src": "6012:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 576, "name": "int", "nodeType": "ElementaryTypeName", "src": "6012:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 579, "mutability": "mutable", "name": "decimals", "nameLocation": "6024:8:0", "nodeType": "VariableDeclaration", "scope": 601, "src": "6019:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 578, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6019:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 581, "mutability": "mutable", "name": "err", "nameLocation": "6048:3:0", "nodeType": "VariableDeclaration", "scope": 601, "src": "6034:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 580, "name": "string", "nodeType": "ElementaryTypeName", "src": "6034:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "6004:48:0" }, "returnParameters": { "id": 583, "nodeType": "ParameterList", "parameters": [], "src": "6062:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 635, "nodeType": "FunctionDefinition", "src": "6200:328:0", "body": { "id": 634, "nodeType": "Block", "src": "6265:263:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 612, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 610, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 603, "src": "6279:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 611, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 605, "src": "6284:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6279:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 633, "nodeType": "IfStatement", "src": "6275:247:0", "trueBody": { "id": 632, "nodeType": "Block", "src": "6287:235:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d", "id": 614, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6310:44:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141", "typeString": "literal_string \"Error: a == b not satisfied [decimal uint]\"" }, "value": "Error: a == b not satisfied [decimal uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141", "typeString": "literal_string \"Error: a == b not satisfied [decimal uint]\"" } ], "id": 613, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "6306:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 615, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6306:49:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 616, "nodeType": "EmitStatement", "src": "6301:54:0" }, { "eventCall": { "arguments": [ { "hexValue": "20204578706563746564", "id": 618, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6397:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, "value": " Expected" }, { "id": 619, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 605, "src": "6411:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 620, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 607, "src": "6414:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 617, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "6374:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 621, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6374:49:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 622, "nodeType": "EmitStatement", "src": "6369:54:0" }, { "eventCall": { "arguments": [ { "hexValue": "2020202041637475616c", "id": 624, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6465:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, "value": " Actual" }, { "id": 625, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 603, "src": "6479:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 626, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 607, "src": "6482:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 623, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "6442:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 627, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6442:49:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 628, "nodeType": "EmitStatement", "src": "6437:54:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 629, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "6505:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 630, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6505:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 631, "nodeType": "ExpressionStatement", "src": "6505:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEqDecimal", "nameLocation": "6209:15:0", "parameters": { "id": 608, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 603, "mutability": "mutable", "name": "a", "nameLocation": "6230:1:0", "nodeType": "VariableDeclaration", "scope": 635, "src": "6225:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 602, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6225:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 605, "mutability": "mutable", "name": "b", "nameLocation": "6238:1:0", "nodeType": "VariableDeclaration", "scope": 635, "src": "6233:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 604, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6233:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 607, "mutability": "mutable", "name": "decimals", "nameLocation": "6246:8:0", "nodeType": "VariableDeclaration", "scope": 635, "src": "6241:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 606, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6241:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "6224:31:0" }, "returnParameters": { "id": 609, "nodeType": "ParameterList", "parameters": [], "src": "6265:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 663, "nodeType": "FunctionDefinition", "src": "6533:217:0", "body": { "id": 662, "nodeType": "Block", "src": "6617:133:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 648, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 646, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, "src": "6631:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "id": 647, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 639, "src": "6636:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6631:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 661, "nodeType": "IfStatement", "src": "6627:117:0", "trueBody": { "id": 660, "nodeType": "Block", "src": "6639:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6675:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 651, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 643, "src": "6684:3:0", "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": 649, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "6658:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 652, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6658:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 653, "nodeType": "EmitStatement", "src": "6653:35:0" }, { "expression": { "arguments": [ { "id": 655, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 637, "src": "6718:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 656, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 639, "src": "6721:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 657, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 641, "src": "6724:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 654, "name": "assertEqDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 573, 601, 635, 663 ], "referencedDeclaration": 635, "src": "6702:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, "id": 658, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6702:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 659, "nodeType": "ExpressionStatement", "src": "6702:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEqDecimal", "nameLocation": "6542:15:0", "parameters": { "id": 644, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 637, "mutability": "mutable", "name": "a", "nameLocation": "6563:1:0", "nodeType": "VariableDeclaration", "scope": 663, "src": "6558:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 636, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6558:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 639, "mutability": "mutable", "name": "b", "nameLocation": "6571:1:0", "nodeType": "VariableDeclaration", "scope": 663, "src": "6566:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 638, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6566:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 641, "mutability": "mutable", "name": "decimals", "nameLocation": "6579:8:0", "nodeType": "VariableDeclaration", "scope": 663, "src": "6574:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 640, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6574:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 643, "mutability": "mutable", "name": "err", "nameLocation": "6603:3:0", "nodeType": "VariableDeclaration", "scope": 663, "src": "6589:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 642, "name": "string", "nodeType": "ElementaryTypeName", "src": "6589:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "6557:50:0" }, "returnParameters": { "id": 645, "nodeType": "ParameterList", "parameters": [], "src": "6617:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 693, "nodeType": "FunctionDefinition", "src": "6756:259:0", "body": { "id": 692, "nodeType": "Block", "src": "6799:216:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 672, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 670, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 665, "src": "6813:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 671, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 667, "src": "6818:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "6813:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 691, "nodeType": "IfStatement", "src": "6809:200:0", "trueBody": { "id": 690, "nodeType": "Block", "src": "6821:188:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203e2062206e6f7420736174697366696564205b75696e745d", "id": 674, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6844:35:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a", "typeString": "literal_string \"Error: a > b not satisfied [uint]\"" }, "value": "Error: a > b not satisfied [uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a", "typeString": "literal_string \"Error: a > b not satisfied [uint]\"" } ], "id": 673, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "6840:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 675, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6840:40:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 676, "nodeType": "EmitStatement", "src": "6835:45:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 678, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6914:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 679, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 665, "src": "6927:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 677, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "6899:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 680, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6899:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 681, "nodeType": "EmitStatement", "src": "6894:35:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 683, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "6963:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 684, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 667, "src": "6976:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 682, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "6948:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 685, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6948:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 686, "nodeType": "EmitStatement", "src": "6943:35:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 687, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "6992:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 688, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "6992:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 689, "nodeType": "ExpressionStatement", "src": "6992:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGt", "nameLocation": "6765:8:0", "parameters": { "id": 668, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 665, "mutability": "mutable", "name": "a", "nameLocation": "6779:1:0", "nodeType": "VariableDeclaration", "scope": 693, "src": "6774:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 664, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6774:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 667, "mutability": "mutable", "name": "b", "nameLocation": "6787:1:0", "nodeType": "VariableDeclaration", "scope": 693, "src": "6782:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 666, "name": "uint", "nodeType": "ElementaryTypeName", "src": "6782:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "6773:16:0" }, "returnParameters": { "id": 669, "nodeType": "ParameterList", "parameters": [], "src": "6799:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 718, "nodeType": "FunctionDefinition", "src": "7020:178:0", "body": { "id": 717, "nodeType": "Block", "src": "7082:116:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 702, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 695, "src": "7096:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 703, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 697, "src": "7101:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "7096:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 716, "nodeType": "IfStatement", "src": "7092:100:0", "trueBody": { "id": 715, "nodeType": "Block", "src": "7104:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 706, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7140:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 707, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 699, "src": "7149:3:0", "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": 705, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "7123:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 708, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7123:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 709, "nodeType": "EmitStatement", "src": "7118:35:0" }, { "expression": { "arguments": [ { "id": 711, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 695, "src": "7176:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 712, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 697, "src": "7179:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 710, "name": "assertGt", "nodeType": "Identifier", "overloadedDeclarations": [ 693, 718, 748, 773 ], "referencedDeclaration": 693, "src": "7167:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, "id": 713, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7167:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 714, "nodeType": "ExpressionStatement", "src": "7167:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGt", "nameLocation": "7029:8:0", "parameters": { "id": 700, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 695, "mutability": "mutable", "name": "a", "nameLocation": "7043:1:0", "nodeType": "VariableDeclaration", "scope": 718, "src": "7038:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 694, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7038:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 697, "mutability": "mutable", "name": "b", "nameLocation": "7051:1:0", "nodeType": "VariableDeclaration", "scope": 718, "src": "7046:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 696, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7046:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 699, "mutability": "mutable", "name": "err", "nameLocation": "7068:3:0", "nodeType": "VariableDeclaration", "scope": 718, "src": "7054:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 698, "name": "string", "nodeType": "ElementaryTypeName", "src": "7054:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "7037:35:0" }, "returnParameters": { "id": 701, "nodeType": "ParameterList", "parameters": [], "src": "7082:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 748, "nodeType": "FunctionDefinition", "src": "7203:254:0", "body": { "id": 747, "nodeType": "Block", "src": "7244:213:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 727, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 725, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, "src": "7258:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 726, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 722, "src": "7263:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "7258:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 746, "nodeType": "IfStatement", "src": "7254:197:0", "trueBody": { "id": 745, "nodeType": "Block", "src": "7266:185:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203e2062206e6f7420736174697366696564205b696e745d", "id": 729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7289:34:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b", "typeString": "literal_string \"Error: a > b not satisfied [int]\"" }, "value": "Error: a > b not satisfied [int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b", "typeString": "literal_string \"Error: a > b not satisfied [int]\"" } ], "id": 728, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "7285:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 730, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7285:39:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 731, "nodeType": "EmitStatement", "src": "7280:44:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 733, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7357:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 734, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 720, "src": "7370:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 732, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "7343:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 735, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7343:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 736, "nodeType": "EmitStatement", "src": "7338:34:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 738, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7405:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 739, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 722, "src": "7418:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 737, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "7391:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 740, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7391:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 741, "nodeType": "EmitStatement", "src": "7386:34:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 742, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "7434:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 743, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7434:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 744, "nodeType": "ExpressionStatement", "src": "7434:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGt", "nameLocation": "7212:8:0", "parameters": { "id": 723, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 720, "mutability": "mutable", "name": "a", "nameLocation": "7225:1:0", "nodeType": "VariableDeclaration", "scope": 748, "src": "7221:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 719, "name": "int", "nodeType": "ElementaryTypeName", "src": "7221:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 722, "mutability": "mutable", "name": "b", "nameLocation": "7232:1:0", "nodeType": "VariableDeclaration", "scope": 748, "src": "7228:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 721, "name": "int", "nodeType": "ElementaryTypeName", "src": "7228:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "7220:14:0" }, "returnParameters": { "id": 724, "nodeType": "ParameterList", "parameters": [], "src": "7244:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 773, "nodeType": "FunctionDefinition", "src": "7462:176:0", "body": { "id": 772, "nodeType": "Block", "src": "7522:116:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 759, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 757, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 750, "src": "7536:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 758, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 752, "src": "7541:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "7536:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 771, "nodeType": "IfStatement", "src": "7532:100:0", "trueBody": { "id": 770, "nodeType": "Block", "src": "7544:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 761, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7580:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 762, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 754, "src": "7589:3:0", "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": 760, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "7563:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 763, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7563:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 764, "nodeType": "EmitStatement", "src": "7558:35:0" }, { "expression": { "arguments": [ { "id": 766, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 750, "src": "7616:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 767, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 752, "src": "7619:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 765, "name": "assertGt", "nodeType": "Identifier", "overloadedDeclarations": [ 693, 718, 748, 773 ], "referencedDeclaration": 748, "src": "7607:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", "typeString": "function (int256,int256)" } }, "id": 768, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7607:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 769, "nodeType": "ExpressionStatement", "src": "7607:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGt", "nameLocation": "7471:8:0", "parameters": { "id": 755, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 750, "mutability": "mutable", "name": "a", "nameLocation": "7484:1:0", "nodeType": "VariableDeclaration", "scope": 773, "src": "7480:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 749, "name": "int", "nodeType": "ElementaryTypeName", "src": "7480:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 752, "mutability": "mutable", "name": "b", "nameLocation": "7491:1:0", "nodeType": "VariableDeclaration", "scope": 773, "src": "7487:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 751, "name": "int", "nodeType": "ElementaryTypeName", "src": "7487:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 754, "mutability": "mutable", "name": "err", "nameLocation": "7508:3:0", "nodeType": "VariableDeclaration", "scope": 773, "src": "7494:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 753, "name": "string", "nodeType": "ElementaryTypeName", "src": "7494:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "7479:33:0" }, "returnParameters": { "id": 756, "nodeType": "ParameterList", "parameters": [], "src": "7522:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 807, "nodeType": "FunctionDefinition", "src": "7643:320:0", "body": { "id": 806, "nodeType": "Block", "src": "7706:257:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 784, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 782, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, "src": "7720:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 783, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 777, "src": "7725:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "7720:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 805, "nodeType": "IfStatement", "src": "7716:241:0", "trueBody": { "id": 804, "nodeType": "Block", "src": "7728:229:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c20696e745d", "id": 786, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7751:42:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad", "typeString": "literal_string \"Error: a > b not satisfied [decimal int]\"" }, "value": "Error: a > b not satisfied [decimal int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad", "typeString": "literal_string \"Error: a > b not satisfied [decimal int]\"" } ], "id": 785, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "7747:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 787, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7747:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 788, "nodeType": "EmitStatement", "src": "7742:52:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 790, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7835:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 791, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 775, "src": "7848:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 792, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 779, "src": "7851:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 789, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "7813:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 793, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7813:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 794, "nodeType": "EmitStatement", "src": "7808:52:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 796, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "7901:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 797, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 777, "src": "7914:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 798, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 779, "src": "7917:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 795, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "7879:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 799, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7879:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 800, "nodeType": "EmitStatement", "src": "7874:52:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 801, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "7940:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 802, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "7940:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 803, "nodeType": "ExpressionStatement", "src": "7940:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGtDecimal", "nameLocation": "7652:15:0", "parameters": { "id": 780, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 775, "mutability": "mutable", "name": "a", "nameLocation": "7672:1:0", "nodeType": "VariableDeclaration", "scope": 807, "src": "7668:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 774, "name": "int", "nodeType": "ElementaryTypeName", "src": "7668:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 777, "mutability": "mutable", "name": "b", "nameLocation": "7679:1:0", "nodeType": "VariableDeclaration", "scope": 807, "src": "7675:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 776, "name": "int", "nodeType": "ElementaryTypeName", "src": "7675:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 779, "mutability": "mutable", "name": "decimals", "nameLocation": "7687:8:0", "nodeType": "VariableDeclaration", "scope": 807, "src": "7682:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 778, "name": "uint", "nodeType": "ElementaryTypeName", "src": "7682:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "7667:29:0" }, "returnParameters": { "id": 781, "nodeType": "ParameterList", "parameters": [], "src": "7706:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 835, "nodeType": "FunctionDefinition", "src": "7968:215:0", "body": { "id": 834, "nodeType": "Block", "src": "8050:133:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 820, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 818, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, "src": "8064:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 819, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 811, "src": "8069:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "8064:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 833, "nodeType": "IfStatement", "src": "8060:117:0", "trueBody": { "id": 832, "nodeType": "Block", "src": "8072:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8108:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 823, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 815, "src": "8117:3:0", "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": 821, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "8091:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 824, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8091:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 825, "nodeType": "EmitStatement", "src": "8086:35:0" }, { "expression": { "arguments": [ { "id": 827, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 809, "src": "8151:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 828, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 811, "src": "8154:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 829, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 813, "src": "8157:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 826, "name": "assertGtDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 807, 835, 869, 897 ], "referencedDeclaration": 807, "src": "8135:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (int256,int256,uint256)" } }, "id": 830, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8135:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 831, "nodeType": "ExpressionStatement", "src": "8135:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGtDecimal", "nameLocation": "7977:15:0", "parameters": { "id": 816, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 809, "mutability": "mutable", "name": "a", "nameLocation": "7997:1:0", "nodeType": "VariableDeclaration", "scope": 835, "src": "7993:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 808, "name": "int", "nodeType": "ElementaryTypeName", "src": "7993:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 811, "mutability": "mutable", "name": "b", "nameLocation": "8004:1:0", "nodeType": "VariableDeclaration", "scope": 835, "src": "8000:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 810, "name": "int", "nodeType": "ElementaryTypeName", "src": "8000:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 813, "mutability": "mutable", "name": "decimals", "nameLocation": "8012:8:0", "nodeType": "VariableDeclaration", "scope": 835, "src": "8007:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 812, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8007:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 815, "mutability": "mutable", "name": "err", "nameLocation": "8036:3:0", "nodeType": "VariableDeclaration", "scope": 835, "src": "8022:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 814, "name": "string", "nodeType": "ElementaryTypeName", "src": "8022:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "7992:48:0" }, "returnParameters": { "id": 817, "nodeType": "ParameterList", "parameters": [], "src": "8050:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 869, "nodeType": "FunctionDefinition", "src": "8188:325:0", "body": { "id": 868, "nodeType": "Block", "src": "8253:260:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 846, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 844, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 837, "src": "8267:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 845, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 839, "src": "8272:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "8267:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 867, "nodeType": "IfStatement", "src": "8263:244:0", "trueBody": { "id": 866, "nodeType": "Block", "src": "8275:232:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c2075696e745d", "id": 848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8298:43:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f", "typeString": "literal_string \"Error: a > b not satisfied [decimal uint]\"" }, "value": "Error: a > b not satisfied [decimal uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f", "typeString": "literal_string \"Error: a > b not satisfied [decimal uint]\"" } ], "id": 847, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "8294:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 849, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8294:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 850, "nodeType": "EmitStatement", "src": "8289:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 852, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8384:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 853, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 837, "src": "8397:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 854, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "8400:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 851, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "8361:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 855, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8361:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 856, "nodeType": "EmitStatement", "src": "8356:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 858, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8451:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 859, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 839, "src": "8464:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 860, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 841, "src": "8467:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 857, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "8428:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 861, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8428:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 862, "nodeType": "EmitStatement", "src": "8423:53:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 863, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "8490:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 864, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8490:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 865, "nodeType": "ExpressionStatement", "src": "8490:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGtDecimal", "nameLocation": "8197:15:0", "parameters": { "id": 842, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 837, "mutability": "mutable", "name": "a", "nameLocation": "8218:1:0", "nodeType": "VariableDeclaration", "scope": 869, "src": "8213:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 836, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8213:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 839, "mutability": "mutable", "name": "b", "nameLocation": "8226:1:0", "nodeType": "VariableDeclaration", "scope": 869, "src": "8221:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 838, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8221:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 841, "mutability": "mutable", "name": "decimals", "nameLocation": "8234:8:0", "nodeType": "VariableDeclaration", "scope": 869, "src": "8229:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 840, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8229:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8212:31:0" }, "returnParameters": { "id": 843, "nodeType": "ParameterList", "parameters": [], "src": "8253:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 897, "nodeType": "FunctionDefinition", "src": "8518:217:0", "body": { "id": 896, "nodeType": "Block", "src": "8602:133:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 882, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 880, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 871, "src": "8616:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { "id": 881, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 873, "src": "8621:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "8616:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 895, "nodeType": "IfStatement", "src": "8612:117:0", "trueBody": { "id": 894, "nodeType": "Block", "src": "8624:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 884, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8660:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 885, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 877, "src": "8669:3:0", "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": 883, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "8643:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 886, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8643:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 887, "nodeType": "EmitStatement", "src": "8638:35:0" }, { "expression": { "arguments": [ { "id": 889, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 871, "src": "8703:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 890, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 873, "src": "8706:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 891, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 875, "src": "8709:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 888, "name": "assertGtDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 807, 835, 869, 897 ], "referencedDeclaration": 869, "src": "8687:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, "id": 892, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8687:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 893, "nodeType": "ExpressionStatement", "src": "8687:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGtDecimal", "nameLocation": "8527:15:0", "parameters": { "id": 878, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 871, "mutability": "mutable", "name": "a", "nameLocation": "8548:1:0", "nodeType": "VariableDeclaration", "scope": 897, "src": "8543:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 870, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8543:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 873, "mutability": "mutable", "name": "b", "nameLocation": "8556:1:0", "nodeType": "VariableDeclaration", "scope": 897, "src": "8551:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 872, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8551:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 875, "mutability": "mutable", "name": "decimals", "nameLocation": "8564:8:0", "nodeType": "VariableDeclaration", "scope": 897, "src": "8559:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 874, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8559:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 877, "mutability": "mutable", "name": "err", "nameLocation": "8588:3:0", "nodeType": "VariableDeclaration", "scope": 897, "src": "8574:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 876, "name": "string", "nodeType": "ElementaryTypeName", "src": "8574:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "8542:50:0" }, "returnParameters": { "id": 879, "nodeType": "ParameterList", "parameters": [], "src": "8602:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 927, "nodeType": "FunctionDefinition", "src": "8741:259:0", "body": { "id": 926, "nodeType": "Block", "src": "8784:216:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 906, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 904, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, "src": "8798:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 905, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 901, "src": "8802:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "8798:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 925, "nodeType": "IfStatement", "src": "8794:200:0", "trueBody": { "id": 924, "nodeType": "Block", "src": "8805:189:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203e3d2062206e6f7420736174697366696564205b75696e745d", "id": 908, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8828:36:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e", "typeString": "literal_string \"Error: a >= b not satisfied [uint]\"" }, "value": "Error: a >= b not satisfied [uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e", "typeString": "literal_string \"Error: a >= b not satisfied [uint]\"" } ], "id": 907, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "8824:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 909, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8824:41:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 910, "nodeType": "EmitStatement", "src": "8819:46:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 912, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8899:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 913, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 899, "src": "8912:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 911, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "8884:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 914, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8884:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 915, "nodeType": "EmitStatement", "src": "8879:35:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 917, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "8948:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 918, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 901, "src": "8961:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 916, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "8933:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 919, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8933:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 920, "nodeType": "EmitStatement", "src": "8928:35:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 921, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "8977:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 922, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "8977:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 923, "nodeType": "ExpressionStatement", "src": "8977:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGe", "nameLocation": "8750:8:0", "parameters": { "id": 902, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 899, "mutability": "mutable", "name": "a", "nameLocation": "8764:1:0", "nodeType": "VariableDeclaration", "scope": 927, "src": "8759:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 898, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8759:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 901, "mutability": "mutable", "name": "b", "nameLocation": "8772:1:0", "nodeType": "VariableDeclaration", "scope": 927, "src": "8767:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 900, "name": "uint", "nodeType": "ElementaryTypeName", "src": "8767:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "8758:16:0" }, "returnParameters": { "id": 903, "nodeType": "ParameterList", "parameters": [], "src": "8784:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 952, "nodeType": "FunctionDefinition", "src": "9005:177:0", "body": { "id": 951, "nodeType": "Block", "src": "9067:115:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 938, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 936, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 929, "src": "9081:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 937, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, "src": "9085:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "9081:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 950, "nodeType": "IfStatement", "src": "9077:99:0", "trueBody": { "id": 949, "nodeType": "Block", "src": "9088:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9124:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 941, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 933, "src": "9133:3:0", "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": 939, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "9107:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 942, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9107:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 943, "nodeType": "EmitStatement", "src": "9102:35:0" }, { "expression": { "arguments": [ { "id": 945, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 929, "src": "9160:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 946, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 931, "src": "9163:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 944, "name": "assertGe", "nodeType": "Identifier", "overloadedDeclarations": [ 927, 952, 982, 1007 ], "referencedDeclaration": 927, "src": "9151:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, "id": 947, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9151:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 948, "nodeType": "ExpressionStatement", "src": "9151:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGe", "nameLocation": "9014:8:0", "parameters": { "id": 934, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 929, "mutability": "mutable", "name": "a", "nameLocation": "9028:1:0", "nodeType": "VariableDeclaration", "scope": 952, "src": "9023:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 928, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9023:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 931, "mutability": "mutable", "name": "b", "nameLocation": "9036:1:0", "nodeType": "VariableDeclaration", "scope": 952, "src": "9031:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 930, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9031:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 933, "mutability": "mutable", "name": "err", "nameLocation": "9053:3:0", "nodeType": "VariableDeclaration", "scope": 952, "src": "9039:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 932, "name": "string", "nodeType": "ElementaryTypeName", "src": "9039:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "9022:35:0" }, "returnParameters": { "id": 935, "nodeType": "ParameterList", "parameters": [], "src": "9067:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 982, "nodeType": "FunctionDefinition", "src": "9187:254:0", "body": { "id": 981, "nodeType": "Block", "src": "9228:213:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 961, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 959, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 954, "src": "9242:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 960, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 956, "src": "9246:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "9242:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 980, "nodeType": "IfStatement", "src": "9238:197:0", "trueBody": { "id": 979, "nodeType": "Block", "src": "9249:186:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203e3d2062206e6f7420736174697366696564205b696e745d", "id": 963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9272:35:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6", "typeString": "literal_string \"Error: a >= b not satisfied [int]\"" }, "value": "Error: a >= b not satisfied [int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6", "typeString": "literal_string \"Error: a >= b not satisfied [int]\"" } ], "id": 962, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "9268:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 964, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9268:40:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 965, "nodeType": "EmitStatement", "src": "9263:45:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 967, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9341:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 968, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 954, "src": "9354:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 966, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "9327:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 969, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9327:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 970, "nodeType": "EmitStatement", "src": "9322:34:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 972, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9389:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 973, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 956, "src": "9402:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 971, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "9375:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 974, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9375:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 975, "nodeType": "EmitStatement", "src": "9370:34:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 976, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "9418:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 977, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9418:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 978, "nodeType": "ExpressionStatement", "src": "9418:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGe", "nameLocation": "9196:8:0", "parameters": { "id": 957, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 954, "mutability": "mutable", "name": "a", "nameLocation": "9209:1:0", "nodeType": "VariableDeclaration", "scope": 982, "src": "9205:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 953, "name": "int", "nodeType": "ElementaryTypeName", "src": "9205:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 956, "mutability": "mutable", "name": "b", "nameLocation": "9216:1:0", "nodeType": "VariableDeclaration", "scope": 982, "src": "9212:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 955, "name": "int", "nodeType": "ElementaryTypeName", "src": "9212:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "9204:14:0" }, "returnParameters": { "id": 958, "nodeType": "ParameterList", "parameters": [], "src": "9228:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1007, "nodeType": "FunctionDefinition", "src": "9446:175:0", "body": { "id": 1006, "nodeType": "Block", "src": "9506:115:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 993, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 991, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 984, "src": "9520:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 992, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 986, "src": "9524:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "9520:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1005, "nodeType": "IfStatement", "src": "9516:99:0", "trueBody": { "id": 1004, "nodeType": "Block", "src": "9527:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 995, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9563:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 996, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 988, "src": "9572:3:0", "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": 994, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "9546:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 997, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9546:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 998, "nodeType": "EmitStatement", "src": "9541:35:0" }, { "expression": { "arguments": [ { "id": 1000, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 984, "src": "9599:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1001, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 986, "src": "9602:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 999, "name": "assertGe", "nodeType": "Identifier", "overloadedDeclarations": [ 927, 952, 982, 1007 ], "referencedDeclaration": 982, "src": "9590:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", "typeString": "function (int256,int256)" } }, "id": 1002, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9590:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1003, "nodeType": "ExpressionStatement", "src": "9590:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGe", "nameLocation": "9455:8:0", "parameters": { "id": 989, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 984, "mutability": "mutable", "name": "a", "nameLocation": "9468:1:0", "nodeType": "VariableDeclaration", "scope": 1007, "src": "9464:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 983, "name": "int", "nodeType": "ElementaryTypeName", "src": "9464:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 986, "mutability": "mutable", "name": "b", "nameLocation": "9475:1:0", "nodeType": "VariableDeclaration", "scope": 1007, "src": "9471:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 985, "name": "int", "nodeType": "ElementaryTypeName", "src": "9471:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 988, "mutability": "mutable", "name": "err", "nameLocation": "9492:3:0", "nodeType": "VariableDeclaration", "scope": 1007, "src": "9478:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 987, "name": "string", "nodeType": "ElementaryTypeName", "src": "9478:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "9463:33:0" }, "returnParameters": { "id": 990, "nodeType": "ParameterList", "parameters": [], "src": "9506:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1041, "nodeType": "FunctionDefinition", "src": "9626:320:0", "body": { "id": 1040, "nodeType": "Block", "src": "9689:257:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1016, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1009, "src": "9703:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 1017, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1011, "src": "9707:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "9703:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1039, "nodeType": "IfStatement", "src": "9699:241:0", "trueBody": { "id": 1038, "nodeType": "Block", "src": "9710:230:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c20696e745d", "id": 1020, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9733:43:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736", "typeString": "literal_string \"Error: a >= b not satisfied [decimal int]\"" }, "value": "Error: a >= b not satisfied [decimal int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736", "typeString": "literal_string \"Error: a >= b not satisfied [decimal int]\"" } ], "id": 1019, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "9729:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1021, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9729:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1022, "nodeType": "EmitStatement", "src": "9724:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1024, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9818:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1025, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1009, "src": "9831:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1026, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1013, "src": "9834:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1023, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "9796:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 1027, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9796:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1028, "nodeType": "EmitStatement", "src": "9791:52:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1030, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "9884:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1031, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1011, "src": "9897:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1032, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1013, "src": "9900:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1029, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "9862:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 1033, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9862:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1034, "nodeType": "EmitStatement", "src": "9857:52:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1035, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "9923:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1036, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "9923:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1037, "nodeType": "ExpressionStatement", "src": "9923:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGeDecimal", "nameLocation": "9635:15:0", "parameters": { "id": 1014, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1009, "mutability": "mutable", "name": "a", "nameLocation": "9655:1:0", "nodeType": "VariableDeclaration", "scope": 1041, "src": "9651:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1008, "name": "int", "nodeType": "ElementaryTypeName", "src": "9651:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1011, "mutability": "mutable", "name": "b", "nameLocation": "9662:1:0", "nodeType": "VariableDeclaration", "scope": 1041, "src": "9658:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1010, "name": "int", "nodeType": "ElementaryTypeName", "src": "9658:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1013, "mutability": "mutable", "name": "decimals", "nameLocation": "9670:8:0", "nodeType": "VariableDeclaration", "scope": 1041, "src": "9665:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1012, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9665:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "9650:29:0" }, "returnParameters": { "id": 1015, "nodeType": "ParameterList", "parameters": [], "src": "9689:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1069, "nodeType": "FunctionDefinition", "src": "9951:214:0", "body": { "id": 1068, "nodeType": "Block", "src": "10033:132:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1052, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1043, "src": "10047:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 1053, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, "src": "10051:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "10047:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1067, "nodeType": "IfStatement", "src": "10043:116:0", "trueBody": { "id": 1066, "nodeType": "Block", "src": "10054:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1056, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10090:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1057, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1049, "src": "10099:3:0", "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": 1055, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "10073:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10073:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1059, "nodeType": "EmitStatement", "src": "10068:35:0" }, { "expression": { "arguments": [ { "id": 1061, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1043, "src": "10133:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1062, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, "src": "10136:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1063, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1047, "src": "10139:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1060, "name": "assertGeDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 1041, 1069, 1103, 1131 ], "referencedDeclaration": 1041, "src": "10117:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (int256,int256,uint256)" } }, "id": 1064, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10117:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1065, "nodeType": "ExpressionStatement", "src": "10117:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGeDecimal", "nameLocation": "9960:15:0", "parameters": { "id": 1050, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1043, "mutability": "mutable", "name": "a", "nameLocation": "9980:1:0", "nodeType": "VariableDeclaration", "scope": 1069, "src": "9976:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1042, "name": "int", "nodeType": "ElementaryTypeName", "src": "9976:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1045, "mutability": "mutable", "name": "b", "nameLocation": "9987:1:0", "nodeType": "VariableDeclaration", "scope": 1069, "src": "9983:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1044, "name": "int", "nodeType": "ElementaryTypeName", "src": "9983:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1047, "mutability": "mutable", "name": "decimals", "nameLocation": "9995:8:0", "nodeType": "VariableDeclaration", "scope": 1069, "src": "9990:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1046, "name": "uint", "nodeType": "ElementaryTypeName", "src": "9990:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1049, "mutability": "mutable", "name": "err", "nameLocation": "10019:3:0", "nodeType": "VariableDeclaration", "scope": 1069, "src": "10005:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1048, "name": "string", "nodeType": "ElementaryTypeName", "src": "10005:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "9975:48:0" }, "returnParameters": { "id": 1051, "nodeType": "ParameterList", "parameters": [], "src": "10033:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1103, "nodeType": "FunctionDefinition", "src": "10170:325:0", "body": { "id": 1102, "nodeType": "Block", "src": "10235:260:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1078, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, "src": "10249:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 1079, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, "src": "10253:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10249:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1101, "nodeType": "IfStatement", "src": "10245:244:0", "trueBody": { "id": 1100, "nodeType": "Block", "src": "10256:233:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d", "id": 1082, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10279:44:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616", "typeString": "literal_string \"Error: a >= b not satisfied [decimal uint]\"" }, "value": "Error: a >= b not satisfied [decimal uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616", "typeString": "literal_string \"Error: a >= b not satisfied [decimal uint]\"" } ], "id": 1081, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "10275:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1083, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10275:49:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1084, "nodeType": "EmitStatement", "src": "10270:54:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10366:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1087, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1071, "src": "10379:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1088, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, "src": "10382:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1085, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "10343:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 1089, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10343:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1090, "nodeType": "EmitStatement", "src": "10338:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1092, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10433:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1093, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1073, "src": "10446:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1094, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1075, "src": "10449:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1091, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "10410:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10410:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1096, "nodeType": "EmitStatement", "src": "10405:53:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1097, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "10472:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1098, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10472:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1099, "nodeType": "ExpressionStatement", "src": "10472:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGeDecimal", "nameLocation": "10179:15:0", "parameters": { "id": 1076, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1071, "mutability": "mutable", "name": "a", "nameLocation": "10200:1:0", "nodeType": "VariableDeclaration", "scope": 1103, "src": "10195:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1070, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10195:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1073, "mutability": "mutable", "name": "b", "nameLocation": "10208:1:0", "nodeType": "VariableDeclaration", "scope": 1103, "src": "10203:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1072, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10203:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1075, "mutability": "mutable", "name": "decimals", "nameLocation": "10216:8:0", "nodeType": "VariableDeclaration", "scope": 1103, "src": "10211:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1074, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10211:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "10194:31:0" }, "returnParameters": { "id": 1077, "nodeType": "ParameterList", "parameters": [], "src": "10235:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1131, "nodeType": "FunctionDefinition", "src": "10500:216:0", "body": { "id": 1130, "nodeType": "Block", "src": "10584:132:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1116, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1114, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1105, "src": "10598:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 1115, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1107, "src": "10602:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10598:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1129, "nodeType": "IfStatement", "src": "10594:116:0", "trueBody": { "id": 1128, "nodeType": "Block", "src": "10605:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1118, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10641:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1119, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1111, "src": "10650:3:0", "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": 1117, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "10624:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1120, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10624:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1121, "nodeType": "EmitStatement", "src": "10619:35:0" }, { "expression": { "arguments": [ { "id": 1123, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1105, "src": "10684:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1124, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1107, "src": "10687:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1125, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1109, "src": "10690:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1122, "name": "assertGeDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 1041, 1069, 1103, 1131 ], "referencedDeclaration": 1103, "src": "10668:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, "id": 1126, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10668:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1127, "nodeType": "ExpressionStatement", "src": "10668:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertGeDecimal", "nameLocation": "10509:15:0", "parameters": { "id": 1112, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1105, "mutability": "mutable", "name": "a", "nameLocation": "10530:1:0", "nodeType": "VariableDeclaration", "scope": 1131, "src": "10525:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1104, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10525:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1107, "mutability": "mutable", "name": "b", "nameLocation": "10538:1:0", "nodeType": "VariableDeclaration", "scope": 1131, "src": "10533:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1106, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10533:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1109, "mutability": "mutable", "name": "decimals", "nameLocation": "10546:8:0", "nodeType": "VariableDeclaration", "scope": 1131, "src": "10541:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1108, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10541:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1111, "mutability": "mutable", "name": "err", "nameLocation": "10570:3:0", "nodeType": "VariableDeclaration", "scope": 1131, "src": "10556:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1110, "name": "string", "nodeType": "ElementaryTypeName", "src": "10556:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "10524:50:0" }, "returnParameters": { "id": 1113, "nodeType": "ParameterList", "parameters": [], "src": "10584:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1161, "nodeType": "FunctionDefinition", "src": "10722:259:0", "body": { "id": 1160, "nodeType": "Block", "src": "10765:216:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1140, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1138, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1133, "src": "10779:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 1139, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1135, "src": "10784:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "10779:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1159, "nodeType": "IfStatement", "src": "10775:200:0", "trueBody": { "id": 1158, "nodeType": "Block", "src": "10787:188:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203c2062206e6f7420736174697366696564205b75696e745d", "id": 1142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10810:35:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9", "typeString": "literal_string \"Error: a < b not satisfied [uint]\"" }, "value": "Error: a < b not satisfied [uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9", "typeString": "literal_string \"Error: a < b not satisfied [uint]\"" } ], "id": 1141, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "10806:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1143, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10806:40:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1144, "nodeType": "EmitStatement", "src": "10801:45:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1146, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10880:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1147, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1133, "src": "10893:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1145, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "10865:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 1148, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10865:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1149, "nodeType": "EmitStatement", "src": "10860:35:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1151, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "10929:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1152, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1135, "src": "10942:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1150, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "10914:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 1153, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10914:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1154, "nodeType": "EmitStatement", "src": "10909:35:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1155, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "10958:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "10958:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1157, "nodeType": "ExpressionStatement", "src": "10958:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLt", "nameLocation": "10731:8:0", "parameters": { "id": 1136, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1133, "mutability": "mutable", "name": "a", "nameLocation": "10745:1:0", "nodeType": "VariableDeclaration", "scope": 1161, "src": "10740:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1132, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10740:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1135, "mutability": "mutable", "name": "b", "nameLocation": "10753:1:0", "nodeType": "VariableDeclaration", "scope": 1161, "src": "10748:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1134, "name": "uint", "nodeType": "ElementaryTypeName", "src": "10748:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "10739:16:0" }, "returnParameters": { "id": 1137, "nodeType": "ParameterList", "parameters": [], "src": "10765:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1186, "nodeType": "FunctionDefinition", "src": "10986:178:0", "body": { "id": 1185, "nodeType": "Block", "src": "11048:116:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1172, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1170, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1163, "src": "11062:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 1171, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1165, "src": "11067:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "11062:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1184, "nodeType": "IfStatement", "src": "11058:100:0", "trueBody": { "id": 1183, "nodeType": "Block", "src": "11070:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11106:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1175, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1167, "src": "11115:3:0", "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": 1173, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "11089:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1176, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11089:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1177, "nodeType": "EmitStatement", "src": "11084:35:0" }, { "expression": { "arguments": [ { "id": 1179, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1163, "src": "11142:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1180, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1165, "src": "11145:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1178, "name": "assertLt", "nodeType": "Identifier", "overloadedDeclarations": [ 1161, 1186, 1216, 1241 ], "referencedDeclaration": 1161, "src": "11133:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, "id": 1181, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11133:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1182, "nodeType": "ExpressionStatement", "src": "11133:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLt", "nameLocation": "10995:8:0", "parameters": { "id": 1168, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1163, "mutability": "mutable", "name": "a", "nameLocation": "11009:1:0", "nodeType": "VariableDeclaration", "scope": 1186, "src": "11004:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1162, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11004:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1165, "mutability": "mutable", "name": "b", "nameLocation": "11017:1:0", "nodeType": "VariableDeclaration", "scope": 1186, "src": "11012:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1164, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11012:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1167, "mutability": "mutable", "name": "err", "nameLocation": "11034:3:0", "nodeType": "VariableDeclaration", "scope": 1186, "src": "11020:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1166, "name": "string", "nodeType": "ElementaryTypeName", "src": "11020:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "11003:35:0" }, "returnParameters": { "id": 1169, "nodeType": "ParameterList", "parameters": [], "src": "11048:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1216, "nodeType": "FunctionDefinition", "src": "11169:254:0", "body": { "id": 1215, "nodeType": "Block", "src": "11210:213:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1195, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1193, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1188, "src": "11224:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 1194, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1190, "src": "11229:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "11224:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1214, "nodeType": "IfStatement", "src": "11220:197:0", "trueBody": { "id": 1213, "nodeType": "Block", "src": "11232:185:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203c2062206e6f7420736174697366696564205b696e745d", "id": 1197, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11255:34:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055", "typeString": "literal_string \"Error: a < b not satisfied [int]\"" }, "value": "Error: a < b not satisfied [int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055", "typeString": "literal_string \"Error: a < b not satisfied [int]\"" } ], "id": 1196, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "11251:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1198, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11251:39:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1199, "nodeType": "EmitStatement", "src": "11246:44:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1201, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11323:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1202, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1188, "src": "11336:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 1200, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "11309:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 1203, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11309:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1204, "nodeType": "EmitStatement", "src": "11304:34:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1206, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11371:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1207, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1190, "src": "11384:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 1205, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "11357:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 1208, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11357:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1209, "nodeType": "EmitStatement", "src": "11352:34:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1210, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "11400:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1211, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11400:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1212, "nodeType": "ExpressionStatement", "src": "11400:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLt", "nameLocation": "11178:8:0", "parameters": { "id": 1191, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1188, "mutability": "mutable", "name": "a", "nameLocation": "11191:1:0", "nodeType": "VariableDeclaration", "scope": 1216, "src": "11187:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1187, "name": "int", "nodeType": "ElementaryTypeName", "src": "11187:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1190, "mutability": "mutable", "name": "b", "nameLocation": "11198:1:0", "nodeType": "VariableDeclaration", "scope": 1216, "src": "11194:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1189, "name": "int", "nodeType": "ElementaryTypeName", "src": "11194:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "11186:14:0" }, "returnParameters": { "id": 1192, "nodeType": "ParameterList", "parameters": [], "src": "11210:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1241, "nodeType": "FunctionDefinition", "src": "11428:176:0", "body": { "id": 1240, "nodeType": "Block", "src": "11488:116:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1227, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1225, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1218, "src": "11502:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 1226, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1220, "src": "11507:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "11502:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1239, "nodeType": "IfStatement", "src": "11498:100:0", "trueBody": { "id": 1238, "nodeType": "Block", "src": "11510:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1229, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11546:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1230, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1222, "src": "11555:3:0", "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": 1228, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "11529:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1231, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11529:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1232, "nodeType": "EmitStatement", "src": "11524:35:0" }, { "expression": { "arguments": [ { "id": 1234, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1218, "src": "11582:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1235, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1220, "src": "11585:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 1233, "name": "assertLt", "nodeType": "Identifier", "overloadedDeclarations": [ 1161, 1186, 1216, 1241 ], "referencedDeclaration": 1216, "src": "11573:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", "typeString": "function (int256,int256)" } }, "id": 1236, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11573:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1237, "nodeType": "ExpressionStatement", "src": "11573:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLt", "nameLocation": "11437:8:0", "parameters": { "id": 1223, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1218, "mutability": "mutable", "name": "a", "nameLocation": "11450:1:0", "nodeType": "VariableDeclaration", "scope": 1241, "src": "11446:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1217, "name": "int", "nodeType": "ElementaryTypeName", "src": "11446:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1220, "mutability": "mutable", "name": "b", "nameLocation": "11457:1:0", "nodeType": "VariableDeclaration", "scope": 1241, "src": "11453:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1219, "name": "int", "nodeType": "ElementaryTypeName", "src": "11453:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1222, "mutability": "mutable", "name": "err", "nameLocation": "11474:3:0", "nodeType": "VariableDeclaration", "scope": 1241, "src": "11460:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1221, "name": "string", "nodeType": "ElementaryTypeName", "src": "11460:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "11445:33:0" }, "returnParameters": { "id": 1224, "nodeType": "ParameterList", "parameters": [], "src": "11488:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1275, "nodeType": "FunctionDefinition", "src": "11609:320:0", "body": { "id": 1274, "nodeType": "Block", "src": "11672:257:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1252, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1250, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1243, "src": "11686:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 1251, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1245, "src": "11691:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "11686:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1273, "nodeType": "IfStatement", "src": "11682:241:0", "trueBody": { "id": 1272, "nodeType": "Block", "src": "11694:229:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c20696e745d", "id": 1254, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11717:42:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a", "typeString": "literal_string \"Error: a < b not satisfied [decimal int]\"" }, "value": "Error: a < b not satisfied [decimal int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a", "typeString": "literal_string \"Error: a < b not satisfied [decimal int]\"" } ], "id": 1253, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "11713:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1255, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11713:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1256, "nodeType": "EmitStatement", "src": "11708:52:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1258, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11801:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1259, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1243, "src": "11814:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1260, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1247, "src": "11817:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1257, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "11779:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 1261, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11779:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1262, "nodeType": "EmitStatement", "src": "11774:52:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1264, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "11867:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1265, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1245, "src": "11880:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1266, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1247, "src": "11883:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1263, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "11845:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 1267, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11845:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1268, "nodeType": "EmitStatement", "src": "11840:52:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1269, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "11906:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1270, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "11906:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1271, "nodeType": "ExpressionStatement", "src": "11906:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLtDecimal", "nameLocation": "11618:15:0", "parameters": { "id": 1248, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1243, "mutability": "mutable", "name": "a", "nameLocation": "11638:1:0", "nodeType": "VariableDeclaration", "scope": 1275, "src": "11634:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1242, "name": "int", "nodeType": "ElementaryTypeName", "src": "11634:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1245, "mutability": "mutable", "name": "b", "nameLocation": "11645:1:0", "nodeType": "VariableDeclaration", "scope": 1275, "src": "11641:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1244, "name": "int", "nodeType": "ElementaryTypeName", "src": "11641:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1247, "mutability": "mutable", "name": "decimals", "nameLocation": "11653:8:0", "nodeType": "VariableDeclaration", "scope": 1275, "src": "11648:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1246, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11648:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "11633:29:0" }, "returnParameters": { "id": 1249, "nodeType": "ParameterList", "parameters": [], "src": "11672:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1303, "nodeType": "FunctionDefinition", "src": "11934:215:0", "body": { "id": 1302, "nodeType": "Block", "src": "12016:133:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1286, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1277, "src": "12030:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 1287, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1279, "src": "12035:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "12030:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1301, "nodeType": "IfStatement", "src": "12026:117:0", "trueBody": { "id": 1300, "nodeType": "Block", "src": "12038:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1290, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12074:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1291, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1283, "src": "12083:3:0", "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": 1289, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "12057:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1292, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12057:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1293, "nodeType": "EmitStatement", "src": "12052:35:0" }, { "expression": { "arguments": [ { "id": 1295, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1277, "src": "12117:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1296, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1279, "src": "12120:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1297, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1281, "src": "12123:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1294, "name": "assertLtDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 1275, 1303, 1337, 1365 ], "referencedDeclaration": 1275, "src": "12101:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (int256,int256,uint256)" } }, "id": 1298, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12101:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1299, "nodeType": "ExpressionStatement", "src": "12101:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLtDecimal", "nameLocation": "11943:15:0", "parameters": { "id": 1284, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1277, "mutability": "mutable", "name": "a", "nameLocation": "11963:1:0", "nodeType": "VariableDeclaration", "scope": 1303, "src": "11959:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1276, "name": "int", "nodeType": "ElementaryTypeName", "src": "11959:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1279, "mutability": "mutable", "name": "b", "nameLocation": "11970:1:0", "nodeType": "VariableDeclaration", "scope": 1303, "src": "11966:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1278, "name": "int", "nodeType": "ElementaryTypeName", "src": "11966:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1281, "mutability": "mutable", "name": "decimals", "nameLocation": "11978:8:0", "nodeType": "VariableDeclaration", "scope": 1303, "src": "11973:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1280, "name": "uint", "nodeType": "ElementaryTypeName", "src": "11973:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1283, "mutability": "mutable", "name": "err", "nameLocation": "12002:3:0", "nodeType": "VariableDeclaration", "scope": 1303, "src": "11988:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1282, "name": "string", "nodeType": "ElementaryTypeName", "src": "11988:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "11958:48:0" }, "returnParameters": { "id": 1285, "nodeType": "ParameterList", "parameters": [], "src": "12016:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1337, "nodeType": "FunctionDefinition", "src": "12154:325:0", "body": { "id": 1336, "nodeType": "Block", "src": "12219:260:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1312, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1305, "src": "12233:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 1313, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1307, "src": "12238:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12233:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1335, "nodeType": "IfStatement", "src": "12229:244:0", "trueBody": { "id": 1334, "nodeType": "Block", "src": "12241:232:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c2075696e745d", "id": 1316, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12264:43:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9", "typeString": "literal_string \"Error: a < b not satisfied [decimal uint]\"" }, "value": "Error: a < b not satisfied [decimal uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9", "typeString": "literal_string \"Error: a < b not satisfied [decimal uint]\"" } ], "id": 1315, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "12260:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1317, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12260:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1318, "nodeType": "EmitStatement", "src": "12255:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1320, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12350:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1321, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1305, "src": "12363:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1322, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1309, "src": "12366:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1319, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "12327:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 1323, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12327:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1324, "nodeType": "EmitStatement", "src": "12322:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1326, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12417:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1327, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1307, "src": "12430:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1328, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1309, "src": "12433:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1325, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "12394:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 1329, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12394:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1330, "nodeType": "EmitStatement", "src": "12389:53:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1331, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "12456:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1332, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12456:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1333, "nodeType": "ExpressionStatement", "src": "12456:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLtDecimal", "nameLocation": "12163:15:0", "parameters": { "id": 1310, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1305, "mutability": "mutable", "name": "a", "nameLocation": "12184:1:0", "nodeType": "VariableDeclaration", "scope": 1337, "src": "12179:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1304, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12179:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1307, "mutability": "mutable", "name": "b", "nameLocation": "12192:1:0", "nodeType": "VariableDeclaration", "scope": 1337, "src": "12187:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1306, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12187:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1309, "mutability": "mutable", "name": "decimals", "nameLocation": "12200:8:0", "nodeType": "VariableDeclaration", "scope": 1337, "src": "12195:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1308, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12195:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "12178:31:0" }, "returnParameters": { "id": 1311, "nodeType": "ParameterList", "parameters": [], "src": "12219:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1365, "nodeType": "FunctionDefinition", "src": "12484:217:0", "body": { "id": 1364, "nodeType": "Block", "src": "12568:133:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1350, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1348, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1339, "src": "12582:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { "id": 1349, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1341, "src": "12587:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12582:6:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1363, "nodeType": "IfStatement", "src": "12578:117:0", "trueBody": { "id": 1362, "nodeType": "Block", "src": "12590:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1352, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12626:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1353, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1345, "src": "12635:3:0", "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": 1351, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "12609:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1354, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12609:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1355, "nodeType": "EmitStatement", "src": "12604:35:0" }, { "expression": { "arguments": [ { "id": 1357, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1339, "src": "12669:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1358, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1341, "src": "12672:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1359, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1343, "src": "12675:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1356, "name": "assertLtDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 1275, 1303, 1337, 1365 ], "referencedDeclaration": 1337, "src": "12653:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, "id": 1360, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12653:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1361, "nodeType": "ExpressionStatement", "src": "12653:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLtDecimal", "nameLocation": "12493:15:0", "parameters": { "id": 1346, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1339, "mutability": "mutable", "name": "a", "nameLocation": "12514:1:0", "nodeType": "VariableDeclaration", "scope": 1365, "src": "12509:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1338, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12509:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1341, "mutability": "mutable", "name": "b", "nameLocation": "12522:1:0", "nodeType": "VariableDeclaration", "scope": 1365, "src": "12517:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1340, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12517:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1343, "mutability": "mutable", "name": "decimals", "nameLocation": "12530:8:0", "nodeType": "VariableDeclaration", "scope": 1365, "src": "12525:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1342, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12525:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1345, "mutability": "mutable", "name": "err", "nameLocation": "12554:3:0", "nodeType": "VariableDeclaration", "scope": 1365, "src": "12540:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1344, "name": "string", "nodeType": "ElementaryTypeName", "src": "12540:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "12508:50:0" }, "returnParameters": { "id": 1347, "nodeType": "ParameterList", "parameters": [], "src": "12568:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1395, "nodeType": "FunctionDefinition", "src": "12707:259:0", "body": { "id": 1394, "nodeType": "Block", "src": "12750:216:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1372, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1367, "src": "12764:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1373, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1369, "src": "12768:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "12764:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1393, "nodeType": "IfStatement", "src": "12760:200:0", "trueBody": { "id": 1392, "nodeType": "Block", "src": "12771:189:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203c3d2062206e6f7420736174697366696564205b75696e745d", "id": 1376, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12794:36:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff", "typeString": "literal_string \"Error: a <= b not satisfied [uint]\"" }, "value": "Error: a <= b not satisfied [uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff", "typeString": "literal_string \"Error: a <= b not satisfied [uint]\"" } ], "id": 1375, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "12790:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1377, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12790:41:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1378, "nodeType": "EmitStatement", "src": "12785:46:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1380, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12865:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1381, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1367, "src": "12878:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1379, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "12850:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 1382, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12850:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1383, "nodeType": "EmitStatement", "src": "12845:35:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "12914:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1386, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1369, "src": "12927:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1384, "name": "log_named_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 73, "src": "12899:14:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256)" } }, "id": 1387, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12899:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1388, "nodeType": "EmitStatement", "src": "12894:35:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1389, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "12943:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1390, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "12943:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1391, "nodeType": "ExpressionStatement", "src": "12943:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLe", "nameLocation": "12716:8:0", "parameters": { "id": 1370, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1367, "mutability": "mutable", "name": "a", "nameLocation": "12730:1:0", "nodeType": "VariableDeclaration", "scope": 1395, "src": "12725:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1366, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12725:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1369, "mutability": "mutable", "name": "b", "nameLocation": "12738:1:0", "nodeType": "VariableDeclaration", "scope": 1395, "src": "12733:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1368, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12733:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "12724:16:0" }, "returnParameters": { "id": 1371, "nodeType": "ParameterList", "parameters": [], "src": "12750:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1420, "nodeType": "FunctionDefinition", "src": "12971:177:0", "body": { "id": 1419, "nodeType": "Block", "src": "13033:115:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1406, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1404, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, "src": "13047:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1405, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1399, "src": "13051:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "13047:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1418, "nodeType": "IfStatement", "src": "13043:99:0", "trueBody": { "id": 1417, "nodeType": "Block", "src": "13054:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1408, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13090:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1409, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1401, "src": "13099:3:0", "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": 1407, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "13073:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1410, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13073:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1411, "nodeType": "EmitStatement", "src": "13068:35:0" }, { "expression": { "arguments": [ { "id": 1413, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1397, "src": "13126:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1414, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1399, "src": "13129:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1412, "name": "assertLe", "nodeType": "Identifier", "overloadedDeclarations": [ 1395, 1420, 1450, 1475 ], "referencedDeclaration": 1395, "src": "13117:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256)" } }, "id": 1415, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13117:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1416, "nodeType": "ExpressionStatement", "src": "13117:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLe", "nameLocation": "12980:8:0", "parameters": { "id": 1402, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1397, "mutability": "mutable", "name": "a", "nameLocation": "12994:1:0", "nodeType": "VariableDeclaration", "scope": 1420, "src": "12989:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1396, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12989:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1399, "mutability": "mutable", "name": "b", "nameLocation": "13002:1:0", "nodeType": "VariableDeclaration", "scope": 1420, "src": "12997:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1398, "name": "uint", "nodeType": "ElementaryTypeName", "src": "12997:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1401, "mutability": "mutable", "name": "err", "nameLocation": "13019:3:0", "nodeType": "VariableDeclaration", "scope": 1420, "src": "13005:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1400, "name": "string", "nodeType": "ElementaryTypeName", "src": "13005:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "12988:35:0" }, "returnParameters": { "id": 1403, "nodeType": "ParameterList", "parameters": [], "src": "13033:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1450, "nodeType": "FunctionDefinition", "src": "13153:254:0", "body": { "id": 1449, "nodeType": "Block", "src": "13194:213:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1429, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1427, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, "src": "13208:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1428, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1424, "src": "13212:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "13208:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1448, "nodeType": "IfStatement", "src": "13204:197:0", "trueBody": { "id": 1447, "nodeType": "Block", "src": "13215:186:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203c3d2062206e6f7420736174697366696564205b696e745d", "id": 1431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13238:35:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555", "typeString": "literal_string \"Error: a <= b not satisfied [int]\"" }, "value": "Error: a <= b not satisfied [int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555", "typeString": "literal_string \"Error: a <= b not satisfied [int]\"" } ], "id": 1430, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "13234:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1432, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13234:40:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1433, "nodeType": "EmitStatement", "src": "13229:45:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1435, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13307:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1436, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1422, "src": "13320:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 1434, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "13293:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 1437, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13293:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1438, "nodeType": "EmitStatement", "src": "13288:34:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1440, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13355:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1441, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1424, "src": "13368:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 1439, "name": "log_named_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 67, "src": "13341:13:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$", "typeString": "function (string memory,int256)" } }, "id": 1442, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13341:29:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1443, "nodeType": "EmitStatement", "src": "13336:34:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1444, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "13384:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1445, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13384:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1446, "nodeType": "ExpressionStatement", "src": "13384:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLe", "nameLocation": "13162:8:0", "parameters": { "id": 1425, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1422, "mutability": "mutable", "name": "a", "nameLocation": "13175:1:0", "nodeType": "VariableDeclaration", "scope": 1450, "src": "13171:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1421, "name": "int", "nodeType": "ElementaryTypeName", "src": "13171:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1424, "mutability": "mutable", "name": "b", "nameLocation": "13182:1:0", "nodeType": "VariableDeclaration", "scope": 1450, "src": "13178:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1423, "name": "int", "nodeType": "ElementaryTypeName", "src": "13178:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" } ], "src": "13170:14:0" }, "returnParameters": { "id": 1426, "nodeType": "ParameterList", "parameters": [], "src": "13194:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1475, "nodeType": "FunctionDefinition", "src": "13412:175:0", "body": { "id": 1474, "nodeType": "Block", "src": "13472:115:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1461, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1459, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1452, "src": "13486:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1460, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1454, "src": "13490:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "13486:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1473, "nodeType": "IfStatement", "src": "13482:99:0", "trueBody": { "id": 1472, "nodeType": "Block", "src": "13493:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1463, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13529:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1464, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1456, "src": "13538:3:0", "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": 1462, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "13512:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1465, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13512:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1466, "nodeType": "EmitStatement", "src": "13507:35:0" }, { "expression": { "arguments": [ { "id": 1468, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1452, "src": "13565:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1469, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1454, "src": "13568:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" } ], "id": 1467, "name": "assertLe", "nodeType": "Identifier", "overloadedDeclarations": [ 1395, 1420, 1450, 1475 ], "referencedDeclaration": 1450, "src": "13556:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$", "typeString": "function (int256,int256)" } }, "id": 1470, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13556:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1471, "nodeType": "ExpressionStatement", "src": "13556:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLe", "nameLocation": "13421:8:0", "parameters": { "id": 1457, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1452, "mutability": "mutable", "name": "a", "nameLocation": "13434:1:0", "nodeType": "VariableDeclaration", "scope": 1475, "src": "13430:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1451, "name": "int", "nodeType": "ElementaryTypeName", "src": "13430:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1454, "mutability": "mutable", "name": "b", "nameLocation": "13441:1:0", "nodeType": "VariableDeclaration", "scope": 1475, "src": "13437:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1453, "name": "int", "nodeType": "ElementaryTypeName", "src": "13437:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1456, "mutability": "mutable", "name": "err", "nameLocation": "13458:3:0", "nodeType": "VariableDeclaration", "scope": 1475, "src": "13444:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1455, "name": "string", "nodeType": "ElementaryTypeName", "src": "13444:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "13429:33:0" }, "returnParameters": { "id": 1458, "nodeType": "ParameterList", "parameters": [], "src": "13472:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1509, "nodeType": "FunctionDefinition", "src": "13592:320:0", "body": { "id": 1508, "nodeType": "Block", "src": "13655:257:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1486, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1484, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1477, "src": "13669:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1485, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1479, "src": "13673:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "13669:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1507, "nodeType": "IfStatement", "src": "13665:241:0", "trueBody": { "id": 1506, "nodeType": "Block", "src": "13676:230:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c20696e745d", "id": 1488, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13699:43:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a", "typeString": "literal_string \"Error: a <= b not satisfied [decimal int]\"" }, "value": "Error: a <= b not satisfied [decimal int]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a", "typeString": "literal_string \"Error: a <= b not satisfied [decimal int]\"" } ], "id": 1487, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "13695:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1489, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13695:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1490, "nodeType": "EmitStatement", "src": "13690:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1492, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13784:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1493, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1477, "src": "13797:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1494, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1481, "src": "13800:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1491, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "13762:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 1495, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13762:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1496, "nodeType": "EmitStatement", "src": "13757:52:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1498, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "13850:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1499, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1479, "src": "13863:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1500, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1481, "src": "13866:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1497, "name": "log_named_decimal_int", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53, "src": "13828:21:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (string memory,int256,uint256)" } }, "id": 1501, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13828:47:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1502, "nodeType": "EmitStatement", "src": "13823:52:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1503, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "13889:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1504, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "13889:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1505, "nodeType": "ExpressionStatement", "src": "13889:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLeDecimal", "nameLocation": "13601:15:0", "parameters": { "id": 1482, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1477, "mutability": "mutable", "name": "a", "nameLocation": "13621:1:0", "nodeType": "VariableDeclaration", "scope": 1509, "src": "13617:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1476, "name": "int", "nodeType": "ElementaryTypeName", "src": "13617:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1479, "mutability": "mutable", "name": "b", "nameLocation": "13628:1:0", "nodeType": "VariableDeclaration", "scope": 1509, "src": "13624:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1478, "name": "int", "nodeType": "ElementaryTypeName", "src": "13624:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1481, "mutability": "mutable", "name": "decimals", "nameLocation": "13636:8:0", "nodeType": "VariableDeclaration", "scope": 1509, "src": "13631:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1480, "name": "uint", "nodeType": "ElementaryTypeName", "src": "13631:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "13616:29:0" }, "returnParameters": { "id": 1483, "nodeType": "ParameterList", "parameters": [], "src": "13655:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1537, "nodeType": "FunctionDefinition", "src": "13917:214:0", "body": { "id": 1536, "nodeType": "Block", "src": "13999:132:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_int256", "typeString": "int256" }, "id": 1522, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1520, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1511, "src": "14013:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1521, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1513, "src": "14017:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "src": "14013:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1535, "nodeType": "IfStatement", "src": "14009:116:0", "trueBody": { "id": 1534, "nodeType": "Block", "src": "14020:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1524, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14056:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1525, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1517, "src": "14065:3:0", "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": 1523, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "14039:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1526, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14039:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1527, "nodeType": "EmitStatement", "src": "14034:35:0" }, { "expression": { "arguments": [ { "id": 1529, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1511, "src": "14099:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1530, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1513, "src": "14102:1:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, { "id": 1531, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1515, "src": "14105:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_int256", "typeString": "int256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1528, "name": "assertLeDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 1509, 1537, 1571, 1599 ], "referencedDeclaration": 1509, "src": "14083:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$", "typeString": "function (int256,int256,uint256)" } }, "id": 1532, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14083:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1533, "nodeType": "ExpressionStatement", "src": "14083:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLeDecimal", "nameLocation": "13926:15:0", "parameters": { "id": 1518, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1511, "mutability": "mutable", "name": "a", "nameLocation": "13946:1:0", "nodeType": "VariableDeclaration", "scope": 1537, "src": "13942:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1510, "name": "int", "nodeType": "ElementaryTypeName", "src": "13942:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1513, "mutability": "mutable", "name": "b", "nameLocation": "13953:1:0", "nodeType": "VariableDeclaration", "scope": 1537, "src": "13949:5:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" }, "typeName": { "id": 1512, "name": "int", "nodeType": "ElementaryTypeName", "src": "13949:3:0", "typeDescriptions": { "typeIdentifier": "t_int256", "typeString": "int256" } }, "visibility": "internal" }, { "constant": false, "id": 1515, "mutability": "mutable", "name": "decimals", "nameLocation": "13961:8:0", "nodeType": "VariableDeclaration", "scope": 1537, "src": "13956:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1514, "name": "uint", "nodeType": "ElementaryTypeName", "src": "13956:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1517, "mutability": "mutable", "name": "err", "nameLocation": "13985:3:0", "nodeType": "VariableDeclaration", "scope": 1537, "src": "13971:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1516, "name": "string", "nodeType": "ElementaryTypeName", "src": "13971:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "13941:48:0" }, "returnParameters": { "id": 1519, "nodeType": "ParameterList", "parameters": [], "src": "13999:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1571, "nodeType": "FunctionDefinition", "src": "14136:325:0", "body": { "id": 1570, "nodeType": "Block", "src": "14201:260:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1548, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1546, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1539, "src": "14215:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1547, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1541, "src": "14219:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14215:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1569, "nodeType": "IfStatement", "src": "14211:244:0", "trueBody": { "id": 1568, "nodeType": "Block", "src": "14222:233:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d", "id": 1550, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14245:44:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51", "typeString": "literal_string \"Error: a <= b not satisfied [decimal uint]\"" }, "value": "Error: a <= b not satisfied [decimal uint]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51", "typeString": "literal_string \"Error: a <= b not satisfied [decimal uint]\"" } ], "id": 1549, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "14241:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1551, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14241:49:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1552, "nodeType": "EmitStatement", "src": "14236:54:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652061", "id": 1554, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14332:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, "value": " Value a" }, { "id": 1555, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1539, "src": "14345:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1556, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1543, "src": "14348:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26", "typeString": "literal_string \" Value a\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1553, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "14309:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 1557, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14309:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1558, "nodeType": "EmitStatement", "src": "14304:53:0" }, { "eventCall": { "arguments": [ { "hexValue": "202056616c75652062", "id": 1560, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14399:11:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, "value": " Value b" }, { "id": 1561, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1541, "src": "14412:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1562, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1543, "src": "14415:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3", "typeString": "literal_string \" Value b\"" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1559, "name": "log_named_decimal_uint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 61, "src": "14376:22:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (string memory,uint256,uint256)" } }, "id": 1563, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14376:48:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1564, "nodeType": "EmitStatement", "src": "14371:53:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1565, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "14438:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1566, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14438:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1567, "nodeType": "ExpressionStatement", "src": "14438:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLeDecimal", "nameLocation": "14145:15:0", "parameters": { "id": 1544, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1539, "mutability": "mutable", "name": "a", "nameLocation": "14166:1:0", "nodeType": "VariableDeclaration", "scope": 1571, "src": "14161:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1538, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14161:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1541, "mutability": "mutable", "name": "b", "nameLocation": "14174:1:0", "nodeType": "VariableDeclaration", "scope": 1571, "src": "14169:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1540, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14169:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1543, "mutability": "mutable", "name": "decimals", "nameLocation": "14182:8:0", "nodeType": "VariableDeclaration", "scope": 1571, "src": "14177:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1542, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14177:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "14160:31:0" }, "returnParameters": { "id": 1545, "nodeType": "ParameterList", "parameters": [], "src": "14201:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1599, "nodeType": "FunctionDefinition", "src": "14466:216:0", "body": { "id": 1598, "nodeType": "Block", "src": "14550:132:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1582, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1573, "src": "14564:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "id": 1583, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1575, "src": "14568:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "14564:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1597, "nodeType": "IfStatement", "src": "14560:116:0", "trueBody": { "id": 1596, "nodeType": "Block", "src": "14571:105:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1586, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14607:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1587, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1579, "src": "14616:3:0", "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": 1585, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "14590:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1588, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14590:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1589, "nodeType": "EmitStatement", "src": "14585:35:0" }, { "expression": { "arguments": [ { "id": 1591, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1573, "src": "14650:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1592, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1575, "src": "14653:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { "id": 1593, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1577, "src": "14656:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], "id": 1590, "name": "assertGeDecimal", "nodeType": "Identifier", "overloadedDeclarations": [ 1041, 1069, 1103, 1131 ], "referencedDeclaration": 1103, "src": "14634:15:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256,uint256)" } }, "id": 1594, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14634:31:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1595, "nodeType": "ExpressionStatement", "src": "14634:31:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertLeDecimal", "nameLocation": "14475:15:0", "parameters": { "id": 1580, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1573, "mutability": "mutable", "name": "a", "nameLocation": "14496:1:0", "nodeType": "VariableDeclaration", "scope": 1599, "src": "14491:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1572, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14491:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1575, "mutability": "mutable", "name": "b", "nameLocation": "14504:1:0", "nodeType": "VariableDeclaration", "scope": 1599, "src": "14499:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1574, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14499:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1577, "mutability": "mutable", "name": "decimals", "nameLocation": "14512:8:0", "nodeType": "VariableDeclaration", "scope": 1599, "src": "14507:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1576, "name": "uint", "nodeType": "ElementaryTypeName", "src": "14507:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 1579, "mutability": "mutable", "name": "err", "nameLocation": "14536:3:0", "nodeType": "VariableDeclaration", "scope": 1599, "src": "14522:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1578, "name": "string", "nodeType": "ElementaryTypeName", "src": "14522:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "14490:50:0" }, "returnParameters": { "id": 1581, "nodeType": "ParameterList", "parameters": [], "src": "14550:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1639, "nodeType": "FunctionDefinition", "src": "14688:344:0", "body": { "id": 1638, "nodeType": "Block", "src": "14749:283:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 1618, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "arguments": [ { "id": 1609, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1601, "src": "14790:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 1607, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "14773:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1608, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "14777:12:0", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "14773:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1610, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14773:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1606, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "14763:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1611, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14763:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "arguments": [ { "arguments": [ { "id": 1615, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1603, "src": "14824:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 1613, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "14807:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1614, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "14811:12:0", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "14807:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1616, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14807:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1612, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "14797:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1617, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14797:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "14763:64:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1637, "nodeType": "IfStatement", "src": "14759:267:0", "trueBody": { "id": 1636, "nodeType": "Block", "src": "14829:197:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d", "id": 1620, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14852:38:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e", "typeString": "literal_string \"Error: a == b not satisfied [string]\"" }, "value": "Error: a == b not satisfied [string]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e", "typeString": "literal_string \"Error: a == b not satisfied [string]\"" } ], "id": 1619, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "14848:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1621, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14848:43:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1622, "nodeType": "EmitStatement", "src": "14843:48:0" }, { "eventCall": { "arguments": [ { "hexValue": "20204578706563746564", "id": 1624, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14927:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, "value": " Expected" }, { "id": 1625, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1603, "src": "14941:1:0", "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": 1623, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "14910:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1626, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14910:33:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1627, "nodeType": "EmitStatement", "src": "14905:38:0" }, { "eventCall": { "arguments": [ { "hexValue": "2020202041637475616c", "id": 1629, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "14979:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, "value": " Actual" }, { "id": 1630, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1601, "src": "14993:1:0", "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": 1628, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "14962:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1631, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "14962:33:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1632, "nodeType": "EmitStatement", "src": "14957:38:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1633, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "15009:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1634, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15009:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1635, "nodeType": "ExpressionStatement", "src": "15009:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "14697:8:0", "parameters": { "id": 1604, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1601, "mutability": "mutable", "name": "a", "nameLocation": "14720:1:0", "nodeType": "VariableDeclaration", "scope": 1639, "src": "14706:15:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1600, "name": "string", "nodeType": "ElementaryTypeName", "src": "14706:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 1603, "mutability": "mutable", "name": "b", "nameLocation": "14737:1:0", "nodeType": "VariableDeclaration", "scope": 1639, "src": "14723:15:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1602, "name": "string", "nodeType": "ElementaryTypeName", "src": "14723:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "14705:34:0" }, "returnParameters": { "id": 1605, "nodeType": "ParameterList", "parameters": [], "src": "14749:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1674, "nodeType": "FunctionDefinition", "src": "15037:254:0", "body": { "id": 1673, "nodeType": "Block", "src": "15117:174:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "id": 1660, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [ { "arguments": [ { "id": 1651, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1641, "src": "15158:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 1649, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "15141:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1650, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "15145:12:0", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "15141:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1652, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15141:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1648, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "15131:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1653, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15131:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "arguments": [ { "arguments": [ { "id": 1657, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1643, "src": "15192:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "expression": { "id": 1655, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, "src": "15175:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1656, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "15179:12:0", "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "15175:16:0", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1658, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15175:19:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1654, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, "src": "15165:9:0", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, "id": 1659, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15165:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "src": "15131:64:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1672, "nodeType": "IfStatement", "src": "15127:158:0", "trueBody": { "id": 1671, "nodeType": "Block", "src": "15197:88:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1662, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "15233:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1663, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1645, "src": "15242:3:0", "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": 1661, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "15216:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1664, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15216:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1665, "nodeType": "EmitStatement", "src": "15211:35:0" }, { "expression": { "arguments": [ { "id": 1667, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1641, "src": "15269:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { "id": 1668, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1643, "src": "15272:1:0", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" }, { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } ], "id": 1666, "name": "assertEq", "nodeType": "Identifier", "overloadedDeclarations": [ 320, 345, 375, 400, 459, 484, 514, 539, 1639, 1674 ], "referencedDeclaration": 1639, "src": "15260:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1669, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15260:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1670, "nodeType": "ExpressionStatement", "src": "15260:14:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq", "nameLocation": "15046:8:0", "parameters": { "id": 1646, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1641, "mutability": "mutable", "name": "a", "nameLocation": "15069:1:0", "nodeType": "VariableDeclaration", "scope": 1674, "src": "15055:15:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1640, "name": "string", "nodeType": "ElementaryTypeName", "src": "15055:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 1643, "mutability": "mutable", "name": "b", "nameLocation": "15086:1:0", "nodeType": "VariableDeclaration", "scope": 1674, "src": "15072:15:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1642, "name": "string", "nodeType": "ElementaryTypeName", "src": "15072:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" }, { "constant": false, "id": 1645, "mutability": "mutable", "name": "err", "nameLocation": "15103:3:0", "nodeType": "VariableDeclaration", "scope": 1674, "src": "15089:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1644, "name": "string", "nodeType": "ElementaryTypeName", "src": "15089:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "15054:53:0" }, "returnParameters": { "id": 1647, "nodeType": "ParameterList", "parameters": [], "src": "15117:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1726, "nodeType": "FunctionDefinition", "src": "15297:345:0", "body": { "id": 1725, "nodeType": "Block", "src": "15379:263:0", "statements": [ { "expression": { "id": 1685, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1683, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1681, "src": "15389:2:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "74727565", "id": 1684, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "15394:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, "src": "15389:9:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1686, "nodeType": "ExpressionStatement", "src": "15389:9:0" }, { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1691, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 1687, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1676, "src": "15412:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1688, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "15414:6:0", "memberName": "length", "nodeType": "MemberAccess", "src": "15412:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "id": 1689, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1678, "src": "15424:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1690, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "15426:6:0", "memberName": "length", "nodeType": "MemberAccess", "src": "15424:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "15412:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 1723, "nodeType": "Block", "src": "15601:35:0", "statements": [ { "expression": { "id": 1721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1719, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1681, "src": "15615:2:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "66616c7365", "id": 1720, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "15620:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "src": "15615:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1722, "nodeType": "ExpressionStatement", "src": "15615:10:0" } ] }, "id": 1724, "nodeType": "IfStatement", "src": "15408:228:0", "trueBody": { "id": 1718, "nodeType": "Block", "src": "15434:161:0", "statements": [ { "body": { "id": 1716, "nodeType": "Block", "src": "15484:101:0", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, "id": 1709, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 1703, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1676, "src": "15506:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1705, "indexExpression": { "id": 1704, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1693, "src": "15508:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15506:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "baseExpression": { "id": 1706, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1678, "src": "15514:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1708, "indexExpression": { "id": 1707, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1693, "src": "15516:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "15514:4:0", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "src": "15506:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1715, "nodeType": "IfStatement", "src": "15502:69:0", "trueBody": { "id": 1714, "nodeType": "Block", "src": "15520:51:0", "statements": [ { "expression": { "id": 1712, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 1710, "name": "ok", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1681, "src": "15542:2:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "hexValue": "66616c7365", "id": 1711, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", "src": "15547:5:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, "src": "15542:10:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1713, "nodeType": "ExpressionStatement", "src": "15542:10:0" } ] } } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 1699, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 1696, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1693, "src": "15465:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 1697, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1676, "src": "15469:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 1698, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "15471:6:0", "memberName": "length", "nodeType": "MemberAccess", "src": "15469:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "15465:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1717, "initializationExpression": { "assignments": [ 1693 ], "declarations": [ { "constant": false, "id": 1693, "mutability": "mutable", "name": "i", "nameLocation": "15458:1:0", "nodeType": "VariableDeclaration", "scope": 1717, "src": "15453:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 1692, "name": "uint", "nodeType": "ElementaryTypeName", "src": "15453:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 1695, "initialValue": { "hexValue": "30", "id": 1694, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "15462:1:0", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "15453:10:0" }, "loopExpression": { "expression": { "id": 1701, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "15479:3:0", "subExpression": { "id": 1700, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1693, "src": "15479:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 1702, "nodeType": "ExpressionStatement", "src": "15479:3:0" }, "nodeType": "ForStatement", "src": "15448:137:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "checkEq0", "nameLocation": "15306:8:0", "parameters": { "id": 1679, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1676, "mutability": "mutable", "name": "a", "nameLocation": "15328:1:0", "nodeType": "VariableDeclaration", "scope": 1726, "src": "15315:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1675, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15315:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 1678, "mutability": "mutable", "name": "b", "nameLocation": "15344:1:0", "nodeType": "VariableDeclaration", "scope": 1726, "src": "15331:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1677, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15331:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "15314:32:0" }, "returnParameters": { "id": 1682, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1681, "mutability": "mutable", "name": "ok", "nameLocation": "15375:2:0", "nodeType": "VariableDeclaration", "scope": 1726, "src": "15370:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1680, "name": "bool", "nodeType": "ElementaryTypeName", "src": "15370:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" } ], "src": "15369:9:0" }, "scope": 1786, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 1758, "nodeType": "FunctionDefinition", "src": "15647:291:0", "body": { "id": 1757, "nodeType": "Block", "src": "15707:231:0", "statements": [ { "condition": { "id": 1737, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "15721:15:0", "subExpression": { "arguments": [ { "id": 1734, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1728, "src": "15731:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "id": 1735, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1730, "src": "15734:1:0", "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": 1733, "name": "checkEq0", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1726, "src": "15722:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,bytes memory) pure returns (bool)" } }, "id": 1736, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15722:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1756, "nodeType": "IfStatement", "src": "15717:215:0", "trueBody": { "id": 1755, "nodeType": "Block", "src": "15738:194:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797465735d", "id": 1739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "15761:37:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc", "typeString": "literal_string \"Error: a == b not satisfied [bytes]\"" }, "value": "Error: a == b not satisfied [bytes]" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc", "typeString": "literal_string \"Error: a == b not satisfied [bytes]\"" } ], "id": 1738, "name": "log", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 5, "src": "15757:3:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, "id": 1740, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15757:42:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1741, "nodeType": "EmitStatement", "src": "15752:47:0" }, { "eventCall": { "arguments": [ { "hexValue": "20204578706563746564", "id": 1743, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "15834:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, "value": " Expected" }, { "id": 1744, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1730, "src": "15848:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_42fa07d7c51ce5de92a0fc65dbf7e7800814fd01c258dc50e84d5be59184bf0b", "typeString": "literal_string \" Expected\"" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1742, "name": "log_named_bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, "src": "15818:15:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (string memory,bytes memory)" } }, "id": 1745, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15818:32:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1746, "nodeType": "EmitStatement", "src": "15813:37:0" }, { "eventCall": { "arguments": [ { "hexValue": "2020202041637475616c", "id": 1748, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "15885:12:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, "value": " Actual" }, { "id": 1749, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1728, "src": "15899:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_d7896f3f645b3ba89da46bf231a5df16e525e587a84bc9b284dfb39958fb219b", "typeString": "literal_string \" Actual\"" }, { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } ], "id": 1747, "name": "log_named_bytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 79, "src": "15869:15:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (string memory,bytes memory)" } }, "id": 1750, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15869:32:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1751, "nodeType": "EmitStatement", "src": "15864:37:0" }, { "expression": { "arguments": [], "expression": { "argumentTypes": [], "id": 1752, "name": "fail", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, "src": "15915:4:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, "id": 1753, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "15915:6:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1754, "nodeType": "ExpressionStatement", "src": "15915:6:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq0", "nameLocation": "15656:9:0", "parameters": { "id": 1731, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1728, "mutability": "mutable", "name": "a", "nameLocation": "15679:1:0", "nodeType": "VariableDeclaration", "scope": 1758, "src": "15666:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1727, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15666:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 1730, "mutability": "mutable", "name": "b", "nameLocation": "15695:1:0", "nodeType": "VariableDeclaration", "scope": 1758, "src": "15682:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1729, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15682:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "15665:32:0" }, "returnParameters": { "id": 1732, "nodeType": "ParameterList", "parameters": [], "src": "15707:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "id": 1785, "nodeType": "FunctionDefinition", "src": "15943:205:0", "body": { "id": 1784, "nodeType": "Block", "src": "16022:126:0", "statements": [ { "condition": { "id": 1771, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "16036:15:0", "subExpression": { "arguments": [ { "id": 1768, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1760, "src": "16046:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "id": 1769, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1762, "src": "16049:1:0", "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": 1767, "name": "checkEq0", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1726, "src": "16037:8:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,bytes memory) pure returns (bool)" } }, "id": 1770, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "16037:14:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 1783, "nodeType": "IfStatement", "src": "16032:110:0", "trueBody": { "id": 1782, "nodeType": "Block", "src": "16053:89:0", "statements": [ { "eventCall": { "arguments": [ { "hexValue": "4572726f72", "id": 1773, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "16089:7:0", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1", "typeString": "literal_string \"Error\"" }, "value": "Error" }, { "id": 1774, "name": "err", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1764, "src": "16098:3:0", "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": 1772, "name": "log_named_string", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 85, "src": "16072:16:0", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory)" } }, "id": 1775, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "16072:30:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1776, "nodeType": "EmitStatement", "src": "16067:35:0" }, { "expression": { "arguments": [ { "id": 1778, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1760, "src": "16126:1:0", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, { "id": 1779, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1762, "src": "16129:1:0", "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": 1777, "name": "assertEq0", "nodeType": "Identifier", "overloadedDeclarations": [ 1758, 1785 ], "referencedDeclaration": 1758, "src": "16116:9:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (bytes memory,bytes memory)" } }, "id": 1780, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "16116:15:0", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1781, "nodeType": "ExpressionStatement", "src": "16116:15:0" } ] } } ] }, "implemented": true, "kind": "function", "modifiers": [], "name": "assertEq0", "nameLocation": "15952:9:0", "parameters": { "id": 1765, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1760, "mutability": "mutable", "name": "a", "nameLocation": "15975:1:0", "nodeType": "VariableDeclaration", "scope": 1785, "src": "15962:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1759, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15962:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 1762, "mutability": "mutable", "name": "b", "nameLocation": "15991:1:0", "nodeType": "VariableDeclaration", "scope": 1785, "src": "15978:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1761, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "15978:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 1764, "mutability": "mutable", "name": "err", "nameLocation": "16008:3:0", "nodeType": "VariableDeclaration", "scope": 1785, "src": "15994:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 1763, "name": "string", "nodeType": "ElementaryTypeName", "src": "15994:6:0", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "visibility": "internal" } ], "src": "15961:51:0" }, "returnParameters": { "id": 1766, "nodeType": "ParameterList", "parameters": [], "src": "16022:0:0" }, "scope": 1786, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], "abstract": false, "baseContracts": [], "canonicalName": "DSTest", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ 1786 ], "name": "DSTest", "nameLocation": "724:6:0", "scope": 1787, "usedErrors": [] } ], "license": "GPL-3.0-or-later" }, "id": 0 }