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/Script.sol/Script.json

3630 lines
164 KiB

{
"abi": [
{
"inputs": [],
"name": "IS_SCRIPT",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "vm",
"outputs": [
{
"internalType": "contract Vm",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": {
"object": "0x",
"sourceMap": "",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x",
"sourceMap": "",
"linkReferences": {}
},
"methodIdentifiers": {
"IS_SCRIPT()": "f8ccbf47",
"vm()": "3a768463"
},
"ast": {
"absolutePath": "lib/forge-std/src/Script.sol",
"id": 2023,
"exportedSymbols": {
"Script": [
2022
],
"Vm": [
5434
],
"console": [
13498
],
"console2": [
21562
]
},
"nodeType": "SourceUnit",
"src": "32:2593:1",
"nodes": [
{
"id": 1788,
"nodeType": "PragmaDirective",
"src": "32:31:1",
"literals": [
"solidity",
">=",
"0.6",
".0",
"<",
"0.9",
".0"
]
},
{
"id": 1789,
"nodeType": "ImportDirective",
"src": "65:18:1",
"absolutePath": "lib/forge-std/src/Vm.sol",
"file": "./Vm.sol",
"nameLocation": "-1:-1:-1",
"scope": 2023,
"sourceUnit": 5435,
"symbolAliases": [],
"unitAlias": ""
},
{
"id": 1790,
"nodeType": "ImportDirective",
"src": "84:23:1",
"absolutePath": "lib/forge-std/src/console.sol",
"file": "./console.sol",
"nameLocation": "-1:-1:-1",
"scope": 2023,
"sourceUnit": 13499,
"symbolAliases": [],
"unitAlias": ""
},
{
"id": 1791,
"nodeType": "ImportDirective",
"src": "108:24:1",
"absolutePath": "lib/forge-std/src/console2.sol",
"file": "./console2.sol",
"nameLocation": "-1:-1:-1",
"scope": 2023,
"sourceUnit": 21563,
"symbolAliases": [],
"unitAlias": ""
},
{
"id": 2022,
"nodeType": "ContractDefinition",
"src": "134:2490:1",
"nodes": [
{
"id": 1794,
"nodeType": "VariableDeclaration",
"src": "165:28:1",
"constant": false,
"functionSelector": "f8ccbf47",
"mutability": "mutable",
"name": "IS_SCRIPT",
"nameLocation": "177:9:1",
"scope": 2022,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 1792,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "165:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": {
"hexValue": "74727565",
"id": 1793,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "189:4:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"visibility": "public"
},
{
"id": 1811,
"nodeType": "VariableDeclaration",
"src": "199:110:1",
"constant": true,
"mutability": "constant",
"name": "VM_ADDRESS",
"nameLocation": "224:10:1",
"scope": 2022,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1795,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "199:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "6865766d20636865617420636f6465",
"id": 1805,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "287:17:1",
"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": 1804,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "277:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 1806,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "277:28:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 1803,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "269:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 1802,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "269:7:1",
"typeDescriptions": {}
}
},
"id": 1807,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "269:37:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 1801,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "261:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint160_$",
"typeString": "type(uint160)"
},
"typeName": {
"id": 1800,
"name": "uint160",
"nodeType": "ElementaryTypeName",
"src": "261:7:1",
"typeDescriptions": {}
}
},
"id": 1808,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "261:46:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint160",
"typeString": "uint160"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint160",
"typeString": "uint160"
}
],
"id": 1799,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "253:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes20_$",
"typeString": "type(bytes20)"
},
"typeName": {
"id": 1798,
"name": "bytes20",
"nodeType": "ElementaryTypeName",
"src": "253:7:1",
"typeDescriptions": {}
}
},
"id": 1809,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "253:55:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes20",
"typeString": "bytes20"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes20",
"typeString": "bytes20"
}
],
"id": 1797,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "245:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 1796,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "245:7:1",
"typeDescriptions": {}
}
},
"id": 1810,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "245:64:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "private"
},
{
"id": 1817,
"nodeType": "VariableDeclaration",
"src": "316:38:1",
"constant": true,
"functionSelector": "3a768463",
"mutability": "constant",
"name": "vm",
"nameLocation": "335:2:1",
"scope": 2022,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Vm_$5434",
"typeString": "contract Vm"
},
"typeName": {
"id": 1813,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 1812,
"name": "Vm",
"nameLocations": [
"316:2:1"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 5434,
"src": "316:2:1"
},
"referencedDeclaration": 5434,
"src": "316:2:1",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Vm_$5434",
"typeString": "contract Vm"
}
},
"value": {
"arguments": [
{
"id": 1815,
"name": "VM_ADDRESS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1811,
"src": "343:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 1814,
"name": "Vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5434,
"src": "340:2:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_Vm_$5434_$",
"typeString": "type(contract Vm)"
}
},
"id": 1816,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "340:14:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_Vm_$5434",
"typeString": "contract Vm"
}
},
"visibility": "public"
},
{
"id": 2002,
"nodeType": "FunctionDefinition",
"src": "593:1878:1",
"body": {
"id": 2001,
"nodeType": "Block",
"src": "688:1783:1",
"statements": [
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1829,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 1827,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "979:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "30783030",
"id": 1828,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "988:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0x00"
},
"src": "979:13:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 1851,
"nodeType": "IfStatement",
"src": "975:141:1",
"trueBody": {
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "30786436",
"id": 1836,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1070:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_214_by_1",
"typeString": "int_const 214"
},
"value": "0xd6"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_214_by_1",
"typeString": "int_const 214"
}
],
"id": 1835,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1063:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1834,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1063:6:1",
"typeDescriptions": {}
}
},
"id": 1837,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1063:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"hexValue": "30783934",
"id": 1840,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1084:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
},
"value": "0x94"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
}
],
"id": 1839,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1077:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1838,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1077:6:1",
"typeDescriptions": {}
}
},
"id": 1841,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1077:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"id": 1842,
"name": "deployer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1820,
"src": "1091:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"arguments": [
{
"hexValue": "30783830",
"id": 1845,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1108:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_128_by_1",
"typeString": "int_const 128"
},
"value": "0x80"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_128_by_1",
"typeString": "int_const 128"
}
],
"id": 1844,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1101:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1843,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1101:6:1",
"typeDescriptions": {}
}
},
"id": 1846,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1101:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
],
"expression": {
"id": 1832,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1046:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 1833,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1050:12:1",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "1046:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 1847,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1046:68:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 1831,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "1036:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 1848,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1036:79:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 1830,
"name": "addressFromLast20Bytes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2021,
"src": "1013:22:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32) pure returns (address)"
}
},
"id": 1849,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1013:103:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 1826,
"id": 1850,
"nodeType": "Return",
"src": "1006:110:1"
}
},
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1854,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 1852,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "1130:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"hexValue": "30783766",
"id": 1853,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1139:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_127_by_1",
"typeString": "int_const 127"
},
"value": "0x7f"
},
"src": "1130:13:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 1876,
"nodeType": "IfStatement",
"src": "1126:141:1",
"trueBody": {
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "30786436",
"id": 1861,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1221:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_214_by_1",
"typeString": "int_const 214"
},
"value": "0xd6"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_214_by_1",
"typeString": "int_const 214"
}
],
"id": 1860,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1214:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1859,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1214:6:1",
"typeDescriptions": {}
}
},
"id": 1862,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1214:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"hexValue": "30783934",
"id": 1865,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1235:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
},
"value": "0x94"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
}
],
"id": 1864,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1228:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1863,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1228:6:1",
"typeDescriptions": {}
}
},
"id": 1866,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1228:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"id": 1867,
"name": "deployer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1820,
"src": "1242:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"arguments": [
{
"id": 1870,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "1258:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 1869,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1252:5:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint8_$",
"typeString": "type(uint8)"
},
"typeName": {
"id": 1868,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1252:5:1",
"typeDescriptions": {}
}
},
"id": 1871,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1252:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"expression": {
"id": 1857,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1197:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 1858,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1201:12:1",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "1197:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 1872,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1197:68:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 1856,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "1187:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 1873,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1187:79:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 1855,
"name": "addressFromLast20Bytes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2021,
"src": "1164:22:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32) pure returns (address)"
}
},
"id": 1874,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1164:103:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 1826,
"id": 1875,
"nodeType": "Return",
"src": "1157:110:1"
}
},
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1883,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 1877,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "1420:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"commonType": {
"typeIdentifier": "t_rational_255_by_1",
"typeString": "int_const 255"
},
"id": 1882,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"commonType": {
"typeIdentifier": "t_rational_256_by_1",
"typeString": "int_const 256"
},
"id": 1880,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"hexValue": "32",
"id": 1878,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1429:1:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"hexValue": "38",
"id": 1879,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1432:1:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_8_by_1",
"typeString": "int_const 8"
},
"value": "8"
},
"src": "1429:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_256_by_1",
"typeString": "int_const 256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"hexValue": "31",
"id": 1881,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1436:1:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "1429:8:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_255_by_1",
"typeString": "int_const 255"
}
},
"src": "1420:17:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 1909,
"nodeType": "IfStatement",
"src": "1416:148:1",
"trueBody": {
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "30786437",
"id": 1890,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1504:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_215_by_1",
"typeString": "int_const 215"
},
"value": "0xd7"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_215_by_1",
"typeString": "int_const 215"
}
],
"id": 1889,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1497:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1888,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1497:6:1",
"typeDescriptions": {}
}
},
"id": 1891,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1497:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"hexValue": "30783934",
"id": 1894,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1518:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
},
"value": "0x94"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
}
],
"id": 1893,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1511:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1892,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1511:6:1",
"typeDescriptions": {}
}
},
"id": 1895,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1511:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"id": 1896,
"name": "deployer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1820,
"src": "1525:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"arguments": [
{
"hexValue": "30783831",
"id": 1899,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1542:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_129_by_1",
"typeString": "int_const 129"
},
"value": "0x81"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_129_by_1",
"typeString": "int_const 129"
}
],
"id": 1898,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1535:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1897,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1535:6:1",
"typeDescriptions": {}
}
},
"id": 1900,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1535:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"id": 1903,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "1555:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 1902,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1549:5:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint8_$",
"typeString": "type(uint8)"
},
"typeName": {
"id": 1901,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "1549:5:1",
"typeDescriptions": {}
}
},
"id": 1904,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1549:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"expression": {
"id": 1886,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1480:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 1887,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1484:12:1",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "1480:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 1905,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1480:82:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 1885,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "1470:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 1906,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1470:93:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 1884,
"name": "addressFromLast20Bytes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2021,
"src": "1447:22:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32) pure returns (address)"
}
},
"id": 1907,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1447:117:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 1826,
"id": 1908,
"nodeType": "Return",
"src": "1440:124:1"
}
},
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1916,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 1910,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "1578:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"commonType": {
"typeIdentifier": "t_rational_65535_by_1",
"typeString": "int_const 65535"
},
"id": 1915,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"commonType": {
"typeIdentifier": "t_rational_65536_by_1",
"typeString": "int_const 65536"
},
"id": 1913,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"hexValue": "32",
"id": 1911,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1587:1:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"hexValue": "3136",
"id": 1912,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1590:2:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_16_by_1",
"typeString": "int_const 16"
},
"value": "16"
},
"src": "1587:5:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_65536_by_1",
"typeString": "int_const 65536"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"hexValue": "31",
"id": 1914,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1595:1:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "1587:9:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_65535_by_1",
"typeString": "int_const 65535"
}
},
"src": "1578:18:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 1942,
"nodeType": "IfStatement",
"src": "1574:149:1",
"trueBody": {
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "30786438",
"id": 1923,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1662:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_216_by_1",
"typeString": "int_const 216"
},
"value": "0xd8"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_216_by_1",
"typeString": "int_const 216"
}
],
"id": 1922,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1655:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1921,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1655:6:1",
"typeDescriptions": {}
}
},
"id": 1924,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1655:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"hexValue": "30783934",
"id": 1927,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1676:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
},
"value": "0x94"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
}
],
"id": 1926,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1669:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1925,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1669:6:1",
"typeDescriptions": {}
}
},
"id": 1928,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1669:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"id": 1929,
"name": "deployer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1820,
"src": "1683:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"arguments": [
{
"hexValue": "30783832",
"id": 1932,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1700:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_130_by_1",
"typeString": "int_const 130"
},
"value": "0x82"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_130_by_1",
"typeString": "int_const 130"
}
],
"id": 1931,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1693:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1930,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1693:6:1",
"typeDescriptions": {}
}
},
"id": 1933,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1693:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"id": 1936,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "1714:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 1935,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1707:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint16_$",
"typeString": "type(uint16)"
},
"typeName": {
"id": 1934,
"name": "uint16",
"nodeType": "ElementaryTypeName",
"src": "1707:6:1",
"typeDescriptions": {}
}
},
"id": 1937,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1707:13:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_uint16",
"typeString": "uint16"
}
],
"expression": {
"id": 1919,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1638:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 1920,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1642:12:1",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "1638:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 1938,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1638:83:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 1918,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "1628:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 1939,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1628:94:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 1917,
"name": "addressFromLast20Bytes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2021,
"src": "1605:22:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32) pure returns (address)"
}
},
"id": 1940,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1605:118:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 1826,
"id": 1941,
"nodeType": "Return",
"src": "1598:125:1"
}
},
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 1949,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 1943,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "1737:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"commonType": {
"typeIdentifier": "t_rational_16777215_by_1",
"typeString": "int_const 16777215"
},
"id": 1948,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"commonType": {
"typeIdentifier": "t_rational_16777216_by_1",
"typeString": "int_const 16777216"
},
"id": 1946,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"hexValue": "32",
"id": 1944,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1746:1:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"hexValue": "3234",
"id": 1945,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1749:2:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_24_by_1",
"typeString": "int_const 24"
},
"value": "24"
},
"src": "1746:5:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_16777216_by_1",
"typeString": "int_const 16777216"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"hexValue": "31",
"id": 1947,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1754:1:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "1746:9:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_16777215_by_1",
"typeString": "int_const 16777215"
}
},
"src": "1737:18:1",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 1975,
"nodeType": "IfStatement",
"src": "1733:149:1",
"trueBody": {
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "30786439",
"id": 1956,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1821:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_217_by_1",
"typeString": "int_const 217"
},
"value": "0xd9"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_217_by_1",
"typeString": "int_const 217"
}
],
"id": 1955,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1814:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1954,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1814:6:1",
"typeDescriptions": {}
}
},
"id": 1957,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1814:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"hexValue": "30783934",
"id": 1960,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1835:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
},
"value": "0x94"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
}
],
"id": 1959,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1828:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1958,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1828:6:1",
"typeDescriptions": {}
}
},
"id": 1961,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1828:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"id": 1962,
"name": "deployer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1820,
"src": "1842:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"arguments": [
{
"hexValue": "30783833",
"id": 1965,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1859:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_131_by_1",
"typeString": "int_const 131"
},
"value": "0x83"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_131_by_1",
"typeString": "int_const 131"
}
],
"id": 1964,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1852:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1963,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "1852:6:1",
"typeDescriptions": {}
}
},
"id": 1966,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1852:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"id": 1969,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "1873:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 1968,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1866:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint24_$",
"typeString": "type(uint24)"
},
"typeName": {
"id": 1967,
"name": "uint24",
"nodeType": "ElementaryTypeName",
"src": "1866:6:1",
"typeDescriptions": {}
}
},
"id": 1970,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1866:13:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint24",
"typeString": "uint24"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_uint24",
"typeString": "uint24"
}
],
"expression": {
"id": 1952,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "1797:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 1953,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "1801:12:1",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "1797:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 1971,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1797:83:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 1951,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "1787:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 1972,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1787:94:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 1950,
"name": "addressFromLast20Bytes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2021,
"src": "1764:22:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32) pure returns (address)"
}
},
"id": 1973,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1764:118:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 1826,
"id": 1974,
"nodeType": "Return",
"src": "1757:125:1"
}
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "30786461",
"id": 1982,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2403:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_218_by_1",
"typeString": "int_const 218"
},
"value": "0xda"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_218_by_1",
"typeString": "int_const 218"
}
],
"id": 1981,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2396:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1980,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "2396:6:1",
"typeDescriptions": {}
}
},
"id": 1983,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2396:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"hexValue": "30783934",
"id": 1986,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2417:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
},
"value": "0x94"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_148_by_1",
"typeString": "int_const 148"
}
],
"id": 1985,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2410:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1984,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "2410:6:1",
"typeDescriptions": {}
}
},
"id": 1987,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2410:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"id": 1988,
"name": "deployer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1820,
"src": "2424:8:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"arguments": [
{
"hexValue": "30783834",
"id": 1991,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2441:4:1",
"typeDescriptions": {
"typeIdentifier": "t_rational_132_by_1",
"typeString": "int_const 132"
},
"value": "0x84"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_132_by_1",
"typeString": "int_const 132"
}
],
"id": 1990,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2434:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 1989,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "2434:6:1",
"typeDescriptions": {}
}
},
"id": 1992,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2434:12:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
{
"arguments": [
{
"id": 1995,
"name": "nonce",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1822,
"src": "2455:5:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 1994,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2448:6:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint32_$",
"typeString": "type(uint32)"
},
"typeName": {
"id": 1993,
"name": "uint32",
"nodeType": "ElementaryTypeName",
"src": "2448:6:1",
"typeDescriptions": {}
}
},
"id": 1996,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2448:13:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
{
"typeIdentifier": "t_uint32",
"typeString": "uint32"
}
],
"expression": {
"id": 1978,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "2379:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 1979,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "2383:12:1",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "2379:16:1",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 1997,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2379:83:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 1977,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "2369:9:1",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 1998,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2369:94:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 1976,
"name": "addressFromLast20Bytes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2021,
"src": "2346:22:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_address_$",
"typeString": "function (bytes32) pure returns (address)"
}
},
"id": 1999,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2346:118:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 1826,
"id": 2000,
"nodeType": "Return",
"src": "2339:125:1"
}
]
},
"documentation": {
"id": 1818,
"nodeType": "StructuredDocumentation",
"src": "361:227:1",
"text": "@dev Compute the address a contract will be deployed at for a given deployer address and nonce\n @notice adapated from Solmate implementation (https://github.com/transmissions11/solmate/blob/main/src/utils/LibRLP.sol)"
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "computeCreateAddress",
"nameLocation": "602:20:1",
"parameters": {
"id": 1823,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1820,
"mutability": "mutable",
"name": "deployer",
"nameLocation": "631:8:1",
"nodeType": "VariableDeclaration",
"scope": 2002,
"src": "623:16:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1819,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "623:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 1822,
"mutability": "mutable",
"name": "nonce",
"nameLocation": "649:5:1",
"nodeType": "VariableDeclaration",
"scope": 2002,
"src": "641:13:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1821,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "641:7:1",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "622:33:1"
},
"returnParameters": {
"id": 1826,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1825,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2002,
"src": "679:7:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1824,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "679:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "678:9:1"
},
"scope": 2022,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"id": 2021,
"nodeType": "FunctionDefinition",
"src": "2477:145:1",
"body": {
"id": 2020,
"nodeType": "Block",
"src": "2561:61:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"id": 2015,
"name": "bytesValue",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2004,
"src": "2602:10:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 2014,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2594:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 2013,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2594:7:1",
"typeDescriptions": {}
}
},
"id": 2016,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2594:19:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 2012,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2586:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint160_$",
"typeString": "type(uint160)"
},
"typeName": {
"id": 2011,
"name": "uint160",
"nodeType": "ElementaryTypeName",
"src": "2586:7:1",
"typeDescriptions": {}
}
},
"id": 2017,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2586:28:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint160",
"typeString": "uint160"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint160",
"typeString": "uint160"
}
],
"id": 2010,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2578:7:1",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 2009,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2578:7:1",
"typeDescriptions": {}
}
},
"id": 2018,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2578:37:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 2008,
"id": 2019,
"nodeType": "Return",
"src": "2571:44:1"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "addressFromLast20Bytes",
"nameLocation": "2486:22:1",
"parameters": {
"id": 2005,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2004,
"mutability": "mutable",
"name": "bytesValue",
"nameLocation": "2517:10:1",
"nodeType": "VariableDeclaration",
"scope": 2021,
"src": "2509:18:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 2003,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2509:7:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "2508:20:1"
},
"returnParameters": {
"id": 2008,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2007,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 2021,
"src": "2552:7:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2006,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2552:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "2551:9:1"
},
"scope": 2022,
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
}
],
"abstract": true,
"baseContracts": [],
"canonicalName": "Script",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"linearizedBaseContracts": [
2022
],
"name": "Script",
"nameLocation": "152:6:1",
"scope": 2023,
"usedErrors": []
}
],
"license": "MIT"
},
"id": 1
}