Skip to main content

Represents an Attestation Queue Account in the SwitchboardAttestationService.sol contract.

// Instantiate an AttestationQueueAccount
const attestationQueueAccount = new AttestationQueueAccount(switchboardProgram, '0xYourAttestationQueueAddress');

// Load the data
const attestationQueue = await attestationQueueAccount.loadData();
const name = attestationQueue.name;

Hierarchy

Index

Constructors

constructor

Properties

readonlyaddress

address: string

publicdata

data: any

readonlyswitchboard

switchboard: ISwitchboardProgram

Accessors

publicaccount

publicallowAuthorityOverrideAfter

  • get allowAuthorityOverrideAfter(): number
  • Returns number

publicauthority

  • get authority(): string
  • Returns string

publiccurrIdx

  • get currIdx(): number
  • Returns number

publicenclaveTimeout

  • get enclaveTimeout(): number
  • Returns number

publicgcIdx

  • get gcIdx(): number
  • Returns number

publiclastHeartbeat

  • get lastHeartbeat(): number
  • Returns number

publicmaxConsecutiveFunctionFailures

  • get maxConsecutiveFunctionFailures(): number
  • Returns number

publicmaxEnclaveVerificationAge

  • get maxEnclaveVerificationAge(): number
  • Returns number

publicmaxSize

  • get maxSize(): number
  • Returns number

publicmrEnclaves

  • get mrEnclaves(): string[]
  • Returns string[]

publicrequireAuthorityHeartbeatPermission

  • get requireAuthorityHeartbeatPermission(): boolean
  • Returns boolean

publicrequireUsagePermissions

  • get requireUsagePermissions(): boolean
  • Returns boolean

publicreward

  • get reward(): BigNumber
  • Returns BigNumber

publicverifiers

  • get verifiers(): string[]
  • Returns string[]

Methods

publicaddMrEnclave

  • addMrEnclave(mrEnclave: RawMrEnclave, options?: any): Promise<ContractTransaction>
  • Method to add a new MrEnclave


    Parameters

    • mrEnclave: RawMrEnclave

      The MrEnclave instance to add

    • optionaloptions: any

      Transaction options

    Returns Promise<ContractTransaction>

    Promise that resolves to ContractTransaction

    const transaction = await attestationQueueAccount.addMrEnclave(rawMrEnclave, options);

publiccreateEnclave

  • Method to create a {EnclaveAccount} and optionally enable its serviceQueue permissions


    Parameters

    • params: CreateEnclave

      Parameters required to create the enclave

    • optionaloptions: any

      Transaction options

    Returns Promise<EnclaveAccount>

    Promise that resolves to EnclaveAccount

    const enclaveAccount = await attestationQueueAccount.createEnclave(createEnclaveParams, options);

publiccreateFunction

  • Method to create a FunctionAccount and optionally enable its serviceQueue permissions


    Parameters

    • params: CreateFunction

      Parameters required to create the function

    • optionalenable: EnablePermissions = true

      Flag to enable serviceQueue permissions (default is true)

    • optionaloptions: any

      Transaction options

    Returns Promise<FunctionAccount>

    Promise that resolves to FunctionAccount

    const functionAccount = await attestationQueueAccount.createFunction(createFunctionParams, true, options);

publichasMrEnclave

  • Method to check if the MrEnclave exists


    Parameters

    Returns Promise<boolean>

    Promise that resolves to a boolean indicating whether the MrEnclave exists

    const hasEnclave = await attestationQueueAccount.hasMrEnclave(rawMrEnclave);

publicloadData

  • loadData(): Promise<any>
  • Load Function Account data and update LoadedFunctionAccount state.


    Returns Promise<any>

    Promise that resolves to AttestationQueueData

    const functionData = await functionAccount.loadData();

publicremoveMrEnclave

  • removeMrEnclave(mrEnclave: RawMrEnclave, options?: any): Promise<ContractTransaction>
  • Method to remove an existing MrEnclave


    Parameters

    • mrEnclave: RawMrEnclave

      The MrEnclave instance to remove

    • optionaloptions: any

      Transaction options

    Returns Promise<ContractTransaction>

    Promise that resolves to ContractTransaction

    const transaction = await attestationQueueAccount.removeMrEnclave(rawMrEnclave, options);

publicsetConfigs

  • setConfigs(params: Partial<AttestationQueueInitParams>, options?: any): Promise<ContractTransaction>
  • Method to set configuration for the AttestationQueueAccount


    Parameters

    • params: Partial<AttestationQueueInitParams>

      Configuration parameters

    • optionaloptions: any

      Transaction options

    Returns Promise<ContractTransaction>

    Promise that resolves to ContractTransaction

    const transaction = await attestationQueueAccount.setConfigs(params, options);

publictoJSON

  • toJSON(): { address: string; allowAuthorityOverrideAfter: number; authority: string; currIdx: number; enclaveTimeout: number; gcIdx: number; lastHeartbeat: number; maxConsecutiveFunctionFailures: number; maxEnclaveVerificationAge: number; maxSize: number; mrEnclaves: string[]; requireAuthorityHeartbeatPermission: boolean; requireUsagePermissions: boolean; reward: BigNumber; verifiers: string[] }
  • Returns { address: string; allowAuthorityOverrideAfter: number; authority: string; currIdx: number; enclaveTimeout: number; gcIdx: number; lastHeartbeat: number; maxConsecutiveFunctionFailures: number; maxEnclaveVerificationAge: number; maxSize: number; mrEnclaves: string[]; requireAuthorityHeartbeatPermission: boolean; requireUsagePermissions: boolean; reward: BigNumber; verifiers: string[] }

    • address: string
    • allowAuthorityOverrideAfter: number
    • authority: string
    • currIdx: number
    • enclaveTimeout: number
    • gcIdx: number
    • lastHeartbeat: number
    • maxConsecutiveFunctionFailures: number
    • maxEnclaveVerificationAge: number
    • maxSize: number
    • mrEnclaves: string[]
    • requireAuthorityHeartbeatPermission: boolean
    • requireUsagePermissions: boolean
    • reward: BigNumber
    • verifiers: string[]

publictoObj

  • toObj(): { address: string; allowAuthorityOverrideAfter: number; authority: string; currIdx: number; enclaveTimeout: number; gcIdx: number; lastHeartbeat: number; maxConsecutiveFunctionFailures: number; maxEnclaveVerificationAge: number; maxSize: number; mrEnclaves: string[]; requireAuthorityHeartbeatPermission: boolean; requireUsagePermissions: boolean; reward: BigNumber; verifiers: string[] }
  • Returns { address: string; allowAuthorityOverrideAfter: number; authority: string; currIdx: number; enclaveTimeout: number; gcIdx: number; lastHeartbeat: number; maxConsecutiveFunctionFailures: number; maxEnclaveVerificationAge: number; maxSize: number; mrEnclaves: string[]; requireAuthorityHeartbeatPermission: boolean; requireUsagePermissions: boolean; reward: BigNumber; verifiers: string[] }

    • address: string
    • allowAuthorityOverrideAfter: number
    • authority: string
    • currIdx: number
    • enclaveTimeout: number
    • gcIdx: number
    • lastHeartbeat: number
    • maxConsecutiveFunctionFailures: number
    • maxEnclaveVerificationAge: number
    • maxSize: number
    • mrEnclaves: string[]
    • requireAuthorityHeartbeatPermission: boolean
    • requireUsagePermissions: boolean
    • reward: BigNumber
    • verifiers: string[]

publicstaticcreate

  • Method to initialize an AttestationQueueAccount


    Parameters

    • switchboard: ISwitchboardProgram

      The switchboard program instance

    • params: AttestationQueueInitParams

      Initialization parameters

    • optionaloptions: any

      Transaction options

    Returns Promise<[AttestationQueueAccount, ContractTransaction]>

    Promise that resolves to a tuple with AttestationQueueAccount and ContractTransaction

    const [account, transaction] = await AttestationQueueAccount.init(switchboardProgram, params, options);

publicstaticload

  • Method to load and fetch the account data


    Parameters

    • switchboard: ISwitchboardProgram

      The switchboard program instance

    • address: string

      The account address

    Returns Promise<LoadedAttestationQueueAccount>

    Promise that resolves to a tuple with AttestationQueueAccount and AttestationQueueData

    const [account, data] = await AttestationQueueAccount.load(switchboardProgram, 'account_address');