@aeternity/aepp-sdk
Version:
SDK for the æternity blockchain
163 lines (124 loc) • 7.41 kB
Markdown
<a id="module_@aeternity/aepp-sdk/es/ae/oracle"></a>
## /aepp-sdk/es/ae/oracle
Oracle module - routines to interact with the æternity oracle system
The high-level description of the oracle system is
https://github.com/aeternity/protocol/blob/master/ORACLE.md in the protocol
repository.
**Example**
```js
import Oracle from '@aeternity/aepp-sdk/es/ae/oracle'
```
* [/aepp-sdk/es/ae/oracle](#module_/aepp-sdk/es/ae/oracle)
* [Oracle([options])](#exp_module_/aepp-sdk/es/ae/oracle--Oracle) ⇒ `Object` ⏏
* _instance_
* _async_
* [.getOracleObject(oracleId)](#exp_module_/aepp-sdk/es/ae/oracle--getOracleObject) ⇒ `Promise.<Object>` ⏏
* [.getQueryObject(oracleId, queryId)](#exp_module_/aepp-sdk/es/ae/oracle--getQueryObject) ⇒ `Promise.<Object>` ⏏
* [.exports.pollForQueryResponse(oracleId, queryId, [options])](#exp_module_/aepp-sdk/es/ae/oracle--exports.pollForQueryResponse) ⇒ `Promise.<Object>` ⏏
* [.registerOracle(queryFormat, responseFormat, [options])](#exp_module_/aepp-sdk/es/ae/oracle--registerOracle) ⇒ `Promise.<Object>` ⏏
* [.postQueryToOracle(oracleId, query, [options])](#exp_module_/aepp-sdk/es/ae/oracle--postQueryToOracle) ⇒ `Promise.<Object>` ⏏
* [.extendOracleTtl(oracleId, oracleTtl, [options])](#exp_module_/aepp-sdk/es/ae/oracle--extendOracleTtl) ⇒ `Promise.<Object>` ⏏
* [.respondToQuery(oracleId, queryId, response, [options])](#exp_module_/aepp-sdk/es/ae/oracle--respondToQuery) ⇒ `Promise.<Object>` ⏏
<a id="exp_module_@aeternity/aepp-sdk/es/ae/oracle--Oracle"></a>
### Oracle([options]) ⇒ `Object` ⏏
Oracle Stamp
Oracle provides oracle-system related methods atop
[Ae](#exp_module_/aepp-sdk/es/ae--Ae) clients.
**Kind**: Exported function
**Returns**: `Object` - Oracle instance
**rtype**: `Stamp`
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [options] | `Object` | <code>{}</code> | Initializer object |
<a id="exp_module_@aeternity/aepp-sdk/es/ae/oracle--getOracleObject"></a>
### .getOracleObject(oracleId) ⇒ `Promise.<Object>` ⏏
Constructor for Oracle Object (helper object for using Oracle)
**Kind**: instance method of [`/aepp-sdk/es/ae/oracle`](#module_/aepp-sdk/es/ae/oracle)
**Returns**: `Promise.<Object>` - Oracle object
**Category**: async
| Param | Type | Description |
| --- | --- | --- |
| oracleId | `String` | Oracle public key |
<a id="exp_module_@aeternity/aepp-sdk/es/ae/oracle--getQueryObject"></a>
### .getQueryObject(oracleId, queryId) ⇒ `Promise.<Object>` ⏏
Constructor for OracleQuery Object (helper object for using OracleQuery)
**Kind**: instance method of [`/aepp-sdk/es/ae/oracle`](#module_/aepp-sdk/es/ae/oracle)
**Returns**: `Promise.<Object>` - OracleQuery object
**Category**: async
| Param | Type | Description |
| --- | --- | --- |
| oracleId | `String` | Oracle public key |
| queryId | `String` | Oracle Query id |
<a id="exp_module_@aeternity/aepp-sdk/es/ae/oracle--exports.pollForQueryResponse"></a>
### .exports.pollForQueryResponse(oracleId, queryId, [options]) ⇒ `Promise.<Object>` ⏏
Poll for oracle query response
**Kind**: instance method of [`/aepp-sdk/es/ae/oracle`](#module_/aepp-sdk/es/ae/oracle)
**Returns**: `Promise.<Object>` - OracleQuery object
**Category**: async
| Param | Type | Description |
| --- | --- | --- |
| oracleId | `String` | Oracle public key |
| queryId | `String` | Oracle Query id |
| [options] | `Object` | Options object |
| [options.attempts] | `Object` | Poll attempt's(default: 20) |
| [options.interval] | `Object` | Poll interval(default: 5000) |
<a id="exp_module_@aeternity/aepp-sdk/es/ae/oracle--registerOracle"></a>
### .registerOracle(queryFormat, responseFormat, [options]) ⇒ `Promise.<Object>` ⏏
Register oracle
**Kind**: instance method of [`/aepp-sdk/es/ae/oracle`](#module_/aepp-sdk/es/ae/oracle)
**Returns**: `Promise.<Object>` - Oracle object
**Category**: async
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| queryFormat | `String` | | Format of query |
| responseFormat | `String` | | Format of query response |
| [options] | `Object` | <code>{}</code> | Options |
| [options.queryFee] | `String` \| `Number` | | queryFee Oracle query Fee |
| [options.oracleTtl] | `String` \| `Number` | | oracleTtl OracleTtl object {type: 'delta|block', value: 'number'} |
| [options.vmVersion] | `Number` | | vmVersion Always 0 (do not use virtual machine) |
| [options.fee] | `Number` | | fee Transaction fee |
| [options.ttl] | `Number` | | Transaction time to leave |
<a id="exp_module_@aeternity/aepp-sdk/es/ae/oracle--postQueryToOracle"></a>
### .postQueryToOracle(oracleId, query, [options]) ⇒ `Promise.<Object>` ⏏
Post query to oracle
**Kind**: instance method of [`/aepp-sdk/es/ae/oracle`](#module_/aepp-sdk/es/ae/oracle)
**Returns**: `Promise.<Object>` - Query object
**Category**: async
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| oracleId | `String` | | Oracle public key |
| query | `String` | | Oracle query object |
| [options] | `Object` | <code>{}</code> | |
| [options.queryTtl] | `String` \| `Number` | | queryTtl Oracle query time to leave |
| [options.responseTtl] | `String` \| `Number` | | queryFee Oracle query response time to leave |
| [options.queryFee] | `String` \| `Number` | | queryFee Oracle query fee |
| [options.fee] | `Number` | | fee Transaction fee |
| [options.ttl] | `Number` | | Transaction time to leave |
<a id="exp_module_@aeternity/aepp-sdk/es/ae/oracle--extendOracleTtl"></a>
### .extendOracleTtl(oracleId, oracleTtl, [options]) ⇒ `Promise.<Object>` ⏏
Extend oracle ttl
**Kind**: instance method of [`/aepp-sdk/es/ae/oracle`](#module_/aepp-sdk/es/ae/oracle)
**Returns**: `Promise.<Object>` - Oracle object
**Category**: async
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| oracleId | `String` | | Oracle public key |
| oracleTtl | `String` | | Oracle time to leave for extend |
| [options] | `Object` | <code>{}</code> | |
| [options.fee] | `Number` | | fee Transaction fee |
| [options.ttl] | `Number` | | Transaction time to leave |
<a id="exp_module_@aeternity/aepp-sdk/es/ae/oracle--respondToQuery"></a>
### .respondToQuery(oracleId, queryId, response, [options]) ⇒ `Promise.<Object>` ⏏
Extend oracle ttl
**Kind**: instance method of [`/aepp-sdk/es/ae/oracle`](#module_/aepp-sdk/es/ae/oracle)
**Returns**: `Promise.<Object>` - Oracle object
**Category**: async
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| oracleId | `String` | | Oracle public key |
| queryId | `String` | | Oracle query id |
| response | `String` | | Oracle query response |
| [options] | `Object` | <code>{}</code> | |
| [options.responseTtl] | `Number` | | responseTtl Query response time to leave |
| [options.fee] | `Number` | | Transaction fee |
| [options.ttl] | `Number` | | Transaction time to leave |