UNPKG

witnet-solidity-bridge

Version:

Witnet Solidity Bridge contracts for EVM-compatible chains

1,923 lines 137 kB
{ "_format": "hh3-artifact-1", "contractName": "WitPriceFeedsV3", "sourceName": "contracts/apps/WitPriceFeedsV3.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "_witOracle", "type": "address" }, { "internalType": "address", "name": "_operator", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "DeviantPrice", "type": "error" }, { "inputs": [], "name": "HotPrice", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" }, { "internalType": "uint256", "name": "range", "type": "uint256" } ], "name": "IndexOutOfBounds", "type": "error" }, { "inputs": [], "name": "InvalidArgument", "type": "error" }, { "inputs": [], "name": "InvalidGovernanceTarget", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "InvalidLengthEncoding", "type": "error" }, { "inputs": [], "name": "InvalidUpdateData", "type": "error" }, { "inputs": [], "name": "InvalidUpdateDataSource", "type": "error" }, { "inputs": [], "name": "NoFreshUpdate", "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": "PriceFeedNotFound", "type": "error" }, { "inputs": [], "name": "PriceFeedNotFoundWithinRange", "type": "error" }, { "inputs": [], "name": "StalePrice", "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": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "IWitPriceFeedsTypes.ID4", "name": "id4", "type": "bytes4" }, { "indexed": false, "internalType": "string", "name": "caption", "type": "string" }, { "indexed": false, "internalType": "int8", "name": "exponent", "type": "int8" }, { "indexed": false, "internalType": "enum IWitPriceFeedsTypes.Mappers", "name": "mapper", "type": "uint8" }, { "indexed": false, "internalType": "string[]", "name": "dependencies", "type": "string[]" } ], "name": "PriceFeedMapper", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "IWitPriceFeedsTypes.ID4", "name": "id4", "type": "bytes4" }, { "indexed": false, "internalType": "string", "name": "caption", "type": "string" }, { "indexed": false, "internalType": "int8", "name": "exponent", "type": "int8" }, { "indexed": false, "internalType": "enum IWitPriceFeedsTypes.Oracles", "name": "oracle", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "oracleAddress", "type": "address" }, { "indexed": false, "internalType": "bytes32", "name": "oracleSources", "type": "bytes32" } ], "name": "PriceFeedOracle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "IWitPriceFeedsTypes.ID4", "name": "id4", "type": "bytes4" }, { "indexed": false, "internalType": "string", "name": "caption", "type": "string" } ], "name": "PriceFeedRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "IWitPriceFeedsTypes.ID4", "name": "ID4", "type": "bytes4" }, { "indexed": false, "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" }, { "indexed": false, "internalType": "Witnet.TransactionHash", "name": "trail", "type": "bytes32" }, { "indexed": false, "internalType": "uint64", "name": "price", "type": "uint64" }, { "indexed": false, "internalType": "int56", "name": "deltaPrice", "type": "int56" }, { "indexed": false, "internalType": "int8", "name": "exponent", "type": "int8" } ], "name": "PriceFeedUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "id", "type": "bytes32" }, { "indexed": false, "internalType": "uint64", "name": "publishTime", "type": "uint64" }, { "indexed": false, "internalType": "int64", "name": "price", "type": "int64" }, { "indexed": false, "internalType": "uint64", "name": "", "type": "uint64" } ], "name": "PriceFeedUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "IWitPriceFeedsTypes.ID4", "name": "id4", "type": "bytes4" }, { "indexed": false, "internalType": "string", "name": "caption", "type": "string" }, { "components": [ { "internalType": "uint24", "name": "callbackGas", "type": "uint24" }, { "internalType": "bool", "name": "computeEma", "type": "bool" }, { "internalType": "uint24", "name": "cooldownSecs", "type": "uint24" }, { "internalType": "uint24", "name": "heartbeatSecs", "type": "uint24" }, { "internalType": "uint16", "name": "maxDeviation1000", "type": "uint16" }, { "internalType": "uint16", "name": "minWitnesses", "type": "uint16" } ], "indexed": false, "internalType": "struct IWitPriceFeedsTypes.UpdateConditions", "name": "conditions", "type": "tuple" } ], "name": "PriceFeedUpdateConditions", "type": "event" }, { "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": "address", "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 IWitPriceFeedsConsumer", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "symbol", "type": "string" } ], "name": "createChainlinkAggregator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "defaultUpdateConditions", "outputs": [ { "components": [ { "internalType": "uint24", "name": "callbackGas", "type": "uint24" }, { "internalType": "bool", "name": "computeEma", "type": "bool" }, { "internalType": "uint24", "name": "cooldownSecs", "type": "uint24" }, { "internalType": "uint24", "name": "heartbeatSecs", "type": "uint24" }, { "internalType": "uint16", "name": "maxDeviation1000", "type": "uint16" }, { "internalType": "uint16", "name": "minWitnesses", "type": "uint16" } ], "internalType": "struct IWitPriceFeedsTypes.UpdateConditions", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "footprint", "outputs": [ { "internalType": "bytes4", "name": "_footprint", "type": "bytes4" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPyth.ID", "name": "_id", "type": "bytes32" } ], "name": "getEmaPrice", "outputs": [ { "components": [ { "internalType": "int64", "name": "price", "type": "int64" }, { "internalType": "uint64", "name": "conf", "type": "uint64" }, { "internalType": "int32", "name": "expo", "type": "int32" }, { "internalType": "uint256", "name": "publishTime", "type": "uint256" } ], "internalType": "struct IWitPyth.PythPrice", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPyth.ID", "name": "_id", "type": "bytes32" }, { "internalType": "uint64", "name": "_age", "type": "uint64" } ], "name": "getEmaPriceNotOlderThan", "outputs": [ { "components": [ { "internalType": "int64", "name": "price", "type": "int64" }, { "internalType": "uint64", "name": "conf", "type": "uint64" }, { "internalType": "int32", "name": "expo", "type": "int32" }, { "internalType": "uint256", "name": "publishTime", "type": "uint256" } ], "internalType": "struct IWitPyth.PythPrice", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPyth.ID", "name": "_id", "type": "bytes32" } ], "name": "getEmaPriceUnsafe", "outputs": [ { "components": [ { "internalType": "int64", "name": "price", "type": "int64" }, { "internalType": "uint64", "name": "conf", "type": "uint64" }, { "internalType": "int32", "name": "expo", "type": "int32" }, { "internalType": "uint256", "name": "publishTime", "type": "uint256" } ], "internalType": "struct IWitPyth.PythPrice", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPyth.ID", "name": "_id", "type": "bytes32" } ], "name": "getPrice", "outputs": [ { "components": [ { "internalType": "int64", "name": "price", "type": "int64" }, { "internalType": "uint64", "name": "conf", "type": "uint64" }, { "internalType": "int32", "name": "expo", "type": "int32" }, { "internalType": "uint256", "name": "publishTime", "type": "uint256" } ], "internalType": "struct IWitPyth.PythPrice", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPriceFeedsTypes.ID4", "name": "_id4", "type": "bytes4" } ], "name": "getPrice", "outputs": [ { "components": [ { "internalType": "int8", "name": "exponent", "type": "int8" }, { "internalType": "uint64", "name": "price", "type": "uint64" }, { "internalType": "int56", "name": "deltaPrice", "type": "int56" }, { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" }, { "internalType": "Witnet.TransactionHash", "name": "trail", "type": "bytes32" } ], "internalType": "struct IWitPriceFeedsTypes.Price", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPyth.ID", "name": "_id", "type": "bytes32" }, { "internalType": "uint64", "name": "_age", "type": "uint64" } ], "name": "getPriceNotOlderThan", "outputs": [ { "components": [ { "internalType": "int64", "name": "price", "type": "int64" }, { "internalType": "uint64", "name": "conf", "type": "uint64" }, { "internalType": "int32", "name": "expo", "type": "int32" }, { "internalType": "uint256", "name": "publishTime", "type": "uint256" } ], "internalType": "struct IWitPyth.PythPrice", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPriceFeedsTypes.ID4", "name": "_id4", "type": "bytes4" }, { "internalType": "uint24", "name": "_age", "type": "uint24" } ], "name": "getPriceNotOlderThan", "outputs": [ { "components": [ { "internalType": "int8", "name": "exponent", "type": "int8" }, { "internalType": "uint64", "name": "price", "type": "uint64" }, { "internalType": "int56", "name": "deltaPrice", "type": "int56" }, { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" }, { "internalType": "Witnet.TransactionHash", "name": "trail", "type": "bytes32" } ], "internalType": "struct IWitPriceFeedsTypes.Price", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPyth.ID", "name": "_id", "type": "bytes32" } ], "name": "getPriceUnsafe", "outputs": [ { "components": [ { "internalType": "int64", "name": "price", "type": "int64" }, { "internalType": "uint64", "name": "conf", "type": "uint64" }, { "internalType": "int32", "name": "expo", "type": "int32" }, { "internalType": "uint256", "name": "publishTime", "type": "uint256" } ], "internalType": "struct IWitPyth.PythPrice", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPriceFeedsTypes.ID4", "name": "_id4", "type": "bytes4" } ], "name": "getPriceUnsafe", "outputs": [ { "components": [ { "internalType": "int8", "name": "exponent", "type": "int8" }, { "internalType": "uint64", "name": "price", "type": "uint64" }, { "internalType": "int56", "name": "deltaPrice", "type": "int56" }, { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" }, { "internalType": "Witnet.TransactionHash", "name": "trail", "type": "bytes32" } ], "internalType": "struct IWitPriceFeedsTypes.Price", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "getUpdateFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_symbol", "type": "string" } ], "name": "hash", "outputs": [ { "internalType": "IWitPyth.ID", "name": "", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_curator", "type": "address" }, { "components": [ { "internalType": "uint24", "name": "callbackGas", "type": "uint24" }, { "internalType": "bool", "name": "computeEma", "type": "bool" }, { "internalType": "uint24", "name": "cooldownSecs", "type": "uint24" }, { "internalType": "uint24", "name": "heartbeatSecs", "type": "uint24" }, { "internalType": "uint16", "name": "maxDeviation1000", "type": "uint16" }, { "internalType": "uint16", "name": "minWitnesses", "type": "uint16" } ], "internalType": "struct IWitPriceFeedsTypes.UpdateConditions", "name": "_defaultUpdateConditions", "type": "tuple" } ], "name": "initializeClone", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initialized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPriceFeedsTypes.ID4", "name": "_id4", "type": "bytes4" } ], "name": "lookupPriceFeed", "outputs": [ { "components": [ { "internalType": "IWitPyth.ID", "name": "id", "type": "bytes32" }, { "internalType": "int8", "name": "exponent", "type": "int8" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "components": [ { "internalType": "enum IWitPriceFeedsTypes.Mappers", "name": "class", "type": "uint8" }, { "internalType": "string[]", "name": "deps", "type": "string[]" } ], "internalType": "struct IWitPriceFeedsTypes.Mapper", "name": "mapper", "type": "tuple" }, { "components": [ { "internalType": "enum IWitPriceFeedsTypes.Oracles", "name": "class", "type": "uint8" }, { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes32", "name": "sources", "type": "bytes32" } ], "internalType": "struct IWitPriceFeedsTypes.Oracle", "name": "oracle", "type": "tuple" }, { "components": [ { "internalType": "uint24", "name": "callbackGas", "type": "uint24" }, { "internalType": "bool", "name": "computeEma", "type": "bool" }, { "internalType": "uint24", "name": "cooldownSecs", "type": "uint24" }, { "internalType": "uint24", "name": "heartbeatSecs", "type": "uint24" }, { "internalType": "uint16", "name": "maxDeviation1000", "type": "uint16" }, { "internalType": "uint16", "name": "minWitnesses", "type": "uint16" } ], "internalType": "struct IWitPriceFeedsTypes.UpdateConditions", "name": "updateConditions", "type": "tuple" }, { "components": [ { "internalType": "int8", "name": "exponent", "type": "int8" }, { "internalType": "uint64", "name": "price", "type": "uint64" }, { "internalType": "int56", "name": "deltaPrice", "type": "int56" }, { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" }, { "internalType": "Witnet.TransactionHash", "name": "trail", "type": "bytes32" } ], "internalType": "struct IWitPriceFeedsTypes.Price", "name": "lastUpdate", "type": "tuple" } ], "internalType": "struct IWitPriceFeedsTypes.Info", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPriceFeedsTypes.ID4", "name": "_id4", "type": "bytes4" } ], "name": "lookupPriceFeedCaption", "outputs": [ { "internalType": "string", "name": "_symbol", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPriceFeedsTypes.ID4", "name": "_id4", "type": "bytes4" } ], "name": "lookupPriceFeedExponent", "outputs": [ { "internalType": "int8", "name": "", "type": "int8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "IWitPriceFeedsTypes.ID4", "name": "_id4", "type": "bytes4" } ], "name": "lookupPriceFeedID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lookupPriceFeeds", "outputs": [ { "components": [ { "internalType": "IWitPyth.ID", "name": "id", "type": "bytes32" }, { "internalType": "int8", "name": "exponent", "type": "int8" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "components": [ { "internalType": "enum IWitPriceFeedsTypes.Mappers", "name": "class", "type": "uint8" }, { "internalType": "string[]", "name": "deps", "type": "string[]" } ], "internalType": "struct IWitPriceFeedsTypes.Mapper", "name": "mapper", "type": "tuple" }, { "components": [ { "internalType": "enum IWitPriceFeedsTypes.Oracles", "name": "class", "type": "uint8" }, { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes32", "name": "sources", "type": "bytes32" } ], "internalType": "struct IWitPriceFeedsTypes.Oracle", "name": "oracle", "type": "tuple" }, { "components": [ { "internalType": "uint24", "name": "callbackGas", "type": "uint24" }, { "internalType": "bool", "name": "computeEma", "type": "bool" }, { "internalType": "uint24", "name": "cooldownSecs", "type": "uint24" }, { "internalType": "uint24", "name": "heartbeatSecs", "type": "uint24" }, { "internalType": "uint16", "name": "maxDeviation1000", "type": "uint16" }, { "internalType": "uint16", "name": "minWitnesses", "type": "uint16" } ], "internalType": "struct IWitPriceFeedsTypes.UpdateConditions", "name": "updateConditions", "type": "tuple" }, { "components": [ { "internalType": "int8", "name": "exponent", "type": "int8" }, { "internalType": "uint64", "name": "price", "type": "uint64" }, { "internalType": "int56", "name": "deltaPrice", "type": "int56" }, { "internalType": "Witnet.Timestamp", "name": "timestamp", "type": "uint64" }, { "internalType": "Witnet.TransactionHash", "name": "trail", "type": "bytes32" } ], "internalType": "struct IWitPriceFeedsTypes.Price", "name": "lastUpdate", "type": "tuple" } ], "internalType": "struct IWitPriceFeedsTypes.Info[]", "name": "_infos", "type": "tuple[]" } ], "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": [ { "components": [ { "internalType": "Witnet.TransactionHash", "name": "witDrTxHash", "type": "bytes32" }, { "internalType": "Witnet.RadonHash", "name": "queryRadHash", "type": "bytes32" }, { "components": [ { "internalType": "uint16", "name": "witResultMaxSize", "type": "uint16" }, { "internalType": "uint16", "name": "witCommitteeSize", "type": "uint16" }, { "internalType": "uint64", "name": "witUnitaryReward", "type": "uint64" } ], "internalType": "struct Witnet.QuerySLA", "name": "queryParams", "type": "tuple" }, { "internalType": "Witnet.Timestamp", "name": "resultTimestamp", "type": "uint64" }, { "internalType": "bytes", "name": "resultCborBytes", "type": "bytes" } ], "internalType": "struct Witnet.DataPushReport", "name": "report", "type": "tuple" }, { "internalType": "bytes", "name": "proof", "type": "bytes" } ], "name": "pushDataReport", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "bool", "name": "_recursively", "type": "bool" } ], "name": "removePriceFeed", "outputs": [ { "internalType": "bytes4", "name": "_footprint", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_consumer", "type": "address" } ], "name": "settleConsumer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint24", "name": "callbackGas", "type": "uint24" }, { "internalType": "bool", "name": "computeEma", "type": "bool" }, { "internalType": "uint24", "name": "cooldownSecs", "type": "uint24" }, { "internalType": "uint24", "name": "heartbeatSecs", "type": "uint24" }, { "internalType": "uint16", "name": "maxDeviation1000", "type": "uint16" }, { "internalType": "uint16", "name": "minWitnesses", "type": "uint16" } ], "internalType": "struct IWitPriceFeedsTypes.UpdateConditions", "name": "_conditions", "type": "tuple" } ], "name": "settleDefaultUpdateConditions", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "int8", "name": "_exponent", "type": "int8" }, { "internalType": "enum IWitPriceFeedsTypes.Mappers", "name": "_mapper", "type": "uint8" }, { "internalType": "string[]", "name": "_deps", "type": "string[]" } ], "name": "settlePriceFeedMapper", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "int8", "name": "_exponent", "type": "int8" }, { "internalType": "enum IWitPriceFeedsTypes.Oracles", "name": "_oracle", "type": "uint8" }, { "internalType": "address", "name": "_oracleAddress", "type": "address" }, { "internalType": "bytes32", "name": "_oracleSources", "type": "bytes32" } ], "name": "settlePriceFeedOracle", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "int8", "name": "_exponent", "type": "int8" }, { "internalType": "bytes", "name": "_radonBytecode", "type": "bytes" } ], "name": "settlePriceFeedRadonBytecode", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "int8", "name": "_exponent", "type": "int8" }, { "internalType": "Witnet.RadonHash", "name": "_radonHash", "type": "bytes32" } ], "name": "settlePriceFeedRadonHash", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_symbol", "type": "string" }, { "components": [ { "internalType": "uint24", "name": "callbackGas", "type": "uint24" }, { "internalType": "bool", "name": "computeEma", "type": "bool" }, { "internalType": "uint24", "name": "cooldownSecs", "type": "uint24" }, { "internalType": "uint24", "name": "heartbeatSecs", "type": "uint24" }, { "internalType": "uint16", "name": "maxDeviation1000", "type": "uint16" }, { "internalType": "uint16", "name": "minWitnesses", "type": "uint16" } ], "internalType": "struct IWitPriceFeedsTypes.UpdateConditions", "name": "_conditions", "type": "tuple" } ], "name": "settlePriceFeedUpdateConditions", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "specs", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_caption", "type": "string" } ], "name": "supportsCaption", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_id", "type": "bytes32" } ], "name": "valueFor", "outputs": [ { "internalType": "int256", "name": "_value", "type": "int256" }, { "internalType": "uint256", "name": "_timestamp", "type": "uint256" }, { "internalType": "uint256", "name": "_status", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "witOracle", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x60c060405230608052348015610013575f5ffd5b506040516157e53803806157e5833981016040819052610032916102c8565b6001600160a01b0381166100465733610048565b805b6001600160a01b03811661007657604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61007f81610242565b505f826001600160a01b03163b116100d95760405162461bcd60e51b815260206004820152601560248201527f696e6578697374656e74207769742f6f7261636c650000000000000000000000604482015260640161006d565b5f826001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610116573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013a91906102f9565b90506001600160e01b03198116636d11bc5160e11b148061016b57506001600160e01b031981166304722eaf60e31b145b6101b75760405162461bcd60e51b815260206004820152601660248201527f756e636f6d706c69616e74207769742f6f7261636c6500000000000000000000604482015260640161006d565b50506001600160a01b031660a09081526040805160c081018252620f424081525f6020820181905261038492820192909252620151806060820152608081019190915260039101527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390480546001600160701b0319166c030000015180000384000f4240179055610327565b600180546001600160a01b031916905561025b8161025e565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146102c3575f5ffd5b919050565b5f5f604083850312156102d9575f5ffd5b6102e2836102ad565b91506102f0602084016102ad565b90509250929050565b5f60208284031215610309575f5ffd5b81516001600160e01b031981168114610320575f5ffd5b9392505050565b60805160a05161546c6103795f395f818161029d01528181610fc0015281816112710152611c0b01525f81816103e90152818161175901528181611a880152818161297c0152612a29015261546c5ff3fe608060405234801561000f575f5ffd5b506004361061026b575f3560e01c8063974454091161014b578063c70f2f73116100bf578063e56bd31511610084578063e56bd31514610620578063e59a780814610633578063f2fde38b14610646578063f78eea8314610659578063fa78a97114610687578063fd91c0541461069a575f5ffd5b8063c70f2f73146105cc578063d9ea438f146105df578063e27b1088146105f2578063e30c397814610605578063e36a1d9e1461060d575f5ffd5b8063b411ee9411610110578063b411ee941461052f578063b4fd729614610542578063b5dcc911146103b4578063bff852fa14610572578063c5010d17146105a6578063c66f4c0a146105b9575f5ffd5b806397445409146104e75780639d61f28b1461034a578063a04daef014610507578063aba146ff1461050f578063adb7c3f714610522575f5ffd5b806367e559ac116101e25780638124b78e116101a75780638124b78e1461046b5780638a416ea91461047e5780638da5cb5b146104af5780639190795f146104bf5780639474f45b146104d457806396834ad3146104d4575f5ffd5b806367e559ac146104205780636d0d6a7e14610433578063715018a61461044857806379393a8b1461045057806379ba509714610463575f5ffd5b8063288b5e6711610233578063288b5e671461034a5780633108e1b81461039f57806331d98b3f146103b45780634c7510d0146103c75780635001f3b5146103e7578063608921931461040d575f5ffd5b80630683bcd21461026f5780631014d37514610298578063158ef93e146102d7578063238e0a8a14610304578063274d45db14610325575b5f5ffd5b61028261027d36600461332d565b6106ad565b60405161028f9190613555565b60405180910390f35b6102bf7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161028f565b5f5160206153f75f395f51905f5254600160601b900461ffff1615155b604051901515815260200161028f565b6103176103123660046135ab565b610a37565b60405190815260200161028f565b61033861033336600461332d565b610a3f565b6040515f9190910b815260200161028f565b61035d610358366004613608565b610a5c565b60405161028f9190815160070b81526020808301516001600160401b03169082015260408083015160030b908201526060918201519181019190915260800190565b6103a7610b69565b60405161028f9190613636565b61035d6103c2366004613699565b610c29565b6103da6103d53660046136bd565b610c87565b60405161028f919061370f565b7f00000000000000000000000000000000000000000000000000000000000000006102bf565b6103da61041b366004613731565b610e06565b6103da61042e3660046137f6565b610f96565b610446610441366004613876565b6111a2565b005b6104466116d1565b61044661045e3660046138f5565b6116e4565b61044661188e565b6102bf6104793660046138f5565b611896565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390554600160a01b900460e01b6103da565b5f546001600160a01b03166102bf565b6104c761191c565b60405161028f9190613910565b61035d6104e2366004613699565b61199b565b6104fa6104f536600461332d565b6119e1565b60405161028f919061391e565b6102f4611a7d565b61044661051d366004613942565b611aad565b63