Holds the data for the Voucher Account and provides de/serialization functionality for that data

Hierarchy

  • Voucher

Implements

Properties

index: number
leafSchema: {
    __kind: "V1";
} & Omit<{
    creatorHash: number[];
    dataHash: number[];
    delegate: PublicKey;
    id: PublicKey;
    nonce: bignum;
    owner: PublicKey;
}, "void">
merkleTree: PublicKey

Methods

  • Returns a readable version of Voucher properties and can be used to convert to JSON and/or logging

    Returns {
        index: number;
        leafSchema: "V1";
        merkleTree: string;
    }

    • index: number
    • leafSchema: "V1"
    • merkleTree: string
  • Serializes the Voucher into a Buffer.

    Returns

    a tuple of the created Buffer and the offset up to which the buffer was written to store it.

    Returns [Buffer, number]

  • Deserializes the Voucher from the provided data Buffer.

    Returns

    a tuple of the account data and the offset up to which the buffer was read to obtain it.

    Parameters

    • buf: Buffer
    • offset: number = 0

    Returns [Voucher, number]

  • Retrieves the account info from the provided address and deserializes the Voucher from its data.

    Throws

    Error if no account info is found at the address or if deserialization fails

    Parameters

    • connection: Connection
    • address: PublicKey

    Returns Promise<Voucher>

  • Deserializes the Voucher from the data of the provided web3.AccountInfo.

    Returns

    a tuple of the account data and the offset up to which the buffer was read to obtain it.

    Parameters

    • accountInfo: AccountInfo<Buffer>
    • offset: number = 0

    Returns [Voucher, number]

  • Fetches the minimum balance needed to exempt an account holding Voucher data from rent

    Parameters

    • args: VoucherArgs

      need to be provided since the byte size for this account depends on them

    • connection: Connection

      used to retrieve the rent exemption information

    • Optional commitment: Commitment

    Returns Promise<number>

  • Provides a web3.Connection.getProgramAccounts config builder, to fetch accounts matching filters that can be specified via that builder.

    Parameters

    • programId: PublicKey = ...

      the program that owns the accounts we are filtering

    Returns GpaBuilder<VoucherArgs & {
        accountDiscriminator: number[];
    }>

Generated using TypeDoc