UNPKG

@kamino-finance/kliquidity-sdk

Version:

Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol

25 lines (19 loc) 2.35 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, getAddressDecoder, getAddressEncoder, getStructDecoder, getStructEncoder, getU128Decoder, getU128Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder } from '@solana/kit'; export type RewardInfo = { rewardState: number; openTime: bigint; endTime: bigint; lastUpdateTime: bigint; emissionsPerSecondX64: bigint; rewardTotalEmissioned: bigint; rewardClaimed: bigint; tokenMint: Address; tokenVault: Address; authority: Address; rewardGrowthGlobalX64: bigint; }; export type RewardInfoArgs = { rewardState: number; openTime: number | bigint; endTime: number | bigint; lastUpdateTime: number | bigint; emissionsPerSecondX64: number | bigint; rewardTotalEmissioned: number | bigint; rewardClaimed: number | bigint; tokenMint: Address; tokenVault: Address; authority: Address; rewardGrowthGlobalX64: number | bigint; }; export function getRewardInfoEncoder(): FixedSizeEncoder<RewardInfoArgs> { return getStructEncoder([['rewardState', getU8Encoder()], ['openTime', getU64Encoder()], ['endTime', getU64Encoder()], ['lastUpdateTime', getU64Encoder()], ['emissionsPerSecondX64', getU128Encoder()], ['rewardTotalEmissioned', getU64Encoder()], ['rewardClaimed', getU64Encoder()], ['tokenMint', getAddressEncoder()], ['tokenVault', getAddressEncoder()], ['authority', getAddressEncoder()], ['rewardGrowthGlobalX64', getU128Encoder()]]); } export function getRewardInfoDecoder(): FixedSizeDecoder<RewardInfo> { return getStructDecoder([['rewardState', getU8Decoder()], ['openTime', getU64Decoder()], ['endTime', getU64Decoder()], ['lastUpdateTime', getU64Decoder()], ['emissionsPerSecondX64', getU128Decoder()], ['rewardTotalEmissioned', getU64Decoder()], ['rewardClaimed', getU64Decoder()], ['tokenMint', getAddressDecoder()], ['tokenVault', getAddressDecoder()], ['authority', getAddressDecoder()], ['rewardGrowthGlobalX64', getU128Decoder()]]); } export function getRewardInfoCodec(): FixedSizeCodec<RewardInfoArgs, RewardInfo> { return combineCodec(getRewardInfoEncoder(), getRewardInfoDecoder()); }