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

Properties

authority: PublicKey

Authority that can modify the queue configuration

mrEnclaves: Uint8Array<ArrayBufferLike>[]

Intel SGX enclave measurements for TEE verification

oracleKeys: PublicKey[]

Public keys of authorized oracle operators

maxQuoteVerificationAge: BN

Maximum age for TEE quote verification

lastHeartbeat: BN

Last heartbeat timestamp from authority

nodeTimeout: BN

Timeout period for oracle nodes

oracleMinStake: BN

Minimum stake required for oracle operators

allowAuthorityOverrideAfter: BN

Time after which authority can override without permission

mrEnclavesLen: number

Number of valid enclave measurements

oracleKeysLen: number

Number of registered oracle keys

reward: number

Reward amount for oracle operators

currIdx: number

Current oracle index for round-robin selection

gcIdx: number

Garbage collection index

requireAuthorityHeartbeatPermission: boolean

Whether authority heartbeat permission is required

requireAuthorityVerifyPermission: boolean

Whether authority verify permission is required

requireUsagePermissions: boolean

Whether usage permissions are enforced

signerBump: number

PDA bump for the queue signer account

mint: PublicKey

Token mint for rewards and fees

lutSlot: BN

Slot when the lookup table was last updated

allowSubsidies: boolean

Whether subsidies are allowed for this queue

ncn: PublicKey

Network configuration node (NCN) account