@aave/governance-crosschain-bridges
Version:
Contracts of Aave Governance Crosschain Bridges
2,804 lines • 138 kB
JSON
{
"id": "271b69fd5796f1c76b38193724460cc6",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.10",
"solcLongVersion": "0.8.10+commit.fc410830",
"input": {
"language": "Solidity",
"sources": {
"contracts/mocks/PolygonMarketUpdate.sol": {
"content": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.10;\n\ncontract PolygonMarketUpdate {\n event UpdateExecuted(uint256 counter, uint256 testInt, address testAddress, uint256 fee);\n event DelegateUpdateExecuted(bytes32 testBytes, address sender);\n address constant UPDATED_ADDRESS = 0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9;\n\n uint256 private _counter;\n uint256 private _testInt;\n\n function execute(uint256 testInt) external payable returns (uint256) {\n _counter = _counter + 1;\n _testInt = testInt;\n emit UpdateExecuted(_counter, _testInt, UPDATED_ADDRESS, msg.value);\n return testInt;\n }\n\n function executeWithDelegate(bytes32 testBytes) external payable {\n emit DelegateUpdateExecuted(testBytes, msg.sender);\n }\n\n function alwaysFails() public {\n _counter = _counter + 1;\n require(1 < 0, 'THIS_ALWAYS_FAILS');\n }\n\n function getCounter() public view returns (uint256) {\n return _counter;\n }\n\n function getTestInt() public view returns (uint256) {\n return _testInt;\n }\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"abi",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.gasEstimates"
],
"": [
"ast"
]
}
},
"metadata": {
"useLiteralContent": true
}
}
},
"output": {
"contracts": {
"contracts/mocks/PolygonMarketUpdate.sol": {
"PolygonMarketUpdate": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "testBytes",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "DelegateUpdateExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "counter",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "testInt",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "testAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"name": "UpdateExecuted",
"type": "event"
},
{
"inputs": [],
"name": "alwaysFails",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "testInt",
"type": "uint256"
}
],
"name": "execute",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "testBytes",
"type": "bytes32"
}
],
"name": "executeWithDelegate",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "getCounter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getTestInt",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5061023a806100206000396000f3fe60806040526004361061004a5760003560e01c8063128e6c371461004f57806332366b3b146100665780638ada066e14610079578063e60308db1461009c578063fe0d94c1146100b1575b600080fd5b34801561005b57600080fd5b506100646100c4565b005b6100646100743660046101c5565b610115565b34801561008557600080fd5b506000545b60405190815260200160405180910390f35b3480156100a857600080fd5b5060015461008a565b61008a6100bf3660046101c5565b610150565b6000546100d29060016101de565b60005560405162461bcd60e51b8152602060048201526011602482015270544849535f414c574159535f4641494c5360781b604482015260640160405180910390fd5b604080518281523360208201527ffb431db1c12156d00849c29ca8b66475afba575929b049f491d4681dc0cc07cc910160405180910390a150565b6000805461015f9060016101de565b600081905560018390556040805191825260208201849052737d2768de32b0b80b7a3454c06bdac94a69ddc7a982820152346060830152517fd4ed93d7cb4d4a9ff33f966cb590f2780cdb3e1ccea45804716695f6d34174469181900360800190a15090565b6000602082840312156101d757600080fd5b5035919050565b600082198211156101ff57634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220c33076c803d5f1974eccee078248528e182cb663cba575798546aed6805260a964736f6c634300080a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x23A DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x128E6C37 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x32366B3B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x8ADA066E EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xE60308DB EQ PUSH2 0x9C JUMPI DUP1 PUSH4 0xFE0D94C1 EQ PUSH2 0xB1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0xC4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x64 PUSH2 0x74 CALLDATASIZE PUSH1 0x4 PUSH2 0x1C5 JUMP JUMPDEST PUSH2 0x115 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x8A JUMP JUMPDEST PUSH2 0x8A PUSH2 0xBF CALLDATASIZE PUSH1 0x4 PUSH2 0x1C5 JUMP JUMPDEST PUSH2 0x150 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0xD2 SWAP1 PUSH1 0x1 PUSH2 0x1DE JUMP JUMPDEST PUSH1 0x0 SSTORE PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x544849535F414C574159535F4641494C53 PUSH1 0x78 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0xFB431DB1C12156D00849C29CA8B66475AFBA575929B049F491D4681DC0CC07CC SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x15F SWAP1 PUSH1 0x1 PUSH2 0x1DE JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE PUSH1 0x1 DUP4 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP5 SWAP1 MSTORE PUSH20 0x7D2768DE32B0B80B7A3454C06BDAC94A69DDC7A9 DUP3 DUP3 ADD MSTORE CALLVALUE PUSH1 0x60 DUP4 ADD MSTORE MLOAD PUSH32 0xD4ED93D7CB4D4A9FF33F966CB590F2780CDB3E1CCEA45804716695F6D3417446 SWAP2 DUP2 SWAP1 SUB PUSH1 0x80 ADD SWAP1 LOG1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC3 ADDRESS PUSH23 0xC803D5F1974ECCEE078248528E182CB663CBA575798546 0xAE 0xD6 DUP1 MSTORE PUSH1 0xA9 PUSH5 0x736F6C6343 STOP ADDMOD EXP STOP CALLER ",
"sourceMap": "63:956:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@alwaysFails_81": {
"entryPoint": 196,
"id": 81,
"parameterSlots": 0,
"returnSlots": 0
},
"@executeWithDelegate_64": {
"entryPoint": 277,
"id": 64,
"parameterSlots": 1,
"returnSlots": 0
},
"@execute_52": {
"entryPoint": 336,
"id": 52,
"parameterSlots": 1,
"returnSlots": 1
},
"@getCounter_89": {
"entryPoint": null,
"id": 89,
"parameterSlots": 0,
"returnSlots": 1
},
"@getTestInt_97": {
"entryPoint": null,
"id": 97,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_decode_tuple_t_bytes32": {
"entryPoint": 453,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_1d85e02ab29e46c60f78bf643cd12a0edb73a21e9895e77501d45ec6a2256a6e__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_uint256_t_address_t_uint256__to_t_uint256_t_uint256_t_address_t_uint256__fromStack_reversed": {
"entryPoint": null,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 478,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1840:1",
"statements": [
{
"nodeType": "YulBlock",
"src": "6:3:1",
"statements": []
},
{
"body": {
"nodeType": "YulBlock",
"src": "84:110:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "130:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "139:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "142:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "132:6:1"
},
"nodeType": "YulFunctionCall",
"src": "132:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "132:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "105:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "114:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "101:3:1"
},
"nodeType": "YulFunctionCall",
"src": "101:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "126:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "97:3:1"
},
"nodeType": "YulFunctionCall",
"src": "97:32:1"
},
"nodeType": "YulIf",
"src": "94:52:1"
},
{
"nodeType": "YulAssignment",
"src": "155:33:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "178:9:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "165:12:1"
},
"nodeType": "YulFunctionCall",
"src": "165:23:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "155:6:1"
}
]
}
]
},
"name": "abi_decode_tuple_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "50:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "61:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "73:6:1",
"type": ""
}
],
"src": "14:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:76:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "310:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "322:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "333:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "318:3:1"
},
"nodeType": "YulFunctionCall",
"src": "318:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "310:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "352:9:1"
},
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "363:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "345:6:1"
},
"nodeType": "YulFunctionCall",
"src": "345:25:1"
},
"nodeType": "YulExpressionStatement",
"src": "345:25:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "269:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "280:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "291:4:1",
"type": ""
}
],
"src": "199:177:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "451:110:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "497:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "506:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "509:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "499:6:1"
},
"nodeType": "YulFunctionCall",
"src": "499:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "499:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "472:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "481:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "468:3:1"
},
"nodeType": "YulFunctionCall",
"src": "468:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "493:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "464:3:1"
},
"nodeType": "YulFunctionCall",
"src": "464:32:1"
},
"nodeType": "YulIf",
"src": "461:52:1"
},
{
"nodeType": "YulAssignment",
"src": "522:33:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "545:9:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "532:12:1"
},
"nodeType": "YulFunctionCall",
"src": "532:23:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "522:6:1"
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "417:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "428:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "440:6:1",
"type": ""
}
],
"src": "381:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "614:177:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "649:111:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "670:1:1",
"type": "",
"value": "0"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:3:1",
"type": "",
"value": "224"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "682:10:1",
"type": "",
"value": "0x4e487b71"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "673:3:1"
},
"nodeType": "YulFunctionCall",
"src": "673:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "663:6:1"
},
"nodeType": "YulFunctionCall",
"src": "663:31:1"
},
"nodeType": "YulExpressionStatement",
"src": "663:31:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "714:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "717:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "707:6:1"
},
"nodeType": "YulFunctionCall",
"src": "707:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "707:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "742:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "745:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "735:6:1"
},
"nodeType": "YulFunctionCall",
"src": "735:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "735:15:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "630:1:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "637:1:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "633:3:1"
},
"nodeType": "YulFunctionCall",
"src": "633:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "627:2:1"
},
"nodeType": "YulFunctionCall",
"src": "627:13:1"
},
"nodeType": "YulIf",
"src": "624:136:1"
},
{
"nodeType": "YulAssignment",
"src": "769:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "780:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "783:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "776:3:1"
},
"nodeType": "YulFunctionCall",
"src": "776:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "769:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "597:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "600:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "606:3:1",
"type": ""
}
],
"src": "566:225:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "970:167:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "987:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "998:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "980:6:1"
},
"nodeType": "YulFunctionCall",
"src": "980:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "980:21:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1021:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1032:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1017:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1017:18:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1037:2:1",
"type": "",
"value": "17"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1010:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1010:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "1010:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1060:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1071:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1056:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1056:18:1"
},
{
"hexValue": "544849535f414c574159535f4641494c53",
"kind": "string",
"nodeType": "YulLiteral",
"src": "1076:19:1",
"type": "",
"value": "THIS_ALWAYS_FAILS"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1049:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1049:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "1049:47:1"
},
{
"nodeType": "YulAssignment",
"src": "1105:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1117:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1128:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1113:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1113:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1105:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_1d85e02ab29e46c60f78bf643cd12a0edb73a21e9895e77501d45ec6a2256a6e__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "947:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "961:4:1",
"type": ""
}
],
"src": "796:341:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1271:145:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1281:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1293:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1304:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1289:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1289:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1281:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1323:9:1"
},
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1334:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1316:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1316:25:1"
},
"nodeType": "YulExpressionStatement",
"src": "1316:25:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1361:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1372:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1357:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1357:18:1"
},
{
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1381:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1397:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1402:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1393:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1393:11:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1406:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1389:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1389:19:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1377:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1377:32:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1350:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1350:60:1"
},
"nodeType": "YulExpressionStatement",
"src": "1350:60:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1232:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1243:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1251:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1262:4:1",
"type": ""
}
],
"src": "1142:274:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1606:232:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1616:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1628:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1639:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1624:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1624:19:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1616:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1659:9:1"
},
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1670:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1652:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1652:25:1"
},
"nodeType": "YulExpressionStatement",
"src": "1652:25:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1697:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1708:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1693:18:1"
},
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1713:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1686:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1686:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1686:34:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1740:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1751:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1736:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1736:18:1"
},
{
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1760:6:1"
},
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1776:3:1",
"type": "",
"value": "160"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1781:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1772:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1772:11:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1785:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1768:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1768:19:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1756:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1756:32:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1729:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1729:60:1"
},
"nodeType": "YulExpressionStatement",
"src": "1729:60:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1809:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1820:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1805:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1805:18:1"
},
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "1825:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1798:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1798:34:1"
},
"nodeType": "YulExpressionStatement",
"src": "1798:34:1"
}
]
},
"name": "abi_encode_tuple_t_uint256_t_uint256_t_address_t_uint256__to_t_uint256_t_uint256_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1551:9:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "1562:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1570:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1578:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1586:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1597:4:1",
"type": ""
}
],
"src": "1421:417:1"
}
]
},
"contents": "{\n { }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n sum := add(x, y)\n }\n function abi_encode_tuple_t_stringliteral_1d85e02ab29e46c60f78bf643cd12a0edb73a21e9895e77501d45ec6a2256a6e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"THIS_ALWAYS_FAILS\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes32_t_address__to_t_bytes32_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_address_t_uint256__to_t_uint256_t_uint256_t_address_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), and(value2, sub(shl(160, 1), 1)))\n mstore(add(headStart, 96), value3)\n }\n}",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "60806040526004361061004a5760003560e01c8063128e6c371461004f57806332366b3b146100665780638ada066e14610079578063e60308db1461009c578063fe0d94c1146100b1575b600080fd5b34801561005b57600080fd5b506100646100c4565b005b6100646100743660046101c5565b610115565b34801561008557600080fd5b506000545b60405190815260200160405180910390f35b3480156100a857600080fd5b5060015461008a565b61008a6100bf3660046101c5565b610150565b6000546100d29060016101de565b60005560405162461bcd60e51b8152602060048201526011602482015270544849535f414c574159535f4641494c5360781b604482015260640160405180910390fd5b604080518281523360208201527ffb431db1c12156d00849c29ca8b66475afba575929b049f491d4681dc0cc07cc910160405180910390a150565b6000805461015f9060016101de565b600081905560018390556040805191825260208201849052737d2768de32b0b80b7a3454c06bdac94a69ddc7a982820152346060830152517fd4ed93d7cb4d4a9ff33f966cb590f2780cdb3e1ccea45804716695f6d34174469181900360800190a15090565b6000602082840312156101d757600080fd5b5035919050565b600082198211156101ff57634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220c33076c803d5f1974eccee078248528e182cb663cba575798546aed6805260a964736f6c634300080a0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x128E6C37 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x32366B3B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x8ADA066E EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xE60308DB EQ PUSH2 0x9C JUMPI DUP1 PUSH4 0xFE0D94C1 EQ PUSH2 0xB1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0xC4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x64 PUSH2 0x74 CALLDATASIZE PUSH1 0x4 PUSH2 0x1C5 JUMP JUMPDEST PUSH2 0x115 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x8A JUMP JUMPDEST PUSH2 0x8A PUSH2 0xBF CALLDATASIZE PUSH1 0x4 PUSH2 0x1C5 JUMP JUMPDEST PUSH2 0x150 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0xD2 SWAP1 PUSH1 0x1 PUSH2 0x1DE JUMP JUMPDEST PUSH1 0x0 SSTORE PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x544849535F414C574159535F4641494C53 PUSH1 0x78 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 DUP2 MSTORE CALLER PUSH1 0x20 DUP3 ADD MSTORE PUSH32 0xFB431DB1C12156D00849C29CA8B66475AFBA575929B049F491D4681DC0CC07CC SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH2 0x15F SWAP1 PUSH1 0x1 PUSH2 0x1DE JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 SSTORE PUSH1 0x1 DUP4 SWAP1 SSTORE PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP5 SWAP1 MSTORE PUSH20 0x7D2768DE32B0B80B7A3454C06BDAC94A69DDC7A9 DUP3 DUP3 ADD MSTORE CALLVALUE PUSH1 0x60 DUP4 ADD MSTORE MLOAD PUSH32 0xD4ED93D7CB4D4A9FF33F966CB590F2780CDB3E1CCEA45804716695F6D3417446 SWAP2 DUP2 SWAP1 SUB PUSH1 0x80 ADD SWAP1 LOG1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1FF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC3 ADDRESS PUSH23 0xC803D5F1974ECCEE078248528E182CB663CBA575798546 0xAE 0xD6 DUP1 MSTORE PUSH1 0xA9 PUSH5 0x736F6C6343 STOP ADDMOD EXP STOP CALLER ",
"sourceMap": "63:956:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;748:105;;;;;;;;;;;;;:::i;:::-;;618:126;;;;;;:::i;:::-;;:::i;857:78::-;;;;;;;;;;-1:-1:-1;900:7:0;922:8;857:78;;;345:25:1;;;333:2;318:18;857:78:0;;;;;;;939;;;;;;;;;;-1:-1:-1;1004:8:0;;939:78;;394:220;;;;;;:::i;:::-;;:::i;748:105::-;795:8;;:12;;806:1;795:12;:::i;:::-;784:8;:23;813:35;;-1:-1:-1;;;813:35:0;;998:2:1;813:35:0;;;980:21:1;1037:2;1017:18;;;1010:30;-1:-1:-1;;;1056:18:1;;;1049:47;1113:18;;813:35:0;;;;;;;618:126;694:45;;;1316:25:1;;;728:10:0;1372:2:1;1357:18;;1350:60;694:45:0;;1289:18:1;694:45:0;;;;;;;618:126;:::o;394:220::-;454:7;480:8;;:12;;491:1;480:12;:::i;:::-;469:8;:23;;;498:8;:18;;;527:62;;;1652:25:1;;;1708:2;1693:18;;1686:34;;;290:42:0;1736:18:1;;;1729:60;579:9:0;1820:2:1;1805:18;;1798:34;527:62:0;;;;;;1639:3:1;527:62:0;;;-1:-1:-1;602:7:0;394:220::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;566:225::-;606:3;637:1;633:6;630:1;627:13;624:136;;;682:10;677:3;673:20;670:1;663:31;717:4;714:1;707:15;745:4;742:1;735:15;624:136;-1:-1:-1;776:9:1;;566:225::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "114000",
"executionCost": "159",
"totalCost": "114159"
},
"external": {
"alwaysFails()": "24500",
"execute(uint256)": "48582",
"executeWithDelegate(bytes32)": "1529",
"getCounter()": "2291",
"getTestInt()": "2324"
}
},
"methodIdentifiers": {
"alwaysFails()": "128e6c37",
"execute(uint256)": "fe0d94c1",
"executeWithDelegate(bytes32)": "32366b3b",
"getCounter()": "8ada066e",
"getTestInt()": "e60308db"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"testBytes\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"DelegateUpdateExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"counter\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"testInt\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"testAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"UpdateExecuted\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"alwaysFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"testInt\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"testBytes\",\"type\":\"bytes32\"}],\"name\":\"executeWithDelegate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTestInt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/PolygonMarketUpdate.sol\":\"PolygonMarketUpdate\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/mocks/PolygonMarketUpdate.sol\":{\"content\":\"//SPDX-License-Identifier: Unlicense\\npragma solidity ^0.8.10;\\n\\ncontract PolygonMarketUpdate {\\n event UpdateExecuted(uint256 counter, uint256 testInt, address testAddress, uint256 fee);\\n event DelegateUpdateExecuted(bytes32 testBytes, address sender);\\n address constant UPDATED_ADDRESS = 0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9;\\n\\n uint256 private _counter;\\n uint256 private _testInt;\\n\\n function execute(uint256 testInt) external payable returns (uint256) {\\n _counter = _counter + 1;\\n _testInt = testInt;\\n emit UpdateExecuted(_counter, _testInt, UPDATED_ADDRESS, msg.value);\\n return testInt;\\n }\\n\\n function executeWithDelegate(bytes32 testBytes) external payable {\\n emit DelegateUpdateExecuted(testBytes, msg.sender);\\n }\\n\\n function alwaysFails() public {\\n _counter = _counter + 1;\\n require(1 < 0, 'THIS_ALWAYS_FAILS');\\n }\\n\\n function getCounter() public view returns (uint256) {\\n return _counter;\\n }\\n\\n function getTestInt() public view returns (uint256) {\\n return _testInt;\\n }\\n}\\n\",\"keccak256\":\"0xb47e8896c3fa451782d31cc6e933cdedefc4bb7952de46f8db10cc4823f5f6cb\",\"license\":\"Unlicense\"}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 22,
"contract": "contracts/mocks/PolygonMarketUpdate.sol:PolygonMarketUpdate",
"label": "_counter",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 24,
"contract": "contracts/mocks/PolygonMarketUpdate.sol:PolygonMarketUpdate",
"label": "_testInt",
"offset": 0,
"slot": "1",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/mocks/PolygonMarketUpdate.sol": {
"ast": {
"absolutePath": "contracts/mocks/PolygonMarketUpdate.sol",
"exportedSymbols": {
"PolygonMarketUpdate": [
98
]
},
"id": 99,
"license": "Unlicense",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".10"
],
"nodeType": "PragmaDirective",
"src": "37:24:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "PolygonMarketUpdate",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 98,
"linearizedBaseContracts": [
98
],
"name": "PolygonMarketUpdate",
"nameLocation": "72:19:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"id": 11,
"name": "UpdateExecuted",
"nameLocation": "102:14:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 10,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3,
"indexed": false,
"mutability": "mutable",
"name": "counter",
"nameLocation": "125:7:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "117:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "117:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5,
"indexed": false,
"mutability": "mutable",
"name": "testInt",
"nameLocation": "142:7:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "134:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "134:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 7,
"indexed": false,
"mutability": "mutable",
"name": "testAddress",
"nameLocation": "159:11:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "151:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "151:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9,
"indexed": false,
"mutability": "mutable",
"name": "fee",
"nameLocation": "180:3:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "172:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 8,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "172:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "116:68:0"
},
"src": "96:89:0"
},
{
"anonymous": false,
"id": 17,
"name": "DelegateUpdateExecuted",
"nameLocation": "194:22:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 16,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 13,
"indexed": false,
"mutability": "mutable",
"name": "testBytes",
"nameLocation": "225:9:0",
"nodeType": "VariableDeclaration",
"scope": 17,
"src": "217:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 12,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "217:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 15,
"indexed": false,
"mutability": "mutable",
"name": "sender",
"nameLocation": "244:6:0",
"nodeType": "VariableDeclaration",
"scope": 17,
"src": "236:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 14,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "236:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "216:35:0"
},
"src": "188:64:0"
},
{
"constant": true,
"id": 20,
"mutability": "constant",
"name": "UPDATED_ADDRESS",
"nameLocation": "272:15:0",
"nodeType": "VariableDeclaration",
"scope": 98,
"src": "255:77:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 18,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "255:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": {
"hexValue": "307837643237363864453332623062383062376133343534633036426441633934413639444463374139",
"id": 19,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "290:42:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9"
},
"visibility": "internal"
},
{
"constant": false,
"id": 22,
"mutability": "mutable",
"name": "_counter",
"nameLocation": "353:8:0",
"nodeType": "VariableDeclaration",
"scope": 98,
"src": "337:24:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "337:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 24,
"mutability": "mutable",
"name": "_testInt",
"nameLocation": "381:8:0",
"nodeType": "VariableDeclaration",
"scope": 98,
"src": "365:24:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "365:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "private"
},
{
"body": {
"id": 51,
"nodeType": "Block",
"src": "463:151:0",
"statements": [
{
"expression": {
"id": 35,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 31,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22,
"src": "469:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 34,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 32,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22,
"src": "480:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"hexValue": "31",
"id": 33,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "491:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "480:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "469:23:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 36,
"nodeType": "ExpressionStatement",
"src": "469:23:0"
},
{
"expression": {
"id": 39,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 37,
"name": "_testInt",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 24,
"src": "498:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 38,
"name": "testInt",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 26,
"src": "509:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "498:18:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 40,
"nodeType": "ExpressionStatement",
"src": "498:18:0"
},
{
"eventCall": {
"arguments": [
{
"id": 42,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22,
"src": "542:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"id": 43,
"name": "_testInt",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 24,
"src": "552:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"id": 44,
"name": "UPDATED_ADDRESS",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 20,
"src": "562:15:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"expression": {
"id": 45,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "579:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 46,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "value",
"nodeType": "MemberAccess",
"src": "579:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 41,
"name": "UpdateExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11,
"src": "527:14:0",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$__$",
"typeString": "function (uint256,uint256,address,uint256)"
}
},
"id": 47,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "527:62:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 48,
"nodeType": "EmitStatement",
"src": "522:67:0"
},
{
"expression": {
"id": 49,
"name": "testInt",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 26,
"src": "602:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 30,
"id": 50,
"nodeType": "Return",
"src": "595:14:0"
}
]
},
"functionSelector": "fe0d94c1",
"id": 52,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "execute",
"nameLocation": "403:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 27,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 26,
"mutability": "mutable",
"name": "testInt",
"nameLocation": "419:7:0",
"nodeType": "VariableDeclaration",
"scope": 52,
"src": "411:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 25,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "411:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "410:17:0"
},
"returnParameters": {
"id": 30,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 29,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 52,
"src": "454:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 28,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "454:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "453:9:0"
},
"scope": 98,
"src": "394:220:0",
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 63,
"nodeType": "Block",
"src": "683:61:0",
"statements": [
{
"eventCall": {
"arguments": [
{
"id": 58,
"name": "testBytes",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 54,
"src": "717:9:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"expression": {
"id": 59,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "728:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 60,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "728:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 57,
"name": "DelegateUpdateExecuted",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17,
"src": "694:22:0",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$",
"typeString": "function (bytes32,address)"
}
},
"id": 61,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "694:45:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 62,
"nodeType": "EmitStatement",
"src": "689:50:0"
}
]
},
"functionSelector": "32366b3b",
"id": 64,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "executeWithDelegate",
"nameLocation": "627:19:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 55,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 54,
"mutability": "mutable",
"name": "testBytes",
"nameLocation": "655:9:0",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "647:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 53,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "647:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "646:19:0"
},
"returnParameters": {
"id": 56,
"nodeType": "ParameterList",
"parameters": [],
"src": "683:0:0"
},
"scope": 98,
"src": "618:126:0",
"stateMutability": "payable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 80,
"nodeType": "Block",
"src": "778:75:0",
"statements": [
{
"expression": {
"id": 71,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 67,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22,
"src": "784:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 70,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 68,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22,
"src": "795:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"hexValue": "31",
"id": 69,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "806:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "795:12:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "784:23:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 72,
"nodeType": "ExpressionStatement",
"src": "784:23:0"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 76,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"hexValue": "31",
"id": 74,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "821:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"hexValue": "30",
"id": 75,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "825:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "821:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "544849535f414c574159535f4641494c53",
"id": 77,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "828:19:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_1d85e02ab29e46c60f78bf643cd12a0edb73a21e9895e77501d45ec6a2256a6e",
"typeString": "literal_string \"THIS_ALWAYS_FAILS\""
},
"value": "THIS_ALWAYS_FAILS"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_1d85e02ab29e46c60f78bf643cd12a0edb73a21e9895e77501d45ec6a2256a6e",
"typeString": "literal_string \"THIS_ALWAYS_FAILS\""
}
],
"id": 73,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "813:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 78,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "813:35:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 79,
"nodeType": "ExpressionStatement",
"src": "813:35:0"
}
]
},
"functionSelector": "128e6c37",
"id": 81,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "alwaysFails",
"nameLocation": "757:11:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 65,
"nodeType": "ParameterList",
"parameters": [],
"src": "768:2:0"
},
"returnParameters": {
"id": 66,
"nodeType": "ParameterList",
"parameters": [],
"src": "778:0:0"
},
"scope": 98,
"src": "748:105:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 88,
"nodeType": "Block",
"src": "909:26:0",
"statements": [
{
"expression": {
"id": 86,
"name": "_counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22,
"src": "922:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 85,
"id": 87,
"nodeType": "Return",
"src": "915:15:0"
}
]
},
"functionSelector": "8ada066e",
"id": 89,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getCounter",
"nameLocation": "866:10:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 82,
"nodeType": "ParameterList",
"parameters": [],
"src": "876:2:0"
},
"returnParameters": {
"id": 85,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 84,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 89,
"src": "900:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 83,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "900:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "899:9:0"
},
"scope": 98,
"src": "857:78:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 96,
"nodeType": "Block",
"src": "991:26:0",
"statements": [
{
"expression": {
"id": 94,
"name": "_testInt",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 24,
"src": "1004:8:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 93,
"id": 95,
"nodeType": "Return",
"src": "997:15:0"
}
]
},
"functionSelector": "e60308db",
"id": 97,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getTestInt",
"nameLocation": "948:10:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 90,
"nodeType": "ParameterList",
"parameters": [],
"src": "958:2:0"
},
"returnParameters": {
"id": 93,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 92,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 97,
"src": "982:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 91,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "982:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "981:9:0"
},
"scope": 98,
"src": "939:78:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 99,
"src": "63:956:0",
"usedErrors": []
}
],
"src": "37:983:0"
},
"id": 0
}
}
}
}