On-chain queue account data structure

The queue account is the core configuration for a set of oracle operators. It defines which oracles are authorized to sign data and various security parameters for the oracle network.

QueueAccountData

interface QueueAccountData {
    allowAuthorityOverrideAfter: BN;
    allowSubsidies: boolean;
    authority: PublicKey;
    currIdx: number;
    gcIdx: number;
    lastHeartbeat: BN;
    lutSlot: BN;
    maxQuoteVerificationAge: BN;
    mint: PublicKey;
    mrEnclaves: Uint8Array<ArrayBufferLike>[];
    mrEnclavesLen: number;
    ncn: PublicKey;
    nodeTimeout: BN;
    oracleKeys: PublicKey[];
    oracleKeysLen: number;
    oracleMinStake: BN;
    requireAuthorityHeartbeatPermission: boolean;
    requireAuthorityVerifyPermission: boolean;
    requireUsagePermissions: boolean;
    reward: number;
    signerBump: number;
}

Properties

allowAuthorityOverrideAfter: BN

Time after which authority can override without permission

allowSubsidies: boolean

Whether subsidies are allowed for this queue

authority: PublicKey

Authority that can modify the queue configuration

currIdx: number

Current oracle index for round-robin selection

gcIdx: number

Garbage collection index

lastHeartbeat: BN

Last heartbeat timestamp from authority

lutSlot: BN

Slot when the lookup table was last updated

maxQuoteVerificationAge: BN

Maximum age for TEE quote verification

mint: PublicKey

Token mint for rewards and fees

mrEnclaves: Uint8Array<ArrayBufferLike>[]

Intel SGX enclave measurements for TEE verification

mrEnclavesLen: number

Number of valid enclave measurements

ncn: PublicKey

Network configuration node (NCN) account

nodeTimeout: BN

Timeout period for oracle nodes

oracleKeys: PublicKey[]

Public keys of authorized oracle operators

oracleKeysLen: number

Number of registered oracle keys

oracleMinStake: BN

Minimum stake required for oracle operators

requireAuthorityHeartbeatPermission: boolean

Whether authority heartbeat permission is required

requireAuthorityVerifyPermission: boolean

Whether authority verify permission is required

requireUsagePermissions: boolean

Whether usage permissions are enforced

reward: number

Reward amount for oracle operators

signerBump: number

PDA bump for the queue signer account