Created
October 5, 2024 07:01
-
-
Save thearbinaut/b2a6828af17947d2ce39e0383bc829c0 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.26+commit.8a97fa7a.js&optimize=false&runs=200&gist=
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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": "6080604052348015600e575f80fd5b5060a580601a5f395ff3fe6080604052348015600e575f80fd5b50600436106030575f3560e01c80632e64cec11460345780636057361d146048575b5f80fd5b5f5460405190815260200160405180910390f35b605760533660046059565b5f55565b005b5f602082840312156068575f80fd5b503591905056fea2646970667358221220efe64fc51fee8bf737d51931a53c00fa508c81f15df15eabe9c71326aaa403ed64736f6c634300081a0033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0xA5 DUP1 PUSH1 0x1A PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x30 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH1 0x34 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH1 0x48 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x57 PUSH1 0x53 CALLDATASIZE PUSH1 0x4 PUSH1 0x59 JUMP JUMPDEST PUSH0 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x68 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEF 0xE6 0x4F 0xC5 0x1F 0xEE DUP12 0xF7 CALLDATACOPY 0xD5 NOT BALANCE 0xA5 EXTCODECOPY STOP STATICCALL POP DUP13 DUP2 CALL TSTORE CALL MCOPY 0xAB 0xE9 0xC7 SGT 0x26 0xAA LOG4 SUB 0xED PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", | |
"sourceMap": "199:356:0:-:0;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@retrieve_24": { | |
"entryPoint": null, | |
"id": 24, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@store_15": { | |
"entryPoint": null, | |
"id": 15, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 89, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nativeSrc": "0:378:1", | |
"nodeType": "YulBlock", | |
"src": "0:378:1", | |
"statements": [ | |
{ | |
"nativeSrc": "6:3:1", | |
"nodeType": "YulBlock", | |
"src": "6:3:1", | |
"statements": [] | |
}, | |
{ | |
"body": { | |
"nativeSrc": "115:76:1", | |
"nodeType": "YulBlock", | |
"src": "115:76:1", | |
"statements": [ | |
{ | |
"nativeSrc": "125:26:1", | |
"nodeType": "YulAssignment", | |
"src": "125:26:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "137:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "137:9:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "148:2:1", | |
"nodeType": "YulLiteral", | |
"src": "148:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nativeSrc": "133:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "133:3:1" | |
}, | |
"nativeSrc": "133:18:1", | |
"nodeType": "YulFunctionCall", | |
"src": "133:18:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "125:4:1", | |
"nodeType": "YulIdentifier", | |
"src": "125:4:1" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "167:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "167:9:1" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "178:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "178:6:1" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nativeSrc": "160:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "160:6:1" | |
}, | |
"nativeSrc": "160:25:1", | |
"nodeType": "YulFunctionCall", | |
"src": "160:25:1" | |
}, | |
"nativeSrc": "160:25:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "160:25:1" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nativeSrc": "14:177:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "84:9:1", | |
"nodeType": "YulTypedName", | |
"src": "84:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nativeSrc": "95:6:1", | |
"nodeType": "YulTypedName", | |
"src": "95:6:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nativeSrc": "106:4:1", | |
"nodeType": "YulTypedName", | |
"src": "106:4:1", | |
"type": "" | |
} | |
], | |
"src": "14:177:1" | |
}, | |
{ | |
"body": { | |
"nativeSrc": "266:110:1", | |
"nodeType": "YulBlock", | |
"src": "266:110:1", | |
"statements": [ | |
{ | |
"body": { | |
"nativeSrc": "312:16:1", | |
"nodeType": "YulBlock", | |
"src": "312:16:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nativeSrc": "321:1:1", | |
"nodeType": "YulLiteral", | |
"src": "321:1:1", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "324:1:1", | |
"nodeType": "YulLiteral", | |
"src": "324:1:1", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nativeSrc": "314:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "314:6:1" | |
}, | |
"nativeSrc": "314:12:1", | |
"nodeType": "YulFunctionCall", | |
"src": "314:12:1" | |
}, | |
"nativeSrc": "314:12:1", | |
"nodeType": "YulExpressionStatement", | |
"src": "314:12:1" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "287:7:1", | |
"nodeType": "YulIdentifier", | |
"src": "287:7:1" | |
}, | |
{ | |
"name": "headStart", | |
"nativeSrc": "296:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "296:9:1" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nativeSrc": "283:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "283:3:1" | |
}, | |
"nativeSrc": "283:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "283:23:1" | |
}, | |
{ | |
"kind": "number", | |
"nativeSrc": "308:2:1", | |
"nodeType": "YulLiteral", | |
"src": "308:2:1", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nativeSrc": "279:3:1", | |
"nodeType": "YulIdentifier", | |
"src": "279:3:1" | |
}, | |
"nativeSrc": "279:32:1", | |
"nodeType": "YulFunctionCall", | |
"src": "279:32:1" | |
}, | |
"nativeSrc": "276:52:1", | |
"nodeType": "YulIf", | |
"src": "276:52:1" | |
}, | |
{ | |
"nativeSrc": "337:33:1", | |
"nodeType": "YulAssignment", | |
"src": "337:33:1", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "360:9:1", | |
"nodeType": "YulIdentifier", | |
"src": "360:9:1" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nativeSrc": "347:12:1", | |
"nodeType": "YulIdentifier", | |
"src": "347:12:1" | |
}, | |
"nativeSrc": "347:23:1", | |
"nodeType": "YulFunctionCall", | |
"src": "347:23:1" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "337:6:1", | |
"nodeType": "YulIdentifier", | |
"src": "337:6:1" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nativeSrc": "196:180:1", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nativeSrc": "232:9:1", | |
"nodeType": "YulTypedName", | |
"src": "232:9:1", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nativeSrc": "243:7:1", | |
"nodeType": "YulTypedName", | |
"src": "243:7:1", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nativeSrc": "255:6:1", | |
"nodeType": "YulTypedName", | |
"src": "255:6:1", | |
"type": "" | |
} | |
], | |
"src": "196:180:1" | |
} | |
] | |
}, | |
"contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n}", | |
"id": 1, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "6080604052348015600e575f80fd5b50600436106030575f3560e01c80632e64cec11460345780636057361d146048575b5f80fd5b5f5460405190815260200160405180910390f35b605760533660046059565b5f55565b005b5f602082840312156068575f80fd5b503591905056fea2646970667358221220efe64fc51fee8bf737d51931a53c00fa508c81f15df15eabe9c71326aaa403ed64736f6c634300081a0033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x30 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH1 0x34 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH1 0x48 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 SLOAD PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x57 PUSH1 0x53 CALLDATASIZE PUSH1 0x4 PUSH1 0x59 JUMP JUMPDEST PUSH0 SSTORE JUMP JUMPDEST STOP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0x68 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEF 0xE6 0x4F 0xC5 0x1F 0xEE DUP12 0xF7 CALLDATACOPY 0xD5 NOT BALANCE 0xA5 EXTCODECOPY STOP STATICCALL POP DUP13 DUP2 CALL TSTORE CALL MCOPY 0xAB 0xE9 0xC7 SGT 0x26 0xAA LOG4 SUB 0xED PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ", | |
"sourceMap": "199:356:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:79;515:7;540:6;474:79;;160:25:1;;;148:2;133:18;474:79:0;;;;;;;329:64;;;;;;:::i;:::-;374:6;:12;329:64;;;196:180:1;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "33000", | |
"executionCost": "85", | |
"totalCost": "33085" | |
}, | |
"external": { | |
"retrieve()": "2244", | |
"store(uint256)": "22309" | |
} | |
}, | |
"methodIdentifiers": { | |
"retrieve()": "2e64cec1", | |
"store(uint256)": "6057361d" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "retrieve", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "num", | |
"type": "uint256" | |
} | |
], | |
"name": "store", | |
"outputs": [], | |
"stateMutability": "nonpayable", | |
"type": "function" | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment