/** * 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, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU16Decoder, getU16Encoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, } from '@solana/kit'; export type SetFactionConfigArgs = { decayPerDay: number; dailyCap: number; /** Ask-leg value→standing bps (`0` disables sell-order accrual). */ standingBps: number; drHalfLife: bigint; drScale: bigint; standingEpochCap: number; standingEpochLenSecs: bigint; dockMinBand: number; /** P5 territory payoff: ATLAS yield per hold-tick to the controlling faction's treasury (0 = disabled). */ territoryYieldPerTick: number; /** P5 territory payoff: yield accrual cadence (secs). */ territoryYieldTickSecs: number; }; export type SetFactionConfigArgsArgs = { decayPerDay: number; dailyCap: number; /** Ask-leg value→standing bps (`0` disables sell-order accrual). */ standingBps: number; drHalfLife: number | bigint; drScale: number | bigint; standingEpochCap: number; standingEpochLenSecs: number | bigint; dockMinBand: number; /** P5 territory payoff: ATLAS yield per hold-tick to the controlling faction's treasury (0 = disabled). */ territoryYieldPerTick: number; /** P5 territory payoff: yield accrual cadence (secs). */ territoryYieldTickSecs: number; }; export function getSetFactionConfigArgsEncoder(): FixedSizeEncoder { return getStructEncoder([ ['decayPerDay', getU16Encoder()], ['dailyCap', getU32Encoder()], ['standingBps', getU32Encoder()], ['drHalfLife', getU64Encoder()], ['drScale', getU64Encoder()], ['standingEpochCap', getU32Encoder()], ['standingEpochLenSecs', getI64Encoder()], ['dockMinBand', getU8Encoder()], ['territoryYieldPerTick', getU16Encoder()], ['territoryYieldTickSecs', getU32Encoder()], ]); } export function getSetFactionConfigArgsDecoder(): FixedSizeDecoder { return getStructDecoder([ ['decayPerDay', getU16Decoder()], ['dailyCap', getU32Decoder()], ['standingBps', getU32Decoder()], ['drHalfLife', getU64Decoder()], ['drScale', getU64Decoder()], ['standingEpochCap', getU32Decoder()], ['standingEpochLenSecs', getI64Decoder()], ['dockMinBand', getU8Decoder()], ['territoryYieldPerTick', getU16Decoder()], ['territoryYieldTickSecs', getU32Decoder()], ]); } export function getSetFactionConfigArgsCodec(): FixedSizeCodec< SetFactionConfigArgsArgs, SetFactionConfigArgs > { return combineCodec( getSetFactionConfigArgsEncoder(), getSetFactionConfigArgsDecoder(), ); }