/** * 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, getU16Decoder, getU16Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type ReadonlyUint8Array, } from "@solana/kit"; export type FeeConfiguration = { /** Manager performance fee in basis points (BPS). */ managerPerformanceFee: number; /** Admin performance fee in basis points (BPS). */ adminPerformanceFee: number; /** Manager management fee in basis points (BPS). */ managerManagementFee: number; /** Admin management fee in basis points (BPS). */ adminManagementFee: number; /** The redemption fee in basis points (BPS). */ redemptionFee: number; /** The issuance fee in basis points (BPS). */ issuanceFee: number; /** Protocol performance fee in basis points (BPS). */ protocolPerformanceFee: number; /** Protocol management fee in basis points (BPS). */ protocolManagementFee: number; /** Reserved bytes for future use. */ reserved: ReadonlyUint8Array; }; export type FeeConfigurationArgs = FeeConfiguration; export function getFeeConfigurationEncoder(): FixedSizeEncoder { return getStructEncoder([ ["managerPerformanceFee", getU16Encoder()], ["adminPerformanceFee", getU16Encoder()], ["managerManagementFee", getU16Encoder()], ["adminManagementFee", getU16Encoder()], ["redemptionFee", getU16Encoder()], ["issuanceFee", getU16Encoder()], ["protocolPerformanceFee", getU16Encoder()], ["protocolManagementFee", getU16Encoder()], ["reserved", fixEncoderSize(getBytesEncoder(), 32)], ]); } export function getFeeConfigurationDecoder(): FixedSizeDecoder { return getStructDecoder([ ["managerPerformanceFee", getU16Decoder()], ["adminPerformanceFee", getU16Decoder()], ["managerManagementFee", getU16Decoder()], ["adminManagementFee", getU16Decoder()], ["redemptionFee", getU16Decoder()], ["issuanceFee", getU16Decoder()], ["protocolPerformanceFee", getU16Decoder()], ["protocolManagementFee", getU16Decoder()], ["reserved", fixDecoderSize(getBytesDecoder(), 32)], ]); } export function getFeeConfigurationCodec(): FixedSizeCodec< FeeConfigurationArgs, FeeConfiguration > { return combineCodec( getFeeConfigurationEncoder(), getFeeConfigurationDecoder(), ); }