Skip to content

Instantly share code, notes, and snippets.

@wei3erHase
Created June 13, 2023 08:01
Show Gist options
  • Save wei3erHase/ade3fe6f83af9637572000fd61a57863 to your computer and use it in GitHub Desktop.
Save wei3erHase/ade3fe6f83af9637572000fd61a57863 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.19+commit.7dd6d404.js&optimize=false&runs=200&gist=
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
{
"id": "69c619139f4ac8c89ecd6ddd5f436f18",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"Proxy.sol": {
"content": "interface Proxy {\n function owner() external view returns (address);\n}\n\ncontract CallProxy {\n function getOwner() external view returns (address) {\n \n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"Proxy.sol": {
"CallProxy": {
"abi": [
{
"inputs": [],
"name": "getOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"Proxy.sol\":75:170 contract CallProxy {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"Proxy.sol\":75:170 contract CallProxy {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x893d20e8\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"Proxy.sol\":100:168 function getOwner() external view returns (address) {... */\n tag_3:\n tag_4\n tag_5\n jump\t// in\n tag_4:\n mload(0x40)\n tag_6\n swap2\n swap1\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n tag_5:\n /* \"Proxy.sol\":143:150 address */\n 0x00\n /* \"Proxy.sol\":100:168 function getOwner() external view returns (address) {... */\n swap1\n jump\t// out\n /* \"#utility.yul\":7:133 */\n tag_9:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":84:126 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":77:82 */\n dup3\n /* \"#utility.yul\":73:127 */\n and\n /* \"#utility.yul\":62:127 */\n swap1\n pop\n /* \"#utility.yul\":7:133 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":139:235 */\n tag_10:\n /* \"#utility.yul\":176:183 */\n 0x00\n /* \"#utility.yul\":205:229 */\n tag_15\n /* \"#utility.yul\":223:228 */\n dup3\n /* \"#utility.yul\":205:229 */\n tag_9\n jump\t// in\n tag_15:\n /* \"#utility.yul\":194:229 */\n swap1\n pop\n /* \"#utility.yul\":139:235 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":241:359 */\n tag_11:\n /* \"#utility.yul\":328:352 */\n tag_17\n /* \"#utility.yul\":346:351 */\n dup2\n /* \"#utility.yul\":328:352 */\n tag_10\n jump\t// in\n tag_17:\n /* \"#utility.yul\":323:326 */\n dup3\n /* \"#utility.yul\":316:353 */\n mstore\n /* \"#utility.yul\":241:359 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":365:587 */\n tag_7:\n /* \"#utility.yul\":458:462 */\n 0x00\n /* \"#utility.yul\":496:498 */\n 0x20\n /* \"#utility.yul\":485:494 */\n dup3\n /* \"#utility.yul\":481:499 */\n add\n /* \"#utility.yul\":473:499 */\n swap1\n pop\n /* \"#utility.yul\":509:580 */\n tag_19\n /* \"#utility.yul\":577:578 */\n 0x00\n /* \"#utility.yul\":566:575 */\n dup4\n /* \"#utility.yul\":562:579 */\n add\n /* \"#utility.yul\":553:559 */\n dup5\n /* \"#utility.yul\":509:580 */\n tag_11\n jump\t// in\n tag_19:\n /* \"#utility.yul\":365:587 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220b823b786d163ff801914c1ed0197ce92e61d9457abe5b8a2c9075c2eb1551cfa64736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060d88061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063893d20e814602d575b600080fd5b60336047565b604051603e91906089565b60405180910390f35b600090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000607582604c565b9050919050565b608381606c565b82525050565b6000602082019050609c6000830184607c565b9291505056fea2646970667358221220b823b786d163ff801914c1ed0197ce92e61d9457abe5b8a2c9075c2eb1551cfa64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xD8 DUP1 PUSH2 0x1F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x893D20E8 EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x33 PUSH1 0x47 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3E SWAP2 SWAP1 PUSH1 0x89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x75 DUP3 PUSH1 0x4C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x83 DUP2 PUSH1 0x6C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x9C PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0x7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 0x23 0xB7 DUP7 0xD1 PUSH4 0xFF801914 0xC1 0xED ADD SWAP8 0xCE SWAP3 0xE6 SAR SWAP5 JUMPI 0xAB 0xE5 0xB8 LOG2 0xC9 SMOD 0x5C 0x2E 0xB1 SSTORE SHR STATICCALL PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "75:95:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getOwner_12": {
"entryPoint": 71,
"id": 12,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 124,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 137,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 108,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 76,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:590:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "77:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "84:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "73:3:1"
},
"nodeType": "YulFunctionCall",
"src": "73:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "194:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "223:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "205:17:1"
},
"nodeType": "YulFunctionCall",
"src": "205:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "194:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "166:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "176:7:1",
"type": ""
}
],
"src": "139:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "306:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "323:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "346:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "328:17:1"
},
"nodeType": "YulFunctionCall",
"src": "328:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "316:6:1"
},
"nodeType": "YulFunctionCall",
"src": "316:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "316:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "294:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "301:3:1",
"type": ""
}
],
"src": "241:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "463:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "473:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "485:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "496:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "481:3:1"
},
"nodeType": "YulFunctionCall",
"src": "481:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "473:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "553:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "566:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "577:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
"nodeType": "YulFunctionCall",
"src": "562:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "509:43:1"
},
"nodeType": "YulFunctionCall",
"src": "509:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "509:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "435:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "447:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "458:4:1",
"type": ""
}
],
"src": "365:222:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b506004361060285760003560e01c8063893d20e814602d575b600080fd5b60336047565b604051603e91906089565b60405180910390f35b600090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000607582604c565b9050919050565b608381606c565b82525050565b6000602082019050609c6000830184607c565b9291505056fea2646970667358221220b823b786d163ff801914c1ed0197ce92e61d9457abe5b8a2c9075c2eb1551cfa64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x893D20E8 EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x33 PUSH1 0x47 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3E SWAP2 SWAP1 PUSH1 0x89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x75 DUP3 PUSH1 0x4C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x83 DUP2 PUSH1 0x6C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x9C PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0x7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 0x23 0xB7 DUP7 0xD1 PUSH4 0xFF801914 0xC1 0xED ADD SWAP8 0xCE SWAP3 0xE6 SAR SWAP5 JUMPI 0xAB 0xE5 0xB8 LOG2 0xC9 SMOD 0x5C 0x2E 0xB1 SSTORE SHR STATICCALL PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "75:95:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;100:68;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;143:7;100:68;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "43200",
"executionCost": "93",
"totalCost": "43293"
},
"external": {
"getOwner()": "356"
}
},
"legacyAssembly": {
".code": [
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 75,
"end": 170,
"name": "MSTORE",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "DUP1",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "ISZERO",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 75,
"end": 170,
"name": "JUMPI",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 75,
"end": 170,
"name": "DUP1",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "REVERT",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 75,
"end": 170,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "POP",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 75,
"end": 170,
"name": "DUP1",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 75,
"end": 170,
"name": "CODECOPY",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 75,
"end": 170,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220b823b786d163ff801914c1ed0197ce92e61d9457abe5b8a2c9075c2eb1551cfa64736f6c63430008120033",
".code": [
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 75,
"end": 170,
"name": "MSTORE",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "DUP1",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "ISZERO",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 75,
"end": 170,
"name": "JUMPI",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 75,
"end": 170,
"name": "DUP1",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "REVERT",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 75,
"end": 170,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "POP",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 75,
"end": 170,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "LT",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 75,
"end": 170,
"name": "JUMPI",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 75,
"end": 170,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 75,
"end": 170,
"name": "SHR",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "DUP1",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "893D20E8"
},
{
"begin": 75,
"end": 170,
"name": "EQ",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 75,
"end": 170,
"name": "JUMPI",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 75,
"end": 170,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 75,
"end": 170,
"name": "DUP1",
"source": 0
},
{
"begin": 75,
"end": 170,
"name": "REVERT",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 100,
"end": 168,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 100,
"end": 168,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 100,
"end": 168,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 100,
"end": 168,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 168,
"name": "MLOAD",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 100,
"end": 168,
"name": "SWAP2",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "SWAP1",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 100,
"end": 168,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 100,
"end": 168,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 100,
"end": 168,
"name": "MLOAD",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "DUP1",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "SWAP2",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "SUB",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "SWAP1",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "RETURN",
"source": 0
},
{
"begin": 100,
"end": 168,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 100,
"end": 168,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 143,
"end": 150,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 100,
"end": 168,
"name": "SWAP1",
"source": 0
},
{
"begin": 100,
"end": 168,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 133,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 7,
"end": 133,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 84,
"end": 126,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 77,
"end": 82,
"name": "DUP3",
"source": 1
},
{
"begin": 73,
"end": 127,
"name": "AND",
"source": 1
},
{
"begin": 62,
"end": 127,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 127,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 133,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 133,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 133,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 133,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 139,
"end": 235,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 139,
"end": 235,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 176,
"end": 183,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 205,
"end": 229,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 223,
"end": 228,
"name": "DUP3",
"source": 1
},
{
"begin": 205,
"end": 229,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 205,
"end": 229,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 205,
"end": 229,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 205,
"end": 229,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 194,
"end": 229,
"name": "SWAP1",
"source": 1
},
{
"begin": 194,
"end": 229,
"name": "POP",
"source": 1
},
{
"begin": 139,
"end": 235,
"name": "SWAP2",
"source": 1
},
{
"begin": 139,
"end": 235,
"name": "SWAP1",
"source": 1
},
{
"begin": 139,
"end": 235,
"name": "POP",
"source": 1
},
{
"begin": 139,
"end": 235,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 241,
"end": 359,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 241,
"end": 359,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 328,
"end": 352,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 346,
"end": 351,
"name": "DUP2",
"source": 1
},
{
"begin": 328,
"end": 352,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 328,
"end": 352,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 328,
"end": 352,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 328,
"end": 352,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 323,
"end": 326,
"name": "DUP3",
"source": 1
},
{
"begin": 316,
"end": 353,
"name": "MSTORE",
"source": 1
},
{
"begin": 241,
"end": 359,
"name": "POP",
"source": 1
},
{
"begin": 241,
"end": 359,
"name": "POP",
"source": 1
},
{
"begin": 241,
"end": 359,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 365,
"end": 587,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 458,
"end": 462,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 496,
"end": 498,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 485,
"end": 494,
"name": "DUP3",
"source": 1
},
{
"begin": 481,
"end": 499,
"name": "ADD",
"source": 1
},
{
"begin": 473,
"end": 499,
"name": "SWAP1",
"source": 1
},
{
"begin": 473,
"end": 499,
"name": "POP",
"source": 1
},
{
"begin": 509,
"end": 580,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 577,
"end": 578,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 566,
"end": 575,
"name": "DUP4",
"source": 1
},
{
"begin": 562,
"end": 579,
"name": "ADD",
"source": 1
},
{
"begin": 553,
"end": 559,
"name": "DUP5",
"source": 1
},
{
"begin": 509,
"end": 580,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 509,
"end": 580,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 509,
"end": 580,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 509,
"end": 580,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "SWAP3",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "SWAP2",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "POP",
"source": 1
},
{
"begin": 365,
"end": 587,
"name": "POP",
"source": 1
},
{
"begin": 365,
"end": 587,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"Proxy.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"getOwner()": "893d20e8"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"Proxy.sol\":\"CallProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"Proxy.sol\":{\"keccak256\":\"0x0bff742f62c28f6a7cd42f632a530e7ebd2f383089b6a28f86ce9285bc6f723c\",\"urls\":[\"bzz-raw://fa620c72e2b58cb3edce35e4f168901dade5c2c480003dcb5094449daeb2b75f\",\"dweb:/ipfs/QmSJQ2s5JoUxw7Jt1W5dUiX78LMdwteVJkFQRtbQPmUBop\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"Proxy": {
"abi": [
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"owner()": "8da5cb5b"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"Proxy.sol\":\"Proxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"Proxy.sol\":{\"keccak256\":\"0x0bff742f62c28f6a7cd42f632a530e7ebd2f383089b6a28f86ce9285bc6f723c\",\"urls\":[\"bzz-raw://fa620c72e2b58cb3edce35e4f168901dade5c2c480003dcb5094449daeb2b75f\",\"dweb:/ipfs/QmSJQ2s5JoUxw7Jt1W5dUiX78LMdwteVJkFQRtbQPmUBop\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "1878",
"formattedMessage": "Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n--> Proxy.sol\n\n",
"message": "SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "Proxy.sol",
"start": -1
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "3420",
"formattedMessage": "Warning: Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.18;\"\n--> Proxy.sol\n\n",
"message": "Source file does not specify required compiler version! Consider adding \"pragma solidity ^0.8.18;\"",
"severity": "warning",
"sourceLocation": {
"end": -1,
"file": "Proxy.sol",
"start": -1
},
"type": "Warning"
}
],
"sources": {
"Proxy.sol": {
"ast": {
"absolutePath": "Proxy.sol",
"exportedSymbols": {
"CallProxy": [
13
],
"Proxy": [
6
]
},
"id": 14,
"nodeType": "SourceUnit",
"nodes": [
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Proxy",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 6,
"linearizedBaseContracts": [
6
],
"name": "Proxy",
"nameLocation": "10:5:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "8da5cb5b",
"id": 5,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "owner",
"nameLocation": "31:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1,
"nodeType": "ParameterList",
"parameters": [],
"src": "36:2:0"
},
"returnParameters": {
"id": 4,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 5,
"src": "62:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "62:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "61:9:0"
},
"scope": 6,
"src": "22:49:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 14,
"src": "0:73:0",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "CallProxy",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 13,
"linearizedBaseContracts": [
13
],
"name": "CallProxy",
"nameLocation": "84:9:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 11,
"nodeType": "Block",
"src": "152:16:0",
"statements": []
},
"functionSelector": "893d20e8",
"id": 12,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getOwner",
"nameLocation": "109:8:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "117:2:0"
},
"returnParameters": {
"id": 10,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 12,
"src": "143:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 8,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "143:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "142:9:0"
},
"scope": 13,
"src": "100:68:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 14,
"src": "75:95:0",
"usedErrors": []
}
],
"src": "0:170:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5060d88061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063893d20e814602d575b600080fd5b60336047565b604051603e91906089565b60405180910390f35b600090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000607582604c565b9050919050565b608381606c565b82525050565b6000602082019050609c6000830184607c565b9291505056fea2646970667358221220b823b786d163ff801914c1ed0197ce92e61d9457abe5b8a2c9075c2eb1551cfa64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xD8 DUP1 PUSH2 0x1F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x893D20E8 EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x33 PUSH1 0x47 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3E SWAP2 SWAP1 PUSH1 0x89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x75 DUP3 PUSH1 0x4C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x83 DUP2 PUSH1 0x6C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x9C PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0x7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 0x23 0xB7 DUP7 0xD1 PUSH4 0xFF801914 0xC1 0xED ADD SWAP8 0xCE SWAP3 0xE6 SAR SWAP5 JUMPI 0xAB 0xE5 0xB8 LOG2 0xC9 SMOD 0x5C 0x2E 0xB1 SSTORE SHR STATICCALL PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "75:95:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@getOwner_12": {
"entryPoint": 71,
"id": 12,
"parameterSlots": 0,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 124,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 137,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 108,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 76,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:590:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "77:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "84:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "73:3:1"
},
"nodeType": "YulFunctionCall",
"src": "73:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "194:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "223:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "205:17:1"
},
"nodeType": "YulFunctionCall",
"src": "205:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "194:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "166:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "176:7:1",
"type": ""
}
],
"src": "139:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "306:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "323:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "346:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "328:17:1"
},
"nodeType": "YulFunctionCall",
"src": "328:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "316:6:1"
},
"nodeType": "YulFunctionCall",
"src": "316:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "316:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "294:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "301:3:1",
"type": ""
}
],
"src": "241:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "463:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "473:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "485:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "496:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "481:3:1"
},
"nodeType": "YulFunctionCall",
"src": "481:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "473:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "553:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "566:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "577:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "562:3:1"
},
"nodeType": "YulFunctionCall",
"src": "562:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "509:43:1"
},
"nodeType": "YulFunctionCall",
"src": "509:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "509:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "435:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "447:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "458:4:1",
"type": ""
}
],
"src": "365:222:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b506004361060285760003560e01c8063893d20e814602d575b600080fd5b60336047565b604051603e91906089565b60405180910390f35b600090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000607582604c565b9050919050565b608381606c565b82525050565b6000602082019050609c6000830184607c565b9291505056fea2646970667358221220b823b786d163ff801914c1ed0197ce92e61d9457abe5b8a2c9075c2eb1551cfa64736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x893D20E8 EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x33 PUSH1 0x47 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x3E SWAP2 SWAP1 PUSH1 0x89 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x75 DUP3 PUSH1 0x4C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x83 DUP2 PUSH1 0x6C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x9C PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0x7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB8 0x23 0xB7 DUP7 0xD1 PUSH4 0xFF801914 0xC1 0xED ADD SWAP8 0xCE SWAP3 0xE6 SAR SWAP5 JUMPI 0xAB 0xE5 0xB8 LOG2 0xC9 SMOD 0x5C 0x2E 0xB1 SSTORE SHR STATICCALL PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "75:95:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;100:68;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;143:7;100:68;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "43200",
"executionCost": "93",
"totalCost": "43293"
},
"external": {
"getOwner()": "356"
}
},
"methodIdentifiers": {
"getOwner()": "893d20e8"
}
},
"abi": [
{
"inputs": [],
"name": "getOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "getOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"Proxy.sol": "CallProxy"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Proxy.sol": {
"keccak256": "0x0bff742f62c28f6a7cd42f632a530e7ebd2f383089b6a28f86ce9285bc6f723c",
"urls": [
"bzz-raw://fa620c72e2b58cb3edce35e4f168901dade5c2c480003dcb5094449daeb2b75f",
"dweb:/ipfs/QmSJQ2s5JoUxw7Jt1W5dUiX78LMdwteVJkFQRtbQPmUBop"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"owner()": "8da5cb5b"
}
},
"abi": [
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.18+commit.87f61d96"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"Proxy.sol": "Proxy"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"Proxy.sol": {
"keccak256": "0x0bff742f62c28f6a7cd42f632a530e7ebd2f383089b6a28f86ce9285bc6f723c",
"urls": [
"bzz-raw://fa620c72e2b58cb3edce35e4f168901dade5c2c480003dcb5094449daeb2b75f",
"dweb:/ipfs/QmSJQ2s5JoUxw7Jt1W5dUiX78LMdwteVJkFQRtbQPmUBop"
]
}
},
"version": 1
}
// SPDX-License-Identifier: UNLICENSED
interface Proxy {
function owner() external view returns (address);
}
contract CallProxy {
function getOwner() external view returns (address) {
return Proxy(0xcd7c8a41fb890e257a1022d1dc53ab74afe4ff6a).owner();
}
}
{
"id": "d1c242624c13f701f496a47c30c912ee",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.19",
"solcLongVersion": "0.8.19+commit.7dd6d404",
"input": {
"language": "Solidity",
"sources": {
"scripts/UpdateOracle.sol": {
"content": "// SPDX-License-Identifier: Unlicensed\npragma solidity 0.8.19;\n\ninterface IDelayedOracle {\n function updateResult() external;\n}\ninterface IOracleRelayer {\n function updateCollateralPrice(bytes32) external;\n}\ninterface IPidRateSetter {\n function updateRate() external;\n}\n\ncontract OracleUpdater {\n function updateWethOracle() external {\n IDelayedOracle(0x74558a1470c714BB5E24a6ba998905Ee5F3F0A25).updateResult();\n IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice(bytes32('WETH'));\n }\n function updateOpOracle() external {\n IDelayedOracle(0x6171f9dB883E3bcC1804Ef17Eb1199133E27058D).updateResult();\n IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice(bytes32('OP'));\n }\n function updateRedemptionRate() external {\n IPidRateSetter(0x4049Cc595c2F522BBAA9C3c3C34E0629258B9d47).updateRate();\n }\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"scripts/UpdateOracle.sol": {
"IDelayedOracle": {
"abi": [
{
"inputs": [],
"name": "updateResult",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"updateResult()": "80ebb08e"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"updateResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/UpdateOracle.sol\":\"IDelayedOracle\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"scripts/UpdateOracle.sol\":{\"keccak256\":\"0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4\",\"license\":\"Unlicensed\",\"urls\":[\"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5\",\"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"IOracleRelayer": {
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "updateCollateralPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"updateCollateralPrice(bytes32)": "6d530fb3"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"updateCollateralPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/UpdateOracle.sol\":\"IOracleRelayer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"scripts/UpdateOracle.sol\":{\"keccak256\":\"0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4\",\"license\":\"Unlicensed\",\"urls\":[\"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5\",\"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"IPidRateSetter": {
"abi": [
{
"inputs": [],
"name": "updateRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"updateRate()": "c7fee63e"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"updateRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/UpdateOracle.sol\":\"IPidRateSetter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"scripts/UpdateOracle.sol\":{\"keccak256\":\"0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4\",\"license\":\"Unlicensed\",\"urls\":[\"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5\",\"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"OracleUpdater": {
"abi": [
{
"inputs": [],
"name": "updateOpOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateRedemptionRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateWethOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"scripts/UpdateOracle.sol\":280:914 contract OracleUpdater {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"scripts/UpdateOracle.sol\":280:914 contract OracleUpdater {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x3fec9edd\n eq\n tag_3\n jumpi\n dup1\n 0x6d7096e5\n eq\n tag_4\n jumpi\n dup1\n 0x8e83fae7\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"scripts/UpdateOracle.sol\":309:543 function updateWethOracle() external {... */\n tag_3:\n tag_6\n tag_7\n jump\t// in\n tag_6:\n stop\n /* \"scripts/UpdateOracle.sol\":783:912 function updateRedemptionRate() external {... */\n tag_4:\n tag_8\n tag_9\n jump\t// in\n tag_8:\n stop\n /* \"scripts/UpdateOracle.sol\":548:778 function updateOpOracle() external {... */\n tag_5:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n stop\n /* \"scripts/UpdateOracle.sol\":309:543 function updateWethOracle() external {... */\n tag_7:\n /* \"scripts/UpdateOracle.sol\":371:413 0x74558a1470c714BB5E24a6ba998905Ee5F3F0A25 */\n 0x74558a1470c714bb5e24a6ba998905ee5f3f0a25\n /* \"scripts/UpdateOracle.sol\":356:427 IDelayedOracle(0x74558a1470c714BB5E24a6ba998905Ee5F3F0A25).updateResult */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x80ebb08e\n /* \"scripts/UpdateOracle.sol\":356:429 IDelayedOracle(0x74558a1470c714BB5E24a6ba998905Ee5F3F0A25).updateResult() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_13\n jumpi\n 0x00\n dup1\n revert\n tag_13:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_15\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_15:\n pop\n pop\n pop\n pop\n /* \"scripts/UpdateOracle.sol\":454:496 0xca53F197A4A3C72F9954e34906DFC59148Ce653f */\n 0xca53f197a4a3c72f9954e34906dfc59148ce653f\n /* \"scripts/UpdateOracle.sol\":439:519 IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x6d530fb3\n /* \"scripts/UpdateOracle.sol\":520:535 bytes32('WETH') */\n 0x5745544800000000000000000000000000000000000000000000000000000000\n /* \"scripts/UpdateOracle.sol\":439:536 IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice(bytes32('WETH')) */\n mload(0x40)\n dup3\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_16\n swap2\n swap1\n tag_17\n jump\t// in\n tag_16:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_18\n jumpi\n 0x00\n dup1\n revert\n tag_18:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_20\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_20:\n pop\n pop\n pop\n pop\n /* \"scripts/UpdateOracle.sol\":309:543 function updateWethOracle() external {... */\n jump\t// out\n /* \"scripts/UpdateOracle.sol\":783:912 function updateRedemptionRate() external {... */\n tag_9:\n /* \"scripts/UpdateOracle.sol\":849:891 0x4049Cc595c2F522BBAA9C3c3C34E0629258B9d47 */\n 0x4049cc595c2f522bbaa9c3c3c34e0629258b9d47\n /* \"scripts/UpdateOracle.sol\":834:903 IPidRateSetter(0x4049Cc595c2F522BBAA9C3c3C34E0629258B9d47).updateRate */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xc7fee63e\n /* \"scripts/UpdateOracle.sol\":834:905 IPidRateSetter(0x4049Cc595c2F522BBAA9C3c3C34E0629258B9d47).updateRate() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_22\n jumpi\n 0x00\n dup1\n revert\n tag_22:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_24\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_24:\n pop\n pop\n pop\n pop\n /* \"scripts/UpdateOracle.sol\":783:912 function updateRedemptionRate() external {... */\n jump\t// out\n /* \"scripts/UpdateOracle.sol\":548:778 function updateOpOracle() external {... */\n tag_11:\n /* \"scripts/UpdateOracle.sol\":608:650 0x6171f9dB883E3bcC1804Ef17Eb1199133E27058D */\n 0x6171f9db883e3bcc1804ef17eb1199133e27058d\n /* \"scripts/UpdateOracle.sol\":593:664 IDelayedOracle(0x6171f9dB883E3bcC1804Ef17Eb1199133E27058D).updateResult */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x80ebb08e\n /* \"scripts/UpdateOracle.sol\":593:666 IDelayedOracle(0x6171f9dB883E3bcC1804Ef17Eb1199133E27058D).updateResult() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_26\n jumpi\n 0x00\n dup1\n revert\n tag_26:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_28\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_28:\n pop\n pop\n pop\n pop\n /* \"scripts/UpdateOracle.sol\":691:733 0xca53F197A4A3C72F9954e34906DFC59148Ce653f */\n 0xca53f197a4a3c72f9954e34906dfc59148ce653f\n /* \"scripts/UpdateOracle.sol\":676:756 IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x6d530fb3\n /* \"scripts/UpdateOracle.sol\":757:770 bytes32('OP') */\n 0x4f50000000000000000000000000000000000000000000000000000000000000\n /* \"scripts/UpdateOracle.sol\":676:771 IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice(bytes32('OP')) */\n mload(0x40)\n dup3\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_29\n swap2\n swap1\n tag_17\n jump\t// in\n tag_29:\n 0x00\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_30\n jumpi\n 0x00\n dup1\n revert\n tag_30:\n pop\n gas\n call\n iszero\n dup1\n iszero\n tag_32\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_32:\n pop\n pop\n pop\n pop\n /* \"scripts/UpdateOracle.sol\":548:778 function updateOpOracle() external {... */\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_33:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\n tag_34:\n /* \"#utility.yul\":177:201 */\n tag_38\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_33\n jump\t// in\n tag_38:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\n tag_17:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_40\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_34\n jump\t// in\n tag_40:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212201df3f62de0f1a261c85e758a19b55094fb2a671641662212d87db5d6d4ff784264736f6c63430008130033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5061036e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80633fec9edd146100465780636d7096e5146100505780638e83fae71461005a575b600080fd5b61004e610064565b005b610058610179565b005b6100626101ef565b005b7374558a1470c714bb5e24a6ba998905ee5f3f0a2573ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100c057600080fd5b505af11580156100d4573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f57455448000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610145919061031d565b600060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b50505050565b734049cc595c2f522bbaa9c3c3c34e0629258b9d4773ffffffffffffffffffffffffffffffffffffffff1663c7fee63e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156101d557600080fd5b505af11580156101e9573d6000803e3d6000fd5b50505050565b736171f9db883e3bcc1804ef17eb1199133e27058d73ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561024b57600080fd5b505af115801561025f573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f4f500000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016102d0919061031d565b600060405180830381600087803b1580156102ea57600080fd5b505af11580156102fe573d6000803e3d6000fd5b50505050565b6000819050919050565b61031781610304565b82525050565b6000602082019050610332600083018461030e565b9291505056fea26469706673582212201df3f62de0f1a261c85e758a19b55094fb2a671641662212d87db5d6d4ff784264736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x36E DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3FEC9EDD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x6D7096E5 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E83FAE7 EQ PUSH2 0x5A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x64 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x58 PUSH2 0x179 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x1EF JUMP JUMPDEST STOP JUMPDEST PUSH20 0x74558A1470C714BB5E24A6BA998905EE5F3F0A25 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x5745544800000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x4049CC595C2F522BBAA9C3C3C34E0629258B9D47 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC7FEE63E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x6171F9DB883E3BCC1804EF17EB1199133E27058D PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x4F50000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x317 DUP2 PUSH2 0x304 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x332 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x30E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR RETURN 0xF6 0x2D 0xE0 CALL LOG2 PUSH2 0xC85E PUSH22 0x8A19B55094FB2A671641662212D87DB5D6D4FF784264 PUSH20 0x6F6C634300081300330000000000000000000000 ",
"sourceMap": "280:634:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@updateOpOracle_55": {
"entryPoint": 495,
"id": 55,
"parameterSlots": 0,
"returnSlots": 0
},
"@updateRedemptionRate_65": {
"entryPoint": 377,
"id": 65,
"parameterSlots": 0,
"returnSlots": 0
},
"@updateWethOracle_35": {
"entryPoint": 100,
"id": 35,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 782,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 797,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 772,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:439:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
}
]
},
"contents": "{\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80633fec9edd146100465780636d7096e5146100505780638e83fae71461005a575b600080fd5b61004e610064565b005b610058610179565b005b6100626101ef565b005b7374558a1470c714bb5e24a6ba998905ee5f3f0a2573ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100c057600080fd5b505af11580156100d4573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f57455448000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610145919061031d565b600060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b50505050565b734049cc595c2f522bbaa9c3c3c34e0629258b9d4773ffffffffffffffffffffffffffffffffffffffff1663c7fee63e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156101d557600080fd5b505af11580156101e9573d6000803e3d6000fd5b50505050565b736171f9db883e3bcc1804ef17eb1199133e27058d73ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561024b57600080fd5b505af115801561025f573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f4f500000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016102d0919061031d565b600060405180830381600087803b1580156102ea57600080fd5b505af11580156102fe573d6000803e3d6000fd5b50505050565b6000819050919050565b61031781610304565b82525050565b6000602082019050610332600083018461030e565b9291505056fea26469706673582212201df3f62de0f1a261c85e758a19b55094fb2a671641662212d87db5d6d4ff784264736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3FEC9EDD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x6D7096E5 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E83FAE7 EQ PUSH2 0x5A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x64 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x58 PUSH2 0x179 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x1EF JUMP JUMPDEST STOP JUMPDEST PUSH20 0x74558A1470C714BB5E24A6BA998905EE5F3F0A25 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x5745544800000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x4049CC595C2F522BBAA9C3C3C34E0629258B9D47 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC7FEE63E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x6171F9DB883E3BCC1804EF17EB1199133E27058D PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x4F50000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x317 DUP2 PUSH2 0x304 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x332 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x30E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR RETURN 0xF6 0x2D 0xE0 CALL LOG2 PUSH2 0xC85E PUSH22 0x8A19B55094FB2A671641662212D87DB5D6D4FF784264 PUSH20 0x6F6C634300081300330000000000000000000000 ",
"sourceMap": "280:634:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;309:234;;;:::i;:::-;;783:129;;;:::i;:::-;;548:230;;;:::i;:::-;;309:234;371:42;356:71;;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;454:42;439:80;;;520:15;439:97;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;309:234::o;783:129::-;849:42;834:69;;;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;783:129::o;548:230::-;608:42;593:71;;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:42;676:80;;;757:13;676:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;548:230::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "175600",
"executionCost": "220",
"totalCost": "175820"
},
"external": {
"updateOpOracle()": "infinite",
"updateRedemptionRate()": "infinite",
"updateWethOracle()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 280,
"end": 914,
"name": "MSTORE",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "ISZERO",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 280,
"end": 914,
"name": "JUMPI",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "REVERT",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 280,
"end": 914,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "POP",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 280,
"end": 914,
"name": "CODECOPY",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 280,
"end": 914,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212201df3f62de0f1a261c85e758a19b55094fb2a671641662212d87db5d6d4ff784264736f6c63430008130033",
".code": [
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 280,
"end": 914,
"name": "MSTORE",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "ISZERO",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 280,
"end": 914,
"name": "JUMPI",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "REVERT",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 280,
"end": 914,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "POP",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 280,
"end": 914,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "LT",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 280,
"end": 914,
"name": "JUMPI",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 280,
"end": 914,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 280,
"end": 914,
"name": "SHR",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "3FEC9EDD"
},
{
"begin": 280,
"end": 914,
"name": "EQ",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 280,
"end": 914,
"name": "JUMPI",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "6D7096E5"
},
{
"begin": 280,
"end": 914,
"name": "EQ",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 280,
"end": 914,
"name": "JUMPI",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "8E83FAE7"
},
{
"begin": 280,
"end": 914,
"name": "EQ",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 280,
"end": 914,
"name": "JUMPI",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 280,
"end": 914,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 280,
"end": 914,
"name": "DUP1",
"source": 0
},
{
"begin": 280,
"end": 914,
"name": "REVERT",
"source": 0
},
{
"begin": 309,
"end": 543,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 309,
"end": 543,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 309,
"end": 543,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 309,
"end": 543,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 309,
"end": 543,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 309,
"end": 543,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 309,
"end": 543,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 309,
"end": 543,
"name": "STOP",
"source": 0
},
{
"begin": 783,
"end": 912,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 783,
"end": 912,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 783,
"end": 912,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 783,
"end": 912,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 783,
"end": 912,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 783,
"end": 912,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 783,
"end": 912,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 783,
"end": 912,
"name": "STOP",
"source": 0
},
{
"begin": 548,
"end": 778,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 548,
"end": 778,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 548,
"end": 778,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 548,
"end": 778,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 548,
"end": 778,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 548,
"end": 778,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 548,
"end": 778,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 548,
"end": 778,
"name": "STOP",
"source": 0
},
{
"begin": 309,
"end": 543,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 309,
"end": 543,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 371,
"end": 413,
"name": "PUSH",
"source": 0,
"value": "74558A1470C714BB5E24A6BA998905EE5F3F0A25"
},
{
"begin": 356,
"end": 427,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 356,
"end": 427,
"name": "AND",
"source": 0
},
{
"begin": 356,
"end": 427,
"name": "PUSH",
"source": 0,
"value": "80EBB08E"
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 356,
"end": 429,
"name": "MLOAD",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "DUP2",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 356,
"end": 429,
"name": "AND",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 356,
"end": 429,
"name": "SHL",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "DUP2",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "MSTORE",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 356,
"end": 429,
"name": "ADD",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 356,
"end": 429,
"name": "MLOAD",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "DUP1",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "DUP4",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "SUB",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "DUP2",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 356,
"end": 429,
"name": "DUP8",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "DUP1",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "EXTCODESIZE",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "ISZERO",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "DUP1",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "ISZERO",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 356,
"end": 429,
"name": "JUMPI",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 356,
"end": 429,
"name": "DUP1",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "REVERT",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 356,
"end": 429,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "POP",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "GAS",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "CALL",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "ISZERO",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "DUP1",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "ISZERO",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 356,
"end": 429,
"name": "JUMPI",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 356,
"end": 429,
"name": "DUP1",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 356,
"end": 429,
"name": "REVERT",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 356,
"end": 429,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "POP",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "POP",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "POP",
"source": 0
},
{
"begin": 356,
"end": 429,
"name": "POP",
"source": 0
},
{
"begin": 454,
"end": 496,
"name": "PUSH",
"source": 0,
"value": "CA53F197A4A3C72F9954E34906DFC59148CE653F"
},
{
"begin": 439,
"end": 519,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 439,
"end": 519,
"name": "AND",
"source": 0
},
{
"begin": 439,
"end": 519,
"name": "PUSH",
"source": 0,
"value": "6D530FB3"
},
{
"begin": 520,
"end": 535,
"name": "PUSH",
"source": 0,
"value": "5745544800000000000000000000000000000000000000000000000000000000"
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 439,
"end": 536,
"name": "MLOAD",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "DUP3",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 439,
"end": 536,
"name": "AND",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 439,
"end": 536,
"name": "SHL",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "DUP2",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "MSTORE",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 439,
"end": 536,
"name": "ADD",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 439,
"end": 536,
"name": "SWAP2",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "SWAP1",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 439,
"end": 536,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 439,
"end": 536,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 439,
"end": 536,
"name": "MLOAD",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "DUP1",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "DUP4",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "SUB",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "DUP2",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 439,
"end": 536,
"name": "DUP8",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "DUP1",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "EXTCODESIZE",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "ISZERO",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "DUP1",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "ISZERO",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 439,
"end": 536,
"name": "JUMPI",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 439,
"end": 536,
"name": "DUP1",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "REVERT",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 439,
"end": 536,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "POP",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "GAS",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "CALL",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "ISZERO",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "DUP1",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "ISZERO",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 439,
"end": 536,
"name": "JUMPI",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 439,
"end": 536,
"name": "DUP1",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 439,
"end": 536,
"name": "REVERT",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 439,
"end": 536,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "POP",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "POP",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "POP",
"source": 0
},
{
"begin": 439,
"end": 536,
"name": "POP",
"source": 0
},
{
"begin": 309,
"end": 543,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 783,
"end": 912,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 783,
"end": 912,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 849,
"end": 891,
"name": "PUSH",
"source": 0,
"value": "4049CC595C2F522BBAA9C3C3C34E0629258B9D47"
},
{
"begin": 834,
"end": 903,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 834,
"end": 903,
"name": "AND",
"source": 0
},
{
"begin": 834,
"end": 903,
"name": "PUSH",
"source": 0,
"value": "C7FEE63E"
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 834,
"end": 905,
"name": "MLOAD",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "DUP2",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 834,
"end": 905,
"name": "AND",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 834,
"end": 905,
"name": "SHL",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "DUP2",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "MSTORE",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 834,
"end": 905,
"name": "ADD",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 834,
"end": 905,
"name": "MLOAD",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "DUP1",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "DUP4",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "SUB",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "DUP2",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 834,
"end": 905,
"name": "DUP8",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "DUP1",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "EXTCODESIZE",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "ISZERO",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "DUP1",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "ISZERO",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 834,
"end": 905,
"name": "JUMPI",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 834,
"end": 905,
"name": "DUP1",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "REVERT",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 834,
"end": 905,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "POP",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "GAS",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "CALL",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "ISZERO",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "DUP1",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "ISZERO",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 834,
"end": 905,
"name": "JUMPI",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 834,
"end": 905,
"name": "DUP1",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 834,
"end": 905,
"name": "REVERT",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 834,
"end": 905,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "POP",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "POP",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "POP",
"source": 0
},
{
"begin": 834,
"end": 905,
"name": "POP",
"source": 0
},
{
"begin": 783,
"end": 912,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 548,
"end": 778,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 548,
"end": 778,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 608,
"end": 650,
"name": "PUSH",
"source": 0,
"value": "6171F9DB883E3BCC1804EF17EB1199133E27058D"
},
{
"begin": 593,
"end": 664,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 593,
"end": 664,
"name": "AND",
"source": 0
},
{
"begin": 593,
"end": 664,
"name": "PUSH",
"source": 0,
"value": "80EBB08E"
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 593,
"end": 666,
"name": "MLOAD",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "DUP2",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 593,
"end": 666,
"name": "AND",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 593,
"end": 666,
"name": "SHL",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "DUP2",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "MSTORE",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 593,
"end": 666,
"name": "ADD",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 593,
"end": 666,
"name": "MLOAD",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "DUP1",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "DUP4",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "SUB",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "DUP2",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 593,
"end": 666,
"name": "DUP8",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "DUP1",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "EXTCODESIZE",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "ISZERO",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "DUP1",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "ISZERO",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 593,
"end": 666,
"name": "JUMPI",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 593,
"end": 666,
"name": "DUP1",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "REVERT",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 593,
"end": 666,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "POP",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "GAS",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "CALL",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "ISZERO",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "DUP1",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "ISZERO",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 593,
"end": 666,
"name": "JUMPI",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 593,
"end": 666,
"name": "DUP1",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 593,
"end": 666,
"name": "REVERT",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 593,
"end": 666,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "POP",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "POP",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "POP",
"source": 0
},
{
"begin": 593,
"end": 666,
"name": "POP",
"source": 0
},
{
"begin": 691,
"end": 733,
"name": "PUSH",
"source": 0,
"value": "CA53F197A4A3C72F9954E34906DFC59148CE653F"
},
{
"begin": 676,
"end": 756,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 676,
"end": 756,
"name": "AND",
"source": 0
},
{
"begin": 676,
"end": 756,
"name": "PUSH",
"source": 0,
"value": "6D530FB3"
},
{
"begin": 757,
"end": 770,
"name": "PUSH",
"source": 0,
"value": "4F50000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 676,
"end": 771,
"name": "MLOAD",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "DUP3",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 676,
"end": 771,
"name": "AND",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 676,
"end": 771,
"name": "SHL",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "DUP2",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "MSTORE",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 676,
"end": 771,
"name": "ADD",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 676,
"end": 771,
"name": "SWAP2",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "SWAP1",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 676,
"end": 771,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 676,
"end": 771,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 676,
"end": 771,
"name": "MLOAD",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "DUP1",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "DUP4",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "SUB",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "DUP2",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 676,
"end": 771,
"name": "DUP8",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "DUP1",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "EXTCODESIZE",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "ISZERO",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "DUP1",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "ISZERO",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 676,
"end": 771,
"name": "JUMPI",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 676,
"end": 771,
"name": "DUP1",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "REVERT",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "tag",
"source": 0,
"value": "30"
},
{
"begin": 676,
"end": 771,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "POP",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "GAS",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "CALL",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "ISZERO",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "DUP1",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "ISZERO",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 676,
"end": 771,
"name": "JUMPI",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 676,
"end": 771,
"name": "DUP1",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 676,
"end": 771,
"name": "REVERT",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "tag",
"source": 0,
"value": "32"
},
{
"begin": 676,
"end": 771,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "POP",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "POP",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "POP",
"source": 0
},
{
"begin": 676,
"end": 771,
"name": "POP",
"source": 0
},
{
"begin": 548,
"end": 778,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 84,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 7,
"end": 84,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 73,
"end": 78,
"name": "DUP2",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 90,
"end": 208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 195,
"end": 200,
"name": "DUP2",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 177,
"end": 201,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 177,
"end": 201,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 172,
"end": 175,
"name": "DUP3",
"source": 1
},
{
"begin": 165,
"end": 202,
"name": "MSTORE",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 214,
"end": 436,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 307,
"end": 311,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 345,
"end": 347,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 334,
"end": 343,
"name": "DUP3",
"source": 1
},
{
"begin": 330,
"end": 348,
"name": "ADD",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "SWAP1",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "POP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 426,
"end": 427,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 415,
"end": 424,
"name": "DUP4",
"source": 1
},
{
"begin": 411,
"end": 428,
"name": "ADD",
"source": 1
},
{
"begin": 402,
"end": 408,
"name": "DUP5",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 358,
"end": 429,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 358,
"end": 429,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP3",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP2",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"scripts/UpdateOracle.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"updateOpOracle()": "8e83fae7",
"updateRedemptionRate()": "6d7096e5",
"updateWethOracle()": "3fec9edd"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"updateOpOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"updateRedemptionRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"updateWethOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/UpdateOracle.sol\":\"OracleUpdater\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"scripts/UpdateOracle.sol\":{\"keccak256\":\"0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4\",\"license\":\"Unlicensed\",\"urls\":[\"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5\",\"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"scripts/UpdateOracle.sol": {
"ast": {
"absolutePath": "scripts/UpdateOracle.sol",
"exportedSymbols": {
"IDelayedOracle": [
5
],
"IOracleRelayer": [
11
],
"IPidRateSetter": [
15
],
"OracleUpdater": [
66
]
},
"id": 67,
"license": "Unlicensed",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "39:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IDelayedOracle",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 5,
"linearizedBaseContracts": [
5
],
"name": "IDelayedOracle",
"nameLocation": "74:14:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "80ebb08e",
"id": 4,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "updateResult",
"nameLocation": "104:12:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 2,
"nodeType": "ParameterList",
"parameters": [],
"src": "116:2:0"
},
"returnParameters": {
"id": 3,
"nodeType": "ParameterList",
"parameters": [],
"src": "127:0:0"
},
"scope": 5,
"src": "95:33:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 67,
"src": "64:66:0",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IOracleRelayer",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 11,
"linearizedBaseContracts": [
11
],
"name": "IOracleRelayer",
"nameLocation": "141:14:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "6d530fb3",
"id": 10,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "updateCollateralPrice",
"nameLocation": "171:21:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 8,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 7,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 10,
"src": "193:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 6,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "193:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "192:9:0"
},
"returnParameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [],
"src": "210:0:0"
},
"scope": 11,
"src": "162:49:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 67,
"src": "131:82:0",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IPidRateSetter",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 15,
"linearizedBaseContracts": [
15
],
"name": "IPidRateSetter",
"nameLocation": "224:14:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "c7fee63e",
"id": 14,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "updateRate",
"nameLocation": "254:10:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12,
"nodeType": "ParameterList",
"parameters": [],
"src": "264:2:0"
},
"returnParameters": {
"id": 13,
"nodeType": "ParameterList",
"parameters": [],
"src": "275:0:0"
},
"scope": 15,
"src": "245:31:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 67,
"src": "214:64:0",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "OracleUpdater",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 66,
"linearizedBaseContracts": [
66
],
"name": "OracleUpdater",
"nameLocation": "289:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 34,
"nodeType": "Block",
"src": "346:197:0",
"statements": [
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"arguments": [
{
"hexValue": "307837343535386131343730633731344242354532346136626139393839303545653546334630413235",
"id": 19,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "371:42:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0x74558a1470c714BB5E24a6ba998905Ee5F3F0A25"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 18,
"name": "IDelayedOracle",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "356:14:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IDelayedOracle_$5_$",
"typeString": "type(contract IDelayedOracle)"
}
},
"id": 20,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "356:58:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IDelayedOracle_$5",
"typeString": "contract IDelayedOracle"
}
},
"id": 21,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "415:12:0",
"memberName": "updateResult",
"nodeType": "MemberAccess",
"referencedDeclaration": 4,
"src": "356:71:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
"typeString": "function () external"
}
},
"id": 22,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "356:73:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 23,
"nodeType": "ExpressionStatement",
"src": "356:73:0"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"hexValue": "57455448",
"id": 30,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "528:6:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8",
"typeString": "literal_string \"WETH\""
},
"value": "WETH"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8",
"typeString": "literal_string \"WETH\""
}
],
"id": 29,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "520:7:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
"id": 28,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "520:7:0",
"typeDescriptions": {}
}
},
"id": 31,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "520:15:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"arguments": [
{
"hexValue": "307863613533463139374134413343373246393935346533343930364446433539313438436536353366",
"id": 25,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "454:42:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0xca53F197A4A3C72F9954e34906DFC59148Ce653f"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 24,
"name": "IOracleRelayer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11,
"src": "439:14:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IOracleRelayer_$11_$",
"typeString": "type(contract IOracleRelayer)"
}
},
"id": 26,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "439:58:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IOracleRelayer_$11",
"typeString": "contract IOracleRelayer"
}
},
"id": 27,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "498:21:0",
"memberName": "updateCollateralPrice",
"nodeType": "MemberAccess",
"referencedDeclaration": 10,
"src": "439:80:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
"typeString": "function (bytes32) external"
}
},
"id": 32,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "439:97:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 33,
"nodeType": "ExpressionStatement",
"src": "439:97:0"
}
]
},
"functionSelector": "3fec9edd",
"id": 35,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "updateWethOracle",
"nameLocation": "318:16:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16,
"nodeType": "ParameterList",
"parameters": [],
"src": "334:2:0"
},
"returnParameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [],
"src": "346:0:0"
},
"scope": 66,
"src": "309:234:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 54,
"nodeType": "Block",
"src": "583:195:0",
"statements": [
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"arguments": [
{
"hexValue": "307836313731663964423838334533626343313830344566313745623131393931333345323730353844",
"id": 39,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "608:42:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0x6171f9dB883E3bcC1804Ef17Eb1199133E27058D"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 38,
"name": "IDelayedOracle",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "593:14:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IDelayedOracle_$5_$",
"typeString": "type(contract IDelayedOracle)"
}
},
"id": 40,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "593:58:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IDelayedOracle_$5",
"typeString": "contract IDelayedOracle"
}
},
"id": 41,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "652:12:0",
"memberName": "updateResult",
"nodeType": "MemberAccess",
"referencedDeclaration": 4,
"src": "593:71:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
"typeString": "function () external"
}
},
"id": 42,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "593:73:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 43,
"nodeType": "ExpressionStatement",
"src": "593:73:0"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"hexValue": "4f50",
"id": 50,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "765:4:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8e1be729f7d2e3d575fdbf084a79e80f77cf0a5917a38cd25a249f9b072da943",
"typeString": "literal_string \"OP\""
},
"value": "OP"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_8e1be729f7d2e3d575fdbf084a79e80f77cf0a5917a38cd25a249f9b072da943",
"typeString": "literal_string \"OP\""
}
],
"id": 49,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "757:7:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes32_$",
"typeString": "type(bytes32)"
},
"typeName": {
"id": 48,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "757:7:0",
"typeDescriptions": {}
}
},
"id": 51,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "757:13:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"arguments": [
{
"hexValue": "307863613533463139374134413343373246393935346533343930364446433539313438436536353366",
"id": 45,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "691:42:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0xca53F197A4A3C72F9954e34906DFC59148Ce653f"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 44,
"name": "IOracleRelayer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11,
"src": "676:14:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IOracleRelayer_$11_$",
"typeString": "type(contract IOracleRelayer)"
}
},
"id": 46,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "676:58:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IOracleRelayer_$11",
"typeString": "contract IOracleRelayer"
}
},
"id": 47,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "735:21:0",
"memberName": "updateCollateralPrice",
"nodeType": "MemberAccess",
"referencedDeclaration": 10,
"src": "676:80:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$",
"typeString": "function (bytes32) external"
}
},
"id": 52,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "676:95:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 53,
"nodeType": "ExpressionStatement",
"src": "676:95:0"
}
]
},
"functionSelector": "8e83fae7",
"id": 55,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "updateOpOracle",
"nameLocation": "557:14:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [],
"src": "571:2:0"
},
"returnParameters": {
"id": 37,
"nodeType": "ParameterList",
"parameters": [],
"src": "583:0:0"
},
"scope": 66,
"src": "548:230:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 64,
"nodeType": "Block",
"src": "824:88:0",
"statements": [
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"arguments": [
{
"hexValue": "307834303439436335393563324635323242424141394333633343333445303632393235384239643437",
"id": 59,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "849:42:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0x4049Cc595c2F522BBAA9C3c3C34E0629258B9d47"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 58,
"name": "IPidRateSetter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15,
"src": "834:14:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IPidRateSetter_$15_$",
"typeString": "type(contract IPidRateSetter)"
}
},
"id": 60,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "834:58:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IPidRateSetter_$15",
"typeString": "contract IPidRateSetter"
}
},
"id": 61,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "893:10:0",
"memberName": "updateRate",
"nodeType": "MemberAccess",
"referencedDeclaration": 14,
"src": "834:69:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
"typeString": "function () external"
}
},
"id": 62,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "834:71:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 63,
"nodeType": "ExpressionStatement",
"src": "834:71:0"
}
]
},
"functionSelector": "6d7096e5",
"id": 65,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "updateRedemptionRate",
"nameLocation": "792:20:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 56,
"nodeType": "ParameterList",
"parameters": [],
"src": "812:2:0"
},
"returnParameters": {
"id": 57,
"nodeType": "ParameterList",
"parameters": [],
"src": "824:0:0"
},
"scope": 66,
"src": "783:129:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 67,
"src": "280:634:0",
"usedErrors": []
}
],
"src": "39:875:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"updateResult()": "80ebb08e"
}
},
"abi": [
{
"inputs": [],
"name": "updateResult",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "updateResult",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/UpdateOracle.sol": "IDelayedOracle"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/UpdateOracle.sol": {
"keccak256": "0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4",
"license": "Unlicensed",
"urls": [
"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5",
"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"updateCollateralPrice(bytes32)": "6d530fb3"
}
},
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "updateCollateralPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "updateCollateralPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/UpdateOracle.sol": "IOracleRelayer"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/UpdateOracle.sol": {
"keccak256": "0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4",
"license": "Unlicensed",
"urls": [
"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5",
"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"updateRate()": "c7fee63e"
}
},
"abi": [
{
"inputs": [],
"name": "updateRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "updateRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/UpdateOracle.sol": "IPidRateSetter"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/UpdateOracle.sol": {
"keccak256": "0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4",
"license": "Unlicensed",
"urls": [
"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5",
"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5061036e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80633fec9edd146100465780636d7096e5146100505780638e83fae71461005a575b600080fd5b61004e610064565b005b610058610179565b005b6100626101ef565b005b7374558a1470c714bb5e24a6ba998905ee5f3f0a2573ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100c057600080fd5b505af11580156100d4573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f57455448000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610145919061031d565b600060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b50505050565b734049cc595c2f522bbaa9c3c3c34e0629258b9d4773ffffffffffffffffffffffffffffffffffffffff1663c7fee63e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156101d557600080fd5b505af11580156101e9573d6000803e3d6000fd5b50505050565b736171f9db883e3bcc1804ef17eb1199133e27058d73ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561024b57600080fd5b505af115801561025f573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f4f500000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016102d0919061031d565b600060405180830381600087803b1580156102ea57600080fd5b505af11580156102fe573d6000803e3d6000fd5b50505050565b6000819050919050565b61031781610304565b82525050565b6000602082019050610332600083018461030e565b9291505056fea26469706673582212201df3f62de0f1a261c85e758a19b55094fb2a671641662212d87db5d6d4ff784264736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x36E DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3FEC9EDD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x6D7096E5 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E83FAE7 EQ PUSH2 0x5A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x64 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x58 PUSH2 0x179 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x1EF JUMP JUMPDEST STOP JUMPDEST PUSH20 0x74558A1470C714BB5E24A6BA998905EE5F3F0A25 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x5745544800000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x4049CC595C2F522BBAA9C3C3C34E0629258B9D47 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC7FEE63E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x6171F9DB883E3BCC1804EF17EB1199133E27058D PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x4F50000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x317 DUP2 PUSH2 0x304 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x332 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x30E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR RETURN 0xF6 0x2D 0xE0 CALL LOG2 PUSH2 0xC85E PUSH22 0x8A19B55094FB2A671641662212D87DB5D6D4FF784264 PUSH20 0x6F6C634300081300330000000000000000000000 ",
"sourceMap": "280:634:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@updateOpOracle_55": {
"entryPoint": 495,
"id": 55,
"parameterSlots": 0,
"returnSlots": 0
},
"@updateRedemptionRate_65": {
"entryPoint": 377,
"id": 65,
"parameterSlots": 0,
"returnSlots": 0
},
"@updateWethOracle_35": {
"entryPoint": 100,
"id": 35,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_bytes32_to_t_bytes32_fromStack": {
"entryPoint": 782,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": {
"entryPoint": 797,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 772,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:439:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
}
]
},
"contents": "{\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80633fec9edd146100465780636d7096e5146100505780638e83fae71461005a575b600080fd5b61004e610064565b005b610058610179565b005b6100626101ef565b005b7374558a1470c714bb5e24a6ba998905ee5f3f0a2573ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100c057600080fd5b505af11580156100d4573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f57455448000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610145919061031d565b600060405180830381600087803b15801561015f57600080fd5b505af1158015610173573d6000803e3d6000fd5b50505050565b734049cc595c2f522bbaa9c3c3c34e0629258b9d4773ffffffffffffffffffffffffffffffffffffffff1663c7fee63e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156101d557600080fd5b505af11580156101e9573d6000803e3d6000fd5b50505050565b736171f9db883e3bcc1804ef17eb1199133e27058d73ffffffffffffffffffffffffffffffffffffffff166380ebb08e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561024b57600080fd5b505af115801561025f573d6000803e3d6000fd5b5050505073ca53f197a4a3c72f9954e34906dfc59148ce653f73ffffffffffffffffffffffffffffffffffffffff16636d530fb37f4f500000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016102d0919061031d565b600060405180830381600087803b1580156102ea57600080fd5b505af11580156102fe573d6000803e3d6000fd5b50505050565b6000819050919050565b61031781610304565b82525050565b6000602082019050610332600083018461030e565b9291505056fea26469706673582212201df3f62de0f1a261c85e758a19b55094fb2a671641662212d87db5d6d4ff784264736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3FEC9EDD EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x6D7096E5 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x8E83FAE7 EQ PUSH2 0x5A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E PUSH2 0x64 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x58 PUSH2 0x179 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x1EF JUMP JUMPDEST STOP JUMPDEST PUSH20 0x74558A1470C714BB5E24A6BA998905EE5F3F0A25 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xD4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x5745544800000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x173 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x4049CC595C2F522BBAA9C3C3C34E0629258B9D47 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC7FEE63E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH20 0x6171F9DB883E3BCC1804EF17EB1199133E27058D PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x80EBB08E PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x25F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH20 0xCA53F197A4A3C72F9954E34906DFC59148CE653F PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6D530FB3 PUSH32 0x4F50000000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x31D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2FE JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x317 DUP2 PUSH2 0x304 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x332 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x30E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR RETURN 0xF6 0x2D 0xE0 CALL LOG2 PUSH2 0xC85E PUSH22 0x8A19B55094FB2A671641662212D87DB5D6D4FF784264 PUSH20 0x6F6C634300081300330000000000000000000000 ",
"sourceMap": "280:634:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;309:234;;;:::i;:::-;;783:129;;;:::i;:::-;;548:230;;;:::i;:::-;;309:234;371:42;356:71;;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;454:42;439:80;;;520:15;439:97;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;309:234::o;783:129::-;849:42;834:69;;;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;783:129::o;548:230::-;608:42;593:71;;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:42;676:80;;;757:13;676:95;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;548:230::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "175600",
"executionCost": "220",
"totalCost": "175820"
},
"external": {
"updateOpOracle()": "infinite",
"updateRedemptionRate()": "infinite",
"updateWethOracle()": "infinite"
}
},
"methodIdentifiers": {
"updateOpOracle()": "8e83fae7",
"updateRedemptionRate()": "6d7096e5",
"updateWethOracle()": "3fec9edd"
}
},
"abi": [
{
"inputs": [],
"name": "updateOpOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateRedemptionRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateWethOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "updateOpOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateRedemptionRate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "updateWethOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/UpdateOracle.sol": "OracleUpdater"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/UpdateOracle.sol": {
"keccak256": "0x989a20fabf2bc4860754220b18ed60f3dcf9727e1198f8b5f12457590a6814f4",
"license": "Unlicensed",
"urls": [
"bzz-raw://5428bbe924670c54bf31a6ce4f8f4947a51e22bb656cc308b1374c7a0d058cd5",
"dweb:/ipfs/Qmf1rUkTkrttAj7jm4cMcH1g9yvzJUDq8KcecrkTa3YakZ"
]
}
},
"version": 1
}
// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.19;
interface IDelayedOracle {
function updateResult() external;
}
interface IOracleRelayer {
function updateCollateralPrice(bytes32) external;
}
interface IPidRateSetter {
function updateRate() external;
}
contract OracleUpdater {
function updateWethOracle() external {
IDelayedOracle(0x74558a1470c714BB5E24a6ba998905Ee5F3F0A25).updateResult();
IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice(bytes32('WETH'));
}
function updateOpOracle() external {
IDelayedOracle(0x6171f9dB883E3bcC1804Ef17Eb1199133E27058D).updateResult();
IOracleRelayer(0xca53F197A4A3C72F9954e34906DFC59148Ce653f).updateCollateralPrice(bytes32('OP'));
}
function updateRedemptionRate() external {
IPidRateSetter(0x4049Cc595c2F522BBAA9C3c3C34E0629258B9d47).updateRate();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment