witnet-solidity-bridge
Version:
Witnet Solidity Bridge contracts for EVM-compatible chains
872 lines • 2.6 MB
JSON
{
"contractName": "WitRandomnessV3",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_witOracle",
"type": "address"
},
{
"internalType": "address",
"name": "_operator",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": [
{
"internalType": "uint256",
"name": "read",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expected",
"type": "uint256"
}
],
"name": "UnexpectedMajorType",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "by",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "master",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "clone",
"type": "address"
}
],
"name": "Cloned",
"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": "uint256",
"name": "randomizeBlock",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "finalityBlock",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "randomness",
"type": "bytes32"
}
],
"name": "Randomized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "evmRequester",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "randomizeBlock",
"type": "uint256"
},
{
"indexed": false,
"internalType": "Witnet.QueryId",
"name": "witOracleQueryId",
"type": "uint64"
}
],
"name": "Randomizing",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"inputs": [],
"name": "cloned",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "specs",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
},
{
"inputs": [],
"name": "class",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_curator",
"type": "address"
},
{
"components": [
{
"internalType": "uint24",
"name": "callbackGasLimit",
"type": "uint24"
},
{
"internalType": "uint16",
"name": "extraFeePercentage",
"type": "uint16"
},
{
"internalType": "uint16",
"name": "witCommitteeSize",
"type": "uint16"
},
{
"internalType": "uint64",
"name": "witInclusionFees",
"type": "uint64"
},
{
"internalType": "uint16",
"name": "randomizeWaitingBlocks",
"type": "uint16"
}
],
"internalType": "struct WitRandomnessV3.CloneSettings",
"name": "_settings",
"type": "tuple"
}
],
"name": "initializeClone",
"outputs": [
{
"internalType": "contract IWitRandomness",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "initialized",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "base",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_curator",
"type": "address"
}
],
"name": "clone",
"outputs": [
{
"internalType": "contract IWitRandomness",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "consumer",
"outputs": [
{
"internalType": "contract IWitRandomnessConsumer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_evmGasPrice",
"type": "uint256"
}
],
"name": "estimateRandomizeFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "fetchRandomnessAfter",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "fetchRandomnessAfterProof",
"outputs": [
{
"internalType": "bytes32",
"name": "_witnetQueryUUID",
"type": "bytes32"
},
{
"internalType": "Witnet.Timestamp",
"name": "_witnetTimestamp",
"type": "uint64"
},
{
"internalType": "Witnet.TransactionHash",
"name": "_witnetDrTxHash",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "_evmFinalityBlock",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getLastRandomizeBlock",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "getRandomizeData",
"outputs": [
{
"internalType": "Witnet.QueryId",
"name": "_queryId",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "_prevRandomizeBlock",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_nextRandomizeBlock",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "getRandomizeNextBlock",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "getRandomizePrevBlock",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "getRandomizeQueryId",
"outputs": [
{
"internalType": "Witnet.QueryId",
"name": "",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "getRandomizeQueryErrorDescription",
"outputs": [
{
"internalType": "string",
"name": "_reason",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRandomizeQueryParams",
"outputs": [
{
"internalType": "uint24",
"name": "_callbackGasLimit",
"type": "uint24"
},
{
"internalType": "uint16",
"name": "_extraFeePercentage",
"type": "uint16"
},
{
"internalType": "uint16",
"name": "_witCommitteeSize",
"type": "uint16"
},
{
"internalType": "uint64",
"name": "_witInclusionFees",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRandomizeRadonBytecode",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRandomizeRadonHash",
"outputs": [
{
"internalType": "Witnet.RadonHash",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "getRandomizeStatus",
"outputs": [
{
"internalType": "enum IWitRandomnessTypes.RandomizeStatus",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRandomizeWaitingBlocks",
"outputs": [
{
"internalType": "uint16",
"name": "",
"type": "uint16"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_blockNumber",
"type": "uint256"
}
],
"name": "isRandomized",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "randomize",
"outputs": [
{
"internalType": "uint256",
"name": "_evmUsedFunds",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "blockNumber",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "witnetRandomness",
"type": "bytes32"
}
],
"name": "verifyRandomnessAfter",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "witOracle",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"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": "address",
"name": "_newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_consumer",
"type": "address"
},
{
"internalType": "uint24",
"name": "_maxCallbackGasLimit",
"type": "uint24"
}
],
"name": "settleConsumer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint24",
"name": "_callbackGasLimit",
"type": "uint24"
},
{
"internalType": "uint16",
"name": "_extraFeePercentage",
"type": "uint16"
},
{
"internalType": "uint16",
"name": "_minWitCommitteeSize",
"type": "uint16"
},
{
"internalType": "uint64",
"name": "_minWitInclusionFees",
"type": "uint64"
}
],
"name": "settleQueryParams",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint16",
"name": "_randomizeWaitingBlocks",
"type": "uint16"
}
],
"name": "settleRandomizeWaitingBlocks",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "queryId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "queryResult",
"type": "bytes"
}
],
"name": "reportWitOracleQueryResult",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
}
],
"name": "reportableFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_witOracle\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"master\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"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\":\"uint256\",\"name\":\"randomizeBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"finalityBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"randomness\",\"type\":\"bytes32\"}],\"name\":\"Randomized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"evmRequester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"randomizeBlock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"Witnet.QueryId\",\"name\":\"witOracleQueryId\",\"type\":\"uint64\"}],\"name\":\"Randomizing\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"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\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_curator\",\"type\":\"address\"}],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"contract IWitRandomness\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"consumer\",\"outputs\":[{\"internalType\":\"contract IWitRandomnessConsumer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateRandomizeFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"fetchRandomnessAfter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"fetchRandomnessAfterProof\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_witnetQueryUUID\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"_witnetTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"_witnetDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_evmFinalityBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastRandomizeBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRandomizeData\",\"outputs\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"_queryId\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"_prevRandomizeBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nextRandomizeBlock\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRandomizeNextBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRandomizePrevBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRandomizeQueryErrorDescription\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_reason\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRandomizeQueryId\",\"outputs\":[{\"internalType\":\"Witnet.QueryId\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRandomizeQueryParams\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"_callbackGasLimit\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"_extraFeePercentage\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"_witInclusionFees\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRandomizeRadonBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRandomizeRadonHash\",\"outputs\":[{\"internalType\":\"Witnet.RadonHash\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRandomizeStatus\",\"outputs\":[{\"internalType\":\"enum IWitRandomnessTypes.RandomizeStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRandomizeWaitingBlocks\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_curator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGasLimit\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"extraFeePercentage\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witInclusionFees\",\"type\":\"uint64\"},{\"internalType\":\"uint16\",\"name\":\"randomizeWaitingBlocks\",\"type\":\"uint16\"}],\"internalType\":\"struct WitRandomnessV3.CloneSettings\",\"name\":\"_settings\",\"type\":\"tuple\"}],\"name\":\"initializeClone\",\"outputs\":[{\"internalType\":\"contract IWitRandomness\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"}],\"name\":\"isRandomized\",\"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\":[],\"name\":\"randomize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_evmUsedFunds\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"queryId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"queryResult\",\"type\":\"bytes\"}],\"name\":\"reportWitOracleQueryResult\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"reportableFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_maxCallbackGasLimit\",\"type\":\"uint24\"}],\"name\":\"settleConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_callbackGasLimit\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"_extraFeePercentage\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_minWitCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"_minWitInclusionFees\",\"type\":\"uint64\"}],\"name\":\"settleQueryParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_randomizeWaitingBlocks\",\"type\":\"uint16\"}],\"name\":\"settleRandomizeWaitingBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"witnetRandomness\",\"type\":\"bytes32\"}],\"name\":\"verifyRandomnessAfter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"details\":\"Protection against race-condition and malleability attacks requires randomness queried to this contract to be solved is an asynchronous way, meaning that after some randomness is requested, the result provided from the Wit/Oracle sidechain won't be ready until a certain amount of EVM blocks have elapsed. This protection also implies that eventually failing randomness requests on the Wit/Oracle sidechain cannot be retried but from this very same contract. Failing randomness requests will get all automatically and unbiasedly solved as soon as some new randomness request gets solved, even if paid by a different requester. Querying for new randomness requires paying a fee in native EVM gas currency, as to cover the implicit cost of solving unmalleable randomness on the Wit/Oracle sidechain and report it back to the EVM storage. The actual randomize fee depends on the expected gas price to pay for the EVM transaction that would eventually include a call to any of the `randomize(..)` methods of this contract. The randomize fee can be computed by passing the expected gas price value to the `estimateRandomizeFee(uint256)` method. > Note [1]: On highly volatile gas price markets, especially on some Layer-2 EVM chains, is highly recommended to estimate the randomize fee before a `randomize()` call, and pass a fresh EVM gas price value. Otherwise the call to `randomize()` could potentially revert with either \\\"insufficient reward\\\" or \\\"too much reward\\\". > Note [2]: Contracts requiring some external entity to report Witnet-certified randomness only when required, would need to implement the `IWitRandomnessConsumer`. The external entity would then have to clone the public-domain address, attach it to the consumer contract address, and get the `randomize()` function called on the cloned instance as many times as required.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"clone(address)\":{\"params\":{\"_curator\":\"Address that will have authoritative access to `IWitRandomnessAdmin` methods.\"}},\"consumer()\":{\"details\":\"If zero, generated randomness will not be reported to any other external address. The consumer contract must implement the `IWitRandomnessConsumer` interface, and accept this instance as source of entropy.It can only be settled by a curator on cloned instances.\"},\"fetchRandomnessAfter(uint256)\":{\"details\":\"Reverts if: i. no `randomize()` was queried on neither the given block, nor afterwards. ii. the first non-failing `randomize()` request found on or after the given block is not solved yet. iii. all `randomize()` requests that took place on or after the given block were solved with errors.\",\"params\":{\"_blockNumber\":\"Block number from which the search will start.\"}},\"fetchRandomnessAfterProof(uint256)\":{\"details\":\"Reverts if: i. no `randomize()` was queried on neither the given block, nor afterwards. ii. the first non-failing `randomize()` request found on or after the given block is not solved yet. iii. all `randomize()` requests that took place on or after the given block were solved with errors.\",\"params\":{\"_blockNumber\":\"Block number from which the search will start.\"},\"returns\":{\"_evmFinalityBlock\":\"EVM block number at which the generated randomness can be considered to be final.\",\"_witnetDrTxHash\":\"Hash of the witnessing commit/reveal act that took place on the Witnet blockchain.\",\"_witnetQueryUUID\":\"Universal identifier of the query posted from this contract that ultimately solved randomness.\",\"_witnetTimestamp\":\"Timestamp at which the randomness value was generated by the Witnet blockchain.\"}},\"getRandomizeData(uint256)\":{\"details\":\"Returns zero values if no randomize request was actually queried on the specified block number.\",\"params\":{\"_blockNumber\":\"Block number from which the search will start.\"},\"returns\":{\"_nextRandomizeBlock\":\"Block number in which a randomize request got queried just after this one, 0 if none.\",\"_prevRandomizeBlock\":\"Block number in which a randomize request got queried just before this one. 0 if none.\",\"_queryId\":\"Identifier of the underlying Wit/Oracle query created on the specified block number. \"}},\"getRandomizeNextBlock(uint256)\":{\"params\":{\"_blockNumber\":\"Block number from which the search will start.\"},\"returns\":{\"_0\":\"Number of the first block found after the given one, or `0` otherwise.\"}},\"getRandomizePrevBlock(uint256)\":{\"params\":{\"_blockNumber\":\"Block number from which the search will start. Cannot be zero.\"},\"returns\":{\"_0\":\"First block found before the given one, or `0` otherwise.\"}},\"getRandomizeQueryId(uint256)\":{\"details\":\"Returns zero if no randomize was request on or after the specified block number.\"},\"getRandomizeQueryParams()\":{\"returns\":{\"_callbackGasLimit\":\"Max. expendable gas upon randomness delivery.\",\"_extraFeePercentage\":\"Overhead percentage applied when estimating the randomize request fee. \",\"_witCommitteeSize\":\"Number of Witnet witnessing nodes required to generate unbiased randomness.\",\"_witInclusionFees\":\"Minimum amount of fees in $nanoWIT to be paid on the Witnet blockchain.\"}},\"randomize()\":{\"details\":\"Only one randomize request per block will get ultimately relayed to the Witnet blockchain.\",\"returns\":{\"_evmUsedFunds\":\"EVM funds actually paid as randomize fee.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"reportWitOracleQueryResult(uint256,bytes)\":{\"details\":\"It should revert if called from an address different to the WitOracle instance being used by consumer.\",\"params\":{\"queryId\":\"The unique identifier of the Witnet query being reported.\",\"queryResult\":\"Abi-encoded Witnet.DataResult containing the CBOR-encoded query's result, and metadata.\"}},\"reportableFrom(address)\":{\"details\":\"In practice, must only be true on the WitOracle address that's being used bythe consumer contract to post data queries. \"}},\"stateVariables\":{\"_DEFAULT_RANDOMIZE_WAITING_BLOCKS\":{\"details\":\"Default number of blocks after a randomize request to consider it delayed if not solved yet.\"},\"_WIT_ORACLE_MIN_CALLBACK_GAS_LIMIT\":{\"details\":\"Minimum acceptable callback gas limit that can be settled by the `owner()`. \"},\"_WIT_ORACLE_RNG_MAX_RESULT_SIZE\":{\"details\":\"Size of successful CBOR-encoded randomness generated by the Witnet blockchain. \"},\"_WIT_RANDOMNESS_STORAGE_SLOT\":{\"details\":\"Storage slot pointer\"},\"__WIT_ORACLE_RNG_RADON_HASH\":{\"details\":\"Can be used to track all randomness requests solved so far on the Witnet blockchain.\"}},\"title\":\"WitRandomnessV3: Unbiased, EVM-agnostic and provably-fair random seeds from the Witnet blockchain. 64-bit entropy seeds can be permissionless pulled at anytime from smart contracts and externally-owned EVM accounts. Randomness provisioning is securely protected against race-condition and malleability attacks by node validators on both EVM and Witnet blockchains. This contract acts also as a public-good registry, openly preserving all random seeds generated in the past, and providing after-the-fact traceability proof to the actual witnessing committees and punishable acts that took place on the Witnet blockchain for generating every single one of them.\",\"version\":1},\"userdoc\":{\"events\":{\"Randomized(uint256,uint256,bytes32)\":{\"notice\":\"Emitted when some requested randomness gets delivered from Witnet.\"},\"Randomizing(address,uint256,uint64)\":{\"notice\":\"Emitted when a new randomize request gets posted to the Wit/Oracle framework.\"}},\"kind\":\"user\",\"methods\":{\"acceptOwnership()\":{\"notice\":\"=============================================================================================================== --- IWitRandomnessAdmin -------------------------------------------------------------------------------------\"},\"base()\":{\"notice\":\"Address of the underlying logic contract that can be potentially cloned.\"},\"class()\":{\"notice\":\"Returns the name of the actual contract implementing the logic of this Witnet appliance.\"},\"clone(address)\":{\"notice\":\"Creates a light-proxy clone to the `base()` logic address, to be owned by the specified `curator`address. Curators of cloned instances can optionally settle one single `IWitRandomnessConsumer` consuming contract. The consuming contract, if settled, will be immediately reported every time a new `randomize()` request gets solved and bridged back from Witnet. Either way, randomness resolutions will be reamin stored in the `WitRandomness` storage, as for future reference. \"},\"cloned()\":{\"notice\":\"Tells whether this contract is a clone of `self()`\"},\"consumer()\":{\"notice\":\"Returns the consumer address where all valid randomize results will be reported to.\"},\"estimateRandomizeFee(uint256)\":{\"notice\":\"Returns amount of wei required to be paid as a fee when requesting randomization with a transaction gas price as the one given.\"},\"fetchRandomnessAfter(uint256)\":{\"notice\":\"Retrieves the result of keccak256-hashing the given block number with the randomness value generated by the Witnet blockchain in response to the first non-failing randomize request solved after such block number.\"},\"fetchRandomnessAfterProof(uint256)\":{\"notice\":\"Retrieves the actual random value, unique hash and timestamp of the witnessing commit/reveal act that took place in the Witnet blockchain in response to the first non-failing randomize query solved after the given block number.\"},\"getLastRandomizeBlock()\":{\"notice\":\"Returns last block number on which a randomize was requested.\"},\"getRandomizeData(uint256)\":{\"notice\":\"Retrieves metadata related to the randomize request that got queried to the`WitOracle` contract on the specified block number, if any.\"},\"getRandomizeNextBlock(uint256)\":{\"notice\":\"Returns the number of the next block in which a randomize request was posted after the given one. \"},\"getRandomizePrevBlock(uint256)\":{\"notice\":\"Returns the number of the previous block in which a randomize request was posted before the given one.\"},\"getRandomizeQueryErrorDescription(uint256)\":{\"notice\":\"Explains why the last attempt of generating randomness for the specified block number failed.\"},\"getRandomizeQueryId(uint256)\":{\"notice\":\"Returns the identifier of the Wit/Oracle query that has either solved randomness for the specified block number, is currently attending randomness for the specified block number, of the one that attempted to solve it. \"},\"getRandomizeQueryParams()\":{\"notice\":\"Returns security and liveness parameters required to the Witnet blockchain when solving randomness requests, if no others are specified.\"},\"getRandomizeRadonBytecode()\":{\"notice\":\"Returns the immutable bytecode of the Radon Request that's being used for solving randomness requests on the Witnet blockchain.\"},\"getRandomizeRadonHash()\":{\"notice\":\"Returns the unique identifier of the Radon Request that's being used for solving request randomness requests on the Witnet blockchain.\"},\"getRandomizeStatus(uint256)\":{\"notice\":\"Returns status of the first non-errored randomize request queried on or after the given block number. - 0 -> Void: no randomize request was actually queried on or after the given block number. - 1 -> Awaiting: a randomize request was found but it's not yet solved by the Wit/Oracle. - 2 -> Ready: a successfull randomize value was reported and is ready to be read. - 3 -> Error: all attempted randomize requests at or after the given block were solved with errors. - 4 -> Finalizing: a randomize result was relayed already but cannot yet be considered to be final.\"},\"getRandomizeWaitingBlocks()\":{\"notice\":\"Return the number of EVM blocks after a randomize requests that have to elapse before considering such request to be delayed. Results to delayed requests can potentially be provided by later requests, if solved earlier. A value of zero means that randomize requests will never expire. \"},\"initialized()\":{\"notice\":\"=============================================================================================================== --- Clonable --------------------------------------------------------------------------------------------------\"},\"isRandomized(uint256)\":{\"notice\":\"Returns `true` only if a successfull resolution from the Witnet blockchain is found for the first non-errored randomize request posted on or after the given block number.\"},\"randomize()\":{\"notice\":\"Requests the Witnet blockchain to generate an unbiased 64-bit random seed.\"},\"reportWitOracleQueryResult(uint256,bytes)\":{\"notice\":\"Method to be called from the witOracle contract as soon as the given Witnet `queryId` gets reported.\"},\"reportableFrom(address)\":{\"notice\":\"Determines if Witnet queries can be reported from given address.\"},\"specs()\":{\"notice\":\"Returns the ERC-165 id of the minimal functionality expected for this appliance.\"},\"verifyRandomnessAfter(uint256,bytes32)\":{\"notice\":\"Verifies that the specified randomness seed was actually generated on the Witnet blockchain, and was actually used for producing the randomness seed returned by `fetchRandomnessAfter`.\"},\"witOracle()\":{\"notice\":\"The Wit/Oracle core address accepted as source of entropy.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/apps/WitRandomnessV3.sol\":\"WitRandomnessV3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"project:/contracts/WitOracle.sol\":{\"keccak256\":\"0x7f20eab15140df459753dfa8e406b826918b56ebe2c46456f9d04345c02629d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0573ce3d48200c71d8235a1a8c055b706420b2037bd21336f3c61713c3b8349\",\"dweb:/ipfs/QmY7BnVaNXFtJs1BFdeaa7dQfvUVoZyfwtv9HuToCxUUHU\"]},\"project:/contracts/WitRandomness.sol\":{\"keccak256\":\"0x7accd2d28e3ad04761104048b775576ba5efc212eae4dc2dfe006506d95fb137\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4daf83555177f9eb9278963a9873c2aaed1b28ad2ba27300b57f3fa195a265bc\",\"dweb:/ipfs/QmRWmasNnkFYfYy563TnGBVFgriNbV57KHTerPZLFYyU1J\"]},\"project:/contracts/apps/WitRandomnessV3.sol\":{\"keccak256\":\"0x1016d1f80f903f3ea27e8f70e2054f60a12643888458e3da97dc814fa2de2f49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://defbe1fdd53e22e03b580b8ef8d5eaf082be789f40f4826e7434f3d691dbf764\",\"dweb:/ipfs/QmUAiU95TMKvSeAuJ2GkAovA2nuLSCb7eAvN2VvsADm5NK\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleAppliance.sol\":{\"keccak256\":\"0xcd8e57eca7f8042c85a83264e2ff6d1cd7a9f1521831736d7f57bcc7800642e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c639668e9439d60770b5df77436088ae7bd0aeb1d1be446552a98b6c29138f0\",\"dweb:/ipfs/QmbN3f5YuKMSd2j9tjay3VEkiYibGWpbfbwRNyrxA8k4o4\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0xdb0da1e377a35a7d620f43cb583a876750a52d91da2b888f48042483ad9c4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edfcdf3e96ec3c5de7438f82e3d5a1dc9af9eb29080044213dccb26ff978354c\",\"dweb:/ipfs/Qmap2FzSysh2fug88eortbsTM7itFygRzKc9HfV43ePMik\"]},\"project:/contracts/interfaces/IWitOracleQueriableConsumer.sol\":{\"keccak256\":\"0xe8143d2387d674022f453b57652998f53cbe4c21fe35e59421428142355c8ebf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6c3e3d3e7168a3fb75b1eca23d078d5240e5b02dac8a449d1ddf79256a34d8\",\"dweb:/ipfs/QmbGk4tQzTogTBVYiT8t3Gqtk6qDs5nyp9Z53GryTjKAm5\"]},\"project:/contracts/interfaces/IWitOracleQueriableEvents.sol\":{\"keccak256\":\"0x47c283e931006d35bd2599524f86724e45eae6fad2fdd9cdecd1c85a90ff3f8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ad0520f99ec9298536ae9434f58caeb470c10dd3eaab1e4c7ed4cae9a97e2a2\",\"dweb:/ipfs/QmSuYCsSPweZfQc5Fbf9jYDdx4u7gwYCUdjhpcrrxmWZy6\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitRandomness.sol\":{\"keccak256\":\"0x349b27a7ecb4ca22f87d4ab13714a010668a7014d9c37fdb91caa407981b889a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a53b9c8d63c973bb98790ef3305fbc24debaa2dadad1b48b82ffdbfce73e08b6\",\"dweb:/ipfs/QmSue9dMNK1V5ChooMBTtccmpx2JoiyktqTP1Ng6bSuUGx\"]},\"project:/contracts/interfaces/IWitRandomnessAdmin.sol