Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save AsitDixit/c2994297aa57c02549d604bd4c0d0921 to your computer and use it in GitHub Desktop.
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=
{
"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
}
}
}
}
{
"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
}
}
}
}
{
"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
}
}
}
}
{
"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"
}
]
}
{
"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
}
{
"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": []
}
{
"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
}
// 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;
}
}
// 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;
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.8;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment