remix-project mirror
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
remix-project/apps/remix-ide/contracts/foundry/out/test.sol/DSTest.json

23713 lines
994 KiB

{
"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
}