/** * 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, getStructDecoder, getStructEncoder, getU16Decoder, getU16Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, } from '@solana/kit'; export type GovernanceParams = { /** Multiplier applied to recipe fees. 10_000 means 1.0x. */ craftingFeeBps: number; /** Local market fee charged on executed ATLAS value. */ localMarketFeeBps: number; /** Share of governed fees retained by the local starbase treasury. */ localTreasuryShareBps: number; /** Share of the local treasury distributed to active voting power at settlement. */ treasuryDistributionBps: number; }; export type GovernanceParamsArgs = GovernanceParams; export function getGovernanceParamsEncoder(): FixedSizeEncoder { return getStructEncoder([ ['craftingFeeBps', getU16Encoder()], ['localMarketFeeBps', getU16Encoder()], ['localTreasuryShareBps', getU16Encoder()], ['treasuryDistributionBps', getU16Encoder()], ]); } export function getGovernanceParamsDecoder(): FixedSizeDecoder { return getStructDecoder([ ['craftingFeeBps', getU16Decoder()], ['localMarketFeeBps', getU16Decoder()], ['localTreasuryShareBps', getU16Decoder()], ['treasuryDistributionBps', getU16Decoder()], ]); } export function getGovernanceParamsCodec(): FixedSizeCodec< GovernanceParamsArgs, GovernanceParams > { return combineCodec( getGovernanceParamsEncoder(), getGovernanceParamsDecoder(), ); }