witnet-solidity-bridge
Version:
Witnet Solidity Bridge contracts for EVM-compatible chains
1,506 lines • 132 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "WitnetOracleTrustableOvm2",
"sourceName": "contracts/core/customs/WitnetOracleTrustableOvm2.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract WitnetRequestFactory",
"name": "_factory",
"type": "address"
},
{
"internalType": "contract WitnetRequestBytecodes",
"name": "_registry",
"type": "address"
},
{
"internalType": "bool",
"name": "_upgradable",
"type": "bool"
},
{
"internalType": "bytes32",
"name": "_versionTag",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_reportResultGasBase",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_reportResultWithCallbackGasBase",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_reportResultWithCallbackRevertGasBase",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_sstoreFromZeroGas",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "EmptyBuffer",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "range",
"type": "uint256"
}
],
"name": "IndexOutOfBounds",
"type": "error"
},
{
"inputs": [],
"name": "InvalidInitialization",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "InvalidLengthEncoding",
"type": "error"
},
{
"inputs": [],
"name": "NotInitializing",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "ReentrancyGuardReentrantCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "read",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expected",
"type": "uint256"
}
],
"name": "UnexpectedMajorType",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "unexpected",
"type": "uint256"
}
],
"name": "UnsupportedMajorType",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "queryId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "reason",
"type": "string"
}
],
"name": "BatchReportError",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint64",
"name": "version",
"type": "uint64"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferStarted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Received",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address[]",
"name": "reporters",
"type": "address[]"
}
],
"name": "ReportersSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address[]",
"name": "reporters",
"type": "address[]"
}
],
"name": "ReportersUnset",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "baseAddr",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "baseCodehash",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "versionTag",
"type": "string"
}
],
"name": "Upgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "evmReward",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint8",
"name": "committeeSize",
"type": "uint8"
},
{
"internalType": "uint64",
"name": "witnessingFeeNanoWit",
"type": "uint64"
}
],
"indexed": false,
"internalType": "struct WitnetV2.RadonSLA",
"name": "witnetSLA",
"type": "tuple"
}
],
"name": "WitnetQuery",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "evmGasPrice",
"type": "uint256"
}
],
"name": "WitnetQueryResponse",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "evmGasPrice",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "evmCallbackGas",
"type": "uint256"
}
],
"name": "WitnetQueryResponseDelivered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "resultCborBytes",
"type": "bytes"
},
{
"indexed": false,
"internalType": "uint256",
"name": "evmGasPrice",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "evmCallbackActualGas",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "evmCallbackRevertReason",
"type": "string"
}
],
"name": "WitnetQueryResponseDeliveryFailed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "evmReward",
"type": "uint256"
}
],
"name": "WitnetQueryRewardUpgraded",
"type": "event"
},
{
"stateMutability": "nonpayable",
"type": "fallback"
},
{
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "base",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "channel",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "class",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "codehash",
"outputs": [
{
"internalType": "bytes32",
"name": "_codehash",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "currency",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "deployer",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_gasPrice",
"type": "uint256"
},
{
"internalType": "uint16",
"name": "_resultMaxSize",
"type": "uint16"
}
],
"name": "estimateBaseFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "gasPrice",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "radHash",
"type": "bytes32"
}
],
"name": "estimateBaseFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_gasPrice",
"type": "uint256"
},
{
"internalType": "uint24",
"name": "_callbackGasLimit",
"type": "uint24"
}
],
"name": "estimateBaseFeeWithCallback",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "_witnetQueryIds",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "_reportTxMsgData",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "_reportTxGasPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_nanoWitPrice",
"type": "uint256"
}
],
"name": "estimateReportEarnings",
"outputs": [
{
"internalType": "uint256",
"name": "_revenues",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_expenses",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "_queryIds",
"type": "uint256[]"
}
],
"name": "extractWitnetDataRequests",
"outputs": [
{
"internalType": "bytes[]",
"name": "_bytecodes",
"type": "bytes[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "factory",
"outputs": [
{
"internalType": "contract WitnetRequestFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "fetchQueryResponse",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "reporter",
"type": "address"
},
{
"internalType": "uint64",
"name": "finality",
"type": "uint64"
},
{
"internalType": "uint32",
"name": "resultTimestamp",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "resultTallyHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "resultCborBytes",
"type": "bytes"
}
],
"internalType": "struct WitnetV2.Response",
"name": "_response",
"type": "tuple"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getNextQueryId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "getQuery",
"outputs": [
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "requester",
"type": "address"
},
{
"internalType": "uint24",
"name": "gasCallback",
"type": "uint24"
},
{
"internalType": "uint72",
"name": "evmReward",
"type": "uint72"
},
{
"internalType": "bytes",
"name": "witnetBytecode",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "witnetRAD",
"type": "bytes32"
},
{
"components": [
{
"internalType": "uint8",
"name": "committeeSize",
"type": "uint8"
},
{
"internalType": "uint64",
"name": "witnessingFeeNanoWit",
"type": "uint64"
}
],
"internalType": "struct WitnetV2.RadonSLA",
"name": "witnetSLA",
"type": "tuple"
}
],
"internalType": "struct WitnetV2.Request",
"name": "request",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "reporter",
"type": "address"
},
{
"internalType": "uint64",
"name": "finality",
"type": "uint64"
},
{
"internalType": "uint32",
"name": "resultTimestamp",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "resultTallyHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "resultCborBytes",
"type": "bytes"
}
],
"internalType": "struct WitnetV2.Response",
"name": "response",
"type": "tuple"
}
],
"internalType": "struct WitnetV2.Query",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "getQueryEvmReward",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "getQueryRequest",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "requester",
"type": "address"
},
{
"internalType": "uint24",
"name": "gasCallback",
"type": "uint24"
},
{
"internalType": "uint72",
"name": "evmReward",
"type": "uint72"
},
{
"internalType": "bytes",
"name": "witnetBytecode",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "witnetRAD",
"type": "bytes32"
},
{
"components": [
{
"internalType": "uint8",
"name": "committeeSize",
"type": "uint8"
},
{
"internalType": "uint64",
"name": "witnessingFeeNanoWit",
"type": "uint64"
}
],
"internalType": "struct WitnetV2.RadonSLA",
"name": "witnetSLA",
"type": "tuple"
}
],
"internalType": "struct WitnetV2.Request",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "getQueryResponse",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "reporter",
"type": "address"
},
{
"internalType": "uint64",
"name": "finality",
"type": "uint64"
},
{
"internalType": "uint32",
"name": "resultTimestamp",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "resultTallyHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "resultCborBytes",
"type": "bytes"
}
],
"internalType": "struct WitnetV2.Response",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "getQueryResponseStatus",
"outputs": [
{
"internalType": "enum WitnetV2.ResponseStatus",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "getQueryResultCborBytes",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "getQueryResultError",
"outputs": [
{
"components": [
{
"internalType": "enum Witnet.ResultErrorCodes",
"name": "code",
"type": "uint8"
},
{
"internalType": "string",
"name": "reason",
"type": "string"
}
],
"internalType": "struct Witnet.ResultError",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "getQueryStatus",
"outputs": [
{
"internalType": "enum WitnetV2.QueryStatus",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "_witnetQueryIds",
"type": "uint256[]"
}
],
"name": "getQueryStatusBatch",
"outputs": [
{
"internalType": "enum WitnetV2.QueryStatus[]",
"name": "_status",
"type": "uint8[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "_initData",
"type": "bytes"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_reporter",
"type": "address"
}
],
"name": "isReporter",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isUpgradable",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
}
],
"name": "isUpgradableFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pendingOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_queryRAD",
"type": "bytes32"
},
{
"components": [
{
"internalType": "uint8",
"name": "committeeSize",
"type": "uint8"
},
{
"internalType": "uint64",
"name": "witnessingFeeNanoWit",
"type": "uint64"
}
],
"internalType": "struct WitnetV2.RadonSLA",
"name": "_querySLA",
"type": "tuple"
}
],
"name": "postRequest",
"outputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "_queryUnverifiedBytecode",
"type": "bytes"
},
{
"components": [
{
"internalType": "uint8",
"name": "committeeSize",
"type": "uint8"
},
{
"internalType": "uint64",
"name": "witnessingFeeNanoWit",
"type": "uint64"
}
],
"internalType": "struct WitnetV2.RadonSLA",
"name": "_querySLA",
"type": "tuple"
},
{
"internalType": "uint24",
"name": "_queryCallbackGasLimit",
"type": "uint24"
}
],
"name": "postRequestWithCallback",
"outputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_queryRAD",
"type": "bytes32"
},
{
"components": [
{
"internalType": "uint8",
"name": "committeeSize",
"type": "uint8"
},
{
"internalType": "uint64",
"name": "witnessingFeeNanoWit",
"type": "uint64"
}
],
"internalType": "struct WitnetV2.RadonSLA",
"name": "_querySLA",
"type": "tuple"
},
{
"internalType": "uint24",
"name": "_queryCallbackGasLimit",
"type": "uint24"
}
],
"name": "postRequestWithCallback",
"outputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "proxiableUUID",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "registry",
"outputs": [
{
"internalType": "contract WitnetRequestBytecodes",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_witnetQueryResultTallyHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "_witnetQueryResultCborBytes",
"type": "bytes"
}
],
"name": "reportResult",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "_witnetQueryResultTimestamp",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "_witnetQueryResultTallyHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "_witnetQueryResultCborBytes",
"type": "bytes"
}
],
"name": "reportResult",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "queryId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "queryResultTimestamp",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "queryResultTallyHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "queryResultCborBytes",
"type": "bytes"
}
],
"internalType": "struct IWitnetOracleReporter.BatchResult[]",
"name": "_batchResults",
"type": "tuple[]"
}
],
"name": "reportResultBatch",
"outputs": [
{
"internalType": "uint256",
"name": "_batchReward",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_reporters",
"type": "address[]"
}
],
"name": "setReporters",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "specs",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_exReporters",
"type": "address[]"
}
],
"name": "unsetReporters",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_witnetQueryId",
"type": "uint256"
}
],
"name": "upgradeQueryEvmReward",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x610260604052336101005263baeca88b60e01b6101605234801561002257600080fd5b50604051616058380380616058833981016040819052610041916101cf565b87878787878787878787878760008083836040518060400160405280601981526020017f696f2e7769746e65742e70726f786961626c652e626f61726400000000000000815250823360006001600160a01b0316816001600160a01b0316036100c457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100cd8161014e565b5030608052151560c052600160025560e091909152805160209091012061012052506001600160a01b03908116610140529485166101a05250505016610180526101c0939093526101e0919091526102005261022052505073420000000000000000000000000000000000000f610240525061025198505050505050505050565b600180546001600160a01b03191690556101678161016a565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461016757600080fd5b600080600080600080600080610100898b0312156101ec57600080fd5b88516101f7816101ba565b60208a0151909850610208816101ba565b60408a0151909750801515811461021e57600080fd5b60608a015160808b015160a08c015160c08d015160e0909d01519b9e9a9d50929b919a9099929850909650945092505050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051615ce161037760003960008181611fd50152612bf0015260008181612b0a01526133a101526000612b36015260008181612b760152612bbe015260006133cb015260008181610903015281816116c801528181611710015281816117db01526118980152600081816106c50152818161186e01528181611a2601528181611eba015261208701526000610870015260006109a00152600061052e0152600061094e01526000611ab201526000818161055f0152611c71015260005050600081816104e401528181610839015281816115fd015281816116570152818161195e01526119800152615ce16000f3fe6080604052600436106102765760003560e01c80637b1039991161014f578063aeb2ffc1116100c1578063e30c39781161007a578063e30c397814610970578063e5a6b10f1461098e578063e900aa33146109c2578063ec5946db146109d5578063f2fde38b146109e8578063f61921b214610a08576102b3565b8063aeb2ffc114610892578063b207e730146108bf578063bff852fa146108df578063c45a0155146108f4578063c805dd0f14610927578063d5f394881461093c576102b3565b806393d5185c1161011357806393d5185c146107955780639cc56e67146107ca578063a3ff5b00146107ea578063a77fc1a4146107fd578063a9e954b91461082a578063adb7c3f71461085e576102b3565b80637b103999146106b35780637bbdb96e146106e75780637bd88218146107375780638d3d8b38146107575780638da5cb5b14610777576102b3565b80635001f3b5116101e85780636280bce8116101ac5780636280bce8146105d25780636b58960a146105f25780636f07abcc146106125780636fdaab7e1461063f578063715018a61461068957806379ba50971461069e576102b3565b80635001f3b5146104d557806352d1902d1461051c5780635479d9401461055057806354fd4d5014610583578063581f5094146105a5576102b3565b8063234fe6e31161023a578063234fe6e31461040857806328a78d9b146104355780633dc2b7a214610455578063439fab911461046857806345ea6c17146104885780634c9f72e3146104b5576102b3565b8063044ad7be1461032b57806305e742ef1461036057806306eb2c421461038e57806308b7e85e146103ae5780630aa4112a146103db576102b3565b366102b3576102b1604051806040016040528060158152602001741b9bc81d1c985b9cd9995c9cc81858d8d95c1d1959605a1b815250610a28565b005b3480156102bf57600080fd5b506102b16102d160003560f81c610a71565b6102e260ff60003560f01c16610a71565b6102f360ff60003560e81c16610a71565b61030460ff60003560e01c16610a71565b60405160200161031794939291906145bb565b604051602081830303815290604052610a28565b34801561033757600080fd5b5061034b61034636600461464f565b610b63565b60405190151581526020015b60405180910390f35b34801561036c57600080fd5b5061038061037b36600461467f565b610ba5565b604051908152602001610357565b34801561039a57600080fd5b506103806103a93660046146f6565b610bcc565b3480156103ba57600080fd5b506103ce6103c9366004614737565b610f36565b60405161035791906147d0565b3480156103e757600080fd5b506103fb6103f6366004614737565b6111cd565b6040516103579190614865565b34801561041457600080fd5b50610428610423366004614737565b611333565b60405161035791906148a2565b34801561044157600080fd5b506102b1610450366004614915565b61133e565b6103806104633660046149cb565b6113f7565b34801561047457600080fd5b506102b1610483366004614a16565b611501565b34801561049457600080fd5b506104a86104a33660046146f6565b6119f5565b6040516103579190614a9b565b3480156104c157600080fd5b506102b16104d0366004614915565b611a97565b3480156104e157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610357565b34801561052857600080fd5b506103807f000000000000000000000000000000000000000000000000000000000000000081565b34801561055c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034b565b34801561058f57600080fd5b50610598611aab565b6040516103579190614aff565b3480156105b157600080fd5b506105c56105c03660046146f6565b611adb565b6040516103579190614b22565b3480156105de57600080fd5b506103806105ed366004614bae565b611b9d565b3480156105fe57600080fd5b5061034b61060d36600461464f565b611c6d565b34801561061e57600080fd5b5061063261062d366004614737565b611cc3565b6040516103579190614c00565b34801561064b57600080fd5b5061038061065a366004614737565b6000908152600080516020615c8c8339815191526020526040902054600160b81b90046001600160481b031690565b34801561069557600080fd5b506102b1611cce565b3480156106aa57600080fd5b506102b1611ce2565b3480156106bf57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b3480156106f357600080fd5b5060408051306020808301919091524682840152825180830384018152606090920190925280519101205b6040516001600160e01b03199091168152602001610357565b34801561074357600080fd5b50610380610752366004614c1e565b611d59565b34801561076357600080fd5b50610598610772366004614737565b611d6e565b34801561078357600080fd5b506000546001600160a01b0316610504565b3480156107a157600080fd5b506107b56107b0366004614c4e565b611e0c565b60408051928352602083019190915201610357565b3480156107d657600080fd5b506103806107e5366004614ccb565b612064565b6103806107f8366004614ced565b61213a565b34801561080957600080fd5b5061081d610818366004614737565b612294565b6040516103579190614d62565b34801561083657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000003f610380565b34801561086a57600080fd5b5061071e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089e57600080fd5b506108b26108ad366004614737565b61240d565b6040516103579190614d8e565b3480156108cb57600080fd5b506103806108da366004614ddb565b612643565b3480156108eb57600080fd5b5061059861275e565b34801561090057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610504565b34801561093357600080fd5b50610380612795565b34801561094857600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b34801561097c57600080fd5b506001546001600160a01b0316610504565b34801561099a57600080fd5b506105047f000000000000000000000000000000000000000000000000000000000000000081565b6103806109d0366004614e42565b6127b2565b6102b16109e3366004614737565b612871565b3480156109f457600080fd5b506102b1610a0336600461464f565b61296f565b348015610a1457600080fd5b506103ce610a23366004614737565b6129e0565b610a3061275e565b81604051602001610a42929190614e7f565b60408051601f198184030181529082905262461bcd60e51b8252610a6891600401614aff565b60405180910390fd5b604080516002808252818301909252606091600091906020820181803683370190505090506000610aa3601085614ee8565b610aae906030614f0a565b90506000610abd601086614f23565b610ac8906030614f0a565b905060398260ff161115610ae457610ae1600783614f0a565b91505b60398160ff161115610afe57610afb600782614f0a565b90505b8160f81b83600081518110610b1557610b15614f45565b60200101906001600160f81b031916908160001a9053508060f81b83600181518110610b4357610b43614f45565b60200101906001600160f81b031916908160001a90535091949350505050565b6001600160a01b03811660009081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b6000610bb18383612b02565b610bbb6020612bec565b610bc59190614f5b565b9392505050565b6000610c2e600080516020615c6c8339815191525b336000908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff1690612ca2565b60005b82811015610f25576001610c68858584818110610c5057610c50614f45565b9050602002810190610c629190614f6e565b35612cb4565b6003811115610c7957610c79614878565b14610d5e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610cb157610cb1614f45565b9050602002810190610cc39190614f6e565b6040516353e8875160e11b815290359073__$e6ff738751a05f257ae0de251e4d5c9673$__9063a7d10ea290610cfe90600190600401614c00565b600060405180830381865af4158015610d1b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d439190810190614fdd565b604051610d51929190615011565b60405180910390a1610f1d565b838382818110610d7057610d70614f45565b9050602002810190610d829190614f6e565b610d9390604081019060200161502a565b63ffffffff161580610dd65750838382818110610db257610db2614f45565b9050602002810190610dc49190614f6e565b610dd2906060810190615045565b1590505b15610e54577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848483818110610e0e57610e0e614f45565b9050602002810190610e209190614f6e565b35610e2961275e565b604051602001610e39919061508b565b60408051601f1981840301815290829052610d519291615011565b610f10848483818110610e6957610e69614f45565b9050602002810190610e7b9190614f6e565b35858584818110610e8e57610e8e614f45565b9050602002810190610ea09190614f6e565b610eb190604081019060200161502a565b868685818110610ec357610ec3614f45565b9050602002810190610ed59190614f6e565b60400135878786818110610eeb57610eeb614f45565b9050602002810190610efd9190614f6e565b610f0b906060810190615045565b612d35565b610f1a9083614f5b565b91505b600101610c31565b508015610b9f57610b9f3382612f14565b6040805160a081018252600080825260208201819052918101829052606080820192909252608081019190915281600380610f7083612cb4565b6003811115610f8157610f81614878565b14611010576040516353e8875160e11b815261100b9073__$e6ff738751a05f257ae0de251e4d5c9673$__9063a7d10ea290610fc1908590600401614c00565b600060405180830381865af4158015610fde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110069190810190614fdd565b610a28565b6111c6565b8361105961101d82612f4a565b546040805180820190915260118152703737ba103a3432903932b8bab2b9ba32b960791b60208201526001600160a01b03909116331490612ca2565b61106285612f4a565b6040805160a0810182526004830180546001600160a01b0381168352600160a01b81046001600160401b03166020840152600160e01b900463ffffffff169282019290925260058301546060820152600690920180546080840191906110c7906150c4565b80601f01602080910402602001604051908101604052809291908181526020018280546110f3906150c4565b80156111405780601f1061111557610100808354040283529160200191611140565b820191906000526020600020905b81548152906001019060200180831161112357829003601f168201915b5050505050815250509350611160600080516020615c6c83398151915290565b600086815260019182016020526040812081815591829082906111859083018261447f565b506000600282018190556003909101805468ffffffffffffffffff191690556004830181815560058401829055906111c0600685018261447f565b50505050505b5050919050565b6112116040805160c081018252600080825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b61121a82612f4a565b6040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b031691810191909152600182018054919291606084019190611272906150c4565b80601f016020809104026020016040519081016040528092919081815260200182805461129e906150c4565b80156112eb5780601f106112c0576101008083540402835291602001916112eb565b820191906000526020600020905b8154815290600101906020018083116112ce57829003601f168201915b5050509183525050600282015460208083019190915260408051808201825260039094015460ff8116855261010090046001600160401b031691840191909152015292915050565b6000610b9f82612f68565b611346613080565b60005b81518110156113bc57600082828151811061136657611366614f45565b602002602001015190506000611387600080516020615c6c83398151915290565b6001600160a01b0392909216600090815260029092016020526040909120805460ff1916911515919091179055600101611349565b507f646436560d9757cb3c0f01da0f62642c6040b00c9a80685f94ef1a7725cad5f1816040516113ec91906150f8565b60405180910390a150565b60006114033a84612064565b61143c81345b1015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b815250612ca2565b61147a61144a82600a615139565b3411156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b815250612ca2565b826114b0611487826130ad565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b815250612ca2565b6114bc85856000613106565b92507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a6168334866040516114f193929190615174565b60405180910390a1505092915050565b6000546001600160a01b03166060816115545760608380602001905181019061152a91906151bb565b9093509050611538836131da565b8080602001905181019061154c919061520b565b9150506115ae565b611597826001600160a01b0316336001600160a01b0316146040518060400160405280600d81526020016c3737ba103a34329037bbb732b960991b815250612ca2565b828060200190518101906115ab919061520b565b90505b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe541580159061161f57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611655576116556040518060400160405280601081526020016f185b1c9958591e481d5c19dc9859195960821b815250610a28565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe55604080518082019091526012815271696e6578697374656e7420666163746f727960701b60208201526116f9907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b151590612ca2565b6117cc630db7c58b60e41b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561176c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179091906152a4565b6001600160e01b0319161460405180604001604052806013815260200172756e636f6d706c69616e7420666163746f727960681b815250612ca2565b611953306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166346d1d21a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185b91906152ce565b6001600160a01b031614801561192357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191891906152ce565b6001600160a01b0316145b60405180604001604052806012815260200171646973636f7264616e7420666163746f727960701b815250612ca2565b61195c816131f3565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f66119db611aab565b6040516119e89190614aff565b60405180910390a4505050565b6040516251ca3160e21b815260609073__$e6ff738751a05f257ae0de251e4d5c9673$__9063014728c490611a52907f000000000000000000000000000000000000000000000000000000000000000090879087906004016152eb565b600060405180830381865af4158015611a6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bc59190810190615335565b611a9f613080565b611aa8816131f3565b50565b6060611ad67f0000000000000000000000000000000000000000000000000000000000000000613299565b905090565b6060816001600160401b03811115611af557611af56148b0565b604051908082528060200260200182016040528015611b1e578160200160208202803683370190505b50905060005b82811015611b9657611b4d848483818110611b4157611b41614f45565b90506020020135612cb4565b828281518110611b5f57611b5f614f45565b60200260200101906003811115611b7857611b78614878565b90816003811115611b8b57611b8b614878565b905250600101611b24565b509291505