/** * 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 Merchant = { discriminator: number; owner: Address; bump: number; settlementWallet: Address; }; export type MerchantArgs = Merchant; export function getMerchantEncoder(): FixedSizeEncoder { return getStructEncoder([ ['discriminator', getU8Encoder()], ['owner', getAddressEncoder()], ['bump', getU8Encoder()], ['settlementWallet', getAddressEncoder()], ]); } export function getMerchantDecoder(): FixedSizeDecoder { return getStructDecoder([ ['discriminator', getU8Decoder()], ['owner', getAddressDecoder()], ['bump', getU8Decoder()], ['settlementWallet', getAddressDecoder()], ]); } export function getMerchantCodec(): FixedSizeCodec { return combineCodec(getMerchantEncoder(), getMerchantDecoder()); } export function decodeMerchant( encodedAccount: EncodedAccount ): Account; export function decodeMerchant( encodedAccount: MaybeEncodedAccount ): MaybeAccount; export function decodeMerchant( encodedAccount: EncodedAccount | MaybeEncodedAccount ): Account | MaybeAccount { return decodeAccount( encodedAccount as MaybeEncodedAccount, getMerchantDecoder() ); } export async function fetchMerchant( rpc: Parameters[0], address: Address, config?: FetchAccountConfig ): Promise> { const maybeAccount = await fetchMaybeMerchant(rpc, address, config); assertAccountExists(maybeAccount); return maybeAccount; } export async function fetchMaybeMerchant( rpc: Parameters[0], address: Address, config?: FetchAccountConfig ): Promise> { const maybeAccount = await fetchEncodedAccount(rpc, address, config); return decodeMerchant(maybeAccount); } export async function fetchAllMerchant( rpc: Parameters[0], addresses: Array
, config?: FetchAccountsConfig ): Promise[]> { const maybeAccounts = await fetchAllMaybeMerchant(rpc, addresses, config); assertAccountsExist(maybeAccounts); return maybeAccounts; } export async function fetchAllMaybeMerchant( rpc: Parameters[0], addresses: Array
, config?: FetchAccountsConfig ): Promise[]> { const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config); return maybeAccounts.map((maybeAccount) => decodeMerchant(maybeAccount)); } export function getMerchantSize(): number { return 66; }