/** * 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 { combineCodec, fixDecoderSize, fixEncoderSize, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type ReadonlyUint8Array, } from "@solana/kit"; export type TokenMetadata = { name: ReadonlyUint8Array; maxAgePriceSlots: bigint; groupIdsBitset: bigint; reserved: Array; }; export type TokenMetadataArgs = { name: ReadonlyUint8Array; maxAgePriceSlots: number | bigint; groupIdsBitset: number | bigint; reserved: Array; }; export function getTokenMetadataEncoder(): FixedSizeEncoder { return getStructEncoder([ ["name", fixEncoderSize(getBytesEncoder(), 32)], ["maxAgePriceSlots", getU64Encoder()], ["groupIdsBitset", getU64Encoder()], ["reserved", getArrayEncoder(getU64Encoder(), { size: 15 })], ]); } export function getTokenMetadataDecoder(): FixedSizeDecoder { return getStructDecoder([ ["name", fixDecoderSize(getBytesDecoder(), 32)], ["maxAgePriceSlots", getU64Decoder()], ["groupIdsBitset", getU64Decoder()], ["reserved", getArrayDecoder(getU64Decoder(), { size: 15 })], ]); } export function getTokenMetadataCodec(): FixedSizeCodec< TokenMetadataArgs, TokenMetadata > { return combineCodec(getTokenMetadataEncoder(), getTokenMetadataDecoder()); }