/** * 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, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU128Decoder, getU128Encoder, getU64Decoder, getU64Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type ReadonlyUint8Array, } from "@solana/kit"; export type HighWaterMark = { /** The highest recorded total asset value per share */ highestAssetPerLpDecimalBits: bigint; /** The timestamp when the high water mark was last updated */ lastUpdatedTs: bigint; /** Reserved for future use */ reserved: ReadonlyUint8Array; }; export type HighWaterMarkArgs = { /** The highest recorded total asset value per share */ highestAssetPerLpDecimalBits: number | bigint; /** The timestamp when the high water mark was last updated */ lastUpdatedTs: number | bigint; /** Reserved for future use */ reserved: ReadonlyUint8Array; }; export function getHighWaterMarkEncoder(): FixedSizeEncoder { return getStructEncoder([ ["highestAssetPerLpDecimalBits", getU128Encoder()], ["lastUpdatedTs", getU64Encoder()], ["reserved", fixEncoderSize(getBytesEncoder(), 8)], ]); } export function getHighWaterMarkDecoder(): FixedSizeDecoder { return getStructDecoder([ ["highestAssetPerLpDecimalBits", getU128Decoder()], ["lastUpdatedTs", getU64Decoder()], ["reserved", fixDecoderSize(getBytesDecoder(), 8)], ]); } export function getHighWaterMarkCodec(): FixedSizeCodec< HighWaterMarkArgs, HighWaterMark > { return combineCodec(getHighWaterMarkEncoder(), getHighWaterMarkDecoder()); }