{
  "_format": "hh-sol-artifact-1",
  "contractName": "Multicall3Revised",
  "sourceName": "src/Multicall3Revised.sol",
  "abi": [
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "target",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct Multicall3Revised.Call[]",
          "name": "calls",
          "type": "tuple[]"
        }
      ],
      "name": "aggregate2",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        },
        {
          "internalType": "uint256[]",
          "name": "gas",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "returnData",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "target",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct Multicall3Revised.Call3[]",
          "name": "calls",
          "type": "tuple[]"
        }
      ],
      "name": "aggregate3",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        },
        {
          "internalType": "uint256[]",
          "name": "gas",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "returnData",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getBasefee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "basefee",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        }
      ],
      "name": "getBlockHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "blockHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getBlockNumber",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getChainId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "chainid",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCurrentBlockCoinbase",
      "outputs": [
        {
          "internalType": "address",
          "name": "coinbase",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCurrentBlockGasLimit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "gaslimit",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCurrentBlockTimestamp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "addr",
          "type": "address"
        }
      ],
      "name": "getEthBalance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getGasleft",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "gas",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getLastBlockHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "blockHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x6080806040523461001657610972908161001c8239f35b600080fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063040ad5c1146100db5780630f28c97d146100d657806327e86d6e146100d15780633408e470146100cc57806336e6f484146100c75780633e64a696146100c257806342cbb15c146100bd5780634d2301cc146100b857806386d516e8146100b3578063a8b0574e146100ae578063edb4b865146100a95763ee82ac5e0361000e57610614565b6105da565b6105a1565b610568565b610522565b6104cb565b610492565b6103d9565b6103a0565b610344565b61030b565b610238565b9060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261014b5760043567ffffffffffffffff9283821161014b578060238301121561014b57816004013593841161014b5760248460051b8301011161014b576024019190565b600080fd5b606081019181526020916060838301528351809152826080830194019060005b81811061022457505050604081840391015282518083528183019180808360051b8601019501936000905b8382106101ab5750505050505090565b909192939495837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe080848403018852885180519081855260005b8281106102105750506000818501840152601f0116909101810196810195019392916001019061019b565b8181018501518682018601528894016101e5565b825186529484019491840191600101610170565b610241366100e0565b9061024b826106e0565b9161025581610742565b9060005b818110610274576040518061027087864384610150565b0390f35b61027f8183866107b6565b5a9060008061028d836107fb565b8161029d60209586810190610808565b91906102ae60405180948193610859565b03925af16102cd6102c86102c0610867565b945a906108f0565b610902565b6102d78588610911565b52156102fe5750906001916102ec8288610911565b526102f78187610911565b5001610259565b90805191821561014b5701fd5b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051428152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b5760206040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4301408152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051468152f35b6103e2366100e0565b906103ec826106e0565b916103f681610742565b9060005b818110610411576040518061027087864384610150565b61041c818386610925565b5a9060008061042a836107fb565b610448604061043b81870187610808565b9290915180938193610859565b0391602080960135905af16104616102c86102c0610867565b61046b8588610911565b52156102fe5750906001916104808288610911565b5261048b8187610911565b50016103fa565b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051488152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051438152f35b73ffffffffffffffffffffffffffffffffffffffff81160361014b57565b3461014b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b57602060043561055f81610504565b31604051908152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051458152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051418152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b5760205a604051908152f35b3461014b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051600435408152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff8211176106c357604052565b610650565b67ffffffffffffffff81116106c35760051b60200190565b906106f26106ed836106c8565b61067f565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061072082946106c8565b019060005b82811061073157505050565b806060602080938501015201610725565b9061074f6106ed836106c8565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061077d82946106c8565b0190602036910137565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156107f65760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18136030182121561014b570190565b610787565b3561080581610504565b90565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561014b570180359067ffffffffffffffff821161014b5760200191813603831361014b57565b908092918237016000815290565b3d156108bc573d9067ffffffffffffffff82116106c3576108af60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161067f565b9182523d6000602084013e565b606090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919082039182116108fd57565b6108c1565b9061520882018092116108fd57565b80518210156107f65760209160051b010190565b91908110156107f65760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561014b57019056fea164736f6c6343000813000a",
  "deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063040ad5c1146100db5780630f28c97d146100d657806327e86d6e146100d15780633408e470146100cc57806336e6f484146100c75780633e64a696146100c257806342cbb15c146100bd5780634d2301cc146100b857806386d516e8146100b3578063a8b0574e146100ae578063edb4b865146100a95763ee82ac5e0361000e57610614565b6105da565b6105a1565b610568565b610522565b6104cb565b610492565b6103d9565b6103a0565b610344565b61030b565b610238565b9060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261014b5760043567ffffffffffffffff9283821161014b578060238301121561014b57816004013593841161014b5760248460051b8301011161014b576024019190565b600080fd5b606081019181526020916060838301528351809152826080830194019060005b81811061022457505050604081840391015282518083528183019180808360051b8601019501936000905b8382106101ab5750505050505090565b909192939495837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe080848403018852885180519081855260005b8281106102105750506000818501840152601f0116909101810196810195019392916001019061019b565b8181018501518682018601528894016101e5565b825186529484019491840191600101610170565b610241366100e0565b9061024b826106e0565b9161025581610742565b9060005b818110610274576040518061027087864384610150565b0390f35b61027f8183866107b6565b5a9060008061028d836107fb565b8161029d60209586810190610808565b91906102ae60405180948193610859565b03925af16102cd6102c86102c0610867565b945a906108f0565b610902565b6102d78588610911565b52156102fe5750906001916102ec8288610911565b526102f78187610911565b5001610259565b90805191821561014b5701fd5b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051428152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b5760206040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4301408152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051468152f35b6103e2366100e0565b906103ec826106e0565b916103f681610742565b9060005b818110610411576040518061027087864384610150565b61041c818386610925565b5a9060008061042a836107fb565b610448604061043b81870187610808565b9290915180938193610859565b0391602080960135905af16104616102c86102c0610867565b61046b8588610911565b52156102fe5750906001916104808288610911565b5261048b8187610911565b50016103fa565b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051488152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051438152f35b73ffffffffffffffffffffffffffffffffffffffff81160361014b57565b3461014b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b57602060043561055f81610504565b31604051908152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051458152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051418152f35b3461014b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b5760205a604051908152f35b3461014b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014b576020604051600435408152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff8211176106c357604052565b610650565b67ffffffffffffffff81116106c35760051b60200190565b906106f26106ed836106c8565b61067f565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061072082946106c8565b019060005b82811061073157505050565b806060602080938501015201610725565b9061074f6106ed836106c8565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061077d82946106c8565b0190602036910137565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156107f65760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18136030182121561014b570190565b610787565b3561080581610504565b90565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561014b570180359067ffffffffffffffff821161014b5760200191813603831361014b57565b908092918237016000815290565b3d156108bc573d9067ffffffffffffffff82116106c3576108af60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161067f565b9182523d6000602084013e565b606090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919082039182116108fd57565b6108c1565b9061520882018092116108fd57565b80518210156107f65760209160051b010190565b91908110156107f65760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561014b57019056fea164736f6c6343000813000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
