code: async function registerOracle (queryFormat, responseFormat, options = {}) {
    const opt = R.merge(R.merge(this.Ae.defaults, { vmVersion: this.Ae.defaults.oracleVmVersion }), options) // Preset VmVersion for oracle
    const accountId = await this.address()
  
    const oracleRegisterTx = await this.oracleRegisterTx(R.merge(opt, {
      accountId,
      queryFormat,
      responseFormat
    }))
    return {
      ...(await this.send(oracleRegisterTx, opt)),
      ...(await getOracleObject.bind(this)(`ok_${accountId.slice(3)}`))
    }
  }
docs: Register oracle
  @alias module:@aeternity/aepp-sdk/es/ae/oracle
  @instance
  @function
  @category async
  @param {String} queryFormat Format of query
  @param {String} responseFormat Format of query response
  @param {Object} [options={}] Options
  @param {String|Number} [options.queryFee] queryFee Oracle query Fee
  @param {String|Number} [options.oracleTtl] oracleTtl OracleTtl object {type: 'delta|block', value: 'number'}
  @param {Number} [options.vmVersion] vmVersion Always 0 (do not use virtual machine)
  @param {Number} [options.fee] fee Transaction fee
  @param {Number} [options.ttl] Transaction time to leave
  @return {Promise<Object>} Oracle object