Created
June 8, 2023 07:13
-
-
Save AsitDixit/c2994297aa57c02549d604bd4c0d0921 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.18+commit.87f61d96.js&optimize=false&runs=200&gist=
This file contains 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
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
interface AggregatorV3Interface { | |
function decimals() external view returns (uint8); | |
function description() external view returns (string memory); | |
function version() external view returns (uint256); | |
function getRoundData(uint80 _roundId) | |
external | |
view | |
returns ( | |
uint80 roundId, | |
int256 answer, | |
uint256 startedAt, | |
uint256 updatedAt, | |
uint80 answeredInRound | |
); | |
function latestRoundData() | |
external | |
view | |
returns ( | |
uint80 roundId, | |
int256 answer, | |
uint256 startedAt, | |
uint256 updatedAt, | |
uint80 answeredInRound | |
); | |
} |
This file contains 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
{ | |
"id": "150179a1505405b59e59ed1ae07f9ad8", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.18", | |
"solcLongVersion": "0.8.18+commit.87f61d96", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/PriceConverter.sol": { | |
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.8;\r\n\r\nimport \"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\";\r\n\r\nlibrary PriceConverter{\r\n\r\n \r\n\r\n function getPrice() internal view returns (uint256) {\r\n AggregatorV3Interface dataFeed = AggregatorV3Interface(0x694AA1769357215DE4FAC081bf1f309aDC325306);\r\n (/*uint80*/, int price, /*uint*/, /*uint*/, /*uint80*/) = dataFeed.latestRoundData();\r\n return uint256(price * 1e10);\r\n }\r\n\r\n function getConversionRate(uint256 ethAmount) internal view returns (uint256){\r\n uint256 ethPrice = getPrice();\r\n\r\n uint256 ethAmountInUSD = (ethPrice * ethAmount) / 1e18;\r\n return ethAmountInUSD;\r\n }\r\n\r\n}" | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface AggregatorV3Interface {\n function decimals() external view returns (uint8);\n\n function description() external view returns (string memory);\n\n function version() external view returns (uint256);\n\n function getRoundData(uint80 _roundId)\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\n );\n\n function latestRoundData()\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\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": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"AggregatorV3Interface": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "decimals", | |
"outputs": [ | |
{ | |
"internalType": "uint8", | |
"name": "", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "description", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "_roundId", | |
"type": "uint80" | |
} | |
], | |
"name": "getRoundData", | |
"outputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "roundId", | |
"type": "uint80" | |
}, | |
{ | |
"internalType": "int256", | |
"name": "answer", | |
"type": "int256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "startedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "updatedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint80", | |
"name": "answeredInRound", | |
"type": "uint80" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "latestRoundData", | |
"outputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "roundId", | |
"type": "uint80" | |
}, | |
{ | |
"internalType": "int256", | |
"name": "answer", | |
"type": "int256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "startedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "updatedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint80", | |
"name": "answeredInRound", | |
"type": "uint80" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "version", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"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": { | |
"decimals()": "313ce567", | |
"description()": "7284e416", | |
"getRoundData(uint80)": "9a6fc8f5", | |
"latestRoundData()": "feaf968c", | |
"version()": "54fd4d50" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_roundId\",\"type\":\"uint80\"}],\"name\":\"getRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":\"AggregatorV3Interface\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"contracts/PriceConverter.sol": { | |
"PriceConverter": { | |
"abi": [], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/PriceConverter.sol\":140:719 library PriceConverter{... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/PriceConverter.sol\":140:719 library PriceConverter{... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xBD 0xC3 XOR SWAP14 SWAP9 SWAP8 0x5D 0xC5 CALLDATALOAD 0xDF 0x4A PUSH12 0x7E965B3E6A78CB58F353E34D 0xF9 CALL 0xD8 PUSH22 0x10D8F664736F6C634300081200330000000000000000 ", | |
"sourceMap": "140:579:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xBD 0xC3 XOR SWAP14 SWAP9 SWAP8 0x5D 0xC5 CALLDATALOAD 0xDF 0x4A PUSH12 0x7E965B3E6A78CB58F353E34D 0xF9 CALL 0xD8 PUSH22 0x10D8F664736F6C634300081200330000000000000000 ", | |
"sourceMap": "140:579:1:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
}, | |
"internal": { | |
"getConversionRate(uint256)": "infinite", | |
"getPrice()": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH #[$]", | |
"source": 1, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH [$]", | |
"source": 1, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "B" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "CODECOPY", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "BYTE", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "73" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "tag", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "ADDRESS", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "73" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE8", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "RETURN", | |
"source": 1 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033", | |
".code": [ | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSHDEPLOYADDRESS", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "ADDRESS", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "80" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "REVERT", | |
"source": 1 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"contracts/PriceConverter.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": {} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/PriceConverter.sol\":\"PriceConverter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]},\"contracts/PriceConverter.sol\":{\"keccak256\":\"0xf54d2263c7f054f4f7a1e80356ff163499f3a30ea32a8f36744c17571e570d87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8def90f0065d4da0a17f82cc957c8325edf870f5bfa8af9fbd341e8cbb5fefe5\",\"dweb:/ipfs/QmV782ja45EvDK1aCzf1k3tu9CKFeBsjAPmnYq237JZpSh\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"ast": { | |
"absolutePath": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"exportedSymbols": { | |
"AggregatorV3Interface": [ | |
45 | |
] | |
}, | |
"id": 46, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "32:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "AggregatorV3Interface", | |
"contractDependencies": [], | |
"contractKind": "interface", | |
"fullyImplemented": false, | |
"id": 45, | |
"linearizedBaseContracts": [ | |
45 | |
], | |
"name": "AggregatorV3Interface", | |
"nameLocation": "67:21:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"functionSelector": "313ce567", | |
"id": 6, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "decimals", | |
"nameLocation": "102:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 2, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "110:2:0" | |
}, | |
"returnParameters": { | |
"id": 5, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 4, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 6, | |
"src": "136:5:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 3, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "136:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "135:7:0" | |
}, | |
"scope": 45, | |
"src": "93:50:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "7284e416", | |
"id": 11, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "description", | |
"nameLocation": "156:11:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "167:2:0" | |
}, | |
"returnParameters": { | |
"id": 10, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 9, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 11, | |
"src": "193:13:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 8, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "193:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "192:15:0" | |
}, | |
"scope": 45, | |
"src": "147:61:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "54fd4d50", | |
"id": 16, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "version", | |
"nameLocation": "221:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 12, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "228:2:0" | |
}, | |
"returnParameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 14, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 16, | |
"src": "254:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 13, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "254:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "253:9:0" | |
}, | |
"scope": 45, | |
"src": "212:51:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "9a6fc8f5", | |
"id": 31, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getRoundData", | |
"nameLocation": "276:12:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 19, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 18, | |
"mutability": "mutable", | |
"name": "_roundId", | |
"nameLocation": "296:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "289:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 17, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "289:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "288:17:0" | |
}, | |
"returnParameters": { | |
"id": 30, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 21, | |
"mutability": "mutable", | |
"name": "roundId", | |
"nameLocation": "355:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "348:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 20, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "348:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 23, | |
"mutability": "mutable", | |
"name": "answer", | |
"nameLocation": "377:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "370:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 22, | |
"name": "int256", | |
"nodeType": "ElementaryTypeName", | |
"src": "370:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 25, | |
"mutability": "mutable", | |
"name": "startedAt", | |
"nameLocation": "399:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "391:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 24, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "391:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 27, | |
"mutability": "mutable", | |
"name": "updatedAt", | |
"nameLocation": "424:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "416:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 26, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "416:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 29, | |
"mutability": "mutable", | |
"name": "answeredInRound", | |
"nameLocation": "448:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "441:22:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 28, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "441:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "340:129:0" | |
}, | |
"scope": 45, | |
"src": "267:203:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "feaf968c", | |
"id": 44, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "latestRoundData", | |
"nameLocation": "483:15:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 32, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "498:2:0" | |
}, | |
"returnParameters": { | |
"id": 43, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 34, | |
"mutability": "mutable", | |
"name": "roundId", | |
"nameLocation": "550:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "543:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 33, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "543:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 36, | |
"mutability": "mutable", | |
"name": "answer", | |
"nameLocation": "572:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "565:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 35, | |
"name": "int256", | |
"nodeType": "ElementaryTypeName", | |
"src": "565:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 38, | |
"mutability": "mutable", | |
"name": "startedAt", | |
"nameLocation": "594:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "586:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 37, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "586:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 40, | |
"mutability": "mutable", | |
"name": "updatedAt", | |
"nameLocation": "619:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "611:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 39, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "611:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 42, | |
"mutability": "mutable", | |
"name": "answeredInRound", | |
"nameLocation": "643:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "636:22:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 41, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "636:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "535:129:0" | |
}, | |
"scope": 45, | |
"src": "474:191:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
} | |
], | |
"scope": 46, | |
"src": "57:610:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "32:636:0" | |
}, | |
"id": 0 | |
}, | |
"contracts/PriceConverter.sol": { | |
"ast": { | |
"absolutePath": "contracts/PriceConverter.sol", | |
"exportedSymbols": { | |
"AggregatorV3Interface": [ | |
45 | |
], | |
"PriceConverter": [ | |
99 | |
] | |
}, | |
"id": 100, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 47, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".8" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "33:23:1" | |
}, | |
{ | |
"absolutePath": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"file": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"id": 48, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 100, | |
"sourceUnit": 46, | |
"src": "60:76:1", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "PriceConverter", | |
"contractDependencies": [], | |
"contractKind": "library", | |
"fullyImplemented": true, | |
"id": 99, | |
"linearizedBaseContracts": [ | |
99 | |
], | |
"name": "PriceConverter", | |
"nameLocation": "148:14:1", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"body": { | |
"id": 73, | |
"nodeType": "Block", | |
"src": "238:244:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
55 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 55, | |
"mutability": "mutable", | |
"name": "dataFeed", | |
"nameLocation": "264:8:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 73, | |
"src": "242:30:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
}, | |
"typeName": { | |
"id": 54, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 53, | |
"name": "AggregatorV3Interface", | |
"nameLocations": [ | |
"242:21:1" | |
], | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 45, | |
"src": "242:21:1" | |
}, | |
"referencedDeclaration": 45, | |
"src": "242:21:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 59, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"hexValue": "307836393441413137363933353732313544453446414330383162663166333039614443333235333036", | |
"id": 57, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "297:42:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"value": "0x694AA1769357215DE4FAC081bf1f309aDC325306" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 56, | |
"name": "AggregatorV3Interface", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 45, | |
"src": "275:21:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_contract$_AggregatorV3Interface_$45_$", | |
"typeString": "type(contract AggregatorV3Interface)" | |
} | |
}, | |
"id": 58, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "275:65:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "242:98:1" | |
}, | |
{ | |
"assignments": [ | |
null, | |
61, | |
null, | |
null, | |
null | |
], | |
"declarations": [ | |
null, | |
{ | |
"constant": false, | |
"id": 61, | |
"mutability": "mutable", | |
"name": "price", | |
"nameLocation": "368:5:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 73, | |
"src": "364:9:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 60, | |
"name": "int", | |
"nodeType": "ElementaryTypeName", | |
"src": "364:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
null, | |
null, | |
null | |
], | |
"id": 65, | |
"initialValue": { | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"expression": { | |
"id": 62, | |
"name": "dataFeed", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 55, | |
"src": "409:8:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"id": 63, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "418:15:1", | |
"memberName": "latestRoundData", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 44, | |
"src": "409:24:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_view$__$returns$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$", | |
"typeString": "function () view external returns (uint80,int256,uint256,uint256,uint80)" | |
} | |
}, | |
"id": 64, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "409:26:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$", | |
"typeString": "tuple(uint80,int256,uint256,uint256,uint80)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "351:84:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"id": 70, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 68, | |
"name": "price", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 61, | |
"src": "461:5:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"hexValue": "31653130", | |
"id": 69, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "469:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_10000000000_by_1", | |
"typeString": "int_const 10000000000" | |
}, | |
"value": "1e10" | |
}, | |
"src": "461:12:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
], | |
"id": 67, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "453:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_uint256_$", | |
"typeString": "type(uint256)" | |
}, | |
"typeName": { | |
"id": 66, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "453:7:1", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 71, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "453:21:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 52, | |
"id": 72, | |
"nodeType": "Return", | |
"src": "446:28:1" | |
} | |
] | |
}, | |
"id": 74, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getPrice", | |
"nameLocation": "194:8:1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 49, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "202:2:1" | |
}, | |
"returnParameters": { | |
"id": 52, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 51, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 74, | |
"src": "229:7:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 50, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "229:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "228:9:1" | |
}, | |
"scope": 99, | |
"src": "185:297:1", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 97, | |
"nodeType": "Block", | |
"src": "567:147:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
82 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 82, | |
"mutability": "mutable", | |
"name": "ethPrice", | |
"nameLocation": "586:8:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 97, | |
"src": "578:16:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 81, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "578:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 85, | |
"initialValue": { | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"id": 83, | |
"name": "getPrice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 74, | |
"src": "597:8:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", | |
"typeString": "function () view returns (uint256)" | |
} | |
}, | |
"id": 84, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "597:10:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "578:29:1" | |
}, | |
{ | |
"assignments": [ | |
87 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 87, | |
"mutability": "mutable", | |
"name": "ethAmountInUSD", | |
"nameLocation": "628:14:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 97, | |
"src": "620:22:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 86, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "620:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 94, | |
"initialValue": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 93, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"components": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 90, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 88, | |
"name": "ethPrice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 82, | |
"src": "646:8:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 89, | |
"name": "ethAmount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 76, | |
"src": "657:9:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "646:20:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"id": 91, | |
"isConstant": false, | |
"isInlineArray": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "TupleExpression", | |
"src": "645:22:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "/", | |
"rightExpression": { | |
"hexValue": "31653138", | |
"id": 92, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "670:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_1000000000000000000_by_1", | |
"typeString": "int_const 1000000000000000000" | |
}, | |
"value": "1e18" | |
}, | |
"src": "645:29:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "620:54:1" | |
}, | |
{ | |
"expression": { | |
"id": 95, | |
"name": "ethAmountInUSD", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 87, | |
"src": "692:14:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 80, | |
"id": 96, | |
"nodeType": "Return", | |
"src": "685:21:1" | |
} | |
] | |
}, | |
"id": 98, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getConversionRate", | |
"nameLocation": "499:17:1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 77, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 76, | |
"mutability": "mutable", | |
"name": "ethAmount", | |
"nameLocation": "525:9:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "517:17:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 75, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "517:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "516:19:1" | |
}, | |
"returnParameters": { | |
"id": 80, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 79, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 98, | |
"src": "559:7:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 78, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "559:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "558:9:1" | |
}, | |
"scope": 99, | |
"src": "490:224:1", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "internal" | |
} | |
], | |
"scope": 100, | |
"src": "140:579:1", | |
"usedErrors": [] | |
} | |
], | |
"src": "33:686:1" | |
}, | |
"id": 1 | |
} | |
} | |
} | |
} |
This file contains 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
{ | |
"id": "9ae80881d1360d0e0344a09cb9a03560", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.18", | |
"solcLongVersion": "0.8.18+commit.87f61d96", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/FundMe.sol": { | |
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.8;\r\n\r\nimport \"./PriceConverter.sol\";\r\n\r\ncontract FundMe{\r\n\r\nusing PriceConverter for uint256;\r\n\r\n uint public minUSD = 50 * 1e18;\r\n address[] public funders;\r\n mapping (address=>uint256) public addressToAmountFunded;\r\n\r\n function fund() public payable {\r\n require(msg.value.getConversionRate() >= minUSD, \"Didn't send enough!\");\r\n funders.push(msg.sender);\r\n addressToAmountFunded[msg.sender] = msg.value;\r\n }\r\n\r\n}" | |
}, | |
"contracts/PriceConverter.sol": { | |
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.8;\r\n\r\nimport \"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\";\r\n\r\nlibrary PriceConverter{\r\n\r\n \r\n\r\n function getPrice() internal view returns (uint256) {\r\n AggregatorV3Interface dataFeed = AggregatorV3Interface(0x694AA1769357215DE4FAC081bf1f309aDC325306);\r\n (/*uint80*/, int price, /*uint*/, /*uint*/, /*uint80*/) = dataFeed.latestRoundData();\r\n return uint256(price * 1e10);\r\n }\r\n\r\n function getConversionRate(uint256 ethAmount) internal view returns (uint256){\r\n uint256 ethPrice = getPrice();\r\n\r\n uint256 ethAmountInUSD = (ethPrice * ethAmount) / 1e18;\r\n return ethAmountInUSD;\r\n }\r\n\r\n}" | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface AggregatorV3Interface {\n function decimals() external view returns (uint8);\n\n function description() external view returns (string memory);\n\n function version() external view returns (uint256);\n\n function getRoundData(uint80 _roundId)\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\n );\n\n function latestRoundData()\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\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": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"AggregatorV3Interface": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "decimals", | |
"outputs": [ | |
{ | |
"internalType": "uint8", | |
"name": "", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "description", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "_roundId", | |
"type": "uint80" | |
} | |
], | |
"name": "getRoundData", | |
"outputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "roundId", | |
"type": "uint80" | |
}, | |
{ | |
"internalType": "int256", | |
"name": "answer", | |
"type": "int256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "startedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "updatedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint80", | |
"name": "answeredInRound", | |
"type": "uint80" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "latestRoundData", | |
"outputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "roundId", | |
"type": "uint80" | |
}, | |
{ | |
"internalType": "int256", | |
"name": "answer", | |
"type": "int256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "startedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "updatedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint80", | |
"name": "answeredInRound", | |
"type": "uint80" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "version", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"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": { | |
"decimals()": "313ce567", | |
"description()": "7284e416", | |
"getRoundData(uint80)": "9a6fc8f5", | |
"latestRoundData()": "feaf968c", | |
"version()": "54fd4d50" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_roundId\",\"type\":\"uint80\"}],\"name\":\"getRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":\"AggregatorV3Interface\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"contracts/FundMe.sol": { | |
"FundMe": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "addressToAmountFunded", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "fund", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "funders", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "minUSD", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/FundMe.sol\":94:504 contract FundMe{... */\n mstore(0x40, 0x80)\n /* \"contracts/FundMe.sol\":176:185 50 * 1e18 */\n 0x02b5e3af16b1880000\n /* \"contracts/FundMe.sol\":155:185 uint public minUSD = 50 * 1e18 */\n 0x00\n sstore\n /* \"contracts/FundMe.sol\":94:504 contract FundMe{... */\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 /* \"contracts/FundMe.sol\":94:504 contract FundMe{... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x3e47d6f3\n eq\n tag_2\n jumpi\n dup1\n 0xb60d4288\n eq\n tag_3\n jumpi\n dup1\n 0xdc0d3dff\n eq\n tag_4\n jumpi\n dup1\n 0xdc992aa0\n eq\n tag_5\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"contracts/FundMe.sol\":223:278 mapping (address=>uint256) public addressToAmountFunded */\n tag_2:\n callvalue\n dup1\n iszero\n tag_6\n jumpi\n 0x00\n dup1\n revert\n tag_6:\n pop\n tag_7\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n tag_10\n jump\t// in\n tag_7:\n mload(0x40)\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/FundMe.sol\":287:499 function fund() public payable {... */\n tag_3:\n tag_13\n tag_14\n jump\t// in\n tag_13:\n stop\n /* \"contracts/FundMe.sol\":192:216 address[] public funders */\n tag_4:\n callvalue\n dup1\n iszero\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_15:\n pop\n tag_16\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n tag_19\n jump\t// in\n tag_16:\n mload(0x40)\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/FundMe.sol\":155:185 uint public minUSD = 50 * 1e18 */\n tag_5:\n callvalue\n dup1\n iszero\n tag_22\n jumpi\n 0x00\n dup1\n revert\n tag_22:\n pop\n tag_23\n tag_24\n jump\t// in\n tag_23:\n mload(0x40)\n tag_25\n swap2\n swap1\n tag_12\n jump\t// in\n tag_25:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/FundMe.sol\":223:278 mapping (address=>uint256) public addressToAmountFunded */\n tag_10:\n mstore(0x20, 0x02)\n dup1\n 0x00\n mstore\n keccak256(0x00, 0x40)\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"contracts/FundMe.sol\":287:499 function fund() public payable {... */\n tag_14:\n /* \"contracts/FundMe.sol\":370:376 minUSD */\n sload(0x00)\n /* \"contracts/FundMe.sol\":337:366 msg.value.getConversionRate() */\n tag_27\n /* \"contracts/FundMe.sol\":337:346 msg.value */\n callvalue\n /* \"contracts/FundMe.sol\":337:364 msg.value.getConversionRate */\n tag_28\n /* \"contracts/FundMe.sol\":337:366 msg.value.getConversionRate() */\n jump\t// in\n tag_27:\n /* \"contracts/FundMe.sol\":337:376 msg.value.getConversionRate() >= minUSD */\n lt\n iszero\n /* \"contracts/FundMe.sol\":329:400 require(msg.value.getConversionRate() >= minUSD, \"Didn't send enough!\") */\n tag_29\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_30\n swap1\n tag_31\n jump\t// in\n tag_30:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_29:\n /* \"contracts/FundMe.sol\":411:418 funders */\n 0x01\n /* \"contracts/FundMe.sol\":424:434 msg.sender */\n caller\n /* \"contracts/FundMe.sol\":411:435 funders.push(msg.sender) */\n swap1\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/FundMe.sol\":482:491 msg.value */\n callvalue\n /* \"contracts/FundMe.sol\":446:467 addressToAmountFunded */\n 0x02\n /* \"contracts/FundMe.sol\":446:479 addressToAmountFunded[msg.sender] */\n 0x00\n /* \"contracts/FundMe.sol\":468:478 msg.sender */\n caller\n /* \"contracts/FundMe.sol\":446:479 addressToAmountFunded[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n /* \"contracts/FundMe.sol\":446:491 addressToAmountFunded[msg.sender] = msg.value */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/FundMe.sol\":287:499 function fund() public payable {... */\n jump\t// out\n /* \"contracts/FundMe.sol\":192:216 address[] public funders */\n tag_19:\n 0x01\n dup2\n dup2\n sload\n dup2\n lt\n tag_33\n jumpi\n 0x00\n dup1\n revert\n tag_33:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n add\n 0x00\n swap2\n pop\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/FundMe.sol\":155:185 uint public minUSD = 50 * 1e18 */\n tag_24:\n sload(0x00)\n dup2\n jump\t// out\n /* \"contracts/PriceConverter.sol\":490:714 function getConversionRate(uint256 ethAmount) internal view returns (uint256){... */\n tag_28:\n /* \"contracts/PriceConverter.sol\":559:566 uint256 */\n 0x00\n /* \"contracts/PriceConverter.sol\":578:594 uint256 ethPrice */\n dup1\n /* \"contracts/PriceConverter.sol\":597:607 getPrice() */\n tag_36\n /* \"contracts/PriceConverter.sol\":597:605 getPrice */\n tag_37\n /* \"contracts/PriceConverter.sol\":597:607 getPrice() */\n jump\t// in\n tag_36:\n /* \"contracts/PriceConverter.sol\":578:607 uint256 ethPrice = getPrice() */\n swap1\n pop\n /* \"contracts/PriceConverter.sol\":620:642 uint256 ethAmountInUSD */\n 0x00\n /* \"contracts/PriceConverter.sol\":670:674 1e18 */\n 0x0de0b6b3a7640000\n /* \"contracts/PriceConverter.sol\":657:666 ethAmount */\n dup5\n /* \"contracts/PriceConverter.sol\":646:654 ethPrice */\n dup4\n /* \"contracts/PriceConverter.sol\":646:666 ethPrice * ethAmount */\n tag_38\n swap2\n swap1\n tag_39\n jump\t// in\n tag_38:\n /* \"contracts/PriceConverter.sol\":645:674 (ethPrice * ethAmount) / 1e18 */\n tag_40\n swap2\n swap1\n tag_41\n jump\t// in\n tag_40:\n /* \"contracts/PriceConverter.sol\":620:674 uint256 ethAmountInUSD = (ethPrice * ethAmount) / 1e18 */\n swap1\n pop\n /* \"contracts/PriceConverter.sol\":692:706 ethAmountInUSD */\n dup1\n /* \"contracts/PriceConverter.sol\":685:706 return ethAmountInUSD */\n swap3\n pop\n pop\n pop\n /* \"contracts/PriceConverter.sol\":490:714 function getConversionRate(uint256 ethAmount) internal view returns (uint256){... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/PriceConverter.sol\":185:482 function getPrice() internal view returns (uint256) {... */\n tag_37:\n /* \"contracts/PriceConverter.sol\":229:236 uint256 */\n 0x00\n /* \"contracts/PriceConverter.sol\":242:272 AggregatorV3Interface dataFeed */\n dup1\n /* \"contracts/PriceConverter.sol\":297:339 0x694AA1769357215DE4FAC081bf1f309aDC325306 */\n 0x694aa1769357215de4fac081bf1f309adc325306\n /* \"contracts/PriceConverter.sol\":242:340 AggregatorV3Interface dataFeed = AggregatorV3Interface(0x694AA1769357215DE4FAC081bf1f309aDC325306) */\n swap1\n pop\n /* \"contracts/PriceConverter.sol\":364:373 int price */\n 0x00\n /* \"contracts/PriceConverter.sol\":409:417 dataFeed */\n dup2\n /* \"contracts/PriceConverter.sol\":409:433 dataFeed.latestRoundData */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xfeaf968c\n /* \"contracts/PriceConverter.sol\":409:435 dataFeed.latestRoundData() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0xa0\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_44\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_44:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_45\n swap2\n swap1\n tag_46\n jump\t// in\n tag_45:\n /* \"contracts/PriceConverter.sol\":351:435 (/*uint80*/, int price, /*uint*/, /*uint*/, /*uint80*/) = dataFeed.latestRoundData() */\n pop\n pop\n pop\n swap2\n pop\n pop\n /* \"contracts/PriceConverter.sol\":469:473 1e10 */\n 0x02540be400\n /* \"contracts/PriceConverter.sol\":461:466 price */\n dup2\n /* \"contracts/PriceConverter.sol\":461:473 price * 1e10 */\n tag_47\n swap2\n swap1\n tag_48\n jump\t// in\n tag_47:\n /* \"contracts/PriceConverter.sol\":446:474 return uint256(price * 1e10) */\n swap3\n pop\n pop\n pop\n /* \"contracts/PriceConverter.sol\":185:482 function getPrice() internal view returns (uint256) {... */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_50:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\n tag_52:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\n tag_53:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_79\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_52\n jump\t// in\n tag_79:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\n tag_54:\n /* \"#utility.yul\":641:665 */\n tag_81\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_53\n jump\t// in\n tag_81:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_82\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\n tag_82:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:835 */\n tag_55:\n /* \"#utility.yul\":742:747 */\n 0x00\n /* \"#utility.yul\":780:786 */\n dup2\n /* \"#utility.yul\":767:787 */\n calldataload\n /* \"#utility.yul\":758:787 */\n swap1\n pop\n /* \"#utility.yul\":796:829 */\n tag_84\n /* \"#utility.yul\":823:828 */\n dup2\n /* \"#utility.yul\":796:829 */\n tag_54\n jump\t// in\n tag_84:\n /* \"#utility.yul\":696:835 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":841:1170 */\n tag_9:\n /* \"#utility.yul\":900:906 */\n 0x00\n /* \"#utility.yul\":949:951 */\n 0x20\n /* \"#utility.yul\":937:946 */\n dup3\n /* \"#utility.yul\":928:935 */\n dup5\n /* \"#utility.yul\":924:947 */\n sub\n /* \"#utility.yul\":920:952 */\n slt\n /* \"#utility.yul\":917:1036 */\n iszero\n tag_86\n jumpi\n /* \"#utility.yul\":955:1034 */\n tag_87\n tag_50\n jump\t// in\n tag_87:\n /* \"#utility.yul\":917:1036 */\n tag_86:\n /* \"#utility.yul\":1075:1076 */\n 0x00\n /* \"#utility.yul\":1100:1153 */\n tag_88\n /* \"#utility.yul\":1145:1152 */\n dup5\n /* \"#utility.yul\":1136:1142 */\n dup3\n /* \"#utility.yul\":1125:1134 */\n dup6\n /* \"#utility.yul\":1121:1143 */\n add\n /* \"#utility.yul\":1100:1153 */\n tag_55\n jump\t// in\n tag_88:\n /* \"#utility.yul\":1090:1153 */\n swap2\n pop\n /* \"#utility.yul\":1046:1163 */\n pop\n /* \"#utility.yul\":841:1170 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1176:1253 */\n tag_56:\n /* \"#utility.yul\":1213:1220 */\n 0x00\n /* \"#utility.yul\":1242:1247 */\n dup2\n /* \"#utility.yul\":1231:1247 */\n swap1\n pop\n /* \"#utility.yul\":1176:1253 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1259:1377 */\n tag_57:\n /* \"#utility.yul\":1346:1370 */\n tag_91\n /* \"#utility.yul\":1364:1369 */\n dup2\n /* \"#utility.yul\":1346:1370 */\n tag_56\n jump\t// in\n tag_91:\n /* \"#utility.yul\":1341:1344 */\n dup3\n /* \"#utility.yul\":1334:1371 */\n mstore\n /* \"#utility.yul\":1259:1377 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1383:1605 */\n tag_12:\n /* \"#utility.yul\":1476:1480 */\n 0x00\n /* \"#utility.yul\":1514:1516 */\n 0x20\n /* \"#utility.yul\":1503:1512 */\n dup3\n /* \"#utility.yul\":1499:1517 */\n add\n /* \"#utility.yul\":1491:1517 */\n swap1\n pop\n /* \"#utility.yul\":1527:1598 */\n tag_93\n /* \"#utility.yul\":1595:1596 */\n 0x00\n /* \"#utility.yul\":1584:1593 */\n dup4\n /* \"#utility.yul\":1580:1597 */\n add\n /* \"#utility.yul\":1571:1577 */\n dup5\n /* \"#utility.yul\":1527:1598 */\n tag_57\n jump\t// in\n tag_93:\n /* \"#utility.yul\":1383:1605 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1611:1733 */\n tag_58:\n /* \"#utility.yul\":1684:1708 */\n tag_95\n /* \"#utility.yul\":1702:1707 */\n dup2\n /* \"#utility.yul\":1684:1708 */\n tag_56\n jump\t// in\n tag_95:\n /* \"#utility.yul\":1677:1682 */\n dup2\n /* \"#utility.yul\":1674:1709 */\n eq\n /* \"#utility.yul\":1664:1727 */\n tag_96\n jumpi\n /* \"#utility.yul\":1723:1724 */\n 0x00\n /* \"#utility.yul\":1720:1721 */\n dup1\n /* \"#utility.yul\":1713:1725 */\n revert\n /* \"#utility.yul\":1664:1727 */\n tag_96:\n /* \"#utility.yul\":1611:1733 */\n pop\n jump\t// out\n /* \"#utility.yul\":1739:1878 */\n tag_59:\n /* \"#utility.yul\":1785:1790 */\n 0x00\n /* \"#utility.yul\":1823:1829 */\n dup2\n /* \"#utility.yul\":1810:1830 */\n calldataload\n /* \"#utility.yul\":1801:1830 */\n swap1\n pop\n /* \"#utility.yul\":1839:1872 */\n tag_98\n /* \"#utility.yul\":1866:1871 */\n dup2\n /* \"#utility.yul\":1839:1872 */\n tag_58\n jump\t// in\n tag_98:\n /* \"#utility.yul\":1739:1878 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1884:2213 */\n tag_18:\n /* \"#utility.yul\":1943:1949 */\n 0x00\n /* \"#utility.yul\":1992:1994 */\n 0x20\n /* \"#utility.yul\":1980:1989 */\n dup3\n /* \"#utility.yul\":1971:1978 */\n dup5\n /* \"#utility.yul\":1967:1990 */\n sub\n /* \"#utility.yul\":1963:1995 */\n slt\n /* \"#utility.yul\":1960:2079 */\n iszero\n tag_100\n jumpi\n /* \"#utility.yul\":1998:2077 */\n tag_101\n tag_50\n jump\t// in\n tag_101:\n /* \"#utility.yul\":1960:2079 */\n tag_100:\n /* \"#utility.yul\":2118:2119 */\n 0x00\n /* \"#utility.yul\":2143:2196 */\n tag_102\n /* \"#utility.yul\":2188:2195 */\n dup5\n /* \"#utility.yul\":2179:2185 */\n dup3\n /* \"#utility.yul\":2168:2177 */\n dup6\n /* \"#utility.yul\":2164:2186 */\n add\n /* \"#utility.yul\":2143:2196 */\n tag_59\n jump\t// in\n tag_102:\n /* \"#utility.yul\":2133:2196 */\n swap2\n pop\n /* \"#utility.yul\":2089:2206 */\n pop\n /* \"#utility.yul\":1884:2213 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2219:2337 */\n tag_60:\n /* \"#utility.yul\":2306:2330 */\n tag_104\n /* \"#utility.yul\":2324:2329 */\n dup2\n /* \"#utility.yul\":2306:2330 */\n tag_53\n jump\t// in\n tag_104:\n /* \"#utility.yul\":2301:2304 */\n dup3\n /* \"#utility.yul\":2294:2331 */\n mstore\n /* \"#utility.yul\":2219:2337 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2343:2565 */\n tag_21:\n /* \"#utility.yul\":2436:2440 */\n 0x00\n /* \"#utility.yul\":2474:2476 */\n 0x20\n /* \"#utility.yul\":2463:2472 */\n dup3\n /* \"#utility.yul\":2459:2477 */\n add\n /* \"#utility.yul\":2451:2477 */\n swap1\n pop\n /* \"#utility.yul\":2487:2558 */\n tag_106\n /* \"#utility.yul\":2555:2556 */\n 0x00\n /* \"#utility.yul\":2544:2553 */\n dup4\n /* \"#utility.yul\":2540:2557 */\n add\n /* \"#utility.yul\":2531:2537 */\n dup5\n /* \"#utility.yul\":2487:2558 */\n tag_60\n jump\t// in\n tag_106:\n /* \"#utility.yul\":2343:2565 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2571:2740 */\n tag_61:\n /* \"#utility.yul\":2655:2666 */\n 0x00\n /* \"#utility.yul\":2689:2695 */\n dup3\n /* \"#utility.yul\":2684:2687 */\n dup3\n /* \"#utility.yul\":2677:2696 */\n mstore\n /* \"#utility.yul\":2729:2733 */\n 0x20\n /* \"#utility.yul\":2724:2727 */\n dup3\n /* \"#utility.yul\":2720:2734 */\n add\n /* \"#utility.yul\":2705:2734 */\n swap1\n pop\n /* \"#utility.yul\":2571:2740 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2746:2915 */\n tag_62:\n /* \"#utility.yul\":2886:2907 */\n 0x4469646e27742073656e6420656e6f7567682100000000000000000000000000\n /* \"#utility.yul\":2882:2883 */\n 0x00\n /* \"#utility.yul\":2874:2880 */\n dup3\n /* \"#utility.yul\":2870:2884 */\n add\n /* \"#utility.yul\":2863:2908 */\n mstore\n /* \"#utility.yul\":2746:2915 */\n pop\n jump\t// out\n /* \"#utility.yul\":2921:3287 */\n tag_63:\n /* \"#utility.yul\":3063:3066 */\n 0x00\n /* \"#utility.yul\":3084:3151 */\n tag_110\n /* \"#utility.yul\":3148:3150 */\n 0x13\n /* \"#utility.yul\":3143:3146 */\n dup4\n /* \"#utility.yul\":3084:3151 */\n tag_61\n jump\t// in\n tag_110:\n /* \"#utility.yul\":3077:3151 */\n swap2\n pop\n /* \"#utility.yul\":3160:3253 */\n tag_111\n /* \"#utility.yul\":3249:3252 */\n dup3\n /* \"#utility.yul\":3160:3253 */\n tag_62\n jump\t// in\n tag_111:\n /* \"#utility.yul\":3278:3280 */\n 0x20\n /* \"#utility.yul\":3273:3276 */\n dup3\n /* \"#utility.yul\":3269:3281 */\n add\n /* \"#utility.yul\":3262:3281 */\n swap1\n pop\n /* \"#utility.yul\":2921:3287 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3293:3712 */\n tag_31:\n /* \"#utility.yul\":3459:3463 */\n 0x00\n /* \"#utility.yul\":3497:3499 */\n 0x20\n /* \"#utility.yul\":3486:3495 */\n dup3\n /* \"#utility.yul\":3482:3500 */\n add\n /* \"#utility.yul\":3474:3500 */\n swap1\n pop\n /* \"#utility.yul\":3546:3555 */\n dup2\n /* \"#utility.yul\":3540:3544 */\n dup2\n /* \"#utility.yul\":3536:3556 */\n sub\n /* \"#utility.yul\":3532:3533 */\n 0x00\n /* \"#utility.yul\":3521:3530 */\n dup4\n /* \"#utility.yul\":3517:3534 */\n add\n /* \"#utility.yul\":3510:3557 */\n mstore\n /* \"#utility.yul\":3574:3705 */\n tag_113\n /* \"#utility.yul\":3700:3704 */\n dup2\n /* \"#utility.yul\":3574:3705 */\n tag_63\n jump\t// in\n tag_113:\n /* \"#utility.yul\":3566:3705 */\n swap1\n pop\n /* \"#utility.yul\":3293:3712 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3718:3898 */\n tag_64:\n /* \"#utility.yul\":3766:3843 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":3763:3764 */\n 0x00\n /* \"#utility.yul\":3756:3844 */\n mstore\n /* \"#utility.yul\":3863:3867 */\n 0x11\n /* \"#utility.yul\":3860:3861 */\n 0x04\n /* \"#utility.yul\":3853:3868 */\n mstore\n /* \"#utility.yul\":3887:3891 */\n 0x24\n /* \"#utility.yul\":3884:3885 */\n 0x00\n /* \"#utility.yul\":3877:3892 */\n revert\n /* \"#utility.yul\":3904:4314 */\n tag_39:\n /* \"#utility.yul\":3944:3951 */\n 0x00\n /* \"#utility.yul\":3967:3987 */\n tag_116\n /* \"#utility.yul\":3985:3986 */\n dup3\n /* \"#utility.yul\":3967:3987 */\n tag_56\n jump\t// in\n tag_116:\n /* \"#utility.yul\":3962:3987 */\n swap2\n pop\n /* \"#utility.yul\":4001:4021 */\n tag_117\n /* \"#utility.yul\":4019:4020 */\n dup4\n /* \"#utility.yul\":4001:4021 */\n tag_56\n jump\t// in\n tag_117:\n /* \"#utility.yul\":3996:4021 */\n swap3\n pop\n /* \"#utility.yul\":4056:4057 */\n dup3\n /* \"#utility.yul\":4053:4054 */\n dup3\n /* \"#utility.yul\":4049:4058 */\n mul\n /* \"#utility.yul\":4078:4108 */\n tag_118\n /* \"#utility.yul\":4096:4107 */\n dup2\n /* \"#utility.yul\":4078:4108 */\n tag_56\n jump\t// in\n tag_118:\n /* \"#utility.yul\":4067:4108 */\n swap2\n pop\n /* \"#utility.yul\":4257:4258 */\n dup3\n /* \"#utility.yul\":4248:4255 */\n dup3\n /* \"#utility.yul\":4244:4259 */\n div\n /* \"#utility.yul\":4241:4242 */\n dup5\n /* \"#utility.yul\":4238:4260 */\n eq\n /* \"#utility.yul\":4218:4219 */\n dup4\n /* \"#utility.yul\":4211:4220 */\n iszero\n /* \"#utility.yul\":4191:4274 */\n or\n /* \"#utility.yul\":4168:4307 */\n tag_119\n jumpi\n /* \"#utility.yul\":4287:4305 */\n tag_120\n tag_64\n jump\t// in\n tag_120:\n /* \"#utility.yul\":4168:4307 */\n tag_119:\n /* \"#utility.yul\":3952:4314 */\n pop\n /* \"#utility.yul\":3904:4314 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4320:4500 */\n tag_65:\n /* \"#utility.yul\":4368:4445 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":4365:4366 */\n 0x00\n /* \"#utility.yul\":4358:4446 */\n mstore\n /* \"#utility.yul\":4465:4469 */\n 0x12\n /* \"#utility.yul\":4462:4463 */\n 0x04\n /* \"#utility.yul\":4455:4470 */\n mstore\n /* \"#utility.yul\":4489:4493 */\n 0x24\n /* \"#utility.yul\":4486:4487 */\n 0x00\n /* \"#utility.yul\":4479:4494 */\n revert\n /* \"#utility.yul\":4506:4691 */\n tag_41:\n /* \"#utility.yul\":4546:4547 */\n 0x00\n /* \"#utility.yul\":4563:4583 */\n tag_123\n /* \"#utility.yul\":4581:4582 */\n dup3\n /* \"#utility.yul\":4563:4583 */\n tag_56\n jump\t// in\n tag_123:\n /* \"#utility.yul\":4558:4583 */\n swap2\n pop\n /* \"#utility.yul\":4597:4617 */\n tag_124\n /* \"#utility.yul\":4615:4616 */\n dup4\n /* \"#utility.yul\":4597:4617 */\n tag_56\n jump\t// in\n tag_124:\n /* \"#utility.yul\":4592:4617 */\n swap3\n pop\n /* \"#utility.yul\":4636:4637 */\n dup3\n /* \"#utility.yul\":4626:4661 */\n tag_125\n jumpi\n /* \"#utility.yul\":4641:4659 */\n tag_126\n tag_65\n jump\t// in\n tag_126:\n /* \"#utility.yul\":4626:4661 */\n tag_125:\n /* \"#utility.yul\":4683:4684 */\n dup3\n /* \"#utility.yul\":4680:4681 */\n dup3\n /* \"#utility.yul\":4676:4685 */\n div\n /* \"#utility.yul\":4671:4685 */\n swap1\n pop\n /* \"#utility.yul\":4506:4691 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4697:4802 */\n tag_66:\n /* \"#utility.yul\":4733:4740 */\n 0x00\n /* \"#utility.yul\":4773:4795 */\n 0xffffffffffffffffffff\n /* \"#utility.yul\":4766:4771 */\n dup3\n /* \"#utility.yul\":4762:4796 */\n and\n /* \"#utility.yul\":4751:4796 */\n swap1\n pop\n /* \"#utility.yul\":4697:4802 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4808:4928 */\n tag_67:\n /* \"#utility.yul\":4880:4903 */\n tag_129\n /* \"#utility.yul\":4897:4902 */\n dup2\n /* \"#utility.yul\":4880:4903 */\n tag_66\n jump\t// in\n tag_129:\n /* \"#utility.yul\":4873:4878 */\n dup2\n /* \"#utility.yul\":4870:4904 */\n eq\n /* \"#utility.yul\":4860:4922 */\n tag_130\n jumpi\n /* \"#utility.yul\":4918:4919 */\n 0x00\n /* \"#utility.yul\":4915:4916 */\n dup1\n /* \"#utility.yul\":4908:4920 */\n revert\n /* \"#utility.yul\":4860:4922 */\n tag_130:\n /* \"#utility.yul\":4808:4928 */\n pop\n jump\t// out\n /* \"#utility.yul\":4934:5075 */\n tag_68:\n /* \"#utility.yul\":4990:4995 */\n 0x00\n /* \"#utility.yul\":5021:5027 */\n dup2\n /* \"#utility.yul\":5015:5028 */\n mload\n /* \"#utility.yul\":5006:5028 */\n swap1\n pop\n /* \"#utility.yul\":5037:5069 */\n tag_132\n /* \"#utility.yul\":5063:5068 */\n dup2\n /* \"#utility.yul\":5037:5069 */\n tag_67\n jump\t// in\n tag_132:\n /* \"#utility.yul\":4934:5075 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5081:5157 */\n tag_69:\n /* \"#utility.yul\":5117:5124 */\n 0x00\n /* \"#utility.yul\":5146:5151 */\n dup2\n /* \"#utility.yul\":5135:5151 */\n swap1\n pop\n /* \"#utility.yul\":5081:5157 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5163:5283 */\n tag_70:\n /* \"#utility.yul\":5235:5258 */\n tag_135\n /* \"#utility.yul\":5252:5257 */\n dup2\n /* \"#utility.yul\":5235:5258 */\n tag_69\n jump\t// in\n tag_135:\n /* \"#utility.yul\":5228:5233 */\n dup2\n /* \"#utility.yul\":5225:5259 */\n eq\n /* \"#utility.yul\":5215:5277 */\n tag_136\n jumpi\n /* \"#utility.yul\":5273:5274 */\n 0x00\n /* \"#utility.yul\":5270:5271 */\n dup1\n /* \"#utility.yul\":5263:5275 */\n revert\n /* \"#utility.yul\":5215:5277 */\n tag_136:\n /* \"#utility.yul\":5163:5283 */\n pop\n jump\t// out\n /* \"#utility.yul\":5289:5430 */\n tag_71:\n /* \"#utility.yul\":5345:5350 */\n 0x00\n /* \"#utility.yul\":5376:5382 */\n dup2\n /* \"#utility.yul\":5370:5383 */\n mload\n /* \"#utility.yul\":5361:5383 */\n swap1\n pop\n /* \"#utility.yul\":5392:5424 */\n tag_138\n /* \"#utility.yul\":5418:5423 */\n dup2\n /* \"#utility.yul\":5392:5424 */\n tag_70\n jump\t// in\n tag_138:\n /* \"#utility.yul\":5289:5430 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5436:5579 */\n tag_72:\n /* \"#utility.yul\":5493:5498 */\n 0x00\n /* \"#utility.yul\":5524:5530 */\n dup2\n /* \"#utility.yul\":5518:5531 */\n mload\n /* \"#utility.yul\":5509:5531 */\n swap1\n pop\n /* \"#utility.yul\":5540:5573 */\n tag_140\n /* \"#utility.yul\":5567:5572 */\n dup2\n /* \"#utility.yul\":5540:5573 */\n tag_58\n jump\t// in\n tag_140:\n /* \"#utility.yul\":5436:5579 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5585:6556 */\n tag_46:\n /* \"#utility.yul\":5688:5694 */\n 0x00\n /* \"#utility.yul\":5696:5702 */\n dup1\n /* \"#utility.yul\":5704:5710 */\n 0x00\n /* \"#utility.yul\":5712:5718 */\n dup1\n /* \"#utility.yul\":5720:5726 */\n 0x00\n /* \"#utility.yul\":5769:5772 */\n 0xa0\n /* \"#utility.yul\":5757:5766 */\n dup7\n /* \"#utility.yul\":5748:5755 */\n dup9\n /* \"#utility.yul\":5744:5767 */\n sub\n /* \"#utility.yul\":5740:5773 */\n slt\n /* \"#utility.yul\":5737:5857 */\n iszero\n tag_142\n jumpi\n /* \"#utility.yul\":5776:5855 */\n tag_143\n tag_50\n jump\t// in\n tag_143:\n /* \"#utility.yul\":5737:5857 */\n tag_142:\n /* \"#utility.yul\":5896:5897 */\n 0x00\n /* \"#utility.yul\":5921:5984 */\n tag_144\n /* \"#utility.yul\":5976:5983 */\n dup9\n /* \"#utility.yul\":5967:5973 */\n dup3\n /* \"#utility.yul\":5956:5965 */\n dup10\n /* \"#utility.yul\":5952:5974 */\n add\n /* \"#utility.yul\":5921:5984 */\n tag_68\n jump\t// in\n tag_144:\n /* \"#utility.yul\":5911:5984 */\n swap6\n pop\n /* \"#utility.yul\":5867:5994 */\n pop\n /* \"#utility.yul\":6033:6035 */\n 0x20\n /* \"#utility.yul\":6059:6122 */\n tag_145\n /* \"#utility.yul\":6114:6121 */\n dup9\n /* \"#utility.yul\":6105:6111 */\n dup3\n /* \"#utility.yul\":6094:6103 */\n dup10\n /* \"#utility.yul\":6090:6112 */\n add\n /* \"#utility.yul\":6059:6122 */\n tag_71\n jump\t// in\n tag_145:\n /* \"#utility.yul\":6049:6122 */\n swap5\n pop\n /* \"#utility.yul\":6004:6132 */\n pop\n /* \"#utility.yul\":6171:6173 */\n 0x40\n /* \"#utility.yul\":6197:6261 */\n tag_146\n /* \"#utility.yul\":6253:6260 */\n dup9\n /* \"#utility.yul\":6244:6250 */\n dup3\n /* \"#utility.yul\":6233:6242 */\n dup10\n /* \"#utility.yul\":6229:6251 */\n add\n /* \"#utility.yul\":6197:6261 */\n tag_72\n jump\t// in\n tag_146:\n /* \"#utility.yul\":6187:6261 */\n swap4\n pop\n /* \"#utility.yul\":6142:6271 */\n pop\n /* \"#utility.yul\":6310:6312 */\n 0x60\n /* \"#utility.yul\":6336:6400 */\n tag_147\n /* \"#utility.yul\":6392:6399 */\n dup9\n /* \"#utility.yul\":6383:6389 */\n dup3\n /* \"#utility.yul\":6372:6381 */\n dup10\n /* \"#utility.yul\":6368:6390 */\n add\n /* \"#utility.yul\":6336:6400 */\n tag_72\n jump\t// in\n tag_147:\n /* \"#utility.yul\":6326:6400 */\n swap3\n pop\n /* \"#utility.yul\":6281:6410 */\n pop\n /* \"#utility.yul\":6449:6452 */\n 0x80\n /* \"#utility.yul\":6476:6539 */\n tag_148\n /* \"#utility.yul\":6531:6538 */\n dup9\n /* \"#utility.yul\":6522:6528 */\n dup3\n /* \"#utility.yul\":6511:6520 */\n dup10\n /* \"#utility.yul\":6507:6529 */\n add\n /* \"#utility.yul\":6476:6539 */\n tag_68\n jump\t// in\n tag_148:\n /* \"#utility.yul\":6466:6539 */\n swap2\n pop\n /* \"#utility.yul\":6420:6549 */\n pop\n /* \"#utility.yul\":5585:6556 */\n swap3\n swap6\n pop\n swap3\n swap6\n swap1\n swap4\n pop\n jump\t// out\n /* \"#utility.yul\":6562:7118 */\n tag_48:\n /* \"#utility.yul\":6601:6608 */\n 0x00\n /* \"#utility.yul\":6624:6643 */\n tag_150\n /* \"#utility.yul\":6641:6642 */\n dup3\n /* \"#utility.yul\":6624:6643 */\n tag_69\n jump\t// in\n tag_150:\n /* \"#utility.yul\":6619:6643 */\n swap2\n pop\n /* \"#utility.yul\":6657:6676 */\n tag_151\n /* \"#utility.yul\":6674:6675 */\n dup4\n /* \"#utility.yul\":6657:6676 */\n tag_69\n jump\t// in\n tag_151:\n /* \"#utility.yul\":6652:6676 */\n swap3\n pop\n /* \"#utility.yul\":6711:6712 */\n dup3\n /* \"#utility.yul\":6708:6709 */\n dup3\n /* \"#utility.yul\":6704:6713 */\n mul\n /* \"#utility.yul\":6733:6762 */\n tag_152\n /* \"#utility.yul\":6750:6761 */\n dup2\n /* \"#utility.yul\":6733:6762 */\n tag_69\n jump\t// in\n tag_152:\n /* \"#utility.yul\":6722:6762 */\n swap2\n pop\n /* \"#utility.yul\":6820:6886 */\n 0x8000000000000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6817:6818 */\n dup5\n /* \"#utility.yul\":6814:6887 */\n eq\n /* \"#utility.yul\":6810:6811 */\n 0x00\n /* \"#utility.yul\":6807:6808 */\n dup5\n /* \"#utility.yul\":6803:6812 */\n slt\n /* \"#utility.yul\":6799:6888 */\n and\n /* \"#utility.yul\":6796:6911 */\n iszero\n tag_153\n jumpi\n /* \"#utility.yul\":6891:6909 */\n tag_154\n tag_64\n jump\t// in\n tag_154:\n /* \"#utility.yul\":6796:6911 */\n tag_153:\n /* \"#utility.yul\":7061:7062 */\n dup3\n /* \"#utility.yul\":7052:7059 */\n dup3\n /* \"#utility.yul\":7047:7063 */\n sdiv\n /* \"#utility.yul\":7044:7045 */\n dup5\n /* \"#utility.yul\":7041:7064 */\n eq\n /* \"#utility.yul\":7021:7022 */\n dup4\n /* \"#utility.yul\":7014:7023 */\n iszero\n /* \"#utility.yul\":6994:7078 */\n or\n /* \"#utility.yul\":6971:7111 */\n tag_155\n jumpi\n /* \"#utility.yul\":7091:7109 */\n tag_156\n tag_64\n jump\t// in\n tag_156:\n /* \"#utility.yul\":6971:7111 */\n tag_155:\n /* \"#utility.yul\":6609:7118 */\n pop\n /* \"#utility.yul\":6562:7118 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212200962c90fc5c7fdfb81c55b81691ce124024b2c80832942dc530cd55f7107701764736f6c63430008120033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60806040526802b5e3af16b188000060005534801561001d57600080fd5b506107748061002d6000396000f3fe60806040526004361061003f5760003560e01c80633e47d6f314610044578063b60d428814610081578063dc0d3dff1461008b578063dc992aa0146100c8575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061038c565b6100f3565b60405161007891906103d2565b60405180910390f35b61008961010b565b005b34801561009757600080fd5b506100b260048036038101906100ad9190610419565b610201565b6040516100bf9190610455565b60405180910390f35b3480156100d457600080fd5b506100dd610240565b6040516100ea91906103d2565b60405180910390f35b60026020528060005260406000206000915090505481565b60005461011734610246565b1015610158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014f906104cd565b60405180910390fd5b6001339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6001818154811061021157600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600080610251610280565b90506000670de0b6b3a7640000848361026a919061051c565b610274919061058d565b90508092505050919050565b60008073694aa1769357215de4fac081bf1f309adc325306905060008173ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156102e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030b919061064b565b5050509150506402540be4008161032291906106c6565b9250505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103598261032e565b9050919050565b6103698161034e565b811461037457600080fd5b50565b60008135905061038681610360565b92915050565b6000602082840312156103a2576103a1610329565b5b60006103b084828501610377565b91505092915050565b6000819050919050565b6103cc816103b9565b82525050565b60006020820190506103e760008301846103c3565b92915050565b6103f6816103b9565b811461040157600080fd5b50565b600081359050610413816103ed565b92915050565b60006020828403121561042f5761042e610329565b5b600061043d84828501610404565b91505092915050565b61044f8161034e565b82525050565b600060208201905061046a6000830184610446565b92915050565b600082825260208201905092915050565b7f4469646e27742073656e6420656e6f7567682100000000000000000000000000600082015250565b60006104b7601383610470565b91506104c282610481565b602082019050919050565b600060208201905081810360008301526104e6816104aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610527826103b9565b9150610532836103b9565b9250828202610540816103b9565b91508282048414831517610557576105566104ed565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610598826103b9565b91506105a3836103b9565b9250826105b3576105b261055e565b5b828204905092915050565b600069ffffffffffffffffffff82169050919050565b6105dd816105be565b81146105e857600080fd5b50565b6000815190506105fa816105d4565b92915050565b6000819050919050565b61061381610600565b811461061e57600080fd5b50565b6000815190506106308161060a565b92915050565b600081519050610645816103ed565b92915050565b600080600080600060a0868803121561066757610666610329565b5b6000610675888289016105eb565b955050602061068688828901610621565b945050604061069788828901610636565b93505060606106a888828901610636565b92505060806106b9888289016105eb565b9150509295509295909350565b60006106d182610600565b91506106dc83610600565b92508282026106ea81610600565b91507f80000000000000000000000000000000000000000000000000000000000000008414600084121615610722576107216104ed565b5b8282058414831517610737576107366104ed565b5b509291505056fea26469706673582212200962c90fc5c7fdfb81c55b81691ce124024b2c80832942dc530cd55f7107701764736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH9 0x2B5E3AF16B1880000 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x774 DUP1 PUSH2 0x2D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E47D6F3 EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xDC0D3DFF EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xDC992AA0 EQ PUSH2 0xC8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x38C JUMP JUMPDEST PUSH2 0xF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x3D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH2 0x10B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x419 JUMP JUMPDEST PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBF SWAP2 SWAP1 PUSH2 0x455 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x240 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x3D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x117 CALLVALUE PUSH2 0x246 JUMP JUMPDEST LT ISZERO PUSH2 0x158 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14F SWAP1 PUSH2 0x4CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 CALLER SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x251 PUSH2 0x280 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP5 DUP4 PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x51C JUMP JUMPDEST PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x58D JUMP JUMPDEST SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x694AA1769357215DE4FAC081BF1F309ADC325306 SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x64B JUMP JUMPDEST POP POP POP SWAP2 POP POP PUSH5 0x2540BE400 DUP2 PUSH2 0x322 SWAP2 SWAP1 PUSH2 0x6C6 JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x359 DUP3 PUSH2 0x32E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x369 DUP2 PUSH2 0x34E JUMP JUMPDEST DUP2 EQ PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x386 DUP2 PUSH2 0x360 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A2 JUMPI PUSH2 0x3A1 PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3B0 DUP5 DUP3 DUP6 ADD PUSH2 0x377 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CC DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3F6 DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP2 EQ PUSH2 0x401 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x413 DUP2 PUSH2 0x3ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42F JUMPI PUSH2 0x42E PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x43D DUP5 DUP3 DUP6 ADD PUSH2 0x404 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x44F DUP2 PUSH2 0x34E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x46A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x446 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4469646E27742073656E6420656E6F7567682100000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B7 PUSH1 0x13 DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x4C2 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4E6 DUP2 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x527 DUP3 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x532 DUP4 PUSH2 0x3B9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x540 DUP2 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x557 JUMPI PUSH2 0x556 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x598 DUP3 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x5A3 DUP4 PUSH2 0x3B9 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x5B3 JUMPI PUSH2 0x5B2 PUSH2 0x55E JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5DD DUP2 PUSH2 0x5BE JUMP JUMPDEST DUP2 EQ PUSH2 0x5E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x5FA DUP2 PUSH2 0x5D4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x613 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP2 EQ PUSH2 0x61E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x630 DUP2 PUSH2 0x60A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x645 DUP2 PUSH2 0x3ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x667 JUMPI PUSH2 0x666 PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x675 DUP9 DUP3 DUP10 ADD PUSH2 0x5EB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x686 DUP9 DUP3 DUP10 ADD PUSH2 0x621 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x697 DUP9 DUP3 DUP10 ADD PUSH2 0x636 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x6A8 DUP9 DUP3 DUP10 ADD PUSH2 0x636 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x6B9 DUP9 DUP3 DUP10 ADD PUSH2 0x5EB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D1 DUP3 PUSH2 0x600 JUMP JUMPDEST SWAP2 POP PUSH2 0x6DC DUP4 PUSH2 0x600 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x6EA DUP2 PUSH2 0x600 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP5 EQ PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x722 JUMPI PUSH2 0x721 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x737 JUMPI PUSH2 0x736 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MULMOD PUSH3 0xC90FC5 0xC7 REVERT 0xFB DUP2 0xC5 JUMPDEST DUP2 PUSH10 0x1CE124024B2C80832942 0xDC MSTORE8 0xC 0xD5 0x5F PUSH18 0x7701764736F6C6343000812003300000000 ", | |
"sourceMap": "94:410:1:-:0;;;176:9;155:30;;94:410;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@addressToAmountFunded_63": { | |
"entryPoint": 243, | |
"id": 63, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@fund_92": { | |
"entryPoint": 267, | |
"id": 92, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@funders_59": { | |
"entryPoint": 513, | |
"id": 59, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@getConversionRate_146": { | |
"entryPoint": 582, | |
"id": 146, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@getPrice_122": { | |
"entryPoint": 640, | |
"id": 122, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@minUSD_56": { | |
"entryPoint": 576, | |
"id": 56, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 887, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_int256_fromMemory": { | |
"entryPoint": 1569, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 1028, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 1590, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint80_fromMemory": { | |
"entryPoint": 1515, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address": { | |
"entryPoint": 908, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 1049, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory": { | |
"entryPoint": 1611, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 5 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 1094, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1194, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 963, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 1109, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1229, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 978, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1136, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_uint256": { | |
"entryPoint": 1421, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_int256": { | |
"entryPoint": 1734, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_uint256": { | |
"entryPoint": 1308, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 846, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_int256": { | |
"entryPoint": 1536, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 814, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 953, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint80": { | |
"entryPoint": 1470, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 1261, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x12": { | |
"entryPoint": 1374, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 809, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5": { | |
"entryPoint": 1153, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 864, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_int256": { | |
"entryPoint": 1546, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 1005, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint80": { | |
"entryPoint": 1492, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:7121:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "47:35:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "57:19:3", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "73:2:3", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "40:6:3", | |
"type": "" | |
} | |
], | |
"src": "7:75:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "177:28:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "194:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "197:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:3" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "300:28:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "317:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "320:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:3" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "379:81:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "389:65:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "404:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "411:42:3", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "400:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "400:54:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "389:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "361:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "371:7:3", | |
"type": "" | |
} | |
], | |
"src": "334:126:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "511:51:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "521:35:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "550:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "532:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "532:24:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "521:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "493:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "503:7:3", | |
"type": "" | |
} | |
], | |
"src": "466:96:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "611:79:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "668:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "677:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "680:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "670:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "670:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "670:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "634:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "659:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "641:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "641:24:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "631:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "631:35:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "624:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "624:43:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "621:63:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "604:5:3", | |
"type": "" | |
} | |
], | |
"src": "568:122:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "748:87:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "758:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "780:6:3" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "767:12:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "767:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "758:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "823:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "796:26:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "796:33:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "796:33:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "726:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "734:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "742:5:3", | |
"type": "" | |
} | |
], | |
"src": "696:139:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "907:263:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "953:83:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "955:77:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "955:79:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "955:79:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "928:7:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "937:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "924:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "924:23:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "949:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "920:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "920:32:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "917:119:3" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1046:117:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1061:15:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1075:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1065:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1090:63:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1125:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1136:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1121:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1121:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1145:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1100:20:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1100:53:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1090:6:3" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "877:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "888:7:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "900:6:3", | |
"type": "" | |
} | |
], | |
"src": "841:329:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1221:32:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1231:16:3", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1242:5:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1231:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1203:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1213:7:3", | |
"type": "" | |
} | |
], | |
"src": "1176:77:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1324:53:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1341:3:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1364:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1346:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1346:24:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1334:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1334:37:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1334:37:3" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1312:5:3", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1319:3:3", | |
"type": "" | |
} | |
], | |
"src": "1259:118:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1481:124:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1491:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1503:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1514:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1499:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1499:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1491:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1571:6:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1584:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1595:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1580:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1580:17:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1527:43:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1527:71:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1527:71:3" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1453:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1465:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1476:4:3", | |
"type": "" | |
} | |
], | |
"src": "1383:222:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1654:79:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1711:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1720:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1723:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1713:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1713:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1713:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1677:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1702:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1684:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1684:24:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1674:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1674:35:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1667:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1667:43:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "1664:63:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1647:5:3", | |
"type": "" | |
} | |
], | |
"src": "1611:122:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1791:87:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1801:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1823:6:3" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1810:12:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1810:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1801:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1866:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1839:26:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1839:33:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1839:33:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1769:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1777:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1785:5:3", | |
"type": "" | |
} | |
], | |
"src": "1739:139:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1950:263:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1996:83:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1998:77:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1998:79:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1998:79:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1971:7:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1980:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1967:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1967:23:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1992:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1963:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1963:32:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "1960:119:3" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2089:117:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2104:15:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2118:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2108:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2133:63:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2168:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2179:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2164:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2164:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2188:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2143:20:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2143:53:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2133:6:3" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1920:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1931:7:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1943:6:3", | |
"type": "" | |
} | |
], | |
"src": "1884:329:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2284:53:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2301:3:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2324:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "2306:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2306:24:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2294:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2294:37:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2294:37:3" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2272:5:3", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2279:3:3", | |
"type": "" | |
} | |
], | |
"src": "2219:118:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2441:124:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2451:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2463:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2474:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2459:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2459:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2451:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2531:6:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2544:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2555:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2540:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2540:17:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2487:43:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2487:71:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2487:71:3" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2413:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2425:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2436:4:3", | |
"type": "" | |
} | |
], | |
"src": "2343:222:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2667:73:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2684:3:3" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2689:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2677:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2677:19:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2677:19:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2705:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2724:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2729:4:3", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2720:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2720:14:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "2705:11:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2639:3:3", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2644:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "2655:11:3", | |
"type": "" | |
} | |
], | |
"src": "2571:169:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2852:63:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "2874:6:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2882:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2870:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2870:14:3" | |
}, | |
{ | |
"hexValue": "4469646e27742073656e6420656e6f75676821", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "2886:21:3", | |
"type": "", | |
"value": "Didn't send enough!" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2863:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2863:45:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2863:45:3" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "2844:6:3", | |
"type": "" | |
} | |
], | |
"src": "2746:169:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3067:220:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3077:74:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3143:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3148:2:3", | |
"type": "", | |
"value": "19" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3084:58:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3084:67:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3077:3:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3249:3:3" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5", | |
"nodeType": "YulIdentifier", | |
"src": "3160:88:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3160:93:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3160:93:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3262:19:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3273:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3278:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3269:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3269:12:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3262:3:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3055:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3063:3:3", | |
"type": "" | |
} | |
], | |
"src": "2921:366:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3464:248:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3474:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3486:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3497:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3482:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3482:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3474:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3521:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3532:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3517:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3517:17:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3540:4:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3546:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3536:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3536:20:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3510:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3510:47:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3510:47:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3566:139:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3700:4:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3574:124:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3574:131:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3566:4:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3444:9:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3459:4:3", | |
"type": "" | |
} | |
], | |
"src": "3293:419:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3746:152:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3763:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3766:77:3", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3756:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3756:88:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3756:88:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3860:1:3", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3863:4:3", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3853:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3853:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3853:15:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3884:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3887:4:3", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "3877:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3877:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3877:15:3" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "3718:180:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3952:362:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3962:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3985:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3967:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3967:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3962:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3996:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4019:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4001:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4001:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3996:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4030:28:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4053:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4056:1:3" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "4049:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4049:9:3" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulTypedName", | |
"src": "4034:11:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4067:41:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulIdentifier", | |
"src": "4096:11:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4078:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4078:30:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "4067:7:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4285:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "4287:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4287:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4287:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4218:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4211:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4211:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4241:1:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "4248:7:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4257:1:3" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "4244:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4244:15:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4238:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4238:22:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "4191:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4191:83:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4171:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4171:113:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4168:139:3" | |
} | |
] | |
}, | |
"name": "checked_mul_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "3935:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "3938:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "3944:7:3", | |
"type": "" | |
} | |
], | |
"src": "3904:410:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4348:152:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4365:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4368:77:3", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4358:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4358:88:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4358:88:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4462:1:3", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4465:4:3", | |
"type": "", | |
"value": "0x12" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4455:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4455:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4455:15:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4486:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4489:4:3", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4479:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4479:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4479:15:3" | |
} | |
] | |
}, | |
"name": "panic_error_0x12", | |
"nodeType": "YulFunctionDefinition", | |
"src": "4320:180:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4548:143:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4558:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4581:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4563:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4563:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4558:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4592:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4615:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4597:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4597:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4592:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4639:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "4641:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4641:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4641:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4636:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4629:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4629:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4626:35:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4671:14:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4680:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4683:1:3" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "4676:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4676:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "4671:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "4537:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "4540:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "4546:1:3", | |
"type": "" | |
} | |
], | |
"src": "4506:185:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4741:61:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4751:45:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4766:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4773:22:3", | |
"type": "", | |
"value": "0xffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4762:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4762:34:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4751:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint80", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4723:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4733:7:3", | |
"type": "" | |
} | |
], | |
"src": "4697:105:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4850:78:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4906:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4915:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4918:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4908:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4908:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4908:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4873:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4897:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint80", | |
"nodeType": "YulIdentifier", | |
"src": "4880:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4880:23:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4870:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4870:34:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4863:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4863:42:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4860:62:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint80", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4843:5:3", | |
"type": "" | |
} | |
], | |
"src": "4808:120:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4996:79:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5006:22:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "5021:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "5015:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5015:13:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5006:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5063:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint80", | |
"nodeType": "YulIdentifier", | |
"src": "5037:25:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5037:32:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5037:32:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "4974:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4982:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4990:5:3", | |
"type": "" | |
} | |
], | |
"src": "4934:141:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5125:32:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5135:16:3", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5146:5:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5135:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5107:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5117:7:3", | |
"type": "" | |
} | |
], | |
"src": "5081:76:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5205:78:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5261:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5270:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5273:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5263:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5263:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5263:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5228:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5252:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5235:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5235:23:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5225:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5225:34:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5218:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5218:42:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5215:62:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5198:5:3", | |
"type": "" | |
} | |
], | |
"src": "5163:120:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5351:79:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5361:22:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "5376:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "5370:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5370:13:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5361:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5418:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5392:25:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5392:32:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5392:32:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_int256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "5329:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5337:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5345:5:3", | |
"type": "" | |
} | |
], | |
"src": "5289:141:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5499:80:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5509:22:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "5524:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "5518:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5518:13:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5509:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5567:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "5540:26:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5540:33:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5540:33:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "5477:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5485:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5493:5:3", | |
"type": "" | |
} | |
], | |
"src": "5436:143:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5727:829:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5774:83:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "5776:77:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5776:79:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5776:79:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "5748:7:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5757:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "5744:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5744:23:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5769:3:3", | |
"type": "", | |
"value": "160" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "5740:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5740:33:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5737:120:3" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "5867:127:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "5882:15:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5896:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "5886:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5911:73:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5956:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "5967:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5952:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5952:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "5976:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "5921:30:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5921:63:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5911:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6004:128:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6019:16:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6033:2:3", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6023:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6049:73:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6094:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6105:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6090:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6090:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6114:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_int256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "6059:30:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6059:63:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "6049:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6142:129:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6157:16:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6171:2:3", | |
"type": "", | |
"value": "64" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6161:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6187:74:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6233:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6244:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6229:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6229:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6253:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "6197:31:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6197:64:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "6187:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6281:129:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6296:16:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6310:2:3", | |
"type": "", | |
"value": "96" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6300:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6326:74:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6372:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6383:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6368:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6368:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6392:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "6336:31:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6336:64:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "6326:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6420:129:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6435:17:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6449:3:3", | |
"type": "", | |
"value": "128" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6439:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6466:73:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6511:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6522:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6507:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6507:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6531:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "6476:30:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6476:63:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value4", | |
"nodeType": "YulIdentifier", | |
"src": "6466:6:3" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "5665:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "5676:7:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "5688:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "5696:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "5704:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "5712:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value4", | |
"nodeType": "YulTypedName", | |
"src": "5720:6:3", | |
"type": "" | |
} | |
], | |
"src": "5585:971:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6609:509:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6619:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "6641:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "6624:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6624:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "6619:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6652:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "6674:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "6657:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6657:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "6652:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6685:28:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "6708:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "6711:1:3" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "6704:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6704:9:3" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulTypedName", | |
"src": "6689:11:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6722:40:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulIdentifier", | |
"src": "6750:11:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "6733:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6733:29:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "6722:7:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6889:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "6891:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6891:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6891:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "6807:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6810:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "6803:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6803:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "6817:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6820:66:3", | |
"type": "", | |
"value": "0x8000000000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6814:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6814:73:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "6799:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6799:89:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "6796:115:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7089:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "7091:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7091:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7091:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "7021:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "7014:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7014:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "7044:1:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "7052:7:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "7061:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sdiv", | |
"nodeType": "YulIdentifier", | |
"src": "7047:4:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7047:16:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "7041:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7041:23:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "6994:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6994:84:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "6974:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6974:114:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "6971:140:3" | |
} | |
] | |
}, | |
"name": "checked_mul_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "6592:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "6595:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "6601:7:3", | |
"type": "" | |
} | |
], | |
"src": "6562:556:3" | |
} | |
] | |
}, | |
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\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 validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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 function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5(memPtr) {\n\n mstore(add(memPtr, 0), \"Didn't send enough!\")\n\n }\n\n function abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function cleanup_t_uint80(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffff)\n }\n\n function validator_revert_t_uint80(value) {\n if iszero(eq(value, cleanup_t_uint80(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint80_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint80(value)\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_int256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_mul_t_int256(x, y) -> product {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_int256(product_raw)\n\n // special case\n if and(slt(x, 0), eq(y, 0x8000000000000000000000000000000000000000000000000000000000000000)) { panic_error_0x11() }\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, sdiv(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n}\n", | |
"id": 3, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "60806040526004361061003f5760003560e01c80633e47d6f314610044578063b60d428814610081578063dc0d3dff1461008b578063dc992aa0146100c8575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061038c565b6100f3565b60405161007891906103d2565b60405180910390f35b61008961010b565b005b34801561009757600080fd5b506100b260048036038101906100ad9190610419565b610201565b6040516100bf9190610455565b60405180910390f35b3480156100d457600080fd5b506100dd610240565b6040516100ea91906103d2565b60405180910390f35b60026020528060005260406000206000915090505481565b60005461011734610246565b1015610158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014f906104cd565b60405180910390fd5b6001339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6001818154811061021157600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600080610251610280565b90506000670de0b6b3a7640000848361026a919061051c565b610274919061058d565b90508092505050919050565b60008073694aa1769357215de4fac081bf1f309adc325306905060008173ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156102e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030b919061064b565b5050509150506402540be4008161032291906106c6565b9250505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103598261032e565b9050919050565b6103698161034e565b811461037457600080fd5b50565b60008135905061038681610360565b92915050565b6000602082840312156103a2576103a1610329565b5b60006103b084828501610377565b91505092915050565b6000819050919050565b6103cc816103b9565b82525050565b60006020820190506103e760008301846103c3565b92915050565b6103f6816103b9565b811461040157600080fd5b50565b600081359050610413816103ed565b92915050565b60006020828403121561042f5761042e610329565b5b600061043d84828501610404565b91505092915050565b61044f8161034e565b82525050565b600060208201905061046a6000830184610446565b92915050565b600082825260208201905092915050565b7f4469646e27742073656e6420656e6f7567682100000000000000000000000000600082015250565b60006104b7601383610470565b91506104c282610481565b602082019050919050565b600060208201905081810360008301526104e6816104aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610527826103b9565b9150610532836103b9565b9250828202610540816103b9565b91508282048414831517610557576105566104ed565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610598826103b9565b91506105a3836103b9565b9250826105b3576105b261055e565b5b828204905092915050565b600069ffffffffffffffffffff82169050919050565b6105dd816105be565b81146105e857600080fd5b50565b6000815190506105fa816105d4565b92915050565b6000819050919050565b61061381610600565b811461061e57600080fd5b50565b6000815190506106308161060a565b92915050565b600081519050610645816103ed565b92915050565b600080600080600060a0868803121561066757610666610329565b5b6000610675888289016105eb565b955050602061068688828901610621565b945050604061069788828901610636565b93505060606106a888828901610636565b92505060806106b9888289016105eb565b9150509295509295909350565b60006106d182610600565b91506106dc83610600565b92508282026106ea81610600565b91507f80000000000000000000000000000000000000000000000000000000000000008414600084121615610722576107216104ed565b5b8282058414831517610737576107366104ed565b5b509291505056fea26469706673582212200962c90fc5c7fdfb81c55b81691ce124024b2c80832942dc530cd55f7107701764736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E47D6F3 EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xDC0D3DFF EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xDC992AA0 EQ PUSH2 0xC8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x38C JUMP JUMPDEST PUSH2 0xF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x3D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH2 0x10B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x419 JUMP JUMPDEST PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBF SWAP2 SWAP1 PUSH2 0x455 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x240 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x3D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x117 CALLVALUE PUSH2 0x246 JUMP JUMPDEST LT ISZERO PUSH2 0x158 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14F SWAP1 PUSH2 0x4CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 CALLER SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x251 PUSH2 0x280 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP5 DUP4 PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x51C JUMP JUMPDEST PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x58D JUMP JUMPDEST SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x694AA1769357215DE4FAC081BF1F309ADC325306 SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x64B JUMP JUMPDEST POP POP POP SWAP2 POP POP PUSH5 0x2540BE400 DUP2 PUSH2 0x322 SWAP2 SWAP1 PUSH2 0x6C6 JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x359 DUP3 PUSH2 0x32E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x369 DUP2 PUSH2 0x34E JUMP JUMPDEST DUP2 EQ PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x386 DUP2 PUSH2 0x360 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A2 JUMPI PUSH2 0x3A1 PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3B0 DUP5 DUP3 DUP6 ADD PUSH2 0x377 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CC DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3F6 DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP2 EQ PUSH2 0x401 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x413 DUP2 PUSH2 0x3ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42F JUMPI PUSH2 0x42E PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x43D DUP5 DUP3 DUP6 ADD PUSH2 0x404 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x44F DUP2 PUSH2 0x34E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x46A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x446 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4469646E27742073656E6420656E6F7567682100000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B7 PUSH1 0x13 DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x4C2 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4E6 DUP2 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x527 DUP3 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x532 DUP4 PUSH2 0x3B9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x540 DUP2 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x557 JUMPI PUSH2 0x556 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x598 DUP3 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x5A3 DUP4 PUSH2 0x3B9 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x5B3 JUMPI PUSH2 0x5B2 PUSH2 0x55E JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5DD DUP2 PUSH2 0x5BE JUMP JUMPDEST DUP2 EQ PUSH2 0x5E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x5FA DUP2 PUSH2 0x5D4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x613 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP2 EQ PUSH2 0x61E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x630 DUP2 PUSH2 0x60A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x645 DUP2 PUSH2 0x3ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x667 JUMPI PUSH2 0x666 PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x675 DUP9 DUP3 DUP10 ADD PUSH2 0x5EB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x686 DUP9 DUP3 DUP10 ADD PUSH2 0x621 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x697 DUP9 DUP3 DUP10 ADD PUSH2 0x636 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x6A8 DUP9 DUP3 DUP10 ADD PUSH2 0x636 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x6B9 DUP9 DUP3 DUP10 ADD PUSH2 0x5EB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D1 DUP3 PUSH2 0x600 JUMP JUMPDEST SWAP2 POP PUSH2 0x6DC DUP4 PUSH2 0x600 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x6EA DUP2 PUSH2 0x600 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP5 EQ PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x722 JUMPI PUSH2 0x721 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x737 JUMPI PUSH2 0x736 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MULMOD PUSH3 0xC90FC5 0xC7 REVERT 0xFB DUP2 0xC5 JUMPDEST DUP2 PUSH10 0x1CE124024B2C80832942 0xDC MSTORE8 0xC 0xD5 0x5F PUSH18 0x7701764736F6C6343000812003300000000 ", | |
"sourceMap": "94:410:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;223:55;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;287:212;;;:::i;:::-;;192:24;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;155:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;223:55;;;;;;;;;;;;;;;;;:::o;287:212::-;370:6;;337:29;:9;:27;:29::i;:::-;:39;;329:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;411:7;424:10;411:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;482:9;446:21;:33;468:10;446:33;;;;;;;;;;;;;;;:45;;;;287:212::o;192:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;155:30::-;;;;:::o;490:224:2:-;559:7;578:16;597:10;:8;:10::i;:::-;578:29;;620:22;670:4;657:9;646:8;:20;;;;:::i;:::-;645:29;;;;:::i;:::-;620:54;;692:14;685:21;;;;490:224;;;:::o;185:297::-;229:7;242:30;297:42;242:98;;364:9;409:8;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;351:84;;;;;;469:4;461:5;:12;;;;:::i;:::-;446:28;;;;185:297;:::o;88:117:3:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:329::-;1943:6;1992:2;1980:9;1971:7;1967:23;1963:32;1960:119;;;1998:79;;:::i;:::-;1960:119;2118:1;2143:53;2188:7;2179:6;2168:9;2164:22;2143:53;:::i;:::-;2133:63;;2089:117;1884:329;;;;:::o;2219:118::-;2306:24;2324:5;2306:24;:::i;:::-;2301:3;2294:37;2219:118;;:::o;2343:222::-;2436:4;2474:2;2463:9;2459:18;2451:26;;2487:71;2555:1;2544:9;2540:17;2531:6;2487:71;:::i;:::-;2343:222;;;;:::o;2571:169::-;2655:11;2689:6;2684:3;2677:19;2729:4;2724:3;2720:14;2705:29;;2571:169;;;;:::o;2746:::-;2886:21;2882:1;2874:6;2870:14;2863:45;2746:169;:::o;2921:366::-;3063:3;3084:67;3148:2;3143:3;3084:67;:::i;:::-;3077:74;;3160:93;3249:3;3160:93;:::i;:::-;3278:2;3273:3;3269:12;3262:19;;2921:366;;;:::o;3293:419::-;3459:4;3497:2;3486:9;3482:18;3474:26;;3546:9;3540:4;3536:20;3532:1;3521:9;3517:17;3510:47;3574:131;3700:4;3574:131;:::i;:::-;3566:139;;3293:419;;;:::o;3718:180::-;3766:77;3763:1;3756:88;3863:4;3860:1;3853:15;3887:4;3884:1;3877:15;3904:410;3944:7;3967:20;3985:1;3967:20;:::i;:::-;3962:25;;4001:20;4019:1;4001:20;:::i;:::-;3996:25;;4056:1;4053;4049:9;4078:30;4096:11;4078:30;:::i;:::-;4067:41;;4257:1;4248:7;4244:15;4241:1;4238:22;4218:1;4211:9;4191:83;4168:139;;4287:18;;:::i;:::-;4168:139;3952:362;3904:410;;;;:::o;4320:180::-;4368:77;4365:1;4358:88;4465:4;4462:1;4455:15;4489:4;4486:1;4479:15;4506:185;4546:1;4563:20;4581:1;4563:20;:::i;:::-;4558:25;;4597:20;4615:1;4597:20;:::i;:::-;4592:25;;4636:1;4626:35;;4641:18;;:::i;:::-;4626:35;4683:1;4680;4676:9;4671:14;;4506:185;;;;:::o;4697:105::-;4733:7;4773:22;4766:5;4762:34;4751:45;;4697:105;;;:::o;4808:120::-;4880:23;4897:5;4880:23;:::i;:::-;4873:5;4870:34;4860:62;;4918:1;4915;4908:12;4860:62;4808:120;:::o;4934:141::-;4990:5;5021:6;5015:13;5006:22;;5037:32;5063:5;5037:32;:::i;:::-;4934:141;;;;:::o;5081:76::-;5117:7;5146:5;5135:16;;5081:76;;;:::o;5163:120::-;5235:23;5252:5;5235:23;:::i;:::-;5228:5;5225:34;5215:62;;5273:1;5270;5263:12;5215:62;5163:120;:::o;5289:141::-;5345:5;5376:6;5370:13;5361:22;;5392:32;5418:5;5392:32;:::i;:::-;5289:141;;;;:::o;5436:143::-;5493:5;5524:6;5518:13;5509:22;;5540:33;5567:5;5540:33;:::i;:::-;5436:143;;;;:::o;5585:971::-;5688:6;5696;5704;5712;5720;5769:3;5757:9;5748:7;5744:23;5740:33;5737:120;;;5776:79;;:::i;:::-;5737:120;5896:1;5921:63;5976:7;5967:6;5956:9;5952:22;5921:63;:::i;:::-;5911:73;;5867:127;6033:2;6059:63;6114:7;6105:6;6094:9;6090:22;6059:63;:::i;:::-;6049:73;;6004:128;6171:2;6197:64;6253:7;6244:6;6233:9;6229:22;6197:64;:::i;:::-;6187:74;;6142:129;6310:2;6336:64;6392:7;6383:6;6372:9;6368:22;6336:64;:::i;:::-;6326:74;;6281:129;6449:3;6476:63;6531:7;6522:6;6511:9;6507:22;6476:63;:::i;:::-;6466:73;;6420:129;5585:971;;;;;;;;:::o;6562:556::-;6601:7;6624:19;6641:1;6624:19;:::i;:::-;6619:24;;6657:19;6674:1;6657:19;:::i;:::-;6652:24;;6711:1;6708;6704:9;6733:29;6750:11;6733:29;:::i;:::-;6722:40;;6820:66;6817:1;6814:73;6810:1;6807;6803:9;6799:89;6796:115;;;6891:18;;:::i;:::-;6796:115;7061:1;7052:7;7047:16;7044:1;7041:23;7021:1;7014:9;6994:84;6971:140;;7091:18;;:::i;:::-;6971:140;6609:509;6562:556;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "381600", | |
"executionCost": "22524", | |
"totalCost": "404124" | |
}, | |
"external": { | |
"addressToAmountFunded(address)": "2792", | |
"fund()": "infinite", | |
"funders(uint256)": "4978", | |
"minUSD()": "2473" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "80" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 176, | |
"end": 185, | |
"name": "PUSH", | |
"source": 1, | |
"value": "2B5E3AF16B1880000" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "CALLVALUE", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "tag", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH #[$]", | |
"source": 1, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH [$]", | |
"source": 1, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "CODECOPY", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "RETURN", | |
"source": 1 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a26469706673582212200962c90fc5c7fdfb81c55b81691ce124024b2c80832942dc530cd55f7107701764736f6c63430008120033", | |
".code": [ | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "80" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "CALLDATASIZE", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "E0" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "SHR", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "3E47D6F3" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "B60D4288" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "3" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "DC0D3DFF" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "DC992AA0" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "5" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "tag", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 94, | |
"end": 504, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "tag", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "CALLVALUE", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "6" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "tag", | |
"source": 1, | |
"value": "6" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "7" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "CALLDATASIZE", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "8" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "9" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "tag", | |
"source": 1, | |
"value": "8" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "10" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "tag", | |
"source": 1, | |
"value": "7" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "12" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "tag", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "RETURN", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "tag", | |
"source": 1, | |
"value": "3" | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "14" | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "tag", | |
"source": 1, | |
"value": "13" | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "STOP", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "tag", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "CALLVALUE", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "15" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "tag", | |
"source": 1, | |
"value": "15" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "16" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "CALLDATASIZE", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "17" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "18" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "tag", | |
"source": 1, | |
"value": "17" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "19" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "tag", | |
"source": 1, | |
"value": "16" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "21" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "tag", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "RETURN", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "tag", | |
"source": 1, | |
"value": "5" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "CALLVALUE", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "22" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "tag", | |
"source": 1, | |
"value": "22" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "23" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "tag", | |
"source": 1, | |
"value": "23" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "25" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "12" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "tag", | |
"source": 1, | |
"value": "25" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "RETURN", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "tag", | |
"source": 1, | |
"value": "10" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "KECCAK256", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 223, | |
"end": 278, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "tag", | |
"source": 1, | |
"value": "14" | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 370, | |
"end": 376, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 370, | |
"end": 376, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 337, | |
"end": 366, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "27" | |
}, | |
{ | |
"begin": 337, | |
"end": 346, | |
"name": "CALLVALUE", | |
"source": 1 | |
}, | |
{ | |
"begin": 337, | |
"end": 364, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "28" | |
}, | |
{ | |
"begin": 337, | |
"end": 366, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 337, | |
"end": 366, | |
"name": "tag", | |
"source": 1, | |
"value": "27" | |
}, | |
{ | |
"begin": 337, | |
"end": 366, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 337, | |
"end": 376, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 337, | |
"end": 376, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "29" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "PUSH", | |
"source": 1, | |
"value": "8C379A000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "30" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "31" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "tag", | |
"source": 1, | |
"value": "30" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "tag", | |
"source": 1, | |
"value": "29" | |
}, | |
{ | |
"begin": 329, | |
"end": 400, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 418, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 424, | |
"end": 434, | |
"name": "CALLER", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "KECCAK256", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "100" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "EXP", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "MUL", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "NOT", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "MUL", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "OR", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 411, | |
"end": 435, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 482, | |
"end": 491, | |
"name": "CALLVALUE", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 467, | |
"name": "PUSH", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 468, | |
"end": 478, | |
"name": "CALLER", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 446, | |
"end": 479, | |
"name": "KECCAK256", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 491, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 491, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 491, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 446, | |
"end": 491, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 287, | |
"end": 499, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "tag", | |
"source": 1, | |
"value": "19" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "33" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "tag", | |
"source": 1, | |
"value": "33" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "20" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "KECCAK256", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "100" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "EXP", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DIV", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 192, | |
"end": 216, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "tag", | |
"source": 1, | |
"value": "24" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 155, | |
"end": 185, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 490, | |
"end": 714, | |
"name": "tag", | |
"source": 2, | |
"value": "28" | |
}, | |
{ | |
"begin": 490, | |
"end": 714, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 559, | |
"end": 566, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 578, | |
"end": 594, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 597, | |
"end": 607, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "36" | |
}, | |
{ | |
"begin": 597, | |
"end": 605, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "37" | |
}, | |
{ | |
"begin": 597, | |
"end": 607, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 597, | |
"end": 607, | |
"name": "tag", | |
"source": 2, | |
"value": "36" | |
}, | |
{ | |
"begin": 597, | |
"end": 607, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 578, | |
"end": 607, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 578, | |
"end": 607, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 620, | |
"end": 642, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 670, | |
"end": 674, | |
"name": "PUSH", | |
"source": 2, | |
"value": "DE0B6B3A7640000" | |
}, | |
{ | |
"begin": 657, | |
"end": 666, | |
"name": "DUP5", | |
"source": 2 | |
}, | |
{ | |
"begin": 646, | |
"end": 654, | |
"name": "DUP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 646, | |
"end": 666, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "38" | |
}, | |
{ | |
"begin": 646, | |
"end": 666, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 646, | |
"end": 666, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 646, | |
"end": 666, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "39" | |
}, | |
{ | |
"begin": 646, | |
"end": 666, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 646, | |
"end": 666, | |
"name": "tag", | |
"source": 2, | |
"value": "38" | |
}, | |
{ | |
"begin": 646, | |
"end": 666, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 645, | |
"end": 674, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 645, | |
"end": 674, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 645, | |
"end": 674, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 645, | |
"end": 674, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "41" | |
}, | |
{ | |
"begin": 645, | |
"end": 674, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 645, | |
"end": 674, | |
"name": "tag", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 645, | |
"end": 674, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 620, | |
"end": 674, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 620, | |
"end": 674, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 692, | |
"end": 706, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 685, | |
"end": 706, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 685, | |
"end": 706, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 685, | |
"end": 706, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 685, | |
"end": 706, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 490, | |
"end": 714, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 490, | |
"end": 714, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 490, | |
"end": 714, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 490, | |
"end": 714, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 185, | |
"end": 482, | |
"name": "tag", | |
"source": 2, | |
"value": "37" | |
}, | |
{ | |
"begin": 185, | |
"end": 482, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 229, | |
"end": 236, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 242, | |
"end": 272, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 297, | |
"end": 339, | |
"name": "PUSH", | |
"source": 2, | |
"value": "694AA1769357215DE4FAC081BF1F309ADC325306" | |
}, | |
{ | |
"begin": 242, | |
"end": 340, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 242, | |
"end": 340, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 364, | |
"end": 373, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 409, | |
"end": 417, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 433, | |
"name": "PUSH", | |
"source": 2, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 409, | |
"end": 433, | |
"name": "AND", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 433, | |
"name": "PUSH", | |
"source": 2, | |
"value": "FEAF968C" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "FFFFFFFF" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "AND", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "E0" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "SHL", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "4" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "A0" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "SUB", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP7", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "GAS", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "STATICCALL", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "ISZERO", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "ISZERO", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "44" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "RETURNDATASIZE", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "RETURNDATACOPY", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "RETURNDATASIZE", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "tag", | |
"source": 2, | |
"value": "44" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "RETURNDATASIZE", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "1F" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "NOT", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "1F" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "AND", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "45" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "46" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "tag", | |
"source": 2, | |
"value": "45" | |
}, | |
{ | |
"begin": 409, | |
"end": 435, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 351, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 351, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 351, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 351, | |
"end": 435, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 351, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 351, | |
"end": 435, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 469, | |
"end": 473, | |
"name": "PUSH", | |
"source": 2, | |
"value": "2540BE400" | |
}, | |
{ | |
"begin": 461, | |
"end": 466, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 461, | |
"end": 473, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "47" | |
}, | |
{ | |
"begin": 461, | |
"end": 473, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 461, | |
"end": 473, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 461, | |
"end": 473, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "48" | |
}, | |
{ | |
"begin": 461, | |
"end": 473, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 461, | |
"end": 473, | |
"name": "tag", | |
"source": 2, | |
"value": "47" | |
}, | |
{ | |
"begin": 461, | |
"end": 473, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 446, | |
"end": 474, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 446, | |
"end": 474, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 446, | |
"end": 474, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 446, | |
"end": 474, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 185, | |
"end": 482, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 185, | |
"end": 482, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 88, | |
"end": 205, | |
"name": "tag", | |
"source": 3, | |
"value": "50" | |
}, | |
{ | |
"begin": 88, | |
"end": 205, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 197, | |
"end": 198, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 194, | |
"end": 195, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 187, | |
"end": 199, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 334, | |
"end": 460, | |
"name": "tag", | |
"source": 3, | |
"value": "52" | |
}, | |
{ | |
"begin": 334, | |
"end": 460, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 371, | |
"end": 378, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 411, | |
"end": 453, | |
"name": "PUSH", | |
"source": 3, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 404, | |
"end": 409, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 400, | |
"end": 454, | |
"name": "AND", | |
"source": 3 | |
}, | |
{ | |
"begin": 389, | |
"end": 454, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 389, | |
"end": 454, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 334, | |
"end": 460, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 334, | |
"end": 460, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 334, | |
"end": 460, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 334, | |
"end": 460, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 466, | |
"end": 562, | |
"name": "tag", | |
"source": 3, | |
"value": "53" | |
}, | |
{ | |
"begin": 466, | |
"end": 562, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 503, | |
"end": 510, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 532, | |
"end": 556, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "79" | |
}, | |
{ | |
"begin": 550, | |
"end": 555, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 532, | |
"end": 556, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "52" | |
}, | |
{ | |
"begin": 532, | |
"end": 556, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 532, | |
"end": 556, | |
"name": "tag", | |
"source": 3, | |
"value": "79" | |
}, | |
{ | |
"begin": 532, | |
"end": 556, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 521, | |
"end": 556, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 521, | |
"end": 556, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 466, | |
"end": 562, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 466, | |
"end": 562, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 466, | |
"end": 562, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 466, | |
"end": 562, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 568, | |
"end": 690, | |
"name": "tag", | |
"source": 3, | |
"value": "54" | |
}, | |
{ | |
"begin": 568, | |
"end": 690, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 641, | |
"end": 665, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "81" | |
}, | |
{ | |
"begin": 659, | |
"end": 664, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 641, | |
"end": 665, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "53" | |
}, | |
{ | |
"begin": 641, | |
"end": 665, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 641, | |
"end": 665, | |
"name": "tag", | |
"source": 3, | |
"value": "81" | |
}, | |
{ | |
"begin": 641, | |
"end": 665, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 634, | |
"end": 639, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 631, | |
"end": 666, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 621, | |
"end": 684, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "82" | |
}, | |
{ | |
"begin": 621, | |
"end": 684, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 680, | |
"end": 681, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 677, | |
"end": 678, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 670, | |
"end": 682, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 621, | |
"end": 684, | |
"name": "tag", | |
"source": 3, | |
"value": "82" | |
}, | |
{ | |
"begin": 621, | |
"end": 684, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 568, | |
"end": 690, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 568, | |
"end": 690, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 696, | |
"end": 835, | |
"name": "tag", | |
"source": 3, | |
"value": "55" | |
}, | |
{ | |
"begin": 696, | |
"end": 835, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 742, | |
"end": 747, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 780, | |
"end": 786, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 767, | |
"end": 787, | |
"name": "CALLDATALOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 758, | |
"end": 787, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 758, | |
"end": 787, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 796, | |
"end": 829, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "84" | |
}, | |
{ | |
"begin": 823, | |
"end": 828, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 796, | |
"end": 829, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "54" | |
}, | |
{ | |
"begin": 796, | |
"end": 829, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 796, | |
"end": 829, | |
"name": "tag", | |
"source": 3, | |
"value": "84" | |
}, | |
{ | |
"begin": 796, | |
"end": 829, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 696, | |
"end": 835, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 696, | |
"end": 835, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 696, | |
"end": 835, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 696, | |
"end": 835, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 696, | |
"end": 835, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 841, | |
"end": 1170, | |
"name": "tag", | |
"source": 3, | |
"value": "9" | |
}, | |
{ | |
"begin": 841, | |
"end": 1170, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 900, | |
"end": 906, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 949, | |
"end": 951, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 937, | |
"end": 946, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 928, | |
"end": 935, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 924, | |
"end": 947, | |
"name": "SUB", | |
"source": 3 | |
}, | |
{ | |
"begin": 920, | |
"end": 952, | |
"name": "SLT", | |
"source": 3 | |
}, | |
{ | |
"begin": 917, | |
"end": 1036, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 917, | |
"end": 1036, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "86" | |
}, | |
{ | |
"begin": 917, | |
"end": 1036, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 955, | |
"end": 1034, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "87" | |
}, | |
{ | |
"begin": 955, | |
"end": 1034, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "50" | |
}, | |
{ | |
"begin": 955, | |
"end": 1034, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 955, | |
"end": 1034, | |
"name": "tag", | |
"source": 3, | |
"value": "87" | |
}, | |
{ | |
"begin": 955, | |
"end": 1034, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 917, | |
"end": 1036, | |
"name": "tag", | |
"source": 3, | |
"value": "86" | |
}, | |
{ | |
"begin": 917, | |
"end": 1036, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1075, | |
"end": 1076, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 1100, | |
"end": 1153, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "88" | |
}, | |
{ | |
"begin": 1145, | |
"end": 1152, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 1136, | |
"end": 1142, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 1125, | |
"end": 1134, | |
"name": "DUP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 1121, | |
"end": 1143, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 1100, | |
"end": 1153, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "55" | |
}, | |
{ | |
"begin": 1100, | |
"end": 1153, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1100, | |
"end": 1153, | |
"name": "tag", | |
"source": 3, | |
"value": "88" | |
}, | |
{ | |
"begin": 1100, | |
"end": 1153, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1090, | |
"end": 1153, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1090, | |
"end": 1153, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1046, | |
"end": 1163, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 841, | |
"end": 1170, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 841, | |
"end": 1170, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 841, | |
"end": 1170, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 841, | |
"end": 1170, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 841, | |
"end": 1170, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1176, | |
"end": 1253, | |
"name": "tag", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 1176, | |
"end": 1253, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1213, | |
"end": 1220, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 1242, | |
"end": 1247, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1231, | |
"end": 1247, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 1231, | |
"end": 1247, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1176, | |
"end": 1253, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1176, | |
"end": 1253, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 1176, | |
"end": 1253, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1176, | |
"end": 1253, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1259, | |
"end": 1377, | |
"name": "tag", | |
"source": 3, | |
"value": "57" | |
}, | |
{ | |
"begin": 1259, | |
"end": 1377, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1346, | |
"end": 1370, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "91" | |
}, | |
{ | |
"begin": 1364, | |
"end": 1369, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1346, | |
"end": 1370, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 1346, | |
"end": 1370, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1346, | |
"end": 1370, | |
"name": "tag", | |
"source": 3, | |
"value": "91" | |
}, | |
{ | |
"begin": 1346, | |
"end": 1370, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1341, | |
"end": 1344, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 1334, | |
"end": 1371, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 1259, | |
"end": 1377, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1259, | |
"end": 1377, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1259, | |
"end": 1377, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1383, | |
"end": 1605, | |
"name": "tag", | |
"source": 3, | |
"value": "12" | |
}, | |
{ | |
"begin": 1383, | |
"end": 1605, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1476, | |
"end": 1480, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 1514, | |
"end": 1516, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 1503, | |
"end": 1512, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 1499, | |
"end": 1517, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 1491, | |
"end": 1517, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 1491, | |
"end": 1517, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1527, | |
"end": 1598, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "93" | |
}, | |
{ | |
"begin": 1595, | |
"end": 1596, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 1584, | |
"end": 1593, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 1580, | |
"end": 1597, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 1571, | |
"end": 1577, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 1527, | |
"end": 1598, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "57" | |
}, | |
{ | |
"begin": 1527, | |
"end": 1598, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1527, | |
"end": 1598, | |
"name": "tag", | |
"source": 3, | |
"value": "93" | |
}, | |
{ | |
"begin": 1527, | |
"end": 1598, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1383, | |
"end": 1605, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 1383, | |
"end": 1605, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1383, | |
"end": 1605, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1383, | |
"end": 1605, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1383, | |
"end": 1605, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1611, | |
"end": 1733, | |
"name": "tag", | |
"source": 3, | |
"value": "58" | |
}, | |
{ | |
"begin": 1611, | |
"end": 1733, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1684, | |
"end": 1708, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "95" | |
}, | |
{ | |
"begin": 1702, | |
"end": 1707, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1684, | |
"end": 1708, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 1684, | |
"end": 1708, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1684, | |
"end": 1708, | |
"name": "tag", | |
"source": 3, | |
"value": "95" | |
}, | |
{ | |
"begin": 1684, | |
"end": 1708, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1677, | |
"end": 1682, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1674, | |
"end": 1709, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 1664, | |
"end": 1727, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "96" | |
}, | |
{ | |
"begin": 1664, | |
"end": 1727, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 1723, | |
"end": 1724, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 1720, | |
"end": 1721, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 1713, | |
"end": 1725, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 1664, | |
"end": 1727, | |
"name": "tag", | |
"source": 3, | |
"value": "96" | |
}, | |
{ | |
"begin": 1664, | |
"end": 1727, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1611, | |
"end": 1733, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1611, | |
"end": 1733, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1739, | |
"end": 1878, | |
"name": "tag", | |
"source": 3, | |
"value": "59" | |
}, | |
{ | |
"begin": 1739, | |
"end": 1878, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1785, | |
"end": 1790, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 1823, | |
"end": 1829, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1810, | |
"end": 1830, | |
"name": "CALLDATALOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 1801, | |
"end": 1830, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 1801, | |
"end": 1830, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1839, | |
"end": 1872, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "98" | |
}, | |
{ | |
"begin": 1866, | |
"end": 1871, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1839, | |
"end": 1872, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "58" | |
}, | |
{ | |
"begin": 1839, | |
"end": 1872, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1839, | |
"end": 1872, | |
"name": "tag", | |
"source": 3, | |
"value": "98" | |
}, | |
{ | |
"begin": 1839, | |
"end": 1872, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1739, | |
"end": 1878, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 1739, | |
"end": 1878, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1739, | |
"end": 1878, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1739, | |
"end": 1878, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1739, | |
"end": 1878, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1884, | |
"end": 2213, | |
"name": "tag", | |
"source": 3, | |
"value": "18" | |
}, | |
{ | |
"begin": 1884, | |
"end": 2213, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1943, | |
"end": 1949, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 1992, | |
"end": 1994, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 1980, | |
"end": 1989, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 1971, | |
"end": 1978, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 1967, | |
"end": 1990, | |
"name": "SUB", | |
"source": 3 | |
}, | |
{ | |
"begin": 1963, | |
"end": 1995, | |
"name": "SLT", | |
"source": 3 | |
}, | |
{ | |
"begin": 1960, | |
"end": 2079, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 1960, | |
"end": 2079, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "100" | |
}, | |
{ | |
"begin": 1960, | |
"end": 2079, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 1998, | |
"end": 2077, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "101" | |
}, | |
{ | |
"begin": 1998, | |
"end": 2077, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "50" | |
}, | |
{ | |
"begin": 1998, | |
"end": 2077, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1998, | |
"end": 2077, | |
"name": "tag", | |
"source": 3, | |
"value": "101" | |
}, | |
{ | |
"begin": 1998, | |
"end": 2077, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 1960, | |
"end": 2079, | |
"name": "tag", | |
"source": 3, | |
"value": "100" | |
}, | |
{ | |
"begin": 1960, | |
"end": 2079, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 2118, | |
"end": 2119, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 2143, | |
"end": 2196, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "102" | |
}, | |
{ | |
"begin": 2188, | |
"end": 2195, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 2179, | |
"end": 2185, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2168, | |
"end": 2177, | |
"name": "DUP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 2164, | |
"end": 2186, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 2143, | |
"end": 2196, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "59" | |
}, | |
{ | |
"begin": 2143, | |
"end": 2196, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2143, | |
"end": 2196, | |
"name": "tag", | |
"source": 3, | |
"value": "102" | |
}, | |
{ | |
"begin": 2143, | |
"end": 2196, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 2133, | |
"end": 2196, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 2133, | |
"end": 2196, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2089, | |
"end": 2206, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1884, | |
"end": 2213, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 1884, | |
"end": 2213, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 1884, | |
"end": 2213, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1884, | |
"end": 2213, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 1884, | |
"end": 2213, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2219, | |
"end": 2337, | |
"name": "tag", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 2219, | |
"end": 2337, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 2306, | |
"end": 2330, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "104" | |
}, | |
{ | |
"begin": 2324, | |
"end": 2329, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 2306, | |
"end": 2330, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "53" | |
}, | |
{ | |
"begin": 2306, | |
"end": 2330, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2306, | |
"end": 2330, | |
"name": "tag", | |
"source": 3, | |
"value": "104" | |
}, | |
{ | |
"begin": 2306, | |
"end": 2330, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 2301, | |
"end": 2304, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2294, | |
"end": 2331, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 2219, | |
"end": 2337, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2219, | |
"end": 2337, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2219, | |
"end": 2337, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2343, | |
"end": 2565, | |
"name": "tag", | |
"source": 3, | |
"value": "21" | |
}, | |
{ | |
"begin": 2343, | |
"end": 2565, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 2436, | |
"end": 2440, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 2474, | |
"end": 2476, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 2463, | |
"end": 2472, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2459, | |
"end": 2477, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 2451, | |
"end": 2477, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 2451, | |
"end": 2477, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2487, | |
"end": 2558, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "106" | |
}, | |
{ | |
"begin": 2555, | |
"end": 2556, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 2544, | |
"end": 2553, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 2540, | |
"end": 2557, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 2531, | |
"end": 2537, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 2487, | |
"end": 2558, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 2487, | |
"end": 2558, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2487, | |
"end": 2558, | |
"name": "tag", | |
"source": 3, | |
"value": "106" | |
}, | |
{ | |
"begin": 2487, | |
"end": 2558, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 2343, | |
"end": 2565, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2343, | |
"end": 2565, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 2343, | |
"end": 2565, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2343, | |
"end": 2565, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2343, | |
"end": 2565, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2571, | |
"end": 2740, | |
"name": "tag", | |
"source": 3, | |
"value": "61" | |
}, | |
{ | |
"begin": 2571, | |
"end": 2740, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 2655, | |
"end": 2666, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 2689, | |
"end": 2695, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2684, | |
"end": 2687, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2677, | |
"end": 2696, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 2729, | |
"end": 2733, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 2724, | |
"end": 2727, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2720, | |
"end": 2734, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 2705, | |
"end": 2734, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 2705, | |
"end": 2734, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2571, | |
"end": 2740, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2571, | |
"end": 2740, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 2571, | |
"end": 2740, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2571, | |
"end": 2740, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2571, | |
"end": 2740, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2746, | |
"end": 2915, | |
"name": "tag", | |
"source": 3, | |
"value": "62" | |
}, | |
{ | |
"begin": 2746, | |
"end": 2915, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 2886, | |
"end": 2907, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4469646E27742073656E6420656E6F7567682100000000000000000000000000" | |
}, | |
{ | |
"begin": 2882, | |
"end": 2883, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 2874, | |
"end": 2880, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 2870, | |
"end": 2884, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 2863, | |
"end": 2908, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 2746, | |
"end": 2915, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2746, | |
"end": 2915, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2921, | |
"end": 3287, | |
"name": "tag", | |
"source": 3, | |
"value": "63" | |
}, | |
{ | |
"begin": 2921, | |
"end": 3287, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3063, | |
"end": 3066, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 3084, | |
"end": 3151, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "110" | |
}, | |
{ | |
"begin": 3148, | |
"end": 3150, | |
"name": "PUSH", | |
"source": 3, | |
"value": "13" | |
}, | |
{ | |
"begin": 3143, | |
"end": 3146, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 3084, | |
"end": 3151, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "61" | |
}, | |
{ | |
"begin": 3084, | |
"end": 3151, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3084, | |
"end": 3151, | |
"name": "tag", | |
"source": 3, | |
"value": "110" | |
}, | |
{ | |
"begin": 3084, | |
"end": 3151, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3077, | |
"end": 3151, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 3077, | |
"end": 3151, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3160, | |
"end": 3253, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "111" | |
}, | |
{ | |
"begin": 3249, | |
"end": 3252, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 3160, | |
"end": 3253, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "62" | |
}, | |
{ | |
"begin": 3160, | |
"end": 3253, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3160, | |
"end": 3253, | |
"name": "tag", | |
"source": 3, | |
"value": "111" | |
}, | |
{ | |
"begin": 3160, | |
"end": 3253, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3278, | |
"end": 3280, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 3273, | |
"end": 3276, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 3269, | |
"end": 3281, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 3262, | |
"end": 3281, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 3262, | |
"end": 3281, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2921, | |
"end": 3287, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 2921, | |
"end": 3287, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 2921, | |
"end": 3287, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 2921, | |
"end": 3287, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3293, | |
"end": 3712, | |
"name": "tag", | |
"source": 3, | |
"value": "31" | |
}, | |
{ | |
"begin": 3293, | |
"end": 3712, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3459, | |
"end": 3463, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 3497, | |
"end": 3499, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 3486, | |
"end": 3495, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 3482, | |
"end": 3500, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 3474, | |
"end": 3500, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 3474, | |
"end": 3500, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3546, | |
"end": 3555, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 3540, | |
"end": 3544, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 3536, | |
"end": 3556, | |
"name": "SUB", | |
"source": 3 | |
}, | |
{ | |
"begin": 3532, | |
"end": 3533, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 3521, | |
"end": 3530, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 3517, | |
"end": 3534, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 3510, | |
"end": 3557, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 3574, | |
"end": 3705, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "113" | |
}, | |
{ | |
"begin": 3700, | |
"end": 3704, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 3574, | |
"end": 3705, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "63" | |
}, | |
{ | |
"begin": 3574, | |
"end": 3705, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3574, | |
"end": 3705, | |
"name": "tag", | |
"source": 3, | |
"value": "113" | |
}, | |
{ | |
"begin": 3574, | |
"end": 3705, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3566, | |
"end": 3705, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 3566, | |
"end": 3705, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3293, | |
"end": 3712, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 3293, | |
"end": 3712, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 3293, | |
"end": 3712, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3293, | |
"end": 3712, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3718, | |
"end": 3898, | |
"name": "tag", | |
"source": 3, | |
"value": "64" | |
}, | |
{ | |
"begin": 3718, | |
"end": 3898, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3766, | |
"end": 3843, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 3763, | |
"end": 3764, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 3756, | |
"end": 3844, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 3863, | |
"end": 3867, | |
"name": "PUSH", | |
"source": 3, | |
"value": "11" | |
}, | |
{ | |
"begin": 3860, | |
"end": 3861, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4" | |
}, | |
{ | |
"begin": 3853, | |
"end": 3868, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 3887, | |
"end": 3891, | |
"name": "PUSH", | |
"source": 3, | |
"value": "24" | |
}, | |
{ | |
"begin": 3884, | |
"end": 3885, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 3877, | |
"end": 3892, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 3904, | |
"end": 4314, | |
"name": "tag", | |
"source": 3, | |
"value": "39" | |
}, | |
{ | |
"begin": 3904, | |
"end": 4314, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3944, | |
"end": 3951, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 3967, | |
"end": 3987, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "116" | |
}, | |
{ | |
"begin": 3985, | |
"end": 3986, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 3967, | |
"end": 3987, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 3967, | |
"end": 3987, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3967, | |
"end": 3987, | |
"name": "tag", | |
"source": 3, | |
"value": "116" | |
}, | |
{ | |
"begin": 3967, | |
"end": 3987, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3962, | |
"end": 3987, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 3962, | |
"end": 3987, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4001, | |
"end": 4021, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "117" | |
}, | |
{ | |
"begin": 4019, | |
"end": 4020, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 4001, | |
"end": 4021, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 4001, | |
"end": 4021, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4001, | |
"end": 4021, | |
"name": "tag", | |
"source": 3, | |
"value": "117" | |
}, | |
{ | |
"begin": 4001, | |
"end": 4021, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3996, | |
"end": 4021, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 3996, | |
"end": 4021, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4056, | |
"end": 4057, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4053, | |
"end": 4054, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4049, | |
"end": 4058, | |
"name": "MUL", | |
"source": 3 | |
}, | |
{ | |
"begin": 4078, | |
"end": 4108, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "118" | |
}, | |
{ | |
"begin": 4096, | |
"end": 4107, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 4078, | |
"end": 4108, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 4078, | |
"end": 4108, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4078, | |
"end": 4108, | |
"name": "tag", | |
"source": 3, | |
"value": "118" | |
}, | |
{ | |
"begin": 4078, | |
"end": 4108, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4067, | |
"end": 4108, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 4067, | |
"end": 4108, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4257, | |
"end": 4258, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4248, | |
"end": 4255, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4244, | |
"end": 4259, | |
"name": "DIV", | |
"source": 3 | |
}, | |
{ | |
"begin": 4241, | |
"end": 4242, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 4238, | |
"end": 4260, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 4218, | |
"end": 4219, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 4211, | |
"end": 4220, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 4191, | |
"end": 4274, | |
"name": "OR", | |
"source": 3 | |
}, | |
{ | |
"begin": 4168, | |
"end": 4307, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "119" | |
}, | |
{ | |
"begin": 4168, | |
"end": 4307, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 4287, | |
"end": 4305, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "120" | |
}, | |
{ | |
"begin": 4287, | |
"end": 4305, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "64" | |
}, | |
{ | |
"begin": 4287, | |
"end": 4305, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4287, | |
"end": 4305, | |
"name": "tag", | |
"source": 3, | |
"value": "120" | |
}, | |
{ | |
"begin": 4287, | |
"end": 4305, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4168, | |
"end": 4307, | |
"name": "tag", | |
"source": 3, | |
"value": "119" | |
}, | |
{ | |
"begin": 4168, | |
"end": 4307, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 3952, | |
"end": 4314, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3904, | |
"end": 4314, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 3904, | |
"end": 4314, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 3904, | |
"end": 4314, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3904, | |
"end": 4314, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 3904, | |
"end": 4314, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4320, | |
"end": 4500, | |
"name": "tag", | |
"source": 3, | |
"value": "65" | |
}, | |
{ | |
"begin": 4320, | |
"end": 4500, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4368, | |
"end": 4445, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 4365, | |
"end": 4366, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 4358, | |
"end": 4446, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 4465, | |
"end": 4469, | |
"name": "PUSH", | |
"source": 3, | |
"value": "12" | |
}, | |
{ | |
"begin": 4462, | |
"end": 4463, | |
"name": "PUSH", | |
"source": 3, | |
"value": "4" | |
}, | |
{ | |
"begin": 4455, | |
"end": 4470, | |
"name": "MSTORE", | |
"source": 3 | |
}, | |
{ | |
"begin": 4489, | |
"end": 4493, | |
"name": "PUSH", | |
"source": 3, | |
"value": "24" | |
}, | |
{ | |
"begin": 4486, | |
"end": 4487, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 4479, | |
"end": 4494, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 4506, | |
"end": 4691, | |
"name": "tag", | |
"source": 3, | |
"value": "41" | |
}, | |
{ | |
"begin": 4506, | |
"end": 4691, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4546, | |
"end": 4547, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 4563, | |
"end": 4583, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "123" | |
}, | |
{ | |
"begin": 4581, | |
"end": 4582, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4563, | |
"end": 4583, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 4563, | |
"end": 4583, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4563, | |
"end": 4583, | |
"name": "tag", | |
"source": 3, | |
"value": "123" | |
}, | |
{ | |
"begin": 4563, | |
"end": 4583, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4558, | |
"end": 4583, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 4558, | |
"end": 4583, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4597, | |
"end": 4617, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "124" | |
}, | |
{ | |
"begin": 4615, | |
"end": 4616, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 4597, | |
"end": 4617, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "56" | |
}, | |
{ | |
"begin": 4597, | |
"end": 4617, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4597, | |
"end": 4617, | |
"name": "tag", | |
"source": 3, | |
"value": "124" | |
}, | |
{ | |
"begin": 4597, | |
"end": 4617, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4592, | |
"end": 4617, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4592, | |
"end": 4617, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4636, | |
"end": 4637, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4626, | |
"end": 4661, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "125" | |
}, | |
{ | |
"begin": 4626, | |
"end": 4661, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 4641, | |
"end": 4659, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "126" | |
}, | |
{ | |
"begin": 4641, | |
"end": 4659, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "65" | |
}, | |
{ | |
"begin": 4641, | |
"end": 4659, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4641, | |
"end": 4659, | |
"name": "tag", | |
"source": 3, | |
"value": "126" | |
}, | |
{ | |
"begin": 4641, | |
"end": 4659, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4626, | |
"end": 4661, | |
"name": "tag", | |
"source": 3, | |
"value": "125" | |
}, | |
{ | |
"begin": 4626, | |
"end": 4661, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4683, | |
"end": 4684, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4680, | |
"end": 4681, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4676, | |
"end": 4685, | |
"name": "DIV", | |
"source": 3 | |
}, | |
{ | |
"begin": 4671, | |
"end": 4685, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 4671, | |
"end": 4685, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4506, | |
"end": 4691, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4506, | |
"end": 4691, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 4506, | |
"end": 4691, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4506, | |
"end": 4691, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4506, | |
"end": 4691, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4697, | |
"end": 4802, | |
"name": "tag", | |
"source": 3, | |
"value": "66" | |
}, | |
{ | |
"begin": 4697, | |
"end": 4802, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4733, | |
"end": 4740, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 4773, | |
"end": 4795, | |
"name": "PUSH", | |
"source": 3, | |
"value": "FFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 4766, | |
"end": 4771, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4762, | |
"end": 4796, | |
"name": "AND", | |
"source": 3 | |
}, | |
{ | |
"begin": 4751, | |
"end": 4796, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 4751, | |
"end": 4796, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4697, | |
"end": 4802, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 4697, | |
"end": 4802, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 4697, | |
"end": 4802, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4697, | |
"end": 4802, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4808, | |
"end": 4928, | |
"name": "tag", | |
"source": 3, | |
"value": "67" | |
}, | |
{ | |
"begin": 4808, | |
"end": 4928, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4880, | |
"end": 4903, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "129" | |
}, | |
{ | |
"begin": 4897, | |
"end": 4902, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 4880, | |
"end": 4903, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "66" | |
}, | |
{ | |
"begin": 4880, | |
"end": 4903, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4880, | |
"end": 4903, | |
"name": "tag", | |
"source": 3, | |
"value": "129" | |
}, | |
{ | |
"begin": 4880, | |
"end": 4903, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4873, | |
"end": 4878, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 4870, | |
"end": 4904, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 4860, | |
"end": 4922, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "130" | |
}, | |
{ | |
"begin": 4860, | |
"end": 4922, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 4918, | |
"end": 4919, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 4915, | |
"end": 4916, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 4908, | |
"end": 4920, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 4860, | |
"end": 4922, | |
"name": "tag", | |
"source": 3, | |
"value": "130" | |
}, | |
{ | |
"begin": 4860, | |
"end": 4922, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4808, | |
"end": 4928, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4808, | |
"end": 4928, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4934, | |
"end": 5075, | |
"name": "tag", | |
"source": 3, | |
"value": "68" | |
}, | |
{ | |
"begin": 4934, | |
"end": 5075, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4990, | |
"end": 4995, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5021, | |
"end": 5027, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5015, | |
"end": 5028, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5006, | |
"end": 5028, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5006, | |
"end": 5028, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5037, | |
"end": 5069, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "132" | |
}, | |
{ | |
"begin": 5063, | |
"end": 5068, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5037, | |
"end": 5069, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "67" | |
}, | |
{ | |
"begin": 5037, | |
"end": 5069, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5037, | |
"end": 5069, | |
"name": "tag", | |
"source": 3, | |
"value": "132" | |
}, | |
{ | |
"begin": 5037, | |
"end": 5069, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 4934, | |
"end": 5075, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 4934, | |
"end": 5075, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 4934, | |
"end": 5075, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4934, | |
"end": 5075, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 4934, | |
"end": 5075, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5081, | |
"end": 5157, | |
"name": "tag", | |
"source": 3, | |
"value": "69" | |
}, | |
{ | |
"begin": 5081, | |
"end": 5157, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5117, | |
"end": 5124, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5146, | |
"end": 5151, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5135, | |
"end": 5151, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5135, | |
"end": 5151, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5081, | |
"end": 5157, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5081, | |
"end": 5157, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5081, | |
"end": 5157, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5081, | |
"end": 5157, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5163, | |
"end": 5283, | |
"name": "tag", | |
"source": 3, | |
"value": "70" | |
}, | |
{ | |
"begin": 5163, | |
"end": 5283, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5235, | |
"end": 5258, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "135" | |
}, | |
{ | |
"begin": 5252, | |
"end": 5257, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5235, | |
"end": 5258, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "69" | |
}, | |
{ | |
"begin": 5235, | |
"end": 5258, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5235, | |
"end": 5258, | |
"name": "tag", | |
"source": 3, | |
"value": "135" | |
}, | |
{ | |
"begin": 5235, | |
"end": 5258, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5228, | |
"end": 5233, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5225, | |
"end": 5259, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 5215, | |
"end": 5277, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "136" | |
}, | |
{ | |
"begin": 5215, | |
"end": 5277, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 5273, | |
"end": 5274, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5270, | |
"end": 5271, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5263, | |
"end": 5275, | |
"name": "REVERT", | |
"source": 3 | |
}, | |
{ | |
"begin": 5215, | |
"end": 5277, | |
"name": "tag", | |
"source": 3, | |
"value": "136" | |
}, | |
{ | |
"begin": 5215, | |
"end": 5277, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5163, | |
"end": 5283, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5163, | |
"end": 5283, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5289, | |
"end": 5430, | |
"name": "tag", | |
"source": 3, | |
"value": "71" | |
}, | |
{ | |
"begin": 5289, | |
"end": 5430, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5345, | |
"end": 5350, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5376, | |
"end": 5382, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5370, | |
"end": 5383, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5361, | |
"end": 5383, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5361, | |
"end": 5383, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5392, | |
"end": 5424, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "138" | |
}, | |
{ | |
"begin": 5418, | |
"end": 5423, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5392, | |
"end": 5424, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "70" | |
}, | |
{ | |
"begin": 5392, | |
"end": 5424, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5392, | |
"end": 5424, | |
"name": "tag", | |
"source": 3, | |
"value": "138" | |
}, | |
{ | |
"begin": 5392, | |
"end": 5424, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5289, | |
"end": 5430, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5289, | |
"end": 5430, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5289, | |
"end": 5430, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5289, | |
"end": 5430, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5289, | |
"end": 5430, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5436, | |
"end": 5579, | |
"name": "tag", | |
"source": 3, | |
"value": "72" | |
}, | |
{ | |
"begin": 5436, | |
"end": 5579, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5493, | |
"end": 5498, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5524, | |
"end": 5530, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5518, | |
"end": 5531, | |
"name": "MLOAD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5509, | |
"end": 5531, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5509, | |
"end": 5531, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5540, | |
"end": 5573, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "140" | |
}, | |
{ | |
"begin": 5567, | |
"end": 5572, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5540, | |
"end": 5573, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "58" | |
}, | |
{ | |
"begin": 5540, | |
"end": 5573, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5540, | |
"end": 5573, | |
"name": "tag", | |
"source": 3, | |
"value": "140" | |
}, | |
{ | |
"begin": 5540, | |
"end": 5573, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5436, | |
"end": 5579, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5436, | |
"end": 5579, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 5436, | |
"end": 5579, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5436, | |
"end": 5579, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5436, | |
"end": 5579, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "tag", | |
"source": 3, | |
"value": "46" | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5688, | |
"end": 5694, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5696, | |
"end": 5702, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5704, | |
"end": 5710, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5712, | |
"end": 5718, | |
"name": "DUP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5720, | |
"end": 5726, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5769, | |
"end": 5772, | |
"name": "PUSH", | |
"source": 3, | |
"value": "A0" | |
}, | |
{ | |
"begin": 5757, | |
"end": 5766, | |
"name": "DUP7", | |
"source": 3 | |
}, | |
{ | |
"begin": 5748, | |
"end": 5755, | |
"name": "DUP9", | |
"source": 3 | |
}, | |
{ | |
"begin": 5744, | |
"end": 5767, | |
"name": "SUB", | |
"source": 3 | |
}, | |
{ | |
"begin": 5740, | |
"end": 5773, | |
"name": "SLT", | |
"source": 3 | |
}, | |
{ | |
"begin": 5737, | |
"end": 5857, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 5737, | |
"end": 5857, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "142" | |
}, | |
{ | |
"begin": 5737, | |
"end": 5857, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 5776, | |
"end": 5855, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "143" | |
}, | |
{ | |
"begin": 5776, | |
"end": 5855, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "50" | |
}, | |
{ | |
"begin": 5776, | |
"end": 5855, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5776, | |
"end": 5855, | |
"name": "tag", | |
"source": 3, | |
"value": "143" | |
}, | |
{ | |
"begin": 5776, | |
"end": 5855, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5737, | |
"end": 5857, | |
"name": "tag", | |
"source": 3, | |
"value": "142" | |
}, | |
{ | |
"begin": 5737, | |
"end": 5857, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5896, | |
"end": 5897, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 5921, | |
"end": 5984, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "144" | |
}, | |
{ | |
"begin": 5976, | |
"end": 5983, | |
"name": "DUP9", | |
"source": 3 | |
}, | |
{ | |
"begin": 5967, | |
"end": 5973, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5956, | |
"end": 5965, | |
"name": "DUP10", | |
"source": 3 | |
}, | |
{ | |
"begin": 5952, | |
"end": 5974, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 5921, | |
"end": 5984, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "68" | |
}, | |
{ | |
"begin": 5921, | |
"end": 5984, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5921, | |
"end": 5984, | |
"name": "tag", | |
"source": 3, | |
"value": "144" | |
}, | |
{ | |
"begin": 5921, | |
"end": 5984, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 5911, | |
"end": 5984, | |
"name": "SWAP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 5911, | |
"end": 5984, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5867, | |
"end": 5994, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6033, | |
"end": 6035, | |
"name": "PUSH", | |
"source": 3, | |
"value": "20" | |
}, | |
{ | |
"begin": 6059, | |
"end": 6122, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "145" | |
}, | |
{ | |
"begin": 6114, | |
"end": 6121, | |
"name": "DUP9", | |
"source": 3 | |
}, | |
{ | |
"begin": 6105, | |
"end": 6111, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6094, | |
"end": 6103, | |
"name": "DUP10", | |
"source": 3 | |
}, | |
{ | |
"begin": 6090, | |
"end": 6112, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 6059, | |
"end": 6122, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "71" | |
}, | |
{ | |
"begin": 6059, | |
"end": 6122, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6059, | |
"end": 6122, | |
"name": "tag", | |
"source": 3, | |
"value": "145" | |
}, | |
{ | |
"begin": 6059, | |
"end": 6122, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6049, | |
"end": 6122, | |
"name": "SWAP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 6049, | |
"end": 6122, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6004, | |
"end": 6132, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6171, | |
"end": 6173, | |
"name": "PUSH", | |
"source": 3, | |
"value": "40" | |
}, | |
{ | |
"begin": 6197, | |
"end": 6261, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "146" | |
}, | |
{ | |
"begin": 6253, | |
"end": 6260, | |
"name": "DUP9", | |
"source": 3 | |
}, | |
{ | |
"begin": 6244, | |
"end": 6250, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6233, | |
"end": 6242, | |
"name": "DUP10", | |
"source": 3 | |
}, | |
{ | |
"begin": 6229, | |
"end": 6251, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 6197, | |
"end": 6261, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "72" | |
}, | |
{ | |
"begin": 6197, | |
"end": 6261, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6197, | |
"end": 6261, | |
"name": "tag", | |
"source": 3, | |
"value": "146" | |
}, | |
{ | |
"begin": 6197, | |
"end": 6261, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6187, | |
"end": 6261, | |
"name": "SWAP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 6187, | |
"end": 6261, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6142, | |
"end": 6271, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6310, | |
"end": 6312, | |
"name": "PUSH", | |
"source": 3, | |
"value": "60" | |
}, | |
{ | |
"begin": 6336, | |
"end": 6400, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "147" | |
}, | |
{ | |
"begin": 6392, | |
"end": 6399, | |
"name": "DUP9", | |
"source": 3 | |
}, | |
{ | |
"begin": 6383, | |
"end": 6389, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6372, | |
"end": 6381, | |
"name": "DUP10", | |
"source": 3 | |
}, | |
{ | |
"begin": 6368, | |
"end": 6390, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 6336, | |
"end": 6400, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "72" | |
}, | |
{ | |
"begin": 6336, | |
"end": 6400, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6336, | |
"end": 6400, | |
"name": "tag", | |
"source": 3, | |
"value": "147" | |
}, | |
{ | |
"begin": 6336, | |
"end": 6400, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6326, | |
"end": 6400, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6326, | |
"end": 6400, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6281, | |
"end": 6410, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6449, | |
"end": 6452, | |
"name": "PUSH", | |
"source": 3, | |
"value": "80" | |
}, | |
{ | |
"begin": 6476, | |
"end": 6539, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "148" | |
}, | |
{ | |
"begin": 6531, | |
"end": 6538, | |
"name": "DUP9", | |
"source": 3 | |
}, | |
{ | |
"begin": 6522, | |
"end": 6528, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6511, | |
"end": 6520, | |
"name": "DUP10", | |
"source": 3 | |
}, | |
{ | |
"begin": 6507, | |
"end": 6529, | |
"name": "ADD", | |
"source": 3 | |
}, | |
{ | |
"begin": 6476, | |
"end": 6539, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "68" | |
}, | |
{ | |
"begin": 6476, | |
"end": 6539, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6476, | |
"end": 6539, | |
"name": "tag", | |
"source": 3, | |
"value": "148" | |
}, | |
{ | |
"begin": 6476, | |
"end": 6539, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6466, | |
"end": 6539, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 6466, | |
"end": 6539, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6420, | |
"end": 6549, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "SWAP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "SWAP6", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "SWAP1", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "SWAP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 5585, | |
"end": 6556, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6562, | |
"end": 7118, | |
"name": "tag", | |
"source": 3, | |
"value": "48" | |
}, | |
{ | |
"begin": 6562, | |
"end": 7118, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6601, | |
"end": 6608, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 6624, | |
"end": 6643, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "150" | |
}, | |
{ | |
"begin": 6641, | |
"end": 6642, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6624, | |
"end": 6643, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "69" | |
}, | |
{ | |
"begin": 6624, | |
"end": 6643, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6624, | |
"end": 6643, | |
"name": "tag", | |
"source": 3, | |
"value": "150" | |
}, | |
{ | |
"begin": 6624, | |
"end": 6643, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6619, | |
"end": 6643, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 6619, | |
"end": 6643, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6657, | |
"end": 6676, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "151" | |
}, | |
{ | |
"begin": 6674, | |
"end": 6675, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 6657, | |
"end": 6676, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "69" | |
}, | |
{ | |
"begin": 6657, | |
"end": 6676, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6657, | |
"end": 6676, | |
"name": "tag", | |
"source": 3, | |
"value": "151" | |
}, | |
{ | |
"begin": 6657, | |
"end": 6676, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6652, | |
"end": 6676, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6652, | |
"end": 6676, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6711, | |
"end": 6712, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6708, | |
"end": 6709, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6704, | |
"end": 6713, | |
"name": "MUL", | |
"source": 3 | |
}, | |
{ | |
"begin": 6733, | |
"end": 6762, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "152" | |
}, | |
{ | |
"begin": 6750, | |
"end": 6761, | |
"name": "DUP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 6733, | |
"end": 6762, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "69" | |
}, | |
{ | |
"begin": 6733, | |
"end": 6762, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6733, | |
"end": 6762, | |
"name": "tag", | |
"source": 3, | |
"value": "152" | |
}, | |
{ | |
"begin": 6733, | |
"end": 6762, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6722, | |
"end": 6762, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 6722, | |
"end": 6762, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6820, | |
"end": 6886, | |
"name": "PUSH", | |
"source": 3, | |
"value": "8000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 6817, | |
"end": 6818, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 6814, | |
"end": 6887, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 6810, | |
"end": 6811, | |
"name": "PUSH", | |
"source": 3, | |
"value": "0" | |
}, | |
{ | |
"begin": 6807, | |
"end": 6808, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 6803, | |
"end": 6812, | |
"name": "SLT", | |
"source": 3 | |
}, | |
{ | |
"begin": 6799, | |
"end": 6888, | |
"name": "AND", | |
"source": 3 | |
}, | |
{ | |
"begin": 6796, | |
"end": 6911, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 6796, | |
"end": 6911, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "153" | |
}, | |
{ | |
"begin": 6796, | |
"end": 6911, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 6891, | |
"end": 6909, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "154" | |
}, | |
{ | |
"begin": 6891, | |
"end": 6909, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "64" | |
}, | |
{ | |
"begin": 6891, | |
"end": 6909, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6891, | |
"end": 6909, | |
"name": "tag", | |
"source": 3, | |
"value": "154" | |
}, | |
{ | |
"begin": 6891, | |
"end": 6909, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6796, | |
"end": 6911, | |
"name": "tag", | |
"source": 3, | |
"value": "153" | |
}, | |
{ | |
"begin": 6796, | |
"end": 6911, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 7061, | |
"end": 7062, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 7052, | |
"end": 7059, | |
"name": "DUP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 7047, | |
"end": 7063, | |
"name": "SDIV", | |
"source": 3 | |
}, | |
{ | |
"begin": 7044, | |
"end": 7045, | |
"name": "DUP5", | |
"source": 3 | |
}, | |
{ | |
"begin": 7041, | |
"end": 7064, | |
"name": "EQ", | |
"source": 3 | |
}, | |
{ | |
"begin": 7021, | |
"end": 7022, | |
"name": "DUP4", | |
"source": 3 | |
}, | |
{ | |
"begin": 7014, | |
"end": 7023, | |
"name": "ISZERO", | |
"source": 3 | |
}, | |
{ | |
"begin": 6994, | |
"end": 7078, | |
"name": "OR", | |
"source": 3 | |
}, | |
{ | |
"begin": 6971, | |
"end": 7111, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "155" | |
}, | |
{ | |
"begin": 6971, | |
"end": 7111, | |
"name": "JUMPI", | |
"source": 3 | |
}, | |
{ | |
"begin": 7091, | |
"end": 7109, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "156" | |
}, | |
{ | |
"begin": 7091, | |
"end": 7109, | |
"name": "PUSH [tag]", | |
"source": 3, | |
"value": "64" | |
}, | |
{ | |
"begin": 7091, | |
"end": 7109, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 3 | |
}, | |
{ | |
"begin": 7091, | |
"end": 7109, | |
"name": "tag", | |
"source": 3, | |
"value": "156" | |
}, | |
{ | |
"begin": 7091, | |
"end": 7109, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6971, | |
"end": 7111, | |
"name": "tag", | |
"source": 3, | |
"value": "155" | |
}, | |
{ | |
"begin": 6971, | |
"end": 7111, | |
"name": "JUMPDEST", | |
"source": 3 | |
}, | |
{ | |
"begin": 6609, | |
"end": 7118, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6562, | |
"end": 7118, | |
"name": "SWAP3", | |
"source": 3 | |
}, | |
{ | |
"begin": 6562, | |
"end": 7118, | |
"name": "SWAP2", | |
"source": 3 | |
}, | |
{ | |
"begin": 6562, | |
"end": 7118, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6562, | |
"end": 7118, | |
"name": "POP", | |
"source": 3 | |
}, | |
{ | |
"begin": 6562, | |
"end": 7118, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 3 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"contracts/FundMe.sol", | |
"contracts/PriceConverter.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"addressToAmountFunded(address)": "3e47d6f3", | |
"fund()": "b60d4288", | |
"funders(uint256)": "dc0d3dff", | |
"minUSD()": "dc992aa0" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addressToAmountFunded\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fund\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"funders\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minUSD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/FundMe.sol\":\"FundMe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]},\"contracts/FundMe.sol\":{\"keccak256\":\"0x73ee703e0816645e1999fc75d00d5d2c9f421cf8fe92863eca56959d64db9850\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ff6a14a44eeeb5bba218ac2cc2b9634169868b5909084c6c9b28455c386e8aa\",\"dweb:/ipfs/QmWVZaoSKqedkPSSY7p3Stz47TjaamCyQegwJnaTivJ2MK\"]},\"contracts/PriceConverter.sol\":{\"keccak256\":\"0xf54d2263c7f054f4f7a1e80356ff163499f3a30ea32a8f36744c17571e570d87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8def90f0065d4da0a17f82cc957c8325edf870f5bfa8af9fbd341e8cbb5fefe5\",\"dweb:/ipfs/QmV782ja45EvDK1aCzf1k3tu9CKFeBsjAPmnYq237JZpSh\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 56, | |
"contract": "contracts/FundMe.sol:FundMe", | |
"label": "minUSD", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_uint256" | |
}, | |
{ | |
"astId": 59, | |
"contract": "contracts/FundMe.sol:FundMe", | |
"label": "funders", | |
"offset": 0, | |
"slot": "1", | |
"type": "t_array(t_address)dyn_storage" | |
}, | |
{ | |
"astId": 63, | |
"contract": "contracts/FundMe.sol:FundMe", | |
"label": "addressToAmountFunded", | |
"offset": 0, | |
"slot": "2", | |
"type": "t_mapping(t_address,t_uint256)" | |
} | |
], | |
"types": { | |
"t_address": { | |
"encoding": "inplace", | |
"label": "address", | |
"numberOfBytes": "20" | |
}, | |
"t_array(t_address)dyn_storage": { | |
"base": "t_address", | |
"encoding": "dynamic_array", | |
"label": "address[]", | |
"numberOfBytes": "32" | |
}, | |
"t_mapping(t_address,t_uint256)": { | |
"encoding": "mapping", | |
"key": "t_address", | |
"label": "mapping(address => uint256)", | |
"numberOfBytes": "32", | |
"value": "t_uint256" | |
}, | |
"t_uint256": { | |
"encoding": "inplace", | |
"label": "uint256", | |
"numberOfBytes": "32" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"contracts/PriceConverter.sol": { | |
"PriceConverter": { | |
"abi": [], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"contracts/PriceConverter.sol\":140:719 library PriceConverter{... */\n dataSize(sub_0)\n dataOffset(sub_0)\n 0x0b\n dup3\n dup3\n dup3\n codecopy\n dup1\n mload\n 0x00\n byte\n 0x73\n eq\n tag_1\n jumpi\n mstore(0x00, 0x4e487b7100000000000000000000000000000000000000000000000000000000)\n mstore(0x04, 0x00)\n revert(0x00, 0x24)\ntag_1:\n mstore(0x00, address)\n 0x73\n dup2\n mstore8\n dup3\n dup2\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/PriceConverter.sol\":140:719 library PriceConverter{... */\n eq(address, deployTimeAddress())\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033\n}\n", | |
"bytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xBD 0xC3 XOR SWAP14 SWAP9 SWAP8 0x5D 0xC5 CALLDATALOAD 0xDF 0x4A PUSH12 0x7E965B3E6A78CB58F353E34D 0xF9 CALL 0xD8 PUSH22 0x10D8F664736F6C634300081200330000000000000000 ", | |
"sourceMap": "140:579:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xBD 0xC3 XOR SWAP14 SWAP9 SWAP8 0x5D 0xC5 CALLDATALOAD 0xDF 0x4A PUSH12 0x7E965B3E6A78CB58F353E34D 0xF9 CALL 0xD8 PUSH22 0x10D8F664736F6C634300081200330000000000000000 ", | |
"sourceMap": "140:579:2:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
}, | |
"internal": { | |
"getConversionRate(uint256)": "infinite", | |
"getPrice()": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH #[$]", | |
"source": 2, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH [$]", | |
"source": 2, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "B" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "CODECOPY", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "BYTE", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "73" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "EQ", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "1" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "4E487B7100000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "4" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "24" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "tag", | |
"source": 2, | |
"value": "1" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "ADDRESS", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "73" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE8", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "RETURN", | |
"source": 2 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033", | |
".code": [ | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSHDEPLOYADDRESS", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "ADDRESS", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "EQ", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "80" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 140, | |
"end": 719, | |
"name": "REVERT", | |
"source": 2 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"contracts/FundMe.sol", | |
"contracts/PriceConverter.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": {} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/PriceConverter.sol\":\"PriceConverter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]},\"contracts/PriceConverter.sol\":{\"keccak256\":\"0xf54d2263c7f054f4f7a1e80356ff163499f3a30ea32a8f36744c17571e570d87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8def90f0065d4da0a17f82cc957c8325edf870f5bfa8af9fbd341e8cbb5fefe5\",\"dweb:/ipfs/QmV782ja45EvDK1aCzf1k3tu9CKFeBsjAPmnYq237JZpSh\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"ast": { | |
"absolutePath": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"exportedSymbols": { | |
"AggregatorV3Interface": [ | |
45 | |
] | |
}, | |
"id": 46, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "32:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "AggregatorV3Interface", | |
"contractDependencies": [], | |
"contractKind": "interface", | |
"fullyImplemented": false, | |
"id": 45, | |
"linearizedBaseContracts": [ | |
45 | |
], | |
"name": "AggregatorV3Interface", | |
"nameLocation": "67:21:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"functionSelector": "313ce567", | |
"id": 6, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "decimals", | |
"nameLocation": "102:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 2, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "110:2:0" | |
}, | |
"returnParameters": { | |
"id": 5, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 4, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 6, | |
"src": "136:5:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 3, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "136:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "135:7:0" | |
}, | |
"scope": 45, | |
"src": "93:50:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "7284e416", | |
"id": 11, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "description", | |
"nameLocation": "156:11:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "167:2:0" | |
}, | |
"returnParameters": { | |
"id": 10, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 9, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 11, | |
"src": "193:13:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 8, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "193:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "192:15:0" | |
}, | |
"scope": 45, | |
"src": "147:61:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "54fd4d50", | |
"id": 16, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "version", | |
"nameLocation": "221:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 12, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "228:2:0" | |
}, | |
"returnParameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 14, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 16, | |
"src": "254:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 13, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "254:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "253:9:0" | |
}, | |
"scope": 45, | |
"src": "212:51:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "9a6fc8f5", | |
"id": 31, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getRoundData", | |
"nameLocation": "276:12:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 19, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 18, | |
"mutability": "mutable", | |
"name": "_roundId", | |
"nameLocation": "296:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "289:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 17, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "289:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "288:17:0" | |
}, | |
"returnParameters": { | |
"id": 30, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 21, | |
"mutability": "mutable", | |
"name": "roundId", | |
"nameLocation": "355:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "348:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 20, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "348:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 23, | |
"mutability": "mutable", | |
"name": "answer", | |
"nameLocation": "377:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "370:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 22, | |
"name": "int256", | |
"nodeType": "ElementaryTypeName", | |
"src": "370:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 25, | |
"mutability": "mutable", | |
"name": "startedAt", | |
"nameLocation": "399:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "391:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 24, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "391:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 27, | |
"mutability": "mutable", | |
"name": "updatedAt", | |
"nameLocation": "424:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "416:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 26, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "416:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 29, | |
"mutability": "mutable", | |
"name": "answeredInRound", | |
"nameLocation": "448:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "441:22:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 28, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "441:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "340:129:0" | |
}, | |
"scope": 45, | |
"src": "267:203:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "feaf968c", | |
"id": 44, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "latestRoundData", | |
"nameLocation": "483:15:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 32, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "498:2:0" | |
}, | |
"returnParameters": { | |
"id": 43, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 34, | |
"mutability": "mutable", | |
"name": "roundId", | |
"nameLocation": "550:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "543:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 33, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "543:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 36, | |
"mutability": "mutable", | |
"name": "answer", | |
"nameLocation": "572:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "565:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 35, | |
"name": "int256", | |
"nodeType": "ElementaryTypeName", | |
"src": "565:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 38, | |
"mutability": "mutable", | |
"name": "startedAt", | |
"nameLocation": "594:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "586:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 37, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "586:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 40, | |
"mutability": "mutable", | |
"name": "updatedAt", | |
"nameLocation": "619:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "611:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 39, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "611:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 42, | |
"mutability": "mutable", | |
"name": "answeredInRound", | |
"nameLocation": "643:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "636:22:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 41, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "636:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "535:129:0" | |
}, | |
"scope": 45, | |
"src": "474:191:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
} | |
], | |
"scope": 46, | |
"src": "57:610:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "32:636:0" | |
}, | |
"id": 0 | |
}, | |
"contracts/FundMe.sol": { | |
"ast": { | |
"absolutePath": "contracts/FundMe.sol", | |
"exportedSymbols": { | |
"AggregatorV3Interface": [ | |
45 | |
], | |
"FundMe": [ | |
93 | |
], | |
"PriceConverter": [ | |
147 | |
] | |
}, | |
"id": 94, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 47, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".8" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "33:23:1" | |
}, | |
{ | |
"absolutePath": "contracts/PriceConverter.sol", | |
"file": "./PriceConverter.sol", | |
"id": 48, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 94, | |
"sourceUnit": 148, | |
"src": "60:30:1", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "FundMe", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"fullyImplemented": true, | |
"id": 93, | |
"linearizedBaseContracts": [ | |
93 | |
], | |
"name": "FundMe", | |
"nameLocation": "103:6:1", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"global": false, | |
"id": 51, | |
"libraryName": { | |
"id": 49, | |
"name": "PriceConverter", | |
"nameLocations": [ | |
"120:14:1" | |
], | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 147, | |
"src": "120:14:1" | |
}, | |
"nodeType": "UsingForDirective", | |
"src": "114:33:1", | |
"typeName": { | |
"id": 50, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "139:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "dc992aa0", | |
"id": 56, | |
"mutability": "mutable", | |
"name": "minUSD", | |
"nameLocation": "167:6:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 93, | |
"src": "155:30:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 52, | |
"name": "uint", | |
"nodeType": "ElementaryTypeName", | |
"src": "155:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"value": { | |
"commonType": { | |
"typeIdentifier": "t_rational_50000000000000000000_by_1", | |
"typeString": "int_const 50000000000000000000" | |
}, | |
"id": 55, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"leftExpression": { | |
"hexValue": "3530", | |
"id": 53, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "176:2:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_50_by_1", | |
"typeString": "int_const 50" | |
}, | |
"value": "50" | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"hexValue": "31653138", | |
"id": 54, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "181:4:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_1000000000000000000_by_1", | |
"typeString": "int_const 1000000000000000000" | |
}, | |
"value": "1e18" | |
}, | |
"src": "176:9:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_50000000000000000000_by_1", | |
"typeString": "int_const 50000000000000000000" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "dc0d3dff", | |
"id": 59, | |
"mutability": "mutable", | |
"name": "funders", | |
"nameLocation": "209:7:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 93, | |
"src": "192:24:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_array$_t_address_$dyn_storage", | |
"typeString": "address[]" | |
}, | |
"typeName": { | |
"baseType": { | |
"id": 57, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "192:7:1", | |
"stateMutability": "nonpayable", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"id": 58, | |
"nodeType": "ArrayTypeName", | |
"src": "192:9:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", | |
"typeString": "address[]" | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"constant": false, | |
"functionSelector": "3e47d6f3", | |
"id": 63, | |
"mutability": "mutable", | |
"name": "addressToAmountFunded", | |
"nameLocation": "257:21:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 93, | |
"src": "223:55:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"typeName": { | |
"id": 62, | |
"keyName": "", | |
"keyNameLocation": "-1:-1:-1", | |
"keyType": { | |
"id": 60, | |
"name": "address", | |
"nodeType": "ElementaryTypeName", | |
"src": "232:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"nodeType": "Mapping", | |
"src": "223:26:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
}, | |
"valueName": "", | |
"valueNameLocation": "-1:-1:-1", | |
"valueType": { | |
"id": 61, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "241:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
}, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 91, | |
"nodeType": "Block", | |
"src": "318:181:1", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 72, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"expression": { | |
"expression": { | |
"id": 67, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "337:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 68, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "341:5:1", | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "337:9:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 69, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "347:17:1", | |
"memberName": "getConversionRate", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 146, | |
"src": "337:27:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", | |
"typeString": "function (uint256) view returns (uint256)" | |
} | |
}, | |
"id": 70, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "337:29:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": ">=", | |
"rightExpression": { | |
"id": 71, | |
"name": "minUSD", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 56, | |
"src": "370:6:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "337:39:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
} | |
}, | |
{ | |
"hexValue": "4469646e27742073656e6420656e6f75676821", | |
"id": 73, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "string", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "378:21:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5", | |
"typeString": "literal_string \"Didn't send enough!\"" | |
}, | |
"value": "Didn't send enough!" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_bool", | |
"typeString": "bool" | |
}, | |
{ | |
"typeIdentifier": "t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5", | |
"typeString": "literal_string \"Didn't send enough!\"" | |
} | |
], | |
"id": 66, | |
"name": "require", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [ | |
4294967278, | |
4294967278 | |
], | |
"referencedDeclaration": 4294967278, | |
"src": "329:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", | |
"typeString": "function (bool,string memory) pure" | |
} | |
}, | |
"id": 74, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "329:71:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 75, | |
"nodeType": "ExpressionStatement", | |
"src": "329:71:1" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"expression": { | |
"id": 79, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "424:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 80, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "428:6:1", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "424:10:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"expression": { | |
"id": 76, | |
"name": "funders", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 59, | |
"src": "411:7:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_array$_t_address_$dyn_storage", | |
"typeString": "address[] storage ref" | |
} | |
}, | |
"id": 78, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "419:4:1", | |
"memberName": "push", | |
"nodeType": "MemberAccess", | |
"src": "411:12:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", | |
"typeString": "function (address[] storage pointer,address)" | |
} | |
}, | |
"id": 81, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "411:24:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$__$", | |
"typeString": "tuple()" | |
} | |
}, | |
"id": 82, | |
"nodeType": "ExpressionStatement", | |
"src": "411:24:1" | |
}, | |
{ | |
"expression": { | |
"id": 89, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"baseExpression": { | |
"id": 83, | |
"name": "addressToAmountFunded", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 63, | |
"src": "446:21:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", | |
"typeString": "mapping(address => uint256)" | |
} | |
}, | |
"id": 86, | |
"indexExpression": { | |
"expression": { | |
"id": 84, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "468:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 85, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "472:6:1", | |
"memberName": "sender", | |
"nodeType": "MemberAccess", | |
"src": "468:10:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
}, | |
"isConstant": false, | |
"isLValue": true, | |
"isPure": false, | |
"lValueRequested": true, | |
"nodeType": "IndexAccess", | |
"src": "446:33:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"expression": { | |
"id": 87, | |
"name": "msg", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 4294967281, | |
"src": "482:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_magic_message", | |
"typeString": "msg" | |
} | |
}, | |
"id": 88, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "486:5:1", | |
"memberName": "value", | |
"nodeType": "MemberAccess", | |
"src": "482:9:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "446:45:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"id": 90, | |
"nodeType": "ExpressionStatement", | |
"src": "446:45:1" | |
} | |
] | |
}, | |
"functionSelector": "b60d4288", | |
"id": 92, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "fund", | |
"nameLocation": "296:4:1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 64, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "300:2:1" | |
}, | |
"returnParameters": { | |
"id": 65, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "318:0:1" | |
}, | |
"scope": 93, | |
"src": "287:212:1", | |
"stateMutability": "payable", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 94, | |
"src": "94:410:1", | |
"usedErrors": [] | |
} | |
], | |
"src": "33:471:1" | |
}, | |
"id": 1 | |
}, | |
"contracts/PriceConverter.sol": { | |
"ast": { | |
"absolutePath": "contracts/PriceConverter.sol", | |
"exportedSymbols": { | |
"AggregatorV3Interface": [ | |
45 | |
], | |
"PriceConverter": [ | |
147 | |
] | |
}, | |
"id": 148, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 95, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".8" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "33:23:2" | |
}, | |
{ | |
"absolutePath": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"file": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"id": 96, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 148, | |
"sourceUnit": 46, | |
"src": "60:76:2", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "PriceConverter", | |
"contractDependencies": [], | |
"contractKind": "library", | |
"fullyImplemented": true, | |
"id": 147, | |
"linearizedBaseContracts": [ | |
147 | |
], | |
"name": "PriceConverter", | |
"nameLocation": "148:14:2", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"body": { | |
"id": 121, | |
"nodeType": "Block", | |
"src": "238:244:2", | |
"statements": [ | |
{ | |
"assignments": [ | |
103 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 103, | |
"mutability": "mutable", | |
"name": "dataFeed", | |
"nameLocation": "264:8:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 121, | |
"src": "242:30:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
}, | |
"typeName": { | |
"id": 102, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 101, | |
"name": "AggregatorV3Interface", | |
"nameLocations": [ | |
"242:21:2" | |
], | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 45, | |
"src": "242:21:2" | |
}, | |
"referencedDeclaration": 45, | |
"src": "242:21:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 107, | |
"initialValue": { | |
"arguments": [ | |
{ | |
"hexValue": "307836393441413137363933353732313544453446414330383162663166333039614443333235333036", | |
"id": 105, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "297:42:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"value": "0x694AA1769357215DE4FAC081bf1f309aDC325306" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 104, | |
"name": "AggregatorV3Interface", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 45, | |
"src": "275:21:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_contract$_AggregatorV3Interface_$45_$", | |
"typeString": "type(contract AggregatorV3Interface)" | |
} | |
}, | |
"id": 106, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "275:65:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "242:98:2" | |
}, | |
{ | |
"assignments": [ | |
null, | |
109, | |
null, | |
null, | |
null | |
], | |
"declarations": [ | |
null, | |
{ | |
"constant": false, | |
"id": 109, | |
"mutability": "mutable", | |
"name": "price", | |
"nameLocation": "368:5:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 121, | |
"src": "364:9:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 108, | |
"name": "int", | |
"nodeType": "ElementaryTypeName", | |
"src": "364:3:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
null, | |
null, | |
null | |
], | |
"id": 113, | |
"initialValue": { | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"expression": { | |
"id": 110, | |
"name": "dataFeed", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 103, | |
"src": "409:8:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"id": 111, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "418:15:2", | |
"memberName": "latestRoundData", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 44, | |
"src": "409:24:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_view$__$returns$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$", | |
"typeString": "function () view external returns (uint80,int256,uint256,uint256,uint80)" | |
} | |
}, | |
"id": 112, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "409:26:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$", | |
"typeString": "tuple(uint80,int256,uint256,uint256,uint80)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "351:84:2" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"id": 118, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 116, | |
"name": "price", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 109, | |
"src": "461:5:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"hexValue": "31653130", | |
"id": 117, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "469:4:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_10000000000_by_1", | |
"typeString": "int_const 10000000000" | |
}, | |
"value": "1e10" | |
}, | |
"src": "461:12:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
], | |
"id": 115, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"lValueRequested": false, | |
"nodeType": "ElementaryTypeNameExpression", | |
"src": "453:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_uint256_$", | |
"typeString": "type(uint256)" | |
}, | |
"typeName": { | |
"id": 114, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "453:7:2", | |
"typeDescriptions": {} | |
} | |
}, | |
"id": 119, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "453:21:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 100, | |
"id": 120, | |
"nodeType": "Return", | |
"src": "446:28:2" | |
} | |
] | |
}, | |
"id": 122, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getPrice", | |
"nameLocation": "194:8:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 97, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "202:2:2" | |
}, | |
"returnParameters": { | |
"id": 100, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 99, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 122, | |
"src": "229:7:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 98, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "229:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "228:9:2" | |
}, | |
"scope": 147, | |
"src": "185:297:2", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 145, | |
"nodeType": "Block", | |
"src": "567:147:2", | |
"statements": [ | |
{ | |
"assignments": [ | |
130 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 130, | |
"mutability": "mutable", | |
"name": "ethPrice", | |
"nameLocation": "586:8:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 145, | |
"src": "578:16:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 129, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "578:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 133, | |
"initialValue": { | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"id": 131, | |
"name": "getPrice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 122, | |
"src": "597:8:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", | |
"typeString": "function () view returns (uint256)" | |
} | |
}, | |
"id": 132, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "597:10:2", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "578:29:2" | |
}, | |
{ | |
"assignments": [ | |
135 | |
], | |
"declarations": [ | |
{ | |
"constant": false, | |
"id": 135, | |
"mutability": "mutable", | |
"name": "ethAmountInUSD", | |
"nameLocation": "628:14:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 145, | |
"src": "620:22:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 134, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "620:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"id": 142, | |
"initialValue": { | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 141, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"components": [ | |
{ | |
"commonType": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"id": 138, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftExpression": { | |
"id": 136, | |
"name": "ethPrice", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 130, | |
"src": "646:8:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "*", | |
"rightExpression": { | |
"id": 137, | |
"name": "ethAmount", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 124, | |
"src": "657:9:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"src": "646:20:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
} | |
], | |
"id": 139, | |
"isConstant": false, | |
"isInlineArray": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"nodeType": "TupleExpression", | |
"src": "645:22:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "BinaryOperation", | |
"operator": "/", | |
"rightExpression": { | |
"hexValue": "31653138", | |
"id": 140, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "670:4:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_rational_1000000000000000000_by_1", | |
"typeString": "int_const 1000000000000000000" | |
}, | |
"value": "1e18" | |
}, | |
"src": "645:29:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "620:54:2" | |
}, | |
{ | |
"expression": { | |
"id": 143, | |
"name": "ethAmountInUSD", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 135, | |
"src": "692:14:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"functionReturnParameters": 128, | |
"id": 144, | |
"nodeType": "Return", | |
"src": "685:21:2" | |
} | |
] | |
}, | |
"id": 146, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getConversionRate", | |
"nameLocation": "499:17:2", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 125, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 124, | |
"mutability": "mutable", | |
"name": "ethAmount", | |
"nameLocation": "525:9:2", | |
"nodeType": "VariableDeclaration", | |
"scope": 146, | |
"src": "517:17:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 123, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "517:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "516:19:2" | |
}, | |
"returnParameters": { | |
"id": 128, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 127, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 146, | |
"src": "559:7:2", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 126, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "559:7:2", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "558:9:2" | |
}, | |
"scope": 147, | |
"src": "490:224:2", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "internal" | |
} | |
], | |
"scope": 148, | |
"src": "140:579:2", | |
"usedErrors": [] | |
} | |
], | |
"src": "33:686:2" | |
}, | |
"id": 2 | |
} | |
} | |
} | |
} |
This file contains 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
{ | |
"id": "d0d339e2617e5f8f7c662c8a2c53f583", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.18", | |
"solcLongVersion": "0.8.18+commit.87f61d96", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"contracts/SafeMathTester.sol": { | |
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.8;" | |
} | |
}, | |
"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": { | |
"sources": { | |
"contracts/SafeMathTester.sol": { | |
"ast": { | |
"absolutePath": "contracts/SafeMathTester.sol", | |
"exportedSymbols": {}, | |
"id": 2, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".8" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "33:23:0" | |
} | |
], | |
"src": "33:23:0" | |
}, | |
"id": 0 | |
} | |
} | |
} | |
} |
This file contains 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": "60806040526802b5e3af16b188000060005534801561001d57600080fd5b506107748061002d6000396000f3fe60806040526004361061003f5760003560e01c80633e47d6f314610044578063b60d428814610081578063dc0d3dff1461008b578063dc992aa0146100c8575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061038c565b6100f3565b60405161007891906103d2565b60405180910390f35b61008961010b565b005b34801561009757600080fd5b506100b260048036038101906100ad9190610419565b610201565b6040516100bf9190610455565b60405180910390f35b3480156100d457600080fd5b506100dd610240565b6040516100ea91906103d2565b60405180910390f35b60026020528060005260406000206000915090505481565b60005461011734610246565b1015610158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014f906104cd565b60405180910390fd5b6001339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6001818154811061021157600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600080610251610280565b90506000670de0b6b3a7640000848361026a919061051c565b610274919061058d565b90508092505050919050565b60008073694aa1769357215de4fac081bf1f309adc325306905060008173ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156102e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030b919061064b565b5050509150506402540be4008161032291906106c6565b9250505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103598261032e565b9050919050565b6103698161034e565b811461037457600080fd5b50565b60008135905061038681610360565b92915050565b6000602082840312156103a2576103a1610329565b5b60006103b084828501610377565b91505092915050565b6000819050919050565b6103cc816103b9565b82525050565b60006020820190506103e760008301846103c3565b92915050565b6103f6816103b9565b811461040157600080fd5b50565b600081359050610413816103ed565b92915050565b60006020828403121561042f5761042e610329565b5b600061043d84828501610404565b91505092915050565b61044f8161034e565b82525050565b600060208201905061046a6000830184610446565b92915050565b600082825260208201905092915050565b7f4469646e27742073656e6420656e6f7567682100000000000000000000000000600082015250565b60006104b7601383610470565b91506104c282610481565b602082019050919050565b600060208201905081810360008301526104e6816104aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610527826103b9565b9150610532836103b9565b9250828202610540816103b9565b91508282048414831517610557576105566104ed565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610598826103b9565b91506105a3836103b9565b9250826105b3576105b261055e565b5b828204905092915050565b600069ffffffffffffffffffff82169050919050565b6105dd816105be565b81146105e857600080fd5b50565b6000815190506105fa816105d4565b92915050565b6000819050919050565b61061381610600565b811461061e57600080fd5b50565b6000815190506106308161060a565b92915050565b600081519050610645816103ed565b92915050565b600080600080600060a0868803121561066757610666610329565b5b6000610675888289016105eb565b955050602061068688828901610621565b945050604061069788828901610636565b93505060606106a888828901610636565b92505060806106b9888289016105eb565b9150509295509295909350565b60006106d182610600565b91506106dc83610600565b92508282026106ea81610600565b91507f80000000000000000000000000000000000000000000000000000000000000008414600084121615610722576107216104ed565b5b8282058414831517610737576107366104ed565b5b509291505056fea26469706673582212200962c90fc5c7fdfb81c55b81691ce124024b2c80832942dc530cd55f7107701764736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH9 0x2B5E3AF16B1880000 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x774 DUP1 PUSH2 0x2D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E47D6F3 EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xDC0D3DFF EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xDC992AA0 EQ PUSH2 0xC8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x38C JUMP JUMPDEST PUSH2 0xF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x3D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH2 0x10B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x419 JUMP JUMPDEST PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBF SWAP2 SWAP1 PUSH2 0x455 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x240 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x3D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x117 CALLVALUE PUSH2 0x246 JUMP JUMPDEST LT ISZERO PUSH2 0x158 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14F SWAP1 PUSH2 0x4CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 CALLER SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x251 PUSH2 0x280 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP5 DUP4 PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x51C JUMP JUMPDEST PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x58D JUMP JUMPDEST SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x694AA1769357215DE4FAC081BF1F309ADC325306 SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x64B JUMP JUMPDEST POP POP POP SWAP2 POP POP PUSH5 0x2540BE400 DUP2 PUSH2 0x322 SWAP2 SWAP1 PUSH2 0x6C6 JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x359 DUP3 PUSH2 0x32E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x369 DUP2 PUSH2 0x34E JUMP JUMPDEST DUP2 EQ PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x386 DUP2 PUSH2 0x360 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A2 JUMPI PUSH2 0x3A1 PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3B0 DUP5 DUP3 DUP6 ADD PUSH2 0x377 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CC DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3F6 DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP2 EQ PUSH2 0x401 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x413 DUP2 PUSH2 0x3ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42F JUMPI PUSH2 0x42E PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x43D DUP5 DUP3 DUP6 ADD PUSH2 0x404 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x44F DUP2 PUSH2 0x34E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x46A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x446 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4469646E27742073656E6420656E6F7567682100000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B7 PUSH1 0x13 DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x4C2 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4E6 DUP2 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x527 DUP3 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x532 DUP4 PUSH2 0x3B9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x540 DUP2 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x557 JUMPI PUSH2 0x556 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x598 DUP3 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x5A3 DUP4 PUSH2 0x3B9 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x5B3 JUMPI PUSH2 0x5B2 PUSH2 0x55E JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5DD DUP2 PUSH2 0x5BE JUMP JUMPDEST DUP2 EQ PUSH2 0x5E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x5FA DUP2 PUSH2 0x5D4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x613 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP2 EQ PUSH2 0x61E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x630 DUP2 PUSH2 0x60A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x645 DUP2 PUSH2 0x3ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x667 JUMPI PUSH2 0x666 PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x675 DUP9 DUP3 DUP10 ADD PUSH2 0x5EB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x686 DUP9 DUP3 DUP10 ADD PUSH2 0x621 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x697 DUP9 DUP3 DUP10 ADD PUSH2 0x636 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x6A8 DUP9 DUP3 DUP10 ADD PUSH2 0x636 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x6B9 DUP9 DUP3 DUP10 ADD PUSH2 0x5EB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D1 DUP3 PUSH2 0x600 JUMP JUMPDEST SWAP2 POP PUSH2 0x6DC DUP4 PUSH2 0x600 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x6EA DUP2 PUSH2 0x600 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP5 EQ PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x722 JUMPI PUSH2 0x721 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x737 JUMPI PUSH2 0x736 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MULMOD PUSH3 0xC90FC5 0xC7 REVERT 0xFB DUP2 0xC5 JUMPDEST DUP2 PUSH10 0x1CE124024B2C80832942 0xDC MSTORE8 0xC 0xD5 0x5F PUSH18 0x7701764736F6C6343000812003300000000 ", | |
"sourceMap": "94:410:1:-:0;;;176:9;155:30;;94:410;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@addressToAmountFunded_63": { | |
"entryPoint": 243, | |
"id": 63, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@fund_92": { | |
"entryPoint": 267, | |
"id": 92, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@funders_59": { | |
"entryPoint": 513, | |
"id": 59, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"@getConversionRate_146": { | |
"entryPoint": 582, | |
"id": 146, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"@getPrice_122": { | |
"entryPoint": 640, | |
"id": 122, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"@minUSD_56": { | |
"entryPoint": 576, | |
"id": 56, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"abi_decode_t_address": { | |
"entryPoint": 887, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_int256_fromMemory": { | |
"entryPoint": 1569, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256": { | |
"entryPoint": 1028, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 1590, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint80_fromMemory": { | |
"entryPoint": 1515, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_address": { | |
"entryPoint": 908, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint256": { | |
"entryPoint": 1049, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory": { | |
"entryPoint": 1611, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 5 | |
}, | |
"abi_encode_t_address_to_t_address_fromStack": { | |
"entryPoint": 1094, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1194, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_t_uint256_to_t_uint256_fromStack": { | |
"entryPoint": 963, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { | |
"entryPoint": 1109, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5__to_t_string_memory_ptr__fromStack_reversed": { | |
"entryPoint": 1229, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { | |
"entryPoint": 978, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": { | |
"entryPoint": 1136, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_div_t_uint256": { | |
"entryPoint": 1421, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_int256": { | |
"entryPoint": 1734, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"checked_mul_t_uint256": { | |
"entryPoint": 1308, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_address": { | |
"entryPoint": 846, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_int256": { | |
"entryPoint": 1536, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint160": { | |
"entryPoint": 814, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 953, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint80": { | |
"entryPoint": 1470, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"panic_error_0x11": { | |
"entryPoint": 1261, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"panic_error_0x12": { | |
"entryPoint": 1374, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 809, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5": { | |
"entryPoint": 1153, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_address": { | |
"entryPoint": 864, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_int256": { | |
"entryPoint": 1546, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 1005, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint80": { | |
"entryPoint": 1492, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:7121:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "47:35:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "57:19:3", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "73:2:3", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "67:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "67:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "57:6:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "40:6:3", | |
"type": "" | |
} | |
], | |
"src": "7:75:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "177:28:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "194:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "197:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "187:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "187:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "187:12:3" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "88:117:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "300:28:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "317:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "320:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "310:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "310:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "310:12:3" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "211:117:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "379:81:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "389:65:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "404:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "411:42:3", | |
"type": "", | |
"value": "0xffffffffffffffffffffffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "400:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "400:54:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "389:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "361:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "371:7:3", | |
"type": "" | |
} | |
], | |
"src": "334:126:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "511:51:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "521:35:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "550:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint160", | |
"nodeType": "YulIdentifier", | |
"src": "532:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "532:24:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "521:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "493:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "503:7:3", | |
"type": "" | |
} | |
], | |
"src": "466:96:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "611:79:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "668:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "677:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "680:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "670:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "670:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "670:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "634:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "659:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "641:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "641:24:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "631:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "631:35:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "624:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "624:43:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "621:63:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "604:5:3", | |
"type": "" | |
} | |
], | |
"src": "568:122:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "748:87:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "758:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "780:6:3" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "767:12:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "767:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "758:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "823:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "796:26:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "796:33:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "796:33:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "726:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "734:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "742:5:3", | |
"type": "" | |
} | |
], | |
"src": "696:139:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "907:263:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "953:83:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "955:77:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "955:79:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "955:79:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "928:7:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "937:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "924:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "924:23:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "949:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "920:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "920:32:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "917:119:3" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "1046:117:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "1061:15:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1075:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1065:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1090:63:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1125:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1136:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1121:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1121:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1145:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "1100:20:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1100:53:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1090:6:3" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_address", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "877:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "888:7:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "900:6:3", | |
"type": "" | |
} | |
], | |
"src": "841:329:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1221:32:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1231:16:3", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1242:5:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1231:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1203:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1213:7:3", | |
"type": "" | |
} | |
], | |
"src": "1176:77:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1324:53:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "1341:3:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1364:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1346:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1346:24:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "1334:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1334:37:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1334:37:3" | |
} | |
] | |
}, | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1312:5:3", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "1319:3:3", | |
"type": "" | |
} | |
], | |
"src": "1259:118:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1481:124:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1491:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1503:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1514:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1499:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1499:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "1491:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "1571:6:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1584:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1595:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "1580:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1580:17:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_uint256_to_t_uint256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "1527:43:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1527:71:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1527:71:3" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1453:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1465:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "1476:4:3", | |
"type": "" | |
} | |
], | |
"src": "1383:222:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1654:79:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1711:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1720:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1723:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1713:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1713:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1713:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1677:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1702:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1684:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1684:24:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1674:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1674:35:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1667:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1667:43:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "1664:63:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1647:5:3", | |
"type": "" | |
} | |
], | |
"src": "1611:122:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1791:87:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1801:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1823:6:3" | |
} | |
], | |
"functionName": { | |
"name": "calldataload", | |
"nodeType": "YulIdentifier", | |
"src": "1810:12:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1810:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1801:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1866:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1839:26:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1839:33:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1839:33:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1769:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1777:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1785:5:3", | |
"type": "" | |
} | |
], | |
"src": "1739:139:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1950:263:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1996:83:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1998:77:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1998:79:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1998:79:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1971:7:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1980:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1967:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1967:23:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1992:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1963:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1963:32:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "1960:119:3" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2089:117:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2104:15:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2118:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2108:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2133:63:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2168:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2179:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2164:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2164:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2188:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "2143:20:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2143:53:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2133:6:3" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1920:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1931:7:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1943:6:3", | |
"type": "" | |
} | |
], | |
"src": "1884:329:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2284:53:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2301:3:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "2324:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_address", | |
"nodeType": "YulIdentifier", | |
"src": "2306:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2306:24:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2294:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2294:37:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2294:37:3" | |
} | |
] | |
}, | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "2272:5:3", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2279:3:3", | |
"type": "" | |
} | |
], | |
"src": "2219:118:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2441:124:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2451:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2463:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2474:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2459:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2459:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "2451:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2531:6:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2544:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2555:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2540:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2540:17:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_address_to_t_address_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "2487:43:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2487:71:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2487:71:3" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "2413:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "2425:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "2436:4:3", | |
"type": "" | |
} | |
], | |
"src": "2343:222:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2667:73:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2684:3:3" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulIdentifier", | |
"src": "2689:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2677:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2677:19:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2677:19:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2705:29:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "2724:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2729:4:3", | |
"type": "", | |
"value": "0x20" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2720:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2720:14:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulIdentifier", | |
"src": "2705:11:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "2639:3:3", | |
"type": "" | |
}, | |
{ | |
"name": "length", | |
"nodeType": "YulTypedName", | |
"src": "2644:6:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "updated_pos", | |
"nodeType": "YulTypedName", | |
"src": "2655:11:3", | |
"type": "" | |
} | |
], | |
"src": "2571:169:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "2852:63:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "2874:6:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2882:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2870:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2870:14:3" | |
}, | |
{ | |
"hexValue": "4469646e27742073656e6420656e6f75676821", | |
"kind": "string", | |
"nodeType": "YulLiteral", | |
"src": "2886:21:3", | |
"type": "", | |
"value": "Didn't send enough!" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "2863:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2863:45:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "2863:45:3" | |
} | |
] | |
}, | |
"name": "store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "2844:6:3", | |
"type": "" | |
} | |
], | |
"src": "2746:169:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3067:220:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3077:74:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3143:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3148:2:3", | |
"type": "", | |
"value": "19" | |
} | |
], | |
"functionName": { | |
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3084:58:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3084:67:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3077:3:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3249:3:3" | |
} | |
], | |
"functionName": { | |
"name": "store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5", | |
"nodeType": "YulIdentifier", | |
"src": "3160:88:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3160:93:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3160:93:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3262:19:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "3273:3:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3278:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3269:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3269:12:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "end", | |
"nodeType": "YulIdentifier", | |
"src": "3262:3:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "3055:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "3063:3:3", | |
"type": "" | |
} | |
], | |
"src": "2921:366:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3464:248:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3474:26:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3486:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3497:2:3", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3482:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3482:18:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3474:4:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3521:9:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3532:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "3517:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3517:17:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3540:4:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "3546:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "3536:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3536:20:3" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3510:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3510:47:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3510:47:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3566:139:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3700:4:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "3574:124:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3574:131:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "3566:4:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5__to_t_string_memory_ptr__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "3444:9:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "3459:4:3", | |
"type": "" | |
} | |
], | |
"src": "3293:419:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3746:152:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3763:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3766:77:3", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3756:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3756:88:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3756:88:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3860:1:3", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3863:4:3", | |
"type": "", | |
"value": "0x11" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "3853:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3853:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3853:15:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3884:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "3887:4:3", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "3877:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3877:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "3877:15:3" | |
} | |
] | |
}, | |
"name": "panic_error_0x11", | |
"nodeType": "YulFunctionDefinition", | |
"src": "3718:180:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "3952:362:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3962:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3985:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "3967:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "3967:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "3962:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "3996:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4019:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4001:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4001:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "3996:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "4030:28:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4053:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4056:1:3" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "4049:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4049:9:3" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulTypedName", | |
"src": "4034:11:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4067:41:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulIdentifier", | |
"src": "4096:11:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4078:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4078:30:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "4067:7:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4285:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "4287:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4287:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4287:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4218:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4211:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4211:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4241:1:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "4248:7:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4257:1:3" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "4244:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4244:15:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4238:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4238:22:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "4191:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4191:83:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4171:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4171:113:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4168:139:3" | |
} | |
] | |
}, | |
"name": "checked_mul_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "3935:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "3938:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "3944:7:3", | |
"type": "" | |
} | |
], | |
"src": "3904:410:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4348:152:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4365:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4368:77:3", | |
"type": "", | |
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4358:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4358:88:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4358:88:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4462:1:3", | |
"type": "", | |
"value": "4" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4465:4:3", | |
"type": "", | |
"value": "0x12" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "4455:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4455:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4455:15:3" | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4486:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4489:4:3", | |
"type": "", | |
"value": "0x24" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4479:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4479:15:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4479:15:3" | |
} | |
] | |
}, | |
"name": "panic_error_0x12", | |
"nodeType": "YulFunctionDefinition", | |
"src": "4320:180:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4548:143:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4558:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4581:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4563:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4563:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4558:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4592:25:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4615:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "4597:17:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4597:20:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4592:1:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4639:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x12", | |
"nodeType": "YulIdentifier", | |
"src": "4641:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4641:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4641:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4636:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4629:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4629:9:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4626:35:3" | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4671:14:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "4680:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "4683:1:3" | |
} | |
], | |
"functionName": { | |
"name": "div", | |
"nodeType": "YulIdentifier", | |
"src": "4676:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4676:9:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "r", | |
"nodeType": "YulIdentifier", | |
"src": "4671:1:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "checked_div_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "4537:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "4540:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "r", | |
"nodeType": "YulTypedName", | |
"src": "4546:1:3", | |
"type": "" | |
} | |
], | |
"src": "4506:185:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4741:61:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "4751:45:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4766:5:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4773:22:3", | |
"type": "", | |
"value": "0xffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "4762:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4762:34:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "4751:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint80", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4723:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "4733:7:3", | |
"type": "" | |
} | |
], | |
"src": "4697:105:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4850:78:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4906:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4915:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "4918:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "4908:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4908:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "4908:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4873:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "4897:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint80", | |
"nodeType": "YulIdentifier", | |
"src": "4880:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4880:23:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "4870:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4870:34:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "4863:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "4863:42:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "4860:62:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint80", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4843:5:3", | |
"type": "" | |
} | |
], | |
"src": "4808:120:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "4996:79:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5006:22:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "5021:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "5015:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5015:13:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5006:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5063:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint80", | |
"nodeType": "YulIdentifier", | |
"src": "5037:25:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5037:32:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5037:32:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "4974:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "4982:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "4990:5:3", | |
"type": "" | |
} | |
], | |
"src": "4934:141:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5125:32:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5135:16:3", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5146:5:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "5135:7:3" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5107:5:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "5117:7:3", | |
"type": "" | |
} | |
], | |
"src": "5081:76:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5205:78:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5261:16:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5270:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5273:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "5263:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5263:12:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5263:12:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5228:5:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5252:5:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5235:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5235:23:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "5225:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5225:34:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "5218:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5218:42:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5215:62:3" | |
} | |
] | |
}, | |
"name": "validator_revert_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5198:5:3", | |
"type": "" | |
} | |
], | |
"src": "5163:120:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5351:79:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5361:22:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "5376:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "5370:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5370:13:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5361:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5418:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "5392:25:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5392:32:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5392:32:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_int256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "5329:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5337:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5345:5:3", | |
"type": "" | |
} | |
], | |
"src": "5289:141:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5499:80:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5509:22:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "5524:6:3" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "5518:5:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5518:13:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5509:5:3" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "5567:5:3" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "5540:26:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5540:33:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5540:33:3" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "5477:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "5485:3:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "5493:5:3", | |
"type": "" | |
} | |
], | |
"src": "5436:143:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5727:829:3", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "5774:83:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "5776:77:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5776:79:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "5776:79:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "5748:7:3" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5757:9:3" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "5744:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5744:23:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5769:3:3", | |
"type": "", | |
"value": "160" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "5740:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5740:33:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "5737:120:3" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "5867:127:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "5882:15:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "5896:1:3", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "5886:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "5911:73:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "5956:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "5967:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "5952:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5952:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "5976:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "5921:30:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "5921:63:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "5911:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6004:128:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6019:16:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6033:2:3", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6023:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6049:73:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6094:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6105:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6090:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6090:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6114:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_int256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "6059:30:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6059:63:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "6049:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6142:129:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6157:16:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6171:2:3", | |
"type": "", | |
"value": "64" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6161:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6187:74:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6233:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6244:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6229:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6229:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6253:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "6197:31:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6197:64:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "6187:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6281:129:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6296:16:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6310:2:3", | |
"type": "", | |
"value": "96" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6300:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6326:74:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6372:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6383:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6368:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6368:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6392:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "6336:31:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6336:64:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "6326:6:3" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "6420:129:3", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6435:17:3", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6449:3:3", | |
"type": "", | |
"value": "128" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "6439:6:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6466:73:3", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "6511:9:3" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "6522:6:3" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "6507:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6507:22:3" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "6531:7:3" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "6476:30:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6476:63:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value4", | |
"nodeType": "YulIdentifier", | |
"src": "6466:6:3" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "5665:9:3", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "5676:7:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "5688:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "5696:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "5704:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "5712:6:3", | |
"type": "" | |
}, | |
{ | |
"name": "value4", | |
"nodeType": "YulTypedName", | |
"src": "5720:6:3", | |
"type": "" | |
} | |
], | |
"src": "5585:971:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6609:509:3", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6619:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "6641:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "6624:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6624:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "6619:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6652:24:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "6674:1:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "6657:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6657:19:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "6652:1:3" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "6685:28:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "6708:1:3" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "6711:1:3" | |
} | |
], | |
"functionName": { | |
"name": "mul", | |
"nodeType": "YulIdentifier", | |
"src": "6704:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6704:9:3" | |
}, | |
"variables": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulTypedName", | |
"src": "6689:11:3", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "6722:40:3", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "product_raw", | |
"nodeType": "YulIdentifier", | |
"src": "6750:11:3" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "6733:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6733:29:3" | |
}, | |
"variableNames": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "6722:7:3" | |
} | |
] | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "6889:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "6891:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6891:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "6891:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "6807:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6810:1:3", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "6803:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6803:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "6817:1:3" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "6820:66:3", | |
"type": "", | |
"value": "0x8000000000000000000000000000000000000000000000000000000000000000" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "6814:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6814:73:3" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "6799:3:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6799:89:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "6796:115:3" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "7089:22:3", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "panic_error_0x11", | |
"nodeType": "YulIdentifier", | |
"src": "7091:16:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7091:18:3" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "7091:18:3" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "7021:1:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "7014:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7014:9:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "y", | |
"nodeType": "YulIdentifier", | |
"src": "7044:1:3" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "product", | |
"nodeType": "YulIdentifier", | |
"src": "7052:7:3" | |
}, | |
{ | |
"name": "x", | |
"nodeType": "YulIdentifier", | |
"src": "7061:1:3" | |
} | |
], | |
"functionName": { | |
"name": "sdiv", | |
"nodeType": "YulIdentifier", | |
"src": "7047:4:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7047:16:3" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "7041:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "7041:23:3" | |
} | |
], | |
"functionName": { | |
"name": "or", | |
"nodeType": "YulIdentifier", | |
"src": "6994:2:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6994:84:3" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "6974:6:3" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "6974:114:3" | |
}, | |
"nodeType": "YulIf", | |
"src": "6971:140:3" | |
} | |
] | |
}, | |
"name": "checked_mul_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "x", | |
"nodeType": "YulTypedName", | |
"src": "6592:1:3", | |
"type": "" | |
}, | |
{ | |
"name": "y", | |
"nodeType": "YulTypedName", | |
"src": "6595:1:3", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "product", | |
"nodeType": "YulTypedName", | |
"src": "6601:7:3", | |
"type": "" | |
} | |
], | |
"src": "6562:556:3" | |
} | |
] | |
}, | |
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\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 validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\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 function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5(memPtr) {\n\n mstore(add(memPtr, 0), \"Didn't send enough!\")\n\n }\n\n function abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_e57fb47ed1cde63601adae5d9926eaa3dc656011717be82a7dcbd96957822db5_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function cleanup_t_uint80(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffff)\n }\n\n function validator_revert_t_uint80(value) {\n if iszero(eq(value, cleanup_t_uint80(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint80_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint80(value)\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_int256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_mul_t_int256(x, y) -> product {\n x := cleanup_t_int256(x)\n y := cleanup_t_int256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_int256(product_raw)\n\n // special case\n if and(slt(x, 0), eq(y, 0x8000000000000000000000000000000000000000000000000000000000000000)) { panic_error_0x11() }\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, sdiv(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n}\n", | |
"id": 3, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "60806040526004361061003f5760003560e01c80633e47d6f314610044578063b60d428814610081578063dc0d3dff1461008b578063dc992aa0146100c8575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061038c565b6100f3565b60405161007891906103d2565b60405180910390f35b61008961010b565b005b34801561009757600080fd5b506100b260048036038101906100ad9190610419565b610201565b6040516100bf9190610455565b60405180910390f35b3480156100d457600080fd5b506100dd610240565b6040516100ea91906103d2565b60405180910390f35b60026020528060005260406000206000915090505481565b60005461011734610246565b1015610158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014f906104cd565b60405180910390fd5b6001339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b6001818154811061021157600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b600080610251610280565b90506000670de0b6b3a7640000848361026a919061051c565b610274919061058d565b90508092505050919050565b60008073694aa1769357215de4fac081bf1f309adc325306905060008173ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156102e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030b919061064b565b5050509150506402540be4008161032291906106c6565b9250505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103598261032e565b9050919050565b6103698161034e565b811461037457600080fd5b50565b60008135905061038681610360565b92915050565b6000602082840312156103a2576103a1610329565b5b60006103b084828501610377565b91505092915050565b6000819050919050565b6103cc816103b9565b82525050565b60006020820190506103e760008301846103c3565b92915050565b6103f6816103b9565b811461040157600080fd5b50565b600081359050610413816103ed565b92915050565b60006020828403121561042f5761042e610329565b5b600061043d84828501610404565b91505092915050565b61044f8161034e565b82525050565b600060208201905061046a6000830184610446565b92915050565b600082825260208201905092915050565b7f4469646e27742073656e6420656e6f7567682100000000000000000000000000600082015250565b60006104b7601383610470565b91506104c282610481565b602082019050919050565b600060208201905081810360008301526104e6816104aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610527826103b9565b9150610532836103b9565b9250828202610540816103b9565b91508282048414831517610557576105566104ed565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610598826103b9565b91506105a3836103b9565b9250826105b3576105b261055e565b5b828204905092915050565b600069ffffffffffffffffffff82169050919050565b6105dd816105be565b81146105e857600080fd5b50565b6000815190506105fa816105d4565b92915050565b6000819050919050565b61061381610600565b811461061e57600080fd5b50565b6000815190506106308161060a565b92915050565b600081519050610645816103ed565b92915050565b600080600080600060a0868803121561066757610666610329565b5b6000610675888289016105eb565b955050602061068688828901610621565b945050604061069788828901610636565b93505060606106a888828901610636565b92505060806106b9888289016105eb565b9150509295509295909350565b60006106d182610600565b91506106dc83610600565b92508282026106ea81610600565b91507f80000000000000000000000000000000000000000000000000000000000000008414600084121615610722576107216104ed565b5b8282058414831517610737576107366104ed565b5b509291505056fea26469706673582212200962c90fc5c7fdfb81c55b81691ce124024b2c80832942dc530cd55f7107701764736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3E47D6F3 EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xDC0D3DFF EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xDC992AA0 EQ PUSH2 0xC8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x38C JUMP JUMPDEST PUSH2 0xF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x3D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH2 0x10B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x419 JUMP JUMPDEST PUSH2 0x201 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xBF SWAP2 SWAP1 PUSH2 0x455 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x240 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x3D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x117 CALLVALUE PUSH2 0x246 JUMP JUMPDEST LT ISZERO PUSH2 0x158 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14F SWAP1 PUSH2 0x4CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 CALLER SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x251 PUSH2 0x280 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH8 0xDE0B6B3A7640000 DUP5 DUP4 PUSH2 0x26A SWAP2 SWAP1 PUSH2 0x51C JUMP JUMPDEST PUSH2 0x274 SWAP2 SWAP1 PUSH2 0x58D JUMP JUMPDEST SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x694AA1769357215DE4FAC081BF1F309ADC325306 SWAP1 POP PUSH1 0x0 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 PUSH2 0x64B JUMP JUMPDEST POP POP POP SWAP2 POP POP PUSH5 0x2540BE400 DUP2 PUSH2 0x322 SWAP2 SWAP1 PUSH2 0x6C6 JUMP JUMPDEST SWAP3 POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x359 DUP3 PUSH2 0x32E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x369 DUP2 PUSH2 0x34E JUMP JUMPDEST DUP2 EQ PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x386 DUP2 PUSH2 0x360 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A2 JUMPI PUSH2 0x3A1 PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3B0 DUP5 DUP3 DUP6 ADD PUSH2 0x377 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CC DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x3C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x3F6 DUP2 PUSH2 0x3B9 JUMP JUMPDEST DUP2 EQ PUSH2 0x401 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x413 DUP2 PUSH2 0x3ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x42F JUMPI PUSH2 0x42E PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x43D DUP5 DUP3 DUP6 ADD PUSH2 0x404 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x44F DUP2 PUSH2 0x34E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x46A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x446 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4469646E27742073656E6420656E6F7567682100000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B7 PUSH1 0x13 DUP4 PUSH2 0x470 JUMP JUMPDEST SWAP2 POP PUSH2 0x4C2 DUP3 PUSH2 0x481 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x4E6 DUP2 PUSH2 0x4AA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x527 DUP3 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x532 DUP4 PUSH2 0x3B9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x540 DUP2 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x557 JUMPI PUSH2 0x556 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x598 DUP3 PUSH2 0x3B9 JUMP JUMPDEST SWAP2 POP PUSH2 0x5A3 DUP4 PUSH2 0x3B9 JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x5B3 JUMPI PUSH2 0x5B2 PUSH2 0x55E JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5DD DUP2 PUSH2 0x5BE JUMP JUMPDEST DUP2 EQ PUSH2 0x5E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x5FA DUP2 PUSH2 0x5D4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x613 DUP2 PUSH2 0x600 JUMP JUMPDEST DUP2 EQ PUSH2 0x61E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x630 DUP2 PUSH2 0x60A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x645 DUP2 PUSH2 0x3ED JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x667 JUMPI PUSH2 0x666 PUSH2 0x329 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x675 DUP9 DUP3 DUP10 ADD PUSH2 0x5EB JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x686 DUP9 DUP3 DUP10 ADD PUSH2 0x621 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x697 DUP9 DUP3 DUP10 ADD PUSH2 0x636 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x6A8 DUP9 DUP3 DUP10 ADD PUSH2 0x636 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x6B9 DUP9 DUP3 DUP10 ADD PUSH2 0x5EB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D1 DUP3 PUSH2 0x600 JUMP JUMPDEST SWAP2 POP PUSH2 0x6DC DUP4 PUSH2 0x600 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x6EA DUP2 PUSH2 0x600 JUMP JUMPDEST SWAP2 POP PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 DUP5 EQ PUSH1 0x0 DUP5 SLT AND ISZERO PUSH2 0x722 JUMPI PUSH2 0x721 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST DUP3 DUP3 SDIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x737 JUMPI PUSH2 0x736 PUSH2 0x4ED JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MULMOD PUSH3 0xC90FC5 0xC7 REVERT 0xFB DUP2 0xC5 JUMPDEST DUP2 PUSH10 0x1CE124024B2C80832942 0xDC MSTORE8 0xC 0xD5 0x5F PUSH18 0x7701764736F6C6343000812003300000000 ", | |
"sourceMap": "94:410:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;223:55;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;287:212;;;:::i;:::-;;192:24;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;155:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;223:55;;;;;;;;;;;;;;;;;:::o;287:212::-;370:6;;337:29;:9;:27;:29::i;:::-;:39;;329:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;411:7;424:10;411:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;482:9;446:21;:33;468:10;446:33;;;;;;;;;;;;;;;:45;;;;287:212::o;192:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;155:30::-;;;;:::o;490:224:2:-;559:7;578:16;597:10;:8;:10::i;:::-;578:29;;620:22;670:4;657:9;646:8;:20;;;;:::i;:::-;645:29;;;;:::i;:::-;620:54;;692:14;685:21;;;;490:224;;;:::o;185:297::-;229:7;242:30;297:42;242:98;;364:9;409:8;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;351:84;;;;;;469:4;461:5;:12;;;;:::i;:::-;446:28;;;;185:297;:::o;88:117:3:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:122::-;1684:24;1702:5;1684:24;:::i;:::-;1677:5;1674:35;1664:63;;1723:1;1720;1713:12;1664:63;1611:122;:::o;1739:139::-;1785:5;1823:6;1810:20;1801:29;;1839:33;1866:5;1839:33;:::i;:::-;1739:139;;;;:::o;1884:329::-;1943:6;1992:2;1980:9;1971:7;1967:23;1963:32;1960:119;;;1998:79;;:::i;:::-;1960:119;2118:1;2143:53;2188:7;2179:6;2168:9;2164:22;2143:53;:::i;:::-;2133:63;;2089:117;1884:329;;;;:::o;2219:118::-;2306:24;2324:5;2306:24;:::i;:::-;2301:3;2294:37;2219:118;;:::o;2343:222::-;2436:4;2474:2;2463:9;2459:18;2451:26;;2487:71;2555:1;2544:9;2540:17;2531:6;2487:71;:::i;:::-;2343:222;;;;:::o;2571:169::-;2655:11;2689:6;2684:3;2677:19;2729:4;2724:3;2720:14;2705:29;;2571:169;;;;:::o;2746:::-;2886:21;2882:1;2874:6;2870:14;2863:45;2746:169;:::o;2921:366::-;3063:3;3084:67;3148:2;3143:3;3084:67;:::i;:::-;3077:74;;3160:93;3249:3;3160:93;:::i;:::-;3278:2;3273:3;3269:12;3262:19;;2921:366;;;:::o;3293:419::-;3459:4;3497:2;3486:9;3482:18;3474:26;;3546:9;3540:4;3536:20;3532:1;3521:9;3517:17;3510:47;3574:131;3700:4;3574:131;:::i;:::-;3566:139;;3293:419;;;:::o;3718:180::-;3766:77;3763:1;3756:88;3863:4;3860:1;3853:15;3887:4;3884:1;3877:15;3904:410;3944:7;3967:20;3985:1;3967:20;:::i;:::-;3962:25;;4001:20;4019:1;4001:20;:::i;:::-;3996:25;;4056:1;4053;4049:9;4078:30;4096:11;4078:30;:::i;:::-;4067:41;;4257:1;4248:7;4244:15;4241:1;4238:22;4218:1;4211:9;4191:83;4168:139;;4287:18;;:::i;:::-;4168:139;3952:362;3904:410;;;;:::o;4320:180::-;4368:77;4365:1;4358:88;4465:4;4462:1;4455:15;4489:4;4486:1;4479:15;4506:185;4546:1;4563:20;4581:1;4563:20;:::i;:::-;4558:25;;4597:20;4615:1;4597:20;:::i;:::-;4592:25;;4636:1;4626:35;;4641:18;;:::i;:::-;4626:35;4683:1;4680;4676:9;4671:14;;4506:185;;;;:::o;4697:105::-;4733:7;4773:22;4766:5;4762:34;4751:45;;4697:105;;;:::o;4808:120::-;4880:23;4897:5;4880:23;:::i;:::-;4873:5;4870:34;4860:62;;4918:1;4915;4908:12;4860:62;4808:120;:::o;4934:141::-;4990:5;5021:6;5015:13;5006:22;;5037:32;5063:5;5037:32;:::i;:::-;4934:141;;;;:::o;5081:76::-;5117:7;5146:5;5135:16;;5081:76;;;:::o;5163:120::-;5235:23;5252:5;5235:23;:::i;:::-;5228:5;5225:34;5215:62;;5273:1;5270;5263:12;5215:62;5163:120;:::o;5289:141::-;5345:5;5376:6;5370:13;5361:22;;5392:32;5418:5;5392:32;:::i;:::-;5289:141;;;;:::o;5436:143::-;5493:5;5524:6;5518:13;5509:22;;5540:33;5567:5;5540:33;:::i;:::-;5436:143;;;;:::o;5585:971::-;5688:6;5696;5704;5712;5720;5769:3;5757:9;5748:7;5744:23;5740:33;5737:120;;;5776:79;;:::i;:::-;5737:120;5896:1;5921:63;5976:7;5967:6;5956:9;5952:22;5921:63;:::i;:::-;5911:73;;5867:127;6033:2;6059:63;6114:7;6105:6;6094:9;6090:22;6059:63;:::i;:::-;6049:73;;6004:128;6171:2;6197:64;6253:7;6244:6;6233:9;6229:22;6197:64;:::i;:::-;6187:74;;6142:129;6310:2;6336:64;6392:7;6383:6;6372:9;6368:22;6336:64;:::i;:::-;6326:74;;6281:129;6449:3;6476:63;6531:7;6522:6;6511:9;6507:22;6476:63;:::i;:::-;6466:73;;6420:129;5585:971;;;;;;;;:::o;6562:556::-;6601:7;6624:19;6641:1;6624:19;:::i;:::-;6619:24;;6657:19;6674:1;6657:19;:::i;:::-;6652:24;;6711:1;6708;6704:9;6733:29;6750:11;6733:29;:::i;:::-;6722:40;;6820:66;6817:1;6814:73;6810:1;6807;6803:9;6799:89;6796:115;;;6891:18;;:::i;:::-;6796:115;7061:1;7052:7;7047:16;7044:1;7041:23;7021:1;7014:9;6994:84;6971:140;;7091:18;;:::i;:::-;6971:140;6609:509;6562:556;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "381600", | |
"executionCost": "22524", | |
"totalCost": "404124" | |
}, | |
"external": { | |
"addressToAmountFunded(address)": "2792", | |
"fund()": "infinite", | |
"funders(uint256)": "4978", | |
"minUSD()": "2473" | |
} | |
}, | |
"methodIdentifiers": { | |
"addressToAmountFunded(address)": "3e47d6f3", | |
"fund()": "b60d4288", | |
"funders(uint256)": "dc0d3dff", | |
"minUSD()": "dc992aa0" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "addressToAmountFunded", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "fund", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "funders", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "minUSD", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
] | |
} |
This file contains 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
{ | |
"compiler": { | |
"version": "0.8.18+commit.87f61d96" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"name": "addressToAmountFunded", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "fund", | |
"outputs": [], | |
"stateMutability": "payable", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"name": "funders", | |
"outputs": [ | |
{ | |
"internalType": "address", | |
"name": "", | |
"type": "address" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "minUSD", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/FundMe.sol": "FundMe" | |
}, | |
"evmVersion": "paris", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"keccak256": "0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7", | |
"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c" | |
] | |
}, | |
"contracts/FundMe.sol": { | |
"keccak256": "0x73ee703e0816645e1999fc75d00d5d2c9f421cf8fe92863eca56959d64db9850", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://4ff6a14a44eeeb5bba218ac2cc2b9634169868b5909084c6c9b28455c386e8aa", | |
"dweb:/ipfs/QmWVZaoSKqedkPSSY7p3Stz47TjaamCyQegwJnaTivJ2MK" | |
] | |
}, | |
"contracts/PriceConverter.sol": { | |
"keccak256": "0xf54d2263c7f054f4f7a1e80356ff163499f3a30ea32a8f36744c17571e570d87", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://8def90f0065d4da0a17f82cc957c8325edf870f5bfa8af9fbd341e8cbb5fefe5", | |
"dweb:/ipfs/QmV782ja45EvDK1aCzf1k3tu9CKFeBsjAPmnYq237JZpSh" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains 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": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033", | |
"opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xBD 0xC3 XOR SWAP14 SWAP9 SWAP8 0x5D 0xC5 CALLDATALOAD 0xDF 0x4A PUSH12 0x7E965B3E6A78CB58F353E34D 0xF9 CALL 0xD8 PUSH22 0x10D8F664736F6C634300081200330000000000000000 ", | |
"sourceMap": "140:579:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": {}, | |
"generatedSources": [], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122095bdc3189d98975dc535df4a6b7e965b3e6a78cb58f353e34df9f1d87510d8f664736f6c63430008120033", | |
"opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xBD 0xC3 XOR SWAP14 SWAP9 SWAP8 0x5D 0xC5 CALLDATALOAD 0xDF 0x4A PUSH12 0x7E965B3E6A78CB58F353E34D 0xF9 CALL 0xD8 PUSH22 0x10D8F664736F6C634300081200330000000000000000 ", | |
"sourceMap": "140:579:1:-:0;;;;;;;;" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "17200", | |
"executionCost": "97", | |
"totalCost": "17297" | |
}, | |
"internal": { | |
"getConversionRate(uint256)": "infinite", | |
"getPrice()": "infinite" | |
} | |
}, | |
"methodIdentifiers": {} | |
}, | |
"abi": [] | |
} |
This file contains 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
{ | |
"compiler": { | |
"version": "0.8.18+commit.87f61d96" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"contracts/PriceConverter.sol": "PriceConverter" | |
}, | |
"evmVersion": "paris", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"keccak256": "0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7", | |
"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c" | |
] | |
}, | |
"contracts/PriceConverter.sol": { | |
"keccak256": "0xf54d2263c7f054f4f7a1e80356ff163499f3a30ea32a8f36744c17571e570d87", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://8def90f0065d4da0a17f82cc957c8325edf870f5bfa8af9fbd341e8cbb5fefe5", | |
"dweb:/ipfs/QmV782ja45EvDK1aCzf1k3tu9CKFeBsjAPmnYq237JZpSh" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains 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
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.8; | |
import "./PriceConverter.sol"; | |
contract FundMe{ | |
using PriceConverter for uint256; | |
uint public minUSD = 50 * 1e18; | |
address[] public funders; | |
mapping (address=>uint256) public addressToAmountFunded; | |
function fund() public payable { | |
require(msg.value.getConversionRate() >= minUSD, "Didn't send enough!"); | |
funders.push(msg.sender); | |
addressToAmountFunded[msg.sender] = msg.value; | |
} | |
} |
This file contains 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
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.8; | |
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol"; | |
library PriceConverter{ | |
function getPrice() internal view returns (uint256) { | |
AggregatorV3Interface dataFeed = AggregatorV3Interface(0x694AA1769357215DE4FAC081bf1f309aDC325306); | |
(/*uint80*/, int price, /*uint*/, /*uint*/, /*uint80*/) = dataFeed.latestRoundData(); | |
return uint256(price * 1e10); | |
} | |
function getConversionRate(uint256 ethAmount) internal view returns (uint256){ | |
uint256 ethPrice = getPrice(); | |
uint256 ethAmountInUSD = (ethPrice * ethAmount) / 1e18; | |
return ethAmountInUSD; | |
} | |
} |
This file contains 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
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.8; |
This file contains 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
{ | |
"id": "9433843344741b942330870533b83a47", | |
"_format": "hh-sol-build-info-1", | |
"solcVersion": "0.8.18", | |
"solcLongVersion": "0.8.18+commit.87f61d96", | |
"input": { | |
"language": "Solidity", | |
"sources": { | |
"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol": { | |
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.7;\n\nimport \"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\";\n\n/**\n * THIS IS AN EXAMPLE CONTRACT THAT USES HARDCODED\n * VALUES FOR CLARITY.\n * THIS IS AN EXAMPLE CONTRACT THAT USES UN-AUDITED CODE.\n * DO NOT USE THIS CODE IN PRODUCTION.\n */\n\n/**\n * If you are reading data feeds on L2 networks, you must\n * check the latest answer from the L2 Sequencer Uptime\n * Feed to ensure that the data is accurate in the event\n * of an L2 sequencer outage. See the\n * https://docs.chain.link/data-feeds/l2-sequencer-feeds\n * page for details.\n */\n\ncontract DataConsumerV3 {\n AggregatorV3Interface internal dataFeed;\n\n /**\n * Network: Sepolia\n * Aggregator: BTC/USD\n * Address: 0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43\n */\n constructor() {\n dataFeed = AggregatorV3Interface(\n 0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43\n );\n }\n\n /**\n * Returns the latest answer.\n */\n function getLatestData() public view returns (int) {\n // prettier-ignore\n (\n /* uint80 roundID */,\n int answer,\n /*uint startedAt*/,\n /*uint timeStamp*/,\n /*uint80 answeredInRound*/\n ) = dataFeed.latestRoundData();\n return answer;\n }\n}\n\n// $26,883.73000000" | |
}, | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface AggregatorV3Interface {\n function decimals() external view returns (uint8);\n\n function description() external view returns (string memory);\n\n function version() external view returns (uint256);\n\n function getRoundData(uint80 _roundId)\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\n );\n\n function latestRoundData()\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\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": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"AggregatorV3Interface": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"name": "decimals", | |
"outputs": [ | |
{ | |
"internalType": "uint8", | |
"name": "", | |
"type": "uint8" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "description", | |
"outputs": [ | |
{ | |
"internalType": "string", | |
"name": "", | |
"type": "string" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "_roundId", | |
"type": "uint80" | |
} | |
], | |
"name": "getRoundData", | |
"outputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "roundId", | |
"type": "uint80" | |
}, | |
{ | |
"internalType": "int256", | |
"name": "answer", | |
"type": "int256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "startedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "updatedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint80", | |
"name": "answeredInRound", | |
"type": "uint80" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "latestRoundData", | |
"outputs": [ | |
{ | |
"internalType": "uint80", | |
"name": "roundId", | |
"type": "uint80" | |
}, | |
{ | |
"internalType": "int256", | |
"name": "answer", | |
"type": "int256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "startedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint256", | |
"name": "updatedAt", | |
"type": "uint256" | |
}, | |
{ | |
"internalType": "uint80", | |
"name": "answeredInRound", | |
"type": "uint80" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
}, | |
{ | |
"inputs": [], | |
"name": "version", | |
"outputs": [ | |
{ | |
"internalType": "uint256", | |
"name": "", | |
"type": "uint256" | |
} | |
], | |
"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": { | |
"decimals()": "313ce567", | |
"description()": "7284e416", | |
"getRoundData(uint80)": "9a6fc8f5", | |
"latestRoundData()": "feaf968c", | |
"version()": "54fd4d50" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_roundId\",\"type\":\"uint80\"}],\"name\":\"getRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":\"AggregatorV3Interface\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [], | |
"types": null | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": {}, | |
"version": 1 | |
} | |
} | |
}, | |
"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol": { | |
"DataConsumerV3": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "getLatestData", | |
"outputs": [ | |
{ | |
"internalType": "int256", | |
"name": "", | |
"type": "int256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"evm": { | |
"assembly": " /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":611:1319 contract DataConsumerV3 {... */\n mstore(0x40, 0x80)\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":813:942 constructor() {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":883:925 0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43 */\n 0x1b44f3514812d835eb1bdb0acb33d3fa3351ee43\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":837:845 dataFeed */\n 0x00\n dup1\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":837:935 dataFeed = AggregatorV3Interface(... */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":611:1319 contract DataConsumerV3 {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":611:1319 contract DataConsumerV3 {... */\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 0xab757d61\n eq\n tag_3\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":998:1317 function getLatestData() public view returns (int) {... */\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 /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":1044:1047 int */\n 0x00\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":1134:1144 int answer */\n dup1\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":1261:1269 dataFeed */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":1261:1285 dataFeed.latestRoundData */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xfeaf968c\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":1261:1287 dataFeed.latestRoundData() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0xa0\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_10\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_10:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":1086:1287 (... */\n pop\n pop\n pop\n swap2\n pop\n pop\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":1304:1310 answer */\n dup1\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":1297:1310 return answer */\n swap2\n pop\n pop\n /* \"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":998:1317 function getLatestData() public view returns (int) {... */\n swap1\n jump\t// out\n /* \"#utility.yul\":7:83 */\n tag_13:\n /* \"#utility.yul\":43:50 */\n 0x00\n /* \"#utility.yul\":72:77 */\n dup2\n /* \"#utility.yul\":61:77 */\n swap1\n pop\n /* \"#utility.yul\":7:83 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":89:204 */\n tag_14:\n /* \"#utility.yul\":174:197 */\n tag_29\n /* \"#utility.yul\":191:196 */\n dup2\n /* \"#utility.yul\":174:197 */\n tag_13\n jump\t// in\n tag_29:\n /* \"#utility.yul\":169:172 */\n dup3\n /* \"#utility.yul\":162:198 */\n mstore\n /* \"#utility.yul\":89:204 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":210:428 */\n tag_7:\n /* \"#utility.yul\":301:305 */\n 0x00\n /* \"#utility.yul\":339:341 */\n 0x20\n /* \"#utility.yul\":328:337 */\n dup3\n /* \"#utility.yul\":324:342 */\n add\n /* \"#utility.yul\":316:342 */\n swap1\n pop\n /* \"#utility.yul\":352:421 */\n tag_31\n /* \"#utility.yul\":418:419 */\n 0x00\n /* \"#utility.yul\":407:416 */\n dup4\n /* \"#utility.yul\":403:420 */\n add\n /* \"#utility.yul\":394:400 */\n dup5\n /* \"#utility.yul\":352:421 */\n tag_14\n jump\t// in\n tag_31:\n /* \"#utility.yul\":210:428 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":515:632 */\n tag_16:\n /* \"#utility.yul\":624:625 */\n 0x00\n /* \"#utility.yul\":621:622 */\n dup1\n /* \"#utility.yul\":614:626 */\n revert\n /* \"#utility.yul\":761:866 */\n tag_18:\n /* \"#utility.yul\":797:804 */\n 0x00\n /* \"#utility.yul\":837:859 */\n 0xffffffffffffffffffff\n /* \"#utility.yul\":830:835 */\n dup3\n /* \"#utility.yul\":826:860 */\n and\n /* \"#utility.yul\":815:860 */\n swap1\n pop\n /* \"#utility.yul\":761:866 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":872:992 */\n tag_19:\n /* \"#utility.yul\":944:967 */\n tag_37\n /* \"#utility.yul\":961:966 */\n dup2\n /* \"#utility.yul\":944:967 */\n tag_18\n jump\t// in\n tag_37:\n /* \"#utility.yul\":937:942 */\n dup2\n /* \"#utility.yul\":934:968 */\n eq\n /* \"#utility.yul\":924:986 */\n tag_38\n jumpi\n /* \"#utility.yul\":982:983 */\n 0x00\n /* \"#utility.yul\":979:980 */\n dup1\n /* \"#utility.yul\":972:984 */\n revert\n /* \"#utility.yul\":924:986 */\n tag_38:\n /* \"#utility.yul\":872:992 */\n pop\n jump\t// out\n /* \"#utility.yul\":998:1139 */\n tag_20:\n /* \"#utility.yul\":1054:1059 */\n 0x00\n /* \"#utility.yul\":1085:1091 */\n dup2\n /* \"#utility.yul\":1079:1092 */\n mload\n /* \"#utility.yul\":1070:1092 */\n swap1\n pop\n /* \"#utility.yul\":1101:1133 */\n tag_40\n /* \"#utility.yul\":1127:1132 */\n dup2\n /* \"#utility.yul\":1101:1133 */\n tag_19\n jump\t// in\n tag_40:\n /* \"#utility.yul\":998:1139 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1145:1265 */\n tag_21:\n /* \"#utility.yul\":1217:1240 */\n tag_42\n /* \"#utility.yul\":1234:1239 */\n dup2\n /* \"#utility.yul\":1217:1240 */\n tag_13\n jump\t// in\n tag_42:\n /* \"#utility.yul\":1210:1215 */\n dup2\n /* \"#utility.yul\":1207:1241 */\n eq\n /* \"#utility.yul\":1197:1259 */\n tag_43\n jumpi\n /* \"#utility.yul\":1255:1256 */\n 0x00\n /* \"#utility.yul\":1252:1253 */\n dup1\n /* \"#utility.yul\":1245:1257 */\n revert\n /* \"#utility.yul\":1197:1259 */\n tag_43:\n /* \"#utility.yul\":1145:1265 */\n pop\n jump\t// out\n /* \"#utility.yul\":1271:1412 */\n tag_22:\n /* \"#utility.yul\":1327:1332 */\n 0x00\n /* \"#utility.yul\":1358:1364 */\n dup2\n /* \"#utility.yul\":1352:1365 */\n mload\n /* \"#utility.yul\":1343:1365 */\n swap1\n pop\n /* \"#utility.yul\":1374:1406 */\n tag_45\n /* \"#utility.yul\":1400:1405 */\n dup2\n /* \"#utility.yul\":1374:1406 */\n tag_21\n jump\t// in\n tag_45:\n /* \"#utility.yul\":1271:1412 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1418:1495 */\n tag_23:\n /* \"#utility.yul\":1455:1462 */\n 0x00\n /* \"#utility.yul\":1484:1489 */\n dup2\n /* \"#utility.yul\":1473:1489 */\n swap1\n pop\n /* \"#utility.yul\":1418:1495 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1501:1623 */\n tag_24:\n /* \"#utility.yul\":1574:1598 */\n tag_48\n /* \"#utility.yul\":1592:1597 */\n dup2\n /* \"#utility.yul\":1574:1598 */\n tag_23\n jump\t// in\n tag_48:\n /* \"#utility.yul\":1567:1572 */\n dup2\n /* \"#utility.yul\":1564:1599 */\n eq\n /* \"#utility.yul\":1554:1617 */\n tag_49\n jumpi\n /* \"#utility.yul\":1613:1614 */\n 0x00\n /* \"#utility.yul\":1610:1611 */\n dup1\n /* \"#utility.yul\":1603:1615 */\n revert\n /* \"#utility.yul\":1554:1617 */\n tag_49:\n /* \"#utility.yul\":1501:1623 */\n pop\n jump\t// out\n /* \"#utility.yul\":1629:1772 */\n tag_25:\n /* \"#utility.yul\":1686:1691 */\n 0x00\n /* \"#utility.yul\":1717:1723 */\n dup2\n /* \"#utility.yul\":1711:1724 */\n mload\n /* \"#utility.yul\":1702:1724 */\n swap1\n pop\n /* \"#utility.yul\":1733:1766 */\n tag_51\n /* \"#utility.yul\":1760:1765 */\n dup2\n /* \"#utility.yul\":1733:1766 */\n tag_24\n jump\t// in\n tag_51:\n /* \"#utility.yul\":1629:1772 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1778:2749 */\n tag_12:\n /* \"#utility.yul\":1881:1887 */\n 0x00\n /* \"#utility.yul\":1889:1895 */\n dup1\n /* \"#utility.yul\":1897:1903 */\n 0x00\n /* \"#utility.yul\":1905:1911 */\n dup1\n /* \"#utility.yul\":1913:1919 */\n 0x00\n /* \"#utility.yul\":1962:1965 */\n 0xa0\n /* \"#utility.yul\":1950:1959 */\n dup7\n /* \"#utility.yul\":1941:1948 */\n dup9\n /* \"#utility.yul\":1937:1960 */\n sub\n /* \"#utility.yul\":1933:1966 */\n slt\n /* \"#utility.yul\":1930:2050 */\n iszero\n tag_53\n jumpi\n /* \"#utility.yul\":1969:2048 */\n tag_54\n tag_16\n jump\t// in\n tag_54:\n /* \"#utility.yul\":1930:2050 */\n tag_53:\n /* \"#utility.yul\":2089:2090 */\n 0x00\n /* \"#utility.yul\":2114:2177 */\n tag_55\n /* \"#utility.yul\":2169:2176 */\n dup9\n /* \"#utility.yul\":2160:2166 */\n dup3\n /* \"#utility.yul\":2149:2158 */\n dup10\n /* \"#utility.yul\":2145:2167 */\n add\n /* \"#utility.yul\":2114:2177 */\n tag_20\n jump\t// in\n tag_55:\n /* \"#utility.yul\":2104:2177 */\n swap6\n pop\n /* \"#utility.yul\":2060:2187 */\n pop\n /* \"#utility.yul\":2226:2228 */\n 0x20\n /* \"#utility.yul\":2252:2315 */\n tag_56\n /* \"#utility.yul\":2307:2314 */\n dup9\n /* \"#utility.yul\":2298:2304 */\n dup3\n /* \"#utility.yul\":2287:2296 */\n dup10\n /* \"#utility.yul\":2283:2305 */\n add\n /* \"#utility.yul\":2252:2315 */\n tag_22\n jump\t// in\n tag_56:\n /* \"#utility.yul\":2242:2315 */\n swap5\n pop\n /* \"#utility.yul\":2197:2325 */\n pop\n /* \"#utility.yul\":2364:2366 */\n 0x40\n /* \"#utility.yul\":2390:2454 */\n tag_57\n /* \"#utility.yul\":2446:2453 */\n dup9\n /* \"#utility.yul\":2437:2443 */\n dup3\n /* \"#utility.yul\":2426:2435 */\n dup10\n /* \"#utility.yul\":2422:2444 */\n add\n /* \"#utility.yul\":2390:2454 */\n tag_25\n jump\t// in\n tag_57:\n /* \"#utility.yul\":2380:2454 */\n swap4\n pop\n /* \"#utility.yul\":2335:2464 */\n pop\n /* \"#utility.yul\":2503:2505 */\n 0x60\n /* \"#utility.yul\":2529:2593 */\n tag_58\n /* \"#utility.yul\":2585:2592 */\n dup9\n /* \"#utility.yul\":2576:2582 */\n dup3\n /* \"#utility.yul\":2565:2574 */\n dup10\n /* \"#utility.yul\":2561:2583 */\n add\n /* \"#utility.yul\":2529:2593 */\n tag_25\n jump\t// in\n tag_58:\n /* \"#utility.yul\":2519:2593 */\n swap3\n pop\n /* \"#utility.yul\":2474:2603 */\n pop\n /* \"#utility.yul\":2642:2645 */\n 0x80\n /* \"#utility.yul\":2669:2732 */\n tag_59\n /* \"#utility.yul\":2724:2731 */\n dup9\n /* \"#utility.yul\":2715:2721 */\n dup3\n /* \"#utility.yul\":2704:2713 */\n dup10\n /* \"#utility.yul\":2700:2722 */\n add\n /* \"#utility.yul\":2669:2732 */\n tag_20\n jump\t// in\n tag_59:\n /* \"#utility.yul\":2659:2732 */\n swap2\n pop\n /* \"#utility.yul\":2613:2742 */\n pop\n /* \"#utility.yul\":1778:2749 */\n swap3\n swap6\n pop\n swap3\n swap6\n swap1\n swap4\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122079a62f9810002aac98dbf060a2ba7c57c7f4813f0579264efcd5857c4810ddd364736f6c63430008120033\n}\n", | |
"bytecode": { | |
"functionDebugData": { | |
"@_63": { | |
"entryPoint": null, | |
"id": 63, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50731b44f3514812d835eb1bdb0acb33d3fa3351ee436000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061027b806100746000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab757d6114610030575b600080fd5b61003861004e565b6040516100459190610106565b60405180910390f35b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e091906101ca565b5050509150508091505090565b6000819050919050565b610100816100ed565b82525050565b600060208201905061011b60008301846100f7565b92915050565b600080fd5b600069ffffffffffffffffffff82169050919050565b61014581610126565b811461015057600080fd5b50565b6000815190506101628161013c565b92915050565b610171816100ed565b811461017c57600080fd5b50565b60008151905061018e81610168565b92915050565b6000819050919050565b6101a781610194565b81146101b257600080fd5b50565b6000815190506101c48161019e565b92915050565b600080600080600060a086880312156101e6576101e5610121565b5b60006101f488828901610153565b95505060206102058882890161017f565b9450506040610216888289016101b5565b9350506060610227888289016101b5565b925050608061023888828901610153565b915050929550929590935056fea264697066735822122079a62f9810002aac98dbf060a2ba7c57c7f4813f0579264efcd5857c4810ddd364736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0x1B44F3514812D835EB1BDB0ACB33D3FA3351EE43 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x27B DUP1 PUSH2 0x74 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAB757D61 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x1CA JUMP JUMPDEST POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x100 DUP2 PUSH2 0xED JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x11B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x145 DUP2 PUSH2 0x126 JUMP JUMPDEST DUP2 EQ PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x162 DUP2 PUSH2 0x13C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x171 DUP2 PUSH2 0xED JUMP JUMPDEST DUP2 EQ PUSH2 0x17C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x18E DUP2 PUSH2 0x168 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1A7 DUP2 PUSH2 0x194 JUMP JUMPDEST DUP2 EQ PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C4 DUP2 PUSH2 0x19E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1E6 JUMPI PUSH2 0x1E5 PUSH2 0x121 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F4 DUP9 DUP3 DUP10 ADD PUSH2 0x153 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x205 DUP9 DUP3 DUP10 ADD PUSH2 0x17F JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x216 DUP9 DUP3 DUP10 ADD PUSH2 0x1B5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x227 DUP9 DUP3 DUP10 ADD PUSH2 0x1B5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x238 DUP9 DUP3 DUP10 ADD PUSH2 0x153 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0xA62F9810002AAC98DBF060A2BA7C57C7F4813F0579264EFCD585 PUSH29 0x4810DDD364736F6C634300081200330000000000000000000000000000 ", | |
"sourceMap": "611:708:1:-:0;;;813:129;;;;;;;;;;883:42;837:8;;:98;;;;;;;;;;;;;;;;;;611:708;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@getLatestData_78": { | |
"entryPoint": 78, | |
"id": 78, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_int256_fromMemory": { | |
"entryPoint": 383, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 437, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint80_fromMemory": { | |
"entryPoint": 339, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory": { | |
"entryPoint": 458, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 5 | |
}, | |
"abi_encode_t_int256_to_t_int256_fromStack": { | |
"entryPoint": 247, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": { | |
"entryPoint": 262, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_int256": { | |
"entryPoint": 237, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 404, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint80": { | |
"entryPoint": 294, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 289, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_int256": { | |
"entryPoint": 360, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 414, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint80": { | |
"entryPoint": 316, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:2752:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "51:32:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "61:16:2", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "72:5:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "61:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "33:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "43:7:2", | |
"type": "" | |
} | |
], | |
"src": "7:76:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "152:52:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "169:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "191:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "174:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "174:23:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "162:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "162:36:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "162:36:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_int256_to_t_int256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "140:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "147:3:2", | |
"type": "" | |
} | |
], | |
"src": "89:115:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "306:122:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "316:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "328:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "339:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "324:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "324:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "316:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "394:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "407:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "418:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "403:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "403:17:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_int256_to_t_int256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "352:41:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "352:69:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "352:69:2" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "278:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "290:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "301:4:2", | |
"type": "" | |
} | |
], | |
"src": "210:218:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "474:35:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "484:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "500:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "494:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "494:9:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "484:6:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "467:6:2", | |
"type": "" | |
} | |
], | |
"src": "434:75:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "604:28:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "621:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "624:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "614:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "614:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "614:12:2" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "515:117:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "727:28:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "744:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "747:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "737:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "737:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "737:12:2" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "638:117:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "805:61:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "815:45:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "830:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "837:22:2", | |
"type": "", | |
"value": "0xffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "826:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "826:34:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "815:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint80", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "787:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "797:7:2", | |
"type": "" | |
} | |
], | |
"src": "761:105:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "914:78:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "970:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "979:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "982:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "972:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "972:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "972:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "937:5:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "961:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint80", | |
"nodeType": "YulIdentifier", | |
"src": "944:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "944:23:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "934:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "934:34:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "927:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "927:42:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "924:62:2" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint80", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "907:5:2", | |
"type": "" | |
} | |
], | |
"src": "872:120:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1060:79:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1070:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1085:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "1079:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1079:13:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1070:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1127:5:2" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint80", | |
"nodeType": "YulIdentifier", | |
"src": "1101:25:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1101:32:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1101:32:2" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1038:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1046:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1054:5:2", | |
"type": "" | |
} | |
], | |
"src": "998:141:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1187:78:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1243:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1252:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1255:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1245:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1245:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1245:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1210:5:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1234:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "1217:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:23:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1207:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1207:34:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1200:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1200:42:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1197:62:2" | |
} | |
] | |
}, | |
"name": "validator_revert_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1180:5:2", | |
"type": "" | |
} | |
], | |
"src": "1145:120:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1333:79:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1343:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1358:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "1352:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1352:13:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1343:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1400:5:2" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "1374:25:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1374:32:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1374:32:2" | |
} | |
] | |
}, | |
"name": "abi_decode_t_int256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1311:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1319:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1327:5:2", | |
"type": "" | |
} | |
], | |
"src": "1271:141:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1463:32:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1473:16:2", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1484:5:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1473:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1445:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1455:7:2", | |
"type": "" | |
} | |
], | |
"src": "1418:77:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1544:79:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1601:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1610:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1613:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1603:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1603:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1603:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1567:5:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1592:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1574:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1574:24:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1564:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1564:35:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1557:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1557:43:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1554:63:2" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1537:5:2", | |
"type": "" | |
} | |
], | |
"src": "1501:122:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1692:80:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1702:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1717:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "1711:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1711:13:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1702:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1760:5:2" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1733:26:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1733:33:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1733:33:2" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1670:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1678:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1686:5:2", | |
"type": "" | |
} | |
], | |
"src": "1629:143:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1920:829:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1967:83:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1969:77:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1969:79:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1969:79:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1941:7:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1950:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1937:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1937:23:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1962:3:2", | |
"type": "", | |
"value": "160" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1933:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1933:33:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1930:120:2" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2060:127:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2075:15:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2089:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2079:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2104:73:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2149:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2160:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2145:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2145:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2169:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2114:30:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2114:63:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2104:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2197:128:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2212:16:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2226:2:2", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2216:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2242:73:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2287:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2298:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2283:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2283:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2307:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_int256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2252:30:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2252:63:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2242:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2335:129:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2350:16:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2364:2:2", | |
"type": "", | |
"value": "64" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2354:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2380:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2426:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2437:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2422:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2422:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2446:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2390:31:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2390:64:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "2380:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2474:129:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2489:16:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2503:2:2", | |
"type": "", | |
"value": "96" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2493:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2519:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2565:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2576:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2561:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2561:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2585:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2529:31:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2529:64:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "2519:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2613:129:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2628:17:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2642:3:2", | |
"type": "", | |
"value": "128" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2632:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2659:73:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2704:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2715:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2700:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2700:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2724:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2669:30:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2669:63:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value4", | |
"nodeType": "YulIdentifier", | |
"src": "2659:6:2" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1858:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1869:7:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1881:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1889:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "1897:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "1905:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value4", | |
"nodeType": "YulTypedName", | |
"src": "1913:6:2", | |
"type": "" | |
} | |
], | |
"src": "1778:971:2" | |
} | |
] | |
}, | |
"contents": "{\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint80(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffff)\n }\n\n function validator_revert_t_uint80(value) {\n if iszero(eq(value, cleanup_t_uint80(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint80_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint80(value)\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_int256(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", | |
"id": 2, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab757d6114610030575b600080fd5b61003861004e565b6040516100459190610106565b60405180910390f35b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e091906101ca565b5050509150508091505090565b6000819050919050565b610100816100ed565b82525050565b600060208201905061011b60008301846100f7565b92915050565b600080fd5b600069ffffffffffffffffffff82169050919050565b61014581610126565b811461015057600080fd5b50565b6000815190506101628161013c565b92915050565b610171816100ed565b811461017c57600080fd5b50565b60008151905061018e81610168565b92915050565b6000819050919050565b6101a781610194565b81146101b257600080fd5b50565b6000815190506101c48161019e565b92915050565b600080600080600060a086880312156101e6576101e5610121565b5b60006101f488828901610153565b95505060206102058882890161017f565b9450506040610216888289016101b5565b9350506060610227888289016101b5565b925050608061023888828901610153565b915050929550929590935056fea264697066735822122079a62f9810002aac98dbf060a2ba7c57c7f4813f0579264efcd5857c4810ddd364736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAB757D61 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x1CA JUMP JUMPDEST POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x100 DUP2 PUSH2 0xED JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x11B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x145 DUP2 PUSH2 0x126 JUMP JUMPDEST DUP2 EQ PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x162 DUP2 PUSH2 0x13C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x171 DUP2 PUSH2 0xED JUMP JUMPDEST DUP2 EQ PUSH2 0x17C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x18E DUP2 PUSH2 0x168 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1A7 DUP2 PUSH2 0x194 JUMP JUMPDEST DUP2 EQ PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C4 DUP2 PUSH2 0x19E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1E6 JUMPI PUSH2 0x1E5 PUSH2 0x121 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F4 DUP9 DUP3 DUP10 ADD PUSH2 0x153 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x205 DUP9 DUP3 DUP10 ADD PUSH2 0x17F JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x216 DUP9 DUP3 DUP10 ADD PUSH2 0x1B5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x227 DUP9 DUP3 DUP10 ADD PUSH2 0x1B5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x238 DUP9 DUP3 DUP10 ADD PUSH2 0x153 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0xA62F9810002AAC98DBF060A2BA7C57C7F4813F0579264EFCD585 PUSH29 0x4810DDD364736F6C634300081200330000000000000000000000000000 ", | |
"sourceMap": "611:708:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;998:319;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;1044:3;1134:10;1261:8;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1086:201;;;;;;1304:6;1297:13;;;998:319;:::o;7:76:2:-;43:7;72:5;61:16;;7:76;;;:::o;89:115::-;174:23;191:5;174:23;:::i;:::-;169:3;162:36;89:115;;:::o;210:218::-;301:4;339:2;328:9;324:18;316:26;;352:69;418:1;407:9;403:17;394:6;352:69;:::i;:::-;210:218;;;;:::o;515:117::-;624:1;621;614:12;761:105;797:7;837:22;830:5;826:34;815:45;;761:105;;;:::o;872:120::-;944:23;961:5;944:23;:::i;:::-;937:5;934:34;924:62;;982:1;979;972:12;924:62;872:120;:::o;998:141::-;1054:5;1085:6;1079:13;1070:22;;1101:32;1127:5;1101:32;:::i;:::-;998:141;;;;:::o;1145:120::-;1217:23;1234:5;1217:23;:::i;:::-;1210:5;1207:34;1197:62;;1255:1;1252;1245:12;1197:62;1145:120;:::o;1271:141::-;1327:5;1358:6;1352:13;1343:22;;1374:32;1400:5;1374:32;:::i;:::-;1271:141;;;;:::o;1418:77::-;1455:7;1484:5;1473:16;;1418:77;;;:::o;1501:122::-;1574:24;1592:5;1574:24;:::i;:::-;1567:5;1564:35;1554:63;;1613:1;1610;1603:12;1554:63;1501:122;:::o;1629:143::-;1686:5;1717:6;1711:13;1702:22;;1733:33;1760:5;1733:33;:::i;:::-;1629:143;;;;:::o;1778:971::-;1881:6;1889;1897;1905;1913;1962:3;1950:9;1941:7;1937:23;1933:33;1930:120;;;1969:79;;:::i;:::-;1930:120;2089:1;2114:63;2169:7;2160:6;2149:9;2145:22;2114:63;:::i;:::-;2104:73;;2060:127;2226:2;2252:63;2307:7;2298:6;2287:9;2283:22;2252:63;:::i;:::-;2242:73;;2197:128;2364:2;2390:64;2446:7;2437:6;2426:9;2422:22;2390:64;:::i;:::-;2380:74;;2335:129;2503:2;2529:64;2585:7;2576:6;2565:9;2561:22;2529:64;:::i;:::-;2519:74;;2474:129;2642:3;2669:63;2724:7;2715:6;2704:9;2700:22;2669:63;:::i;:::-;2659:73;;2613:129;1778:971;;;;;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "127000", | |
"executionCost": "24438", | |
"totalCost": "151438" | |
}, | |
"external": { | |
"getLatestData()": "infinite" | |
} | |
}, | |
"legacyAssembly": { | |
".code": [ | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "80" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "CALLVALUE", | |
"source": 1 | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "tag", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 813, | |
"end": 942, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 883, | |
"end": 925, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1B44F3514812D835EB1BDB0ACB33D3FA3351EE43" | |
}, | |
{ | |
"begin": 837, | |
"end": 845, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 837, | |
"end": 845, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "PUSH", | |
"source": 1, | |
"value": "100" | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "EXP", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "MUL", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "NOT", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "MUL", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "OR", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "SSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 837, | |
"end": 935, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH #[$]", | |
"source": 1, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH [$]", | |
"source": 1, | |
"value": "0000000000000000000000000000000000000000000000000000000000000000" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "CODECOPY", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "RETURN", | |
"source": 1 | |
} | |
], | |
".data": { | |
"0": { | |
".auxdata": "a264697066735822122079a62f9810002aac98dbf060a2ba7c57c7f4813f0579264efcd5857c4810ddd364736f6c63430008120033", | |
".code": [ | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "80" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "CALLVALUE", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "tag", | |
"source": 1, | |
"value": "1" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "CALLDATASIZE", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "LT", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "CALLDATALOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "E0" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "SHR", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "AB757D61" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "EQ", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "3" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "tag", | |
"source": 1, | |
"value": "2" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 611, | |
"end": 1319, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "tag", | |
"source": 1, | |
"value": "3" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "5" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "tag", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "6" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "7" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "tag", | |
"source": 1, | |
"value": "6" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "RETURN", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "tag", | |
"source": 1, | |
"value": "5" | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1044, | |
"end": 1047, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1134, | |
"end": 1144, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "SLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "PUSH", | |
"source": 1, | |
"value": "100" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "EXP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "DIV", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1269, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1285, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1285, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1285, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FEAF968C" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "FFFFFFFF" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "E0" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "SHL", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "4" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "A0" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP4", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "SUB", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP7", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "GAS", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "STATICCALL", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "ISZERO", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "10" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "JUMPI", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "RETURNDATASIZE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "RETURNDATACOPY", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "RETURNDATASIZE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "0" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "REVERT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "tag", | |
"source": 1, | |
"value": "10" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "MLOAD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "RETURNDATASIZE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "NOT", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "1F" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "AND", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP3", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH", | |
"source": 1, | |
"value": "40" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "MSTORE", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "DUP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "ADD", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "PUSH [tag]", | |
"source": 1, | |
"value": "12" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "tag", | |
"source": 1, | |
"value": "11" | |
}, | |
{ | |
"begin": 1261, | |
"end": 1287, | |
"name": "JUMPDEST", | |
"source": 1 | |
}, | |
{ | |
"begin": 1086, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1086, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1086, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1086, | |
"end": 1287, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1086, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1086, | |
"end": 1287, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1304, | |
"end": 1310, | |
"name": "DUP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 1297, | |
"end": 1310, | |
"name": "SWAP2", | |
"source": 1 | |
}, | |
{ | |
"begin": 1297, | |
"end": 1310, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 1297, | |
"end": 1310, | |
"name": "POP", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"name": "SWAP1", | |
"source": 1 | |
}, | |
{ | |
"begin": 998, | |
"end": 1317, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 1 | |
}, | |
{ | |
"begin": 7, | |
"end": 83, | |
"name": "tag", | |
"source": 2, | |
"value": "13" | |
}, | |
{ | |
"begin": 7, | |
"end": 83, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 43, | |
"end": 50, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 72, | |
"end": 77, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 61, | |
"end": 77, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 61, | |
"end": 77, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 7, | |
"end": 83, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 7, | |
"end": 83, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 7, | |
"end": 83, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 7, | |
"end": 83, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 89, | |
"end": 204, | |
"name": "tag", | |
"source": 2, | |
"value": "14" | |
}, | |
{ | |
"begin": 89, | |
"end": 204, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 174, | |
"end": 197, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "29" | |
}, | |
{ | |
"begin": 191, | |
"end": 196, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 174, | |
"end": 197, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "13" | |
}, | |
{ | |
"begin": 174, | |
"end": 197, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 174, | |
"end": 197, | |
"name": "tag", | |
"source": 2, | |
"value": "29" | |
}, | |
{ | |
"begin": 174, | |
"end": 197, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 169, | |
"end": 172, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 162, | |
"end": 198, | |
"name": "MSTORE", | |
"source": 2 | |
}, | |
{ | |
"begin": 89, | |
"end": 204, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 89, | |
"end": 204, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 89, | |
"end": 204, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 210, | |
"end": 428, | |
"name": "tag", | |
"source": 2, | |
"value": "7" | |
}, | |
{ | |
"begin": 210, | |
"end": 428, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 301, | |
"end": 305, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 339, | |
"end": 341, | |
"name": "PUSH", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 328, | |
"end": 337, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 324, | |
"end": 342, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 316, | |
"end": 342, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 316, | |
"end": 342, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 352, | |
"end": 421, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "31" | |
}, | |
{ | |
"begin": 418, | |
"end": 419, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 407, | |
"end": 416, | |
"name": "DUP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 403, | |
"end": 420, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 394, | |
"end": 400, | |
"name": "DUP5", | |
"source": 2 | |
}, | |
{ | |
"begin": 352, | |
"end": 421, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "14" | |
}, | |
{ | |
"begin": 352, | |
"end": 421, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 352, | |
"end": 421, | |
"name": "tag", | |
"source": 2, | |
"value": "31" | |
}, | |
{ | |
"begin": 352, | |
"end": 421, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 210, | |
"end": 428, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 210, | |
"end": 428, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 210, | |
"end": 428, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 210, | |
"end": 428, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 210, | |
"end": 428, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 515, | |
"end": 632, | |
"name": "tag", | |
"source": 2, | |
"value": "16" | |
}, | |
{ | |
"begin": 515, | |
"end": 632, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 624, | |
"end": 625, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 621, | |
"end": 622, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 614, | |
"end": 626, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 761, | |
"end": 866, | |
"name": "tag", | |
"source": 2, | |
"value": "18" | |
}, | |
{ | |
"begin": 761, | |
"end": 866, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 797, | |
"end": 804, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 837, | |
"end": 859, | |
"name": "PUSH", | |
"source": 2, | |
"value": "FFFFFFFFFFFFFFFFFFFF" | |
}, | |
{ | |
"begin": 830, | |
"end": 835, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 826, | |
"end": 860, | |
"name": "AND", | |
"source": 2 | |
}, | |
{ | |
"begin": 815, | |
"end": 860, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 815, | |
"end": 860, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 761, | |
"end": 866, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 761, | |
"end": 866, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 761, | |
"end": 866, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 761, | |
"end": 866, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 872, | |
"end": 992, | |
"name": "tag", | |
"source": 2, | |
"value": "19" | |
}, | |
{ | |
"begin": 872, | |
"end": 992, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 944, | |
"end": 967, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "37" | |
}, | |
{ | |
"begin": 961, | |
"end": 966, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 944, | |
"end": 967, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "18" | |
}, | |
{ | |
"begin": 944, | |
"end": 967, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 944, | |
"end": 967, | |
"name": "tag", | |
"source": 2, | |
"value": "37" | |
}, | |
{ | |
"begin": 944, | |
"end": 967, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 937, | |
"end": 942, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 934, | |
"end": 968, | |
"name": "EQ", | |
"source": 2 | |
}, | |
{ | |
"begin": 924, | |
"end": 986, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "38" | |
}, | |
{ | |
"begin": 924, | |
"end": 986, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 982, | |
"end": 983, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 979, | |
"end": 980, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 972, | |
"end": 984, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 924, | |
"end": 986, | |
"name": "tag", | |
"source": 2, | |
"value": "38" | |
}, | |
{ | |
"begin": 924, | |
"end": 986, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 872, | |
"end": 992, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 872, | |
"end": 992, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 998, | |
"end": 1139, | |
"name": "tag", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 998, | |
"end": 1139, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1054, | |
"end": 1059, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1085, | |
"end": 1091, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1079, | |
"end": 1092, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 1070, | |
"end": 1092, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1070, | |
"end": 1092, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1101, | |
"end": 1133, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 1127, | |
"end": 1132, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1101, | |
"end": 1133, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "19" | |
}, | |
{ | |
"begin": 1101, | |
"end": 1133, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1101, | |
"end": 1133, | |
"name": "tag", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 1101, | |
"end": 1133, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 998, | |
"end": 1139, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 998, | |
"end": 1139, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 998, | |
"end": 1139, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 998, | |
"end": 1139, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 998, | |
"end": 1139, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1145, | |
"end": 1265, | |
"name": "tag", | |
"source": 2, | |
"value": "21" | |
}, | |
{ | |
"begin": 1145, | |
"end": 1265, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1240, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "42" | |
}, | |
{ | |
"begin": 1234, | |
"end": 1239, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1240, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "13" | |
}, | |
{ | |
"begin": 1217, | |
"end": 1240, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1217, | |
"end": 1240, | |
"name": "tag", | |
"source": 2, | |
"value": "42" | |
}, | |
{ | |
"begin": 1217, | |
"end": 1240, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1210, | |
"end": 1215, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1207, | |
"end": 1241, | |
"name": "EQ", | |
"source": 2 | |
}, | |
{ | |
"begin": 1197, | |
"end": 1259, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "43" | |
}, | |
{ | |
"begin": 1197, | |
"end": 1259, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 1255, | |
"end": 1256, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1252, | |
"end": 1253, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1245, | |
"end": 1257, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 1197, | |
"end": 1259, | |
"name": "tag", | |
"source": 2, | |
"value": "43" | |
}, | |
{ | |
"begin": 1197, | |
"end": 1259, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1145, | |
"end": 1265, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1145, | |
"end": 1265, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1271, | |
"end": 1412, | |
"name": "tag", | |
"source": 2, | |
"value": "22" | |
}, | |
{ | |
"begin": 1271, | |
"end": 1412, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1327, | |
"end": 1332, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1358, | |
"end": 1364, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1352, | |
"end": 1365, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 1343, | |
"end": 1365, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1343, | |
"end": 1365, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1374, | |
"end": 1406, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "45" | |
}, | |
{ | |
"begin": 1400, | |
"end": 1405, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1374, | |
"end": 1406, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "21" | |
}, | |
{ | |
"begin": 1374, | |
"end": 1406, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1374, | |
"end": 1406, | |
"name": "tag", | |
"source": 2, | |
"value": "45" | |
}, | |
{ | |
"begin": 1374, | |
"end": 1406, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1271, | |
"end": 1412, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 1271, | |
"end": 1412, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1271, | |
"end": 1412, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1271, | |
"end": 1412, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1271, | |
"end": 1412, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1418, | |
"end": 1495, | |
"name": "tag", | |
"source": 2, | |
"value": "23" | |
}, | |
{ | |
"begin": 1418, | |
"end": 1495, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1455, | |
"end": 1462, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1484, | |
"end": 1489, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1473, | |
"end": 1489, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1473, | |
"end": 1489, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1418, | |
"end": 1495, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1418, | |
"end": 1495, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1418, | |
"end": 1495, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1418, | |
"end": 1495, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1501, | |
"end": 1623, | |
"name": "tag", | |
"source": 2, | |
"value": "24" | |
}, | |
{ | |
"begin": 1501, | |
"end": 1623, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1574, | |
"end": 1598, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "48" | |
}, | |
{ | |
"begin": 1592, | |
"end": 1597, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1574, | |
"end": 1598, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "23" | |
}, | |
{ | |
"begin": 1574, | |
"end": 1598, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1574, | |
"end": 1598, | |
"name": "tag", | |
"source": 2, | |
"value": "48" | |
}, | |
{ | |
"begin": 1574, | |
"end": 1598, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1567, | |
"end": 1572, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1564, | |
"end": 1599, | |
"name": "EQ", | |
"source": 2 | |
}, | |
{ | |
"begin": 1554, | |
"end": 1617, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "49" | |
}, | |
{ | |
"begin": 1554, | |
"end": 1617, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 1613, | |
"end": 1614, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1610, | |
"end": 1611, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1603, | |
"end": 1615, | |
"name": "REVERT", | |
"source": 2 | |
}, | |
{ | |
"begin": 1554, | |
"end": 1617, | |
"name": "tag", | |
"source": 2, | |
"value": "49" | |
}, | |
{ | |
"begin": 1554, | |
"end": 1617, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1501, | |
"end": 1623, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1501, | |
"end": 1623, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1629, | |
"end": 1772, | |
"name": "tag", | |
"source": 2, | |
"value": "25" | |
}, | |
{ | |
"begin": 1629, | |
"end": 1772, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1686, | |
"end": 1691, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1717, | |
"end": 1723, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1711, | |
"end": 1724, | |
"name": "MLOAD", | |
"source": 2 | |
}, | |
{ | |
"begin": 1702, | |
"end": 1724, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1702, | |
"end": 1724, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1733, | |
"end": 1766, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "51" | |
}, | |
{ | |
"begin": 1760, | |
"end": 1765, | |
"name": "DUP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1733, | |
"end": 1766, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "24" | |
}, | |
{ | |
"begin": 1733, | |
"end": 1766, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1733, | |
"end": 1766, | |
"name": "tag", | |
"source": 2, | |
"value": "51" | |
}, | |
{ | |
"begin": 1733, | |
"end": 1766, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1629, | |
"end": 1772, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 1629, | |
"end": 1772, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 1629, | |
"end": 1772, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1629, | |
"end": 1772, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1629, | |
"end": 1772, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "tag", | |
"source": 2, | |
"value": "12" | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1881, | |
"end": 1887, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1889, | |
"end": 1895, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1897, | |
"end": 1903, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1905, | |
"end": 1911, | |
"name": "DUP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1913, | |
"end": 1919, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 1962, | |
"end": 1965, | |
"name": "PUSH", | |
"source": 2, | |
"value": "A0" | |
}, | |
{ | |
"begin": 1950, | |
"end": 1959, | |
"name": "DUP7", | |
"source": 2 | |
}, | |
{ | |
"begin": 1941, | |
"end": 1948, | |
"name": "DUP9", | |
"source": 2 | |
}, | |
{ | |
"begin": 1937, | |
"end": 1960, | |
"name": "SUB", | |
"source": 2 | |
}, | |
{ | |
"begin": 1933, | |
"end": 1966, | |
"name": "SLT", | |
"source": 2 | |
}, | |
{ | |
"begin": 1930, | |
"end": 2050, | |
"name": "ISZERO", | |
"source": 2 | |
}, | |
{ | |
"begin": 1930, | |
"end": 2050, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "53" | |
}, | |
{ | |
"begin": 1930, | |
"end": 2050, | |
"name": "JUMPI", | |
"source": 2 | |
}, | |
{ | |
"begin": 1969, | |
"end": 2048, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "54" | |
}, | |
{ | |
"begin": 1969, | |
"end": 2048, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "16" | |
}, | |
{ | |
"begin": 1969, | |
"end": 2048, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1969, | |
"end": 2048, | |
"name": "tag", | |
"source": 2, | |
"value": "54" | |
}, | |
{ | |
"begin": 1969, | |
"end": 2048, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 1930, | |
"end": 2050, | |
"name": "tag", | |
"source": 2, | |
"value": "53" | |
}, | |
{ | |
"begin": 1930, | |
"end": 2050, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 2089, | |
"end": 2090, | |
"name": "PUSH", | |
"source": 2, | |
"value": "0" | |
}, | |
{ | |
"begin": 2114, | |
"end": 2177, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "55" | |
}, | |
{ | |
"begin": 2169, | |
"end": 2176, | |
"name": "DUP9", | |
"source": 2 | |
}, | |
{ | |
"begin": 2160, | |
"end": 2166, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 2149, | |
"end": 2158, | |
"name": "DUP10", | |
"source": 2 | |
}, | |
{ | |
"begin": 2145, | |
"end": 2167, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 2114, | |
"end": 2177, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 2114, | |
"end": 2177, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2114, | |
"end": 2177, | |
"name": "tag", | |
"source": 2, | |
"value": "55" | |
}, | |
{ | |
"begin": 2114, | |
"end": 2177, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 2104, | |
"end": 2177, | |
"name": "SWAP6", | |
"source": 2 | |
}, | |
{ | |
"begin": 2104, | |
"end": 2177, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2060, | |
"end": 2187, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2226, | |
"end": 2228, | |
"name": "PUSH", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 2252, | |
"end": 2315, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "56" | |
}, | |
{ | |
"begin": 2307, | |
"end": 2314, | |
"name": "DUP9", | |
"source": 2 | |
}, | |
{ | |
"begin": 2298, | |
"end": 2304, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 2287, | |
"end": 2296, | |
"name": "DUP10", | |
"source": 2 | |
}, | |
{ | |
"begin": 2283, | |
"end": 2305, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 2252, | |
"end": 2315, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "22" | |
}, | |
{ | |
"begin": 2252, | |
"end": 2315, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2252, | |
"end": 2315, | |
"name": "tag", | |
"source": 2, | |
"value": "56" | |
}, | |
{ | |
"begin": 2252, | |
"end": 2315, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 2242, | |
"end": 2315, | |
"name": "SWAP5", | |
"source": 2 | |
}, | |
{ | |
"begin": 2242, | |
"end": 2315, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2197, | |
"end": 2325, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2364, | |
"end": 2366, | |
"name": "PUSH", | |
"source": 2, | |
"value": "40" | |
}, | |
{ | |
"begin": 2390, | |
"end": 2454, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "57" | |
}, | |
{ | |
"begin": 2446, | |
"end": 2453, | |
"name": "DUP9", | |
"source": 2 | |
}, | |
{ | |
"begin": 2437, | |
"end": 2443, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 2426, | |
"end": 2435, | |
"name": "DUP10", | |
"source": 2 | |
}, | |
{ | |
"begin": 2422, | |
"end": 2444, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 2390, | |
"end": 2454, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "25" | |
}, | |
{ | |
"begin": 2390, | |
"end": 2454, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2390, | |
"end": 2454, | |
"name": "tag", | |
"source": 2, | |
"value": "57" | |
}, | |
{ | |
"begin": 2390, | |
"end": 2454, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 2380, | |
"end": 2454, | |
"name": "SWAP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 2380, | |
"end": 2454, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2335, | |
"end": 2464, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2503, | |
"end": 2505, | |
"name": "PUSH", | |
"source": 2, | |
"value": "60" | |
}, | |
{ | |
"begin": 2529, | |
"end": 2593, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "58" | |
}, | |
{ | |
"begin": 2585, | |
"end": 2592, | |
"name": "DUP9", | |
"source": 2 | |
}, | |
{ | |
"begin": 2576, | |
"end": 2582, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 2565, | |
"end": 2574, | |
"name": "DUP10", | |
"source": 2 | |
}, | |
{ | |
"begin": 2561, | |
"end": 2583, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 2529, | |
"end": 2593, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "25" | |
}, | |
{ | |
"begin": 2529, | |
"end": 2593, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2529, | |
"end": 2593, | |
"name": "tag", | |
"source": 2, | |
"value": "58" | |
}, | |
{ | |
"begin": 2529, | |
"end": 2593, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 2519, | |
"end": 2593, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 2519, | |
"end": 2593, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2474, | |
"end": 2603, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2642, | |
"end": 2645, | |
"name": "PUSH", | |
"source": 2, | |
"value": "80" | |
}, | |
{ | |
"begin": 2669, | |
"end": 2732, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "59" | |
}, | |
{ | |
"begin": 2724, | |
"end": 2731, | |
"name": "DUP9", | |
"source": 2 | |
}, | |
{ | |
"begin": 2715, | |
"end": 2721, | |
"name": "DUP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 2704, | |
"end": 2713, | |
"name": "DUP10", | |
"source": 2 | |
}, | |
{ | |
"begin": 2700, | |
"end": 2722, | |
"name": "ADD", | |
"source": 2 | |
}, | |
{ | |
"begin": 2669, | |
"end": 2732, | |
"name": "PUSH [tag]", | |
"source": 2, | |
"value": "20" | |
}, | |
{ | |
"begin": 2669, | |
"end": 2732, | |
"jumpType": "[in]", | |
"name": "JUMP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2669, | |
"end": 2732, | |
"name": "tag", | |
"source": 2, | |
"value": "59" | |
}, | |
{ | |
"begin": 2669, | |
"end": 2732, | |
"name": "JUMPDEST", | |
"source": 2 | |
}, | |
{ | |
"begin": 2659, | |
"end": 2732, | |
"name": "SWAP2", | |
"source": 2 | |
}, | |
{ | |
"begin": 2659, | |
"end": 2732, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 2613, | |
"end": 2742, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "SWAP6", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "SWAP3", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "SWAP6", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "SWAP1", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "SWAP4", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"name": "POP", | |
"source": 2 | |
}, | |
{ | |
"begin": 1778, | |
"end": 2749, | |
"jumpType": "[out]", | |
"name": "JUMP", | |
"source": 2 | |
} | |
] | |
} | |
}, | |
"sourceList": [ | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol", | |
"#utility.yul" | |
] | |
}, | |
"methodIdentifiers": { | |
"getLatestData()": "ab757d61" | |
} | |
}, | |
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getLatestData\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Network: Sepolia Aggregator: BTC/USD Address: 0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43\"},\"getLatestData()\":{\"notice\":\"Returns the latest answer.\"}},\"notice\":\"If you are reading data feeds on L2 networks, you must check the latest answer from the L2 Sequencer Uptime Feed to ensure that the data is accurate in the event of an L2 sequencer outage. See the https://docs.chain.link/data-feeds/l2-sequencer-feeds page for details.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":\"DataConsumerV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7\",\"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c\"]},\"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol\":{\"keccak256\":\"0x5481d009a0acc4b9360ed66302ee277ed8cf8e9f04f3ca2e071dd6ccf8bad840\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed5536012faa09125ff9b9a593837ce687740cfb5e771dacc60e4ca511edf010\",\"dweb:/ipfs/QmanRQreUPkTFdxZGcXbb7HgmoNta794jNCFVNaBRmA4Si\"]}},\"version\":1}", | |
"storageLayout": { | |
"storage": [ | |
{ | |
"astId": 52, | |
"contract": "docs.chain.link/samples/DataFeeds/DataConsumerV3.sol:DataConsumerV3", | |
"label": "dataFeed", | |
"offset": 0, | |
"slot": "0", | |
"type": "t_contract(AggregatorV3Interface)45" | |
} | |
], | |
"types": { | |
"t_contract(AggregatorV3Interface)45": { | |
"encoding": "inplace", | |
"label": "contract AggregatorV3Interface", | |
"numberOfBytes": "20" | |
} | |
} | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": { | |
"constructor": { | |
"notice": "Network: Sepolia Aggregator: BTC/USD Address: 0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" | |
}, | |
"getLatestData()": { | |
"notice": "Returns the latest answer." | |
} | |
}, | |
"notice": "If you are reading data feeds on L2 networks, you must check the latest answer from the L2 Sequencer Uptime Feed to ensure that the data is accurate in the event of an L2 sequencer outage. See the https://docs.chain.link/data-feeds/l2-sequencer-feeds page for details.", | |
"version": 1 | |
} | |
} | |
} | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"ast": { | |
"absolutePath": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"exportedSymbols": { | |
"AggregatorV3Interface": [ | |
45 | |
] | |
}, | |
"id": 46, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 1, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".0" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "32:23:0" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "AggregatorV3Interface", | |
"contractDependencies": [], | |
"contractKind": "interface", | |
"fullyImplemented": false, | |
"id": 45, | |
"linearizedBaseContracts": [ | |
45 | |
], | |
"name": "AggregatorV3Interface", | |
"nameLocation": "67:21:0", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"functionSelector": "313ce567", | |
"id": 6, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "decimals", | |
"nameLocation": "102:8:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 2, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "110:2:0" | |
}, | |
"returnParameters": { | |
"id": 5, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 4, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 6, | |
"src": "136:5:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
}, | |
"typeName": { | |
"id": 3, | |
"name": "uint8", | |
"nodeType": "ElementaryTypeName", | |
"src": "136:5:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint8", | |
"typeString": "uint8" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "135:7:0" | |
}, | |
"scope": 45, | |
"src": "93:50:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "7284e416", | |
"id": 11, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "description", | |
"nameLocation": "156:11:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 7, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "167:2:0" | |
}, | |
"returnParameters": { | |
"id": 10, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 9, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 11, | |
"src": "193:13:0", | |
"stateVariable": false, | |
"storageLocation": "memory", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_memory_ptr", | |
"typeString": "string" | |
}, | |
"typeName": { | |
"id": 8, | |
"name": "string", | |
"nodeType": "ElementaryTypeName", | |
"src": "193:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_string_storage_ptr", | |
"typeString": "string" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "192:15:0" | |
}, | |
"scope": 45, | |
"src": "147:61:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "54fd4d50", | |
"id": 16, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "version", | |
"nameLocation": "221:7:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 12, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "228:2:0" | |
}, | |
"returnParameters": { | |
"id": 15, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 14, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 16, | |
"src": "254:7:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 13, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "254:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "253:9:0" | |
}, | |
"scope": 45, | |
"src": "212:51:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "9a6fc8f5", | |
"id": 31, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getRoundData", | |
"nameLocation": "276:12:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 19, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 18, | |
"mutability": "mutable", | |
"name": "_roundId", | |
"nameLocation": "296:8:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "289:15:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 17, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "289:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "288:17:0" | |
}, | |
"returnParameters": { | |
"id": 30, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 21, | |
"mutability": "mutable", | |
"name": "roundId", | |
"nameLocation": "355:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "348:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 20, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "348:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 23, | |
"mutability": "mutable", | |
"name": "answer", | |
"nameLocation": "377:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "370:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 22, | |
"name": "int256", | |
"nodeType": "ElementaryTypeName", | |
"src": "370:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 25, | |
"mutability": "mutable", | |
"name": "startedAt", | |
"nameLocation": "399:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "391:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 24, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "391:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 27, | |
"mutability": "mutable", | |
"name": "updatedAt", | |
"nameLocation": "424:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "416:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 26, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "416:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 29, | |
"mutability": "mutable", | |
"name": "answeredInRound", | |
"nameLocation": "448:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 31, | |
"src": "441:22:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 28, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "441:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "340:129:0" | |
}, | |
"scope": 45, | |
"src": "267:203:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
}, | |
{ | |
"functionSelector": "feaf968c", | |
"id": 44, | |
"implemented": false, | |
"kind": "function", | |
"modifiers": [], | |
"name": "latestRoundData", | |
"nameLocation": "483:15:0", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 32, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "498:2:0" | |
}, | |
"returnParameters": { | |
"id": 43, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 34, | |
"mutability": "mutable", | |
"name": "roundId", | |
"nameLocation": "550:7:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "543:14:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 33, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "543:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 36, | |
"mutability": "mutable", | |
"name": "answer", | |
"nameLocation": "572:6:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "565:13:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 35, | |
"name": "int256", | |
"nodeType": "ElementaryTypeName", | |
"src": "565:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 38, | |
"mutability": "mutable", | |
"name": "startedAt", | |
"nameLocation": "594:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "586:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 37, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "586:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 40, | |
"mutability": "mutable", | |
"name": "updatedAt", | |
"nameLocation": "619:9:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "611:17:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
}, | |
"typeName": { | |
"id": 39, | |
"name": "uint256", | |
"nodeType": "ElementaryTypeName", | |
"src": "611:7:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint256", | |
"typeString": "uint256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"constant": false, | |
"id": 42, | |
"mutability": "mutable", | |
"name": "answeredInRound", | |
"nameLocation": "643:15:0", | |
"nodeType": "VariableDeclaration", | |
"scope": 44, | |
"src": "636:22:0", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
}, | |
"typeName": { | |
"id": 41, | |
"name": "uint80", | |
"nodeType": "ElementaryTypeName", | |
"src": "636:6:0", | |
"typeDescriptions": { | |
"typeIdentifier": "t_uint80", | |
"typeString": "uint80" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "535:129:0" | |
}, | |
"scope": 45, | |
"src": "474:191:0", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "external" | |
} | |
], | |
"scope": 46, | |
"src": "57:610:0", | |
"usedErrors": [] | |
} | |
], | |
"src": "32:636:0" | |
}, | |
"id": 0 | |
}, | |
"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol": { | |
"ast": { | |
"absolutePath": "docs.chain.link/samples/DataFeeds/DataConsumerV3.sol", | |
"exportedSymbols": { | |
"AggregatorV3Interface": [ | |
45 | |
], | |
"DataConsumerV3": [ | |
79 | |
] | |
}, | |
"id": 80, | |
"license": "MIT", | |
"nodeType": "SourceUnit", | |
"nodes": [ | |
{ | |
"id": 47, | |
"literals": [ | |
"solidity", | |
"^", | |
"0.8", | |
".7" | |
], | |
"nodeType": "PragmaDirective", | |
"src": "32:23:1" | |
}, | |
{ | |
"absolutePath": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"file": "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol", | |
"id": 48, | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "ImportDirective", | |
"scope": 80, | |
"sourceUnit": 46, | |
"src": "57:76:1", | |
"symbolAliases": [], | |
"unitAlias": "" | |
}, | |
{ | |
"abstract": false, | |
"baseContracts": [], | |
"canonicalName": "DataConsumerV3", | |
"contractDependencies": [], | |
"contractKind": "contract", | |
"documentation": { | |
"id": 49, | |
"nodeType": "StructuredDocumentation", | |
"src": "315:294:1", | |
"text": " If you are reading data feeds on L2 networks, you must\n check the latest answer from the L2 Sequencer Uptime\n Feed to ensure that the data is accurate in the event\n of an L2 sequencer outage. See the\n https://docs.chain.link/data-feeds/l2-sequencer-feeds\n page for details." | |
}, | |
"fullyImplemented": true, | |
"id": 79, | |
"linearizedBaseContracts": [ | |
79 | |
], | |
"name": "DataConsumerV3", | |
"nameLocation": "620:14:1", | |
"nodeType": "ContractDefinition", | |
"nodes": [ | |
{ | |
"constant": false, | |
"id": 52, | |
"mutability": "mutable", | |
"name": "dataFeed", | |
"nameLocation": "672:8:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 79, | |
"src": "641:39:1", | |
"stateVariable": true, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
}, | |
"typeName": { | |
"id": 51, | |
"nodeType": "UserDefinedTypeName", | |
"pathNode": { | |
"id": 50, | |
"name": "AggregatorV3Interface", | |
"nameLocations": [ | |
"641:21:1" | |
], | |
"nodeType": "IdentifierPath", | |
"referencedDeclaration": 45, | |
"src": "641:21:1" | |
}, | |
"referencedDeclaration": 45, | |
"src": "641:21:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
{ | |
"body": { | |
"id": 62, | |
"nodeType": "Block", | |
"src": "827:115:1", | |
"statements": [ | |
{ | |
"expression": { | |
"id": 60, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"leftHandSide": { | |
"id": 56, | |
"name": "dataFeed", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 52, | |
"src": "837:8:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"nodeType": "Assignment", | |
"operator": "=", | |
"rightHandSide": { | |
"arguments": [ | |
{ | |
"hexValue": "307831623434463335313438313264383335454231424442306163423333643366413333353145653433", | |
"id": 58, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "number", | |
"lValueRequested": false, | |
"nodeType": "Literal", | |
"src": "883:42:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
}, | |
"value": "0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" | |
} | |
], | |
"expression": { | |
"argumentTypes": [ | |
{ | |
"typeIdentifier": "t_address", | |
"typeString": "address" | |
} | |
], | |
"id": 57, | |
"name": "AggregatorV3Interface", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 45, | |
"src": "848:21:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_type$_t_contract$_AggregatorV3Interface_$45_$", | |
"typeString": "type(contract AggregatorV3Interface)" | |
} | |
}, | |
"id": 59, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": true, | |
"kind": "typeConversion", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "848:87:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"src": "837:98:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"id": 61, | |
"nodeType": "ExpressionStatement", | |
"src": "837:98:1" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 53, | |
"nodeType": "StructuredDocumentation", | |
"src": "687:121:1", | |
"text": " Network: Sepolia\n Aggregator: BTC/USD\n Address: 0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" | |
}, | |
"id": 63, | |
"implemented": true, | |
"kind": "constructor", | |
"modifiers": [], | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 54, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "824:2:1" | |
}, | |
"returnParameters": { | |
"id": 55, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "827:0:1" | |
}, | |
"scope": 79, | |
"src": "813:129:1", | |
"stateMutability": "nonpayable", | |
"virtual": false, | |
"visibility": "public" | |
}, | |
{ | |
"body": { | |
"id": 77, | |
"nodeType": "Block", | |
"src": "1049:268:1", | |
"statements": [ | |
{ | |
"assignments": [ | |
null, | |
70, | |
null, | |
null, | |
null | |
], | |
"declarations": [ | |
null, | |
{ | |
"constant": false, | |
"id": 70, | |
"mutability": "mutable", | |
"name": "answer", | |
"nameLocation": "1138:6:1", | |
"nodeType": "VariableDeclaration", | |
"scope": 77, | |
"src": "1134:10:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 69, | |
"name": "int", | |
"nodeType": "ElementaryTypeName", | |
"src": "1134:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
}, | |
null, | |
null, | |
null | |
], | |
"id": 74, | |
"initialValue": { | |
"arguments": [], | |
"expression": { | |
"argumentTypes": [], | |
"expression": { | |
"id": 71, | |
"name": "dataFeed", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 52, | |
"src": "1261:8:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_contract$_AggregatorV3Interface_$45", | |
"typeString": "contract AggregatorV3Interface" | |
} | |
}, | |
"id": 72, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"lValueRequested": false, | |
"memberLocation": "1270:15:1", | |
"memberName": "latestRoundData", | |
"nodeType": "MemberAccess", | |
"referencedDeclaration": 44, | |
"src": "1261:24:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_function_external_view$__$returns$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$", | |
"typeString": "function () view external returns (uint80,int256,uint256,uint256,uint80)" | |
} | |
}, | |
"id": 73, | |
"isConstant": false, | |
"isLValue": false, | |
"isPure": false, | |
"kind": "functionCall", | |
"lValueRequested": false, | |
"nameLocations": [], | |
"names": [], | |
"nodeType": "FunctionCall", | |
"src": "1261:26:1", | |
"tryCall": false, | |
"typeDescriptions": { | |
"typeIdentifier": "t_tuple$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$", | |
"typeString": "tuple(uint80,int256,uint256,uint256,uint80)" | |
} | |
}, | |
"nodeType": "VariableDeclarationStatement", | |
"src": "1086:201:1" | |
}, | |
{ | |
"expression": { | |
"id": 75, | |
"name": "answer", | |
"nodeType": "Identifier", | |
"overloadedDeclarations": [], | |
"referencedDeclaration": 70, | |
"src": "1304:6:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"functionReturnParameters": 68, | |
"id": 76, | |
"nodeType": "Return", | |
"src": "1297:13:1" | |
} | |
] | |
}, | |
"documentation": { | |
"id": 64, | |
"nodeType": "StructuredDocumentation", | |
"src": "948:45:1", | |
"text": " Returns the latest answer." | |
}, | |
"functionSelector": "ab757d61", | |
"id": 78, | |
"implemented": true, | |
"kind": "function", | |
"modifiers": [], | |
"name": "getLatestData", | |
"nameLocation": "1007:13:1", | |
"nodeType": "FunctionDefinition", | |
"parameters": { | |
"id": 65, | |
"nodeType": "ParameterList", | |
"parameters": [], | |
"src": "1020:2:1" | |
}, | |
"returnParameters": { | |
"id": 68, | |
"nodeType": "ParameterList", | |
"parameters": [ | |
{ | |
"constant": false, | |
"id": 67, | |
"mutability": "mutable", | |
"name": "", | |
"nameLocation": "-1:-1:-1", | |
"nodeType": "VariableDeclaration", | |
"scope": 78, | |
"src": "1044:3:1", | |
"stateVariable": false, | |
"storageLocation": "default", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
}, | |
"typeName": { | |
"id": 66, | |
"name": "int", | |
"nodeType": "ElementaryTypeName", | |
"src": "1044:3:1", | |
"typeDescriptions": { | |
"typeIdentifier": "t_int256", | |
"typeString": "int256" | |
} | |
}, | |
"visibility": "internal" | |
} | |
], | |
"src": "1043:5:1" | |
}, | |
"scope": 79, | |
"src": "998:319:1", | |
"stateMutability": "view", | |
"virtual": false, | |
"visibility": "public" | |
} | |
], | |
"scope": 80, | |
"src": "611:708:1", | |
"usedErrors": [] | |
} | |
], | |
"src": "32:1308:1" | |
}, | |
"id": 1 | |
} | |
} | |
} | |
} |
This file contains 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": { | |
"@_63": { | |
"entryPoint": null, | |
"id": 63, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [], | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b50731b44f3514812d835eb1bdb0acb33d3fa3351ee436000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061027b806100746000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab757d6114610030575b600080fd5b61003861004e565b6040516100459190610106565b60405180910390f35b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e091906101ca565b5050509150508091505090565b6000819050919050565b610100816100ed565b82525050565b600060208201905061011b60008301846100f7565b92915050565b600080fd5b600069ffffffffffffffffffff82169050919050565b61014581610126565b811461015057600080fd5b50565b6000815190506101628161013c565b92915050565b610171816100ed565b811461017c57600080fd5b50565b60008151905061018e81610168565b92915050565b6000819050919050565b6101a781610194565b81146101b257600080fd5b50565b6000815190506101c48161019e565b92915050565b600080600080600060a086880312156101e6576101e5610121565b5b60006101f488828901610153565b95505060206102058882890161017f565b9450506040610216888289016101b5565b9350506060610227888289016101b5565b925050608061023888828901610153565b915050929550929590935056fea264697066735822122079a62f9810002aac98dbf060a2ba7c57c7f4813f0579264efcd5857c4810ddd364736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0x1B44F3514812D835EB1BDB0ACB33D3FA3351EE43 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x27B DUP1 PUSH2 0x74 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAB757D61 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x1CA JUMP JUMPDEST POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x100 DUP2 PUSH2 0xED JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x11B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x145 DUP2 PUSH2 0x126 JUMP JUMPDEST DUP2 EQ PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x162 DUP2 PUSH2 0x13C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x171 DUP2 PUSH2 0xED JUMP JUMPDEST DUP2 EQ PUSH2 0x17C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x18E DUP2 PUSH2 0x168 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1A7 DUP2 PUSH2 0x194 JUMP JUMPDEST DUP2 EQ PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C4 DUP2 PUSH2 0x19E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1E6 JUMPI PUSH2 0x1E5 PUSH2 0x121 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F4 DUP9 DUP3 DUP10 ADD PUSH2 0x153 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x205 DUP9 DUP3 DUP10 ADD PUSH2 0x17F JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x216 DUP9 DUP3 DUP10 ADD PUSH2 0x1B5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x227 DUP9 DUP3 DUP10 ADD PUSH2 0x1B5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x238 DUP9 DUP3 DUP10 ADD PUSH2 0x153 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0xA62F9810002AAC98DBF060A2BA7C57C7F4813F0579264EFCD585 PUSH29 0x4810DDD364736F6C634300081200330000000000000000000000000000 ", | |
"sourceMap": "611:708:1:-:0;;;813:129;;;;;;;;;;883:42;837:8;;:98;;;;;;;;;;;;;;;;;;611:708;;;;;;" | |
}, | |
"deployedBytecode": { | |
"functionDebugData": { | |
"@getLatestData_78": { | |
"entryPoint": 78, | |
"id": 78, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_int256_fromMemory": { | |
"entryPoint": 383, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint256_fromMemory": { | |
"entryPoint": 437, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_t_uint80_fromMemory": { | |
"entryPoint": 339, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory": { | |
"entryPoint": 458, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 5 | |
}, | |
"abi_encode_t_int256_to_t_int256_fromStack": { | |
"entryPoint": 247, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 0 | |
}, | |
"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": { | |
"entryPoint": 262, | |
"id": null, | |
"parameterSlots": 2, | |
"returnSlots": 1 | |
}, | |
"allocate_unbounded": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_int256": { | |
"entryPoint": 237, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint256": { | |
"entryPoint": 404, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"cleanup_t_uint80": { | |
"entryPoint": 294, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 1 | |
}, | |
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": { | |
"entryPoint": null, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": { | |
"entryPoint": 289, | |
"id": null, | |
"parameterSlots": 0, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_int256": { | |
"entryPoint": 360, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint256": { | |
"entryPoint": 414, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
}, | |
"validator_revert_t_uint80": { | |
"entryPoint": 316, | |
"id": null, | |
"parameterSlots": 1, | |
"returnSlots": 0 | |
} | |
}, | |
"generatedSources": [ | |
{ | |
"ast": { | |
"nodeType": "YulBlock", | |
"src": "0:2752:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "51:32:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "61:16:2", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "72:5:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "61:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "33:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "43:7:2", | |
"type": "" | |
} | |
], | |
"src": "7:76:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "152:52:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "pos", | |
"nodeType": "YulIdentifier", | |
"src": "169:3:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "191:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "174:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "174:23:2" | |
} | |
], | |
"functionName": { | |
"name": "mstore", | |
"nodeType": "YulIdentifier", | |
"src": "162:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "162:36:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "162:36:2" | |
} | |
] | |
}, | |
"name": "abi_encode_t_int256_to_t_int256_fromStack", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "140:5:2", | |
"type": "" | |
}, | |
{ | |
"name": "pos", | |
"nodeType": "YulTypedName", | |
"src": "147:3:2", | |
"type": "" | |
} | |
], | |
"src": "89:115:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "306:122:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "316:26:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "328:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "339:2:2", | |
"type": "", | |
"value": "32" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "324:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "324:18:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulIdentifier", | |
"src": "316:4:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "394:6:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "407:9:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "418:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "403:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "403:17:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_encode_t_int256_to_t_int256_fromStack", | |
"nodeType": "YulIdentifier", | |
"src": "352:41:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "352:69:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "352:69:2" | |
} | |
] | |
}, | |
"name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "278:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "290:6:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "tail", | |
"nodeType": "YulTypedName", | |
"src": "301:4:2", | |
"type": "" | |
} | |
], | |
"src": "210:218:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "474:35:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "484:19:2", | |
"value": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "500:2:2", | |
"type": "", | |
"value": "64" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "494:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "494:9:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulIdentifier", | |
"src": "484:6:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "allocate_unbounded", | |
"nodeType": "YulFunctionDefinition", | |
"returnVariables": [ | |
{ | |
"name": "memPtr", | |
"nodeType": "YulTypedName", | |
"src": "467:6:2", | |
"type": "" | |
} | |
], | |
"src": "434:75:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "604:28:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "621:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "624:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "614:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "614:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "614:12:2" | |
} | |
] | |
}, | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulFunctionDefinition", | |
"src": "515:117:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "727:28:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "744:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "747:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "737:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "737:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "737:12:2" | |
} | |
] | |
}, | |
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", | |
"nodeType": "YulFunctionDefinition", | |
"src": "638:117:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "805:61:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "815:45:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "830:5:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "837:22:2", | |
"type": "", | |
"value": "0xffffffffffffffffffff" | |
} | |
], | |
"functionName": { | |
"name": "and", | |
"nodeType": "YulIdentifier", | |
"src": "826:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "826:34:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "815:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint80", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "787:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "797:7:2", | |
"type": "" | |
} | |
], | |
"src": "761:105:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "914:78:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "970:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "979:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "982:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "972:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "972:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "972:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "937:5:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "961:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint80", | |
"nodeType": "YulIdentifier", | |
"src": "944:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "944:23:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "934:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "934:34:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "927:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "927:42:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "924:62:2" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint80", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "907:5:2", | |
"type": "" | |
} | |
], | |
"src": "872:120:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1060:79:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1070:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1085:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "1079:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1079:13:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1070:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1127:5:2" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint80", | |
"nodeType": "YulIdentifier", | |
"src": "1101:25:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1101:32:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1101:32:2" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1038:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1046:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1054:5:2", | |
"type": "" | |
} | |
], | |
"src": "998:141:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1187:78:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1243:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1252:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1255:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1245:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1245:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1245:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1210:5:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1234:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "1217:16:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1217:23:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1207:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1207:34:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1200:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1200:42:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1197:62:2" | |
} | |
] | |
}, | |
"name": "validator_revert_t_int256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1180:5:2", | |
"type": "" | |
} | |
], | |
"src": "1145:120:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1333:79:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1343:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1358:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "1352:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1352:13:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1343:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1400:5:2" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_int256", | |
"nodeType": "YulIdentifier", | |
"src": "1374:25:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1374:32:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1374:32:2" | |
} | |
] | |
}, | |
"name": "abi_decode_t_int256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1311:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1319:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1327:5:2", | |
"type": "" | |
} | |
], | |
"src": "1271:141:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1463:32:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1473:16:2", | |
"value": { | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1484:5:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulIdentifier", | |
"src": "1473:7:2" | |
} | |
] | |
} | |
] | |
}, | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1445:5:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "cleaned", | |
"nodeType": "YulTypedName", | |
"src": "1455:7:2", | |
"type": "" | |
} | |
], | |
"src": "1418:77:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1544:79:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1601:16:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1610:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1613:1:2", | |
"type": "", | |
"value": "0" | |
} | |
], | |
"functionName": { | |
"name": "revert", | |
"nodeType": "YulIdentifier", | |
"src": "1603:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1603:12:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1603:12:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1567:5:2" | |
}, | |
{ | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1592:5:2" | |
} | |
], | |
"functionName": { | |
"name": "cleanup_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1574:17:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1574:24:2" | |
} | |
], | |
"functionName": { | |
"name": "eq", | |
"nodeType": "YulIdentifier", | |
"src": "1564:2:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1564:35:2" | |
} | |
], | |
"functionName": { | |
"name": "iszero", | |
"nodeType": "YulIdentifier", | |
"src": "1557:6:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1557:43:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1554:63:2" | |
} | |
] | |
}, | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1537:5:2", | |
"type": "" | |
} | |
], | |
"src": "1501:122:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1692:80:2", | |
"statements": [ | |
{ | |
"nodeType": "YulAssignment", | |
"src": "1702:22:2", | |
"value": { | |
"arguments": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "1717:6:2" | |
} | |
], | |
"functionName": { | |
"name": "mload", | |
"nodeType": "YulIdentifier", | |
"src": "1711:5:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1711:13:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1702:5:2" | |
} | |
] | |
}, | |
{ | |
"expression": { | |
"arguments": [ | |
{ | |
"name": "value", | |
"nodeType": "YulIdentifier", | |
"src": "1760:5:2" | |
} | |
], | |
"functionName": { | |
"name": "validator_revert_t_uint256", | |
"nodeType": "YulIdentifier", | |
"src": "1733:26:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1733:33:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1733:33:2" | |
} | |
] | |
}, | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "1670:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "end", | |
"nodeType": "YulTypedName", | |
"src": "1678:3:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value", | |
"nodeType": "YulTypedName", | |
"src": "1686:5:2", | |
"type": "" | |
} | |
], | |
"src": "1629:143:2" | |
}, | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1920:829:2", | |
"statements": [ | |
{ | |
"body": { | |
"nodeType": "YulBlock", | |
"src": "1967:83:2", | |
"statements": [ | |
{ | |
"expression": { | |
"arguments": [], | |
"functionName": { | |
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", | |
"nodeType": "YulIdentifier", | |
"src": "1969:77:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1969:79:2" | |
}, | |
"nodeType": "YulExpressionStatement", | |
"src": "1969:79:2" | |
} | |
] | |
}, | |
"condition": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "1941:7:2" | |
}, | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "1950:9:2" | |
} | |
], | |
"functionName": { | |
"name": "sub", | |
"nodeType": "YulIdentifier", | |
"src": "1937:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1937:23:2" | |
}, | |
{ | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "1962:3:2", | |
"type": "", | |
"value": "160" | |
} | |
], | |
"functionName": { | |
"name": "slt", | |
"nodeType": "YulIdentifier", | |
"src": "1933:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "1933:33:2" | |
}, | |
"nodeType": "YulIf", | |
"src": "1930:120:2" | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2060:127:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2075:15:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2089:1:2", | |
"type": "", | |
"value": "0" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2079:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2104:73:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2149:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2160:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2145:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2145:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2169:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2114:30:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2114:63:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulIdentifier", | |
"src": "2104:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2197:128:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2212:16:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2226:2:2", | |
"type": "", | |
"value": "32" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2216:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2242:73:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2287:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2298:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2283:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2283:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2307:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_int256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2252:30:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2252:63:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value1", | |
"nodeType": "YulIdentifier", | |
"src": "2242:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2335:129:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2350:16:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2364:2:2", | |
"type": "", | |
"value": "64" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2354:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2380:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2426:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2437:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2422:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2422:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2446:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2390:31:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2390:64:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value2", | |
"nodeType": "YulIdentifier", | |
"src": "2380:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2474:129:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2489:16:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2503:2:2", | |
"type": "", | |
"value": "96" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2493:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2519:74:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2565:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2576:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2561:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2561:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2585:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint256_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2529:31:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2529:64:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value3", | |
"nodeType": "YulIdentifier", | |
"src": "2519:6:2" | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulBlock", | |
"src": "2613:129:2", | |
"statements": [ | |
{ | |
"nodeType": "YulVariableDeclaration", | |
"src": "2628:17:2", | |
"value": { | |
"kind": "number", | |
"nodeType": "YulLiteral", | |
"src": "2642:3:2", | |
"type": "", | |
"value": "128" | |
}, | |
"variables": [ | |
{ | |
"name": "offset", | |
"nodeType": "YulTypedName", | |
"src": "2632:6:2", | |
"type": "" | |
} | |
] | |
}, | |
{ | |
"nodeType": "YulAssignment", | |
"src": "2659:73:2", | |
"value": { | |
"arguments": [ | |
{ | |
"arguments": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulIdentifier", | |
"src": "2704:9:2" | |
}, | |
{ | |
"name": "offset", | |
"nodeType": "YulIdentifier", | |
"src": "2715:6:2" | |
} | |
], | |
"functionName": { | |
"name": "add", | |
"nodeType": "YulIdentifier", | |
"src": "2700:3:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2700:22:2" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulIdentifier", | |
"src": "2724:7:2" | |
} | |
], | |
"functionName": { | |
"name": "abi_decode_t_uint80_fromMemory", | |
"nodeType": "YulIdentifier", | |
"src": "2669:30:2" | |
}, | |
"nodeType": "YulFunctionCall", | |
"src": "2669:63:2" | |
}, | |
"variableNames": [ | |
{ | |
"name": "value4", | |
"nodeType": "YulIdentifier", | |
"src": "2659:6:2" | |
} | |
] | |
} | |
] | |
} | |
] | |
}, | |
"name": "abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory", | |
"nodeType": "YulFunctionDefinition", | |
"parameters": [ | |
{ | |
"name": "headStart", | |
"nodeType": "YulTypedName", | |
"src": "1858:9:2", | |
"type": "" | |
}, | |
{ | |
"name": "dataEnd", | |
"nodeType": "YulTypedName", | |
"src": "1869:7:2", | |
"type": "" | |
} | |
], | |
"returnVariables": [ | |
{ | |
"name": "value0", | |
"nodeType": "YulTypedName", | |
"src": "1881:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value1", | |
"nodeType": "YulTypedName", | |
"src": "1889:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value2", | |
"nodeType": "YulTypedName", | |
"src": "1897:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value3", | |
"nodeType": "YulTypedName", | |
"src": "1905:6:2", | |
"type": "" | |
}, | |
{ | |
"name": "value4", | |
"nodeType": "YulTypedName", | |
"src": "1913:6:2", | |
"type": "" | |
} | |
], | |
"src": "1778:971:2" | |
} | |
] | |
}, | |
"contents": "{\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint80(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffff)\n }\n\n function validator_revert_t_uint80(value) {\n if iszero(eq(value, cleanup_t_uint80(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint80_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint80(value)\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_int256(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint80t_int256t_uint256t_uint256t_uint80_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_uint80_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n", | |
"id": 2, | |
"language": "Yul", | |
"name": "#utility.yul" | |
} | |
], | |
"immutableReferences": {}, | |
"linkReferences": {}, | |
"object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ab757d6114610030575b600080fd5b61003861004e565b6040516100459190610106565b60405180910390f35b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156100bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e091906101ca565b5050509150508091505090565b6000819050919050565b610100816100ed565b82525050565b600060208201905061011b60008301846100f7565b92915050565b600080fd5b600069ffffffffffffffffffff82169050919050565b61014581610126565b811461015057600080fd5b50565b6000815190506101628161013c565b92915050565b610171816100ed565b811461017c57600080fd5b50565b60008151905061018e81610168565b92915050565b6000819050919050565b6101a781610194565b81146101b257600080fd5b50565b6000815190506101c48161019e565b92915050565b600080600080600060a086880312156101e6576101e5610121565b5b60006101f488828901610153565b95505060206102058882890161017f565b9450506040610216888289016101b5565b9350506060610227888289016101b5565b925050608061023888828901610153565b915050929550929590935056fea264697066735822122079a62f9810002aac98dbf060a2ba7c57c7f4813f0579264efcd5857c4810ddd364736f6c63430008120033", | |
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAB757D61 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x38 PUSH2 0x4E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45 SWAP2 SWAP1 PUSH2 0x106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xE0 SWAP2 SWAP1 PUSH2 0x1CA JUMP JUMPDEST POP POP POP SWAP2 POP POP DUP1 SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x100 DUP2 PUSH2 0xED JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x11B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xF7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH10 0xFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x145 DUP2 PUSH2 0x126 JUMP JUMPDEST DUP2 EQ PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x162 DUP2 PUSH2 0x13C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x171 DUP2 PUSH2 0xED JUMP JUMPDEST DUP2 EQ PUSH2 0x17C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x18E DUP2 PUSH2 0x168 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1A7 DUP2 PUSH2 0x194 JUMP JUMPDEST DUP2 EQ PUSH2 0x1B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C4 DUP2 PUSH2 0x19E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1E6 JUMPI PUSH2 0x1E5 PUSH2 0x121 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1F4 DUP9 DUP3 DUP10 ADD PUSH2 0x153 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 PUSH2 0x205 DUP9 DUP3 DUP10 ADD PUSH2 0x17F JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 PUSH2 0x216 DUP9 DUP3 DUP10 ADD PUSH2 0x1B5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x227 DUP9 DUP3 DUP10 ADD PUSH2 0x1B5 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x238 DUP9 DUP3 DUP10 ADD PUSH2 0x153 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH26 0xA62F9810002AAC98DBF060A2BA7C57C7F4813F0579264EFCD585 PUSH29 0x4810DDD364736F6C634300081200330000000000000000000000000000 ", | |
"sourceMap": "611:708:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;998:319;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;1044:3;1134:10;1261:8;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1086:201;;;;;;1304:6;1297:13;;;998:319;:::o;7:76:2:-;43:7;72:5;61:16;;7:76;;;:::o;89:115::-;174:23;191:5;174:23;:::i;:::-;169:3;162:36;89:115;;:::o;210:218::-;301:4;339:2;328:9;324:18;316:26;;352:69;418:1;407:9;403:17;394:6;352:69;:::i;:::-;210:218;;;;:::o;515:117::-;624:1;621;614:12;761:105;797:7;837:22;830:5;826:34;815:45;;761:105;;;:::o;872:120::-;944:23;961:5;944:23;:::i;:::-;937:5;934:34;924:62;;982:1;979;972:12;924:62;872:120;:::o;998:141::-;1054:5;1085:6;1079:13;1070:22;;1101:32;1127:5;1101:32;:::i;:::-;998:141;;;;:::o;1145:120::-;1217:23;1234:5;1217:23;:::i;:::-;1210:5;1207:34;1197:62;;1255:1;1252;1245:12;1197:62;1145:120;:::o;1271:141::-;1327:5;1358:6;1352:13;1343:22;;1374:32;1400:5;1374:32;:::i;:::-;1271:141;;;;:::o;1418:77::-;1455:7;1484:5;1473:16;;1418:77;;;:::o;1501:122::-;1574:24;1592:5;1574:24;:::i;:::-;1567:5;1564:35;1554:63;;1613:1;1610;1603:12;1554:63;1501:122;:::o;1629:143::-;1686:5;1717:6;1711:13;1702:22;;1733:33;1760:5;1733:33;:::i;:::-;1629:143;;;;:::o;1778:971::-;1881:6;1889;1897;1905;1913;1962:3;1950:9;1941:7;1937:23;1933:33;1930:120;;;1969:79;;:::i;:::-;1930:120;2089:1;2114:63;2169:7;2160:6;2149:9;2145:22;2114:63;:::i;:::-;2104:73;;2060:127;2226:2;2252:63;2307:7;2298:6;2287:9;2283:22;2252:63;:::i;:::-;2242:73;;2197:128;2364:2;2390:64;2446:7;2437:6;2426:9;2422:22;2390:64;:::i;:::-;2380:74;;2335:129;2503:2;2529:64;2585:7;2576:6;2565:9;2561:22;2529:64;:::i;:::-;2519:74;;2474:129;2642:3;2669:63;2724:7;2715:6;2704:9;2700:22;2669:63;:::i;:::-;2659:73;;2613:129;1778:971;;;;;;;;:::o" | |
}, | |
"gasEstimates": { | |
"creation": { | |
"codeDepositCost": "127000", | |
"executionCost": "24438", | |
"totalCost": "151438" | |
}, | |
"external": { | |
"getLatestData()": "infinite" | |
} | |
}, | |
"methodIdentifiers": { | |
"getLatestData()": "ab757d61" | |
} | |
}, | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "getLatestData", | |
"outputs": [ | |
{ | |
"internalType": "int256", | |
"name": "", | |
"type": "int256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
] | |
} |
This file contains 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
{ | |
"compiler": { | |
"version": "0.8.18+commit.87f61d96" | |
}, | |
"language": "Solidity", | |
"output": { | |
"abi": [ | |
{ | |
"inputs": [], | |
"stateMutability": "nonpayable", | |
"type": "constructor" | |
}, | |
{ | |
"inputs": [], | |
"name": "getLatestData", | |
"outputs": [ | |
{ | |
"internalType": "int256", | |
"name": "", | |
"type": "int256" | |
} | |
], | |
"stateMutability": "view", | |
"type": "function" | |
} | |
], | |
"devdoc": { | |
"kind": "dev", | |
"methods": {}, | |
"version": 1 | |
}, | |
"userdoc": { | |
"kind": "user", | |
"methods": { | |
"constructor": { | |
"notice": "Network: Sepolia Aggregator: BTC/USD Address: 0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43" | |
}, | |
"getLatestData()": { | |
"notice": "Returns the latest answer." | |
} | |
}, | |
"notice": "If you are reading data feeds on L2 networks, you must check the latest answer from the L2 Sequencer Uptime Feed to ensure that the data is accurate in the event of an L2 sequencer outage. See the https://docs.chain.link/data-feeds/l2-sequencer-feeds page for details.", | |
"version": 1 | |
} | |
}, | |
"settings": { | |
"compilationTarget": { | |
"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol": "DataConsumerV3" | |
}, | |
"evmVersion": "paris", | |
"libraries": {}, | |
"metadata": { | |
"bytecodeHash": "ipfs" | |
}, | |
"optimizer": { | |
"enabled": false, | |
"runs": 200 | |
}, | |
"remappings": [] | |
}, | |
"sources": { | |
"@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol": { | |
"keccak256": "0x6e6e4b0835904509406b070ee173b5bc8f677c19421b76be38aea3b1b3d30846", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://b3beaa37ee61e4ab615e250fbf01601ae481de843fd0ef55e6b44fd9d5fff8a7", | |
"dweb:/ipfs/QmeZUVwd26LzK4Mfp8Zba5JbQNkZFfTzFu1A6FVMMZDg9c" | |
] | |
}, | |
"docs.chain.link/samples/DataFeeds/DataConsumerV3.sol": { | |
"keccak256": "0x5481d009a0acc4b9360ed66302ee277ed8cf8e9f04f3ca2e071dd6ccf8bad840", | |
"license": "MIT", | |
"urls": [ | |
"bzz-raw://ed5536012faa09125ff9b9a593837ce687740cfb5e771dacc60e4ca511edf010", | |
"dweb:/ipfs/QmanRQreUPkTFdxZGcXbb7HgmoNta794jNCFVNaBRmA4Si" | |
] | |
} | |
}, | |
"version": 1 | |
} |
This file contains 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
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.7; | |
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol"; | |
/** | |
* THIS IS AN EXAMPLE CONTRACT THAT USES HARDCODED | |
* VALUES FOR CLARITY. | |
* THIS IS AN EXAMPLE CONTRACT THAT USES UN-AUDITED CODE. | |
* DO NOT USE THIS CODE IN PRODUCTION. | |
*/ | |
/** | |
* If you are reading data feeds on L2 networks, you must | |
* check the latest answer from the L2 Sequencer Uptime | |
* Feed to ensure that the data is accurate in the event | |
* of an L2 sequencer outage. See the | |
* https://docs.chain.link/data-feeds/l2-sequencer-feeds | |
* page for details. | |
*/ | |
contract DataConsumerV3 { | |
AggregatorV3Interface internal dataFeed; | |
/** | |
* Network: Sepolia | |
* Aggregator: BTC/USD | |
* Address: 0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43 | |
*/ | |
constructor() { | |
dataFeed = AggregatorV3Interface( | |
0x1b44F3514812d835EB1BDB0acB33d3fA3351Ee43 | |
); | |
} | |
/** | |
* Returns the latest answer. | |
*/ | |
function getLatestData() public view returns (int) { | |
// prettier-ignore | |
( | |
/* uint80 roundID */, | |
int answer, | |
/*uint startedAt*/, | |
/*uint timeStamp*/, | |
/*uint80 answeredInRound*/ | |
) = dataFeed.latestRoundData(); | |
return answer; | |
} | |
} | |
// $26,883.73000000 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment