/** * This code was AUTOGENERATED using the Codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun Codama to update it. * * @see https://github.com/codama-idl/codama */ import { assertAccountExists, assertAccountsExist, combineCodec, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, getAddressDecoder, getAddressEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, } from '@solana/kit'; export type Operator = { discriminator: number; owner: Address; bump: number }; export type OperatorArgs = Operator; export function getOperatorEncoder(): FixedSizeEncoder { return getStructEncoder([ ['discriminator', getU8Encoder()], ['owner', getAddressEncoder()], ['bump', getU8Encoder()], ]); } export function getOperatorDecoder(): FixedSizeDecoder { return getStructDecoder([ ['discriminator', getU8Decoder()], ['owner', getAddressDecoder()], ['bump', getU8Decoder()], ]); } export function getOperatorCodec(): FixedSizeCodec { return combineCodec(getOperatorEncoder(), getOperatorDecoder()); } export function decodeOperator( encodedAccount: EncodedAccount ): Account; export function decodeOperator( encodedAccount: MaybeEncodedAccount ): MaybeAccount; export function decodeOperator( encodedAccount: EncodedAccount | MaybeEncodedAccount ): Account | MaybeAccount { return decodeAccount( encodedAccount as MaybeEncodedAccount, getOperatorDecoder() ); } export async function fetchOperator( rpc: Parameters[0], address: Address, config?: FetchAccountConfig ): Promise> { const maybeAccount = await fetchMaybeOperator(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } export async function fetchMaybeOperator( rpc: Parameters[0], address: Address, config?: FetchAccountConfig ): Promise> { const maybeAccount = await fetchEncodedAccount(rpc, address, config); return decodeOperator(maybeAccount); } export async function fetchAllOperator( rpc: Parameters[0], addresses: Array
, config?: FetchAccountsConfig ): Promise[]> { const maybeAccounts = await fetchAllMaybeOperator(rpc, addresses, config); assertAccountsExist(maybeAccounts); return maybeAccounts; } export async function fetchAllMaybeOperator( rpc: Parameters[0], addresses: Array
, config?: FetchAccountsConfig ): Promise[]> { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); return maybeAccounts.map((maybeAccount) => decodeOperator(maybeAccount)); } export function getOperatorSize(): number { return 34; }