Appearance
📃 WitnetRandomnessRequestConsumer
Constructor
| Parameters | Type | Description |
|---|---|---|
| _witnetOracle | WitnetOracle | Address of the WitnetOracleinstance to interact with. |
| _baseFeeOverheadPercentage | uint16 | Percentage over base fee to pay when querying new data updates. |
| _callbackGasLimit | uint24 | Maximum gas expected to be spent by the callback methods. |
Modifiers
| Modifier | Description |
|---|---|
| onlyFromWitnet | To be added on callback methods for attending query results from the Wit/Oracle. |
| witnetQuerySolved(uint256 queryId) | Provides a convenient way for consuming contracts to block execution of the contract's logic until a particular randomness query gets ultimately reported from the Wit/Oracle blockchain. |
Properties
| Name | Visibility | Description |
|---|---|---|
| __witnet | Immutable internal | Address of the WitnetOracleinstance to directly interact with. |
| __witnetBaseFeeOverheadPercentage | Internal | Percentage over base fee to pay when querying new data updates. Defaults to 33%. |
| __witnetCallbackGasLimit | Internal | Maximum gas expected to be spent by the callback methods. |
| __witnetDefaultSLA | Internal | Default Service Level Agreement parameters to be fulfilled by the Wit/Oracle blockchain when solving data updates. |
| __witnetRequestRadHash | Immutable internal | Immutable RAD hash identifying the actual sources and computations being solved by the Wit/Oracle upon every data update. |
Internal methods
| Methods | Description |
|---|---|
| _witnetCheckQueryResultAvailability(uint256) | Check if the specified query was already reported back from the Wit/Oracle blockchain. |
| _witnetEstimateEvmReward() | Estimate the minimum reward required for posting a data request, using tx.gasprice as a reference. |
| _witnetCheckQueryResponseStatus(uint256) | Check current WitnetV2.ResponseStatus of the specified query. |
| _witnetCheckQueryResultError(uint256) | Get detailed Witnet.ResultError for the specified query. |
| _witnetRandomUniformUint32(u32,u256,b32) | O(1) uniform random generator based on given range, nonce and seed. |
| __witnetReadRandomizeFromResultValue(CBOR) | Extract a bytes32 value from some Radon Result as reported from the Wit/Oracle blockchain. |
| __witnetRandomize(uint256 _evmReward) | Post a randomize 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. |
| __witnetRandomize(uint256, RadonSLA) | Post a randomize 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
| Events | Arguments | Description |
|---|---|---|
| WitnetQuery |
| Emitted every time a new randomize query gets posted to the WitnetOracle contract. |
| WitnetQueryUpgrade |
| Emitted if the EVM reward for solving a previously posted randomize is increased by anyone in any amount. |