/** * 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, getArrayDecoder, getArrayEncoder, getStructDecoder, getStructEncoder, getU16Decoder, getU16Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, } from "@solana/kit"; export type BaseFeeConfig = { cliffFeeNumerator: bigint; baseFeeMode: number; padding: Array; firstFactor: number; secondFactor: Array; thirdFactor: bigint; }; export type BaseFeeConfigArgs = { cliffFeeNumerator: number | bigint; baseFeeMode: number; padding: Array; firstFactor: number; secondFactor: Array; thirdFactor: number | bigint; }; export function getBaseFeeConfigEncoder(): FixedSizeEncoder { return getStructEncoder([ ["cliffFeeNumerator", getU64Encoder()], ["baseFeeMode", getU8Encoder()], ["padding", getArrayEncoder(getU8Encoder(), { size: 5 })], ["firstFactor", getU16Encoder()], ["secondFactor", getArrayEncoder(getU8Encoder(), { size: 8 })], ["thirdFactor", getU64Encoder()], ]); } export function getBaseFeeConfigDecoder(): FixedSizeDecoder { return getStructDecoder([ ["cliffFeeNumerator", getU64Decoder()], ["baseFeeMode", getU8Decoder()], ["padding", getArrayDecoder(getU8Decoder(), { size: 5 })], ["firstFactor", getU16Decoder()], ["secondFactor", getArrayDecoder(getU8Decoder(), { size: 8 })], ["thirdFactor", getU64Decoder()], ]); } export function getBaseFeeConfigCodec(): FixedSizeCodec< BaseFeeConfigArgs, BaseFeeConfig > { return combineCodec(getBaseFeeConfigEncoder(), getBaseFeeConfigDecoder()); }