Interface OracleSet

Creates a new Oracle ledger entry or updates the fields of an existing one, using the Oracle ID.

The oracle provider must complete these steps before submitting this transaction:

  1. Create or own the XRPL account in the Owner field and have enough XRP to meet the reserve and transaction fee requirements.
  2. Publish the XRPL account public key, so it can be used for verification by dApps.
  3. Publish a registry of available price oracles with their unique OracleDocumentID.
interface OracleSet {
    Account: string;
    AccountTxnID?: string;
    AssetClass?: string;
    Fee?: string;
    Flags?: number | GlobalFlags;
    LastLedgerSequence?: number;
    LastUpdateTime: number;
    Memos?: Memo[];
    NetworkID?: number;
    OracleDocumentID: number;
    PriceDataSeries: PriceData[];
    Provider?: string;
    Sequence?: number;
    Signers?: Signer[];
    SigningPubKey?: string;
    SourceTag?: number;
    TicketSequence?: number;
    TransactionType: "OracleSet";
    TxnSignature?: string;
    URI?: string;
}

Hierarchy (View Summary)

Properties

Account: string

The unique address of the transaction sender.

AccountTxnID?: string

Hash value identifying another transaction. If provided, this transaction is only valid if the sending account's previously-sent transaction matches the provided hash.

AssetClass?: string

Describes the type of asset, such as "currency", "commodity", or "index". This field is a string, up to 16 ASCII hex encoded characters (0x20-0x7E). This field is required when creating a new Oracle ledger entry, but is optional for updates.

Fee?: string

Integer amount of XRP, in drops, to be destroyed as a cost for distributing this transaction to the network. Some transaction types have different minimum requirements.

Flags?: number | GlobalFlags

Set of bit-flags for this transaction.

LastLedgerSequence?: number

Highest ledger index this transaction can appear in. Specifying this field places a strict upper limit on how long the transaction can wait to be validated or rejected.

LastUpdateTime: number

The time the data was last updated, represented as a unix timestamp in seconds.

Memos?: Memo[]

Additional arbitrary information used to identify this transaction.

NetworkID?: number

The network id of the transaction.

OracleDocumentID: number

A unique identifier of the price oracle for the Account.

PriceDataSeries: PriceData[]

An array of up to 10 PriceData objects, each representing the price information for a token pair. More than five PriceData objects require two owner reserves.

Provider?: string

An arbitrary value that identifies an oracle provider, such as Chainlink, Band, or DIA. This field is a string, up to 256 ASCII hex encoded characters (0x20-0x7E). This field is required when creating a new Oracle ledger entry, but is optional for updates.

Sequence?: number

The sequence number of the account sending the transaction. A transaction is only valid if the Sequence number is exactly 1 greater than the previous transaction from the same account. The special case 0 means the transaction is using a Ticket instead.

Signers?: Signer[]

Array of objects that represent a multi-signature which authorizes this transaction.

SigningPubKey?: string

Hex representation of the public key that corresponds to the private key used to sign this transaction. If an empty string, indicates a multi-signature is present in the Signers field instead.

SourceTag?: number

Arbitrary integer used to identify the reason for this payment, or a sender on whose behalf this transaction is made. Conventionally, a refund should specify the initial payment's SourceTag as the refund payment's DestinationTag.

TicketSequence?: number

The sequence number of the ticket to use in place of a Sequence number. If this is provided, Sequence must be 0. Cannot be used with AccountTxnID.

TransactionType: "OracleSet"

The type of transaction. Valid types include: Payment, OfferCreate, TrustSet, and many others.

TxnSignature?: string

The signature that verifies this transaction as originating from the account it says it is from.

URI?: string

An optional Universal Resource Identifier to reference price data off-chain. This field is limited to 256 bytes.