UNPKG

@kamino-finance/farms-sdk

Version:
122 lines (115 loc) 3.62 kB
/** * 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, fixDecoderSize, fixEncoderSize, getAddressDecoder, getAddressEncoder, getArrayDecoder, getArrayEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU128Decoder, getU128Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type ReadonlyUint8Array, } from "@solana/kit"; import { getRewardScheduleCurveDecoder, getRewardScheduleCurveEncoder, getTokenInfoDecoder, getTokenInfoEncoder, type RewardScheduleCurve, type RewardScheduleCurveArgs, type TokenInfo, type TokenInfoArgs, } from "."; export type RewardInfo = { token: TokenInfo; rewardsVault: Address; rewardsAvailable: bigint; rewardScheduleCurve: RewardScheduleCurve; minClaimDurationSeconds: bigint; lastIssuanceTs: bigint; rewardsIssuedUnclaimed: bigint; rewardsIssuedCumulative: bigint; rewardPerShareScaled: bigint; placeholder0: bigint; rewardType: number; rewardsPerSecondDecimals: number; padding0: ReadonlyUint8Array; padding1: Array<bigint>; }; export type RewardInfoArgs = { token: TokenInfoArgs; rewardsVault: Address; rewardsAvailable: number | bigint; rewardScheduleCurve: RewardScheduleCurveArgs; minClaimDurationSeconds: number | bigint; lastIssuanceTs: number | bigint; rewardsIssuedUnclaimed: number | bigint; rewardsIssuedCumulative: number | bigint; rewardPerShareScaled: number | bigint; placeholder0: number | bigint; rewardType: number; rewardsPerSecondDecimals: number; padding0: ReadonlyUint8Array; padding1: Array<number | bigint>; }; export function getRewardInfoEncoder(): FixedSizeEncoder<RewardInfoArgs> { return getStructEncoder([ ["token", getTokenInfoEncoder()], ["rewardsVault", getAddressEncoder()], ["rewardsAvailable", getU64Encoder()], ["rewardScheduleCurve", getRewardScheduleCurveEncoder()], ["minClaimDurationSeconds", getU64Encoder()], ["lastIssuanceTs", getU64Encoder()], ["rewardsIssuedUnclaimed", getU64Encoder()], ["rewardsIssuedCumulative", getU64Encoder()], ["rewardPerShareScaled", getU128Encoder()], ["placeholder0", getU64Encoder()], ["rewardType", getU8Encoder()], ["rewardsPerSecondDecimals", getU8Encoder()], ["padding0", fixEncoderSize(getBytesEncoder(), 6)], ["padding1", getArrayEncoder(getU64Encoder(), { size: 20 })], ]); } export function getRewardInfoDecoder(): FixedSizeDecoder<RewardInfo> { return getStructDecoder([ ["token", getTokenInfoDecoder()], ["rewardsVault", getAddressDecoder()], ["rewardsAvailable", getU64Decoder()], ["rewardScheduleCurve", getRewardScheduleCurveDecoder()], ["minClaimDurationSeconds", getU64Decoder()], ["lastIssuanceTs", getU64Decoder()], ["rewardsIssuedUnclaimed", getU64Decoder()], ["rewardsIssuedCumulative", getU64Decoder()], ["rewardPerShareScaled", getU128Decoder()], ["placeholder0", getU64Decoder()], ["rewardType", getU8Decoder()], ["rewardsPerSecondDecimals", getU8Decoder()], ["padding0", fixDecoderSize(getBytesDecoder(), 6)], ["padding1", getArrayDecoder(getU64Decoder(), { size: 20 })], ]); } export function getRewardInfoCodec(): FixedSizeCodec< RewardInfoArgs, RewardInfo > { return combineCodec(getRewardInfoEncoder(), getRewardInfoDecoder()); }