/** * This code was AUTOGENERATED using the kinobi library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun kinobi to update it. * * @see https://github.com/kinobi-so/kinobi */ import { Account, Context, Pda, PublicKey, RpcAccount, RpcGetAccountOptions, RpcGetAccountsOptions, assertAccountExists, deserializeAccount, gpaBuilder, publicKey as toPublicKey, } from '@metaplex-foundation/umi'; import { Serializer, bytes, mapSerializer, struct, u32, u8, } from '@metaplex-foundation/umi/serializers'; export type ReceiveConfigStore = Account; export type ReceiveConfigStoreAccountData = { discriminator: Uint8Array; bump: number; data: Uint8Array; }; export type ReceiveConfigStoreAccountDataArgs = { bump: number; data: Uint8Array; }; export function getReceiveConfigStoreAccountDataSerializer(): Serializer< ReceiveConfigStoreAccountDataArgs, ReceiveConfigStoreAccountData > { return mapSerializer< ReceiveConfigStoreAccountDataArgs, any, ReceiveConfigStoreAccountData >( struct( [ ['discriminator', bytes({ size: 8 })], ['bump', u8()], ['data', bytes({ size: u32() })], ], { description: 'ReceiveConfigStoreAccountData' } ), (value) => ({ ...value, discriminator: new Uint8Array([70, 73, 30, 1, 248, 48, 93, 125]), }) ) as Serializer< ReceiveConfigStoreAccountDataArgs, ReceiveConfigStoreAccountData >; } export function deserializeReceiveConfigStore( rawAccount: RpcAccount ): ReceiveConfigStore { return deserializeAccount( rawAccount, getReceiveConfigStoreAccountDataSerializer() ); } export async function fetchReceiveConfigStore( context: Pick, publicKey: PublicKey | Pda, options?: RpcGetAccountOptions ): Promise { const maybeAccount = await context.rpc.getAccount( toPublicKey(publicKey, false), options ); assertAccountExists(maybeAccount, 'ReceiveConfigStore'); return deserializeReceiveConfigStore(maybeAccount); } export async function safeFetchReceiveConfigStore( context: Pick, publicKey: PublicKey | Pda, options?: RpcGetAccountOptions ): Promise { const maybeAccount = await context.rpc.getAccount( toPublicKey(publicKey, false), options ); return maybeAccount.exists ? deserializeReceiveConfigStore(maybeAccount) : null; } export async function fetchAllReceiveConfigStore( context: Pick, publicKeys: Array, options?: RpcGetAccountsOptions ): Promise { const maybeAccounts = await context.rpc.getAccounts( publicKeys.map((key) => toPublicKey(key, false)), options ); return maybeAccounts.map((maybeAccount) => { assertAccountExists(maybeAccount, 'ReceiveConfigStore'); return deserializeReceiveConfigStore(maybeAccount); }); } export async function safeFetchAllReceiveConfigStore( context: Pick, publicKeys: Array, options?: RpcGetAccountsOptions ): Promise { const maybeAccounts = await context.rpc.getAccounts( publicKeys.map((key) => toPublicKey(key, false)), options ); return maybeAccounts .filter((maybeAccount) => maybeAccount.exists) .map((maybeAccount) => deserializeReceiveConfigStore(maybeAccount as RpcAccount) ); } export function getReceiveConfigStoreGpaBuilder( context: Pick ) { const programId = context.programs.getPublicKey( 'simpleMessagelib', '6GsmxMTHAAiFKfemuM4zBjumTjNSX5CAiw4xSSXM2Toy' ); return gpaBuilder(context, programId) .registerFields<{ discriminator: Uint8Array; bump: number; data: Uint8Array; }>({ discriminator: [0, bytes({ size: 8 })], bump: [8, u8()], data: [9, bytes({ size: u32() })], }) .deserializeUsing((account) => deserializeReceiveConfigStore(account) ) .whereField( 'discriminator', new Uint8Array([70, 73, 30, 1, 248, 48, 93, 125]) ); }