@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
25 lines (19 loc) • 3.56 kB
text/typescript
/**
* 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());
}