UNPKG

@kamino-finance/kliquidity-sdk

Version:

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

25 lines (19 loc) 3.56 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, getU16Decoder, getU16Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type ReadonlyUint8Array } from '@solana/kit'; export type CollateralInfo = { mint: Address; lowerHeuristic: bigint; upperHeuristic: bigint; expHeuristic: bigint; maxTwapDivergenceBps: bigint; scopeTwapPriceChain: Array<number>; scopePriceChain: Array<number>; name: ReadonlyUint8Array; maxAgePriceSeconds: bigint; maxAgeTwapSeconds: bigint; maxIgnorableAmountAsReward: bigint; disabled: number; padding0: ReadonlyUint8Array; scopeStakingRateChain: Array<number>; scopeFeed: Address; padding: Array<bigint>; }; export type CollateralInfoArgs = { mint: Address; lowerHeuristic: number | bigint; upperHeuristic: number | bigint; expHeuristic: number | bigint; maxTwapDivergenceBps: number | bigint; scopeTwapPriceChain: Array<number>; scopePriceChain: Array<number>; name: ReadonlyUint8Array; maxAgePriceSeconds: number | bigint; maxAgeTwapSeconds: number | bigint; maxIgnorableAmountAsReward: number | bigint; disabled: number; padding0: ReadonlyUint8Array; scopeStakingRateChain: Array<number>; scopeFeed: Address; padding: Array<number | bigint>; }; export function getCollateralInfoEncoder(): FixedSizeEncoder<CollateralInfoArgs> { return getStructEncoder([['mint', getAddressEncoder()], ['lowerHeuristic', getU64Encoder()], ['upperHeuristic', getU64Encoder()], ['expHeuristic', getU64Encoder()], ['maxTwapDivergenceBps', getU64Encoder()], ['scopeTwapPriceChain', getArrayEncoder(getU16Encoder(), { size: 4 })], ['scopePriceChain', getArrayEncoder(getU16Encoder(), { size: 4 })], ['name', fixEncoderSize(getBytesEncoder(), 32)], ['maxAgePriceSeconds', getU64Encoder()], ['maxAgeTwapSeconds', getU64Encoder()], ['maxIgnorableAmountAsReward', getU64Encoder()], ['disabled', getU8Encoder()], ['padding0', fixEncoderSize(getBytesEncoder(), 7)], ['scopeStakingRateChain', getArrayEncoder(getU16Encoder(), { size: 4 })], ['scopeFeed', getAddressEncoder()], ['padding', getArrayEncoder(getU64Encoder(), { size: 4 })]]); } export function getCollateralInfoDecoder(): FixedSizeDecoder<CollateralInfo> { return getStructDecoder([['mint', getAddressDecoder()], ['lowerHeuristic', getU64Decoder()], ['upperHeuristic', getU64Decoder()], ['expHeuristic', getU64Decoder()], ['maxTwapDivergenceBps', getU64Decoder()], ['scopeTwapPriceChain', getArrayDecoder(getU16Decoder(), { size: 4 })], ['scopePriceChain', getArrayDecoder(getU16Decoder(), { size: 4 })], ['name', fixDecoderSize(getBytesDecoder(), 32)], ['maxAgePriceSeconds', getU64Decoder()], ['maxAgeTwapSeconds', getU64Decoder()], ['maxIgnorableAmountAsReward', getU64Decoder()], ['disabled', getU8Decoder()], ['padding0', fixDecoderSize(getBytesDecoder(), 7)], ['scopeStakingRateChain', getArrayDecoder(getU16Decoder(), { size: 4 })], ['scopeFeed', getAddressDecoder()], ['padding', getArrayDecoder(getU64Decoder(), { size: 4 })]]); } export function getCollateralInfoCodec(): FixedSizeCodec<CollateralInfoArgs, CollateralInfo> { return combineCodec(getCollateralInfoEncoder(), getCollateralInfoDecoder()); }