/** * 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, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, } from "@solana/kit"; export type UserRewardInfo = { /** The latest update reward checkpoint */ rewardPerTokenCheckpoint: Array; /** Current pending rewards */ rewardPendings: bigint; /** Total claimed rewards */ totalClaimedRewards: bigint; }; export type UserRewardInfoArgs = { /** The latest update reward checkpoint */ rewardPerTokenCheckpoint: Array; /** Current pending rewards */ rewardPendings: number | bigint; /** Total claimed rewards */ totalClaimedRewards: number | bigint; }; export function getUserRewardInfoEncoder(): FixedSizeEncoder { return getStructEncoder([ ["rewardPerTokenCheckpoint", getArrayEncoder(getU8Encoder(), { size: 32 })], ["rewardPendings", getU64Encoder()], ["totalClaimedRewards", getU64Encoder()], ]); } export function getUserRewardInfoDecoder(): FixedSizeDecoder { return getStructDecoder([ ["rewardPerTokenCheckpoint", getArrayDecoder(getU8Decoder(), { size: 32 })], ["rewardPendings", getU64Decoder()], ["totalClaimedRewards", getU64Decoder()], ]); } export function getUserRewardInfoCodec(): FixedSizeCodec< UserRewardInfoArgs, UserRewardInfo > { return combineCodec(getUserRewardInfoEncoder(), getUserRewardInfoDecoder()); }