Skip to content

Latest commit

 

History

History
21 lines (12 loc) · 4.02 KB

File metadata and controls

21 lines (12 loc) · 4.02 KB

📃 UsingWitnetRequest

{% content-ref url="../../solidity-wizard.md" %} solidity-wizard.md {% endcontent-ref %}

Constructor

ParametersTypeDescription
_witnetRequestWitnetRequestAddress of the WitnetRequest instance to use as reference when querying data updates to WitnetOracle.
_baseFeeOverHeadPercentageuint16Percentage over base fee to pay when querying new data updates.

Properties

NameVisibilityDescription
dataRequestImmutable publicAddress of the WitnetRequest instance passed in the constructor.
__witnetImmutable internalAddress of the WitnetOracle instance to directly interact with.
__witnetBaseFeeOverheadPercentageInternalPercentage over base fee to pay when querying new data updates. Defaults to 33%.
__witnetDefaultSLAInternalDefault Service Level Agreement parameters to be fulfilled by the Wit/Oracle blockchain when solving data updates.
__witnetRequestRadHashImmutable internalImmutable RAD hash identifying the actual sources and computations being solved by the Wit/Oracle upon every data update.

Internal methods

MethodsDescription
_witnetCheckQueryResponseStatus(uint256)Check current WitnetV2.ResponseStatus of the specified query.
_witnetCheckQueryResultAvailability(uint256)Check if the specified query was already reported back from the Wit/Oracle blockchain.
_witnetCheckQueryResultError(uint256)Get detailed Witnet.ResultError for the specified query.
_witnetEstimateEvmReward()Estimate the minimum reward required for posting a data request, using tx.gasprice as a reference.
__witnetRequestData(uint256 _evmReward)Post a data query in expectation that it will get eventually solved and reported from the Wit/Oracle blockchain, specifying how much fee to pay out from this contract's balance.
__witnetRequestData(uint256, RadonSLA)Post a data query in expectation that it will get eventually solved and reported, specifying how much fee to pay and the SLA parameters to be fulfilled by the Wit/Oracle blockchain.

Events

EventsArgumentsDescription
WitnetQuery

address evmRequester

uint256 evmGasPrice

uint256 evmReward

uint256 queryId

bytes32 queryRadHash

RadonSLA querySLA

Emitted every time a new randomize query gets posted to the WitnetOracle contract.
WitnetQueryUpgrade

uint256 queryId

address evmSender

uint256 evmGasPrice

uint256 evmReward

Emitted if the EVM reward for solving a previously posted randomize is increased by anyone in any amount.