/** * 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, getI32Decoder, getI32Encoder, getStructDecoder, getStructEncoder, getU16Decoder, getU16Encoder, getU32Decoder, getU32Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, } from "@solana/kit"; import { getDriftDirectionDecoder, getDriftDirectionEncoder, getStakingRateSourceDecoder, getStakingRateSourceEncoder, type DriftDirection, type DriftDirectionArgs, type StakingRateSource, type StakingRateSourceArgs, } from "."; export type RebalanceAutodriftParams = { initDriftTicksPerEpoch: number; ticksBelowMid: number; ticksAboveMid: number; frontrunMultiplierBps: number; stakingRateASource: StakingRateSource; stakingRateBSource: StakingRateSource; initDriftDirection: DriftDirection; }; export type RebalanceAutodriftParamsArgs = { initDriftTicksPerEpoch: number; ticksBelowMid: number; ticksAboveMid: number; frontrunMultiplierBps: number; stakingRateASource: StakingRateSourceArgs; stakingRateBSource: StakingRateSourceArgs; initDriftDirection: DriftDirectionArgs; }; export function getRebalanceAutodriftParamsEncoder(): FixedSizeEncoder { return getStructEncoder([ ["initDriftTicksPerEpoch", getU32Encoder()], ["ticksBelowMid", getI32Encoder()], ["ticksAboveMid", getI32Encoder()], ["frontrunMultiplierBps", getU16Encoder()], ["stakingRateASource", getStakingRateSourceEncoder()], ["stakingRateBSource", getStakingRateSourceEncoder()], ["initDriftDirection", getDriftDirectionEncoder()], ]); } export function getRebalanceAutodriftParamsDecoder(): FixedSizeDecoder { return getStructDecoder([ ["initDriftTicksPerEpoch", getU32Decoder()], ["ticksBelowMid", getI32Decoder()], ["ticksAboveMid", getI32Decoder()], ["frontrunMultiplierBps", getU16Decoder()], ["stakingRateASource", getStakingRateSourceDecoder()], ["stakingRateBSource", getStakingRateSourceDecoder()], ["initDriftDirection", getDriftDirectionDecoder()], ]); } export function getRebalanceAutodriftParamsCodec(): FixedSizeCodec< RebalanceAutodriftParamsArgs, RebalanceAutodriftParams > { return combineCodec( getRebalanceAutodriftParamsEncoder(), getRebalanceAutodriftParamsDecoder(), ); }