@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
37 lines (28 loc) • 2.58 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, getDiscriminatedUnionDecoder, getDiscriminatedUnionEncoder, getStructDecoder, getStructEncoder, getTupleDecoder, getTupleEncoder, getU128Decoder, getU128Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type GetDiscriminatedUnionVariant, type GetDiscriminatedUnionVariantContent } from '@solana/kit';
export type DexSpecificPrice = { __kind: "SqrtPrice", fields: readonly [bigint]; } | { __kind: "Q6464", fields: readonly [bigint]; };
export type DexSpecificPriceArgs = { __kind: "SqrtPrice", fields: readonly [number | bigint]; } | { __kind: "Q6464", fields: readonly [number | bigint]; };
export function getDexSpecificPriceEncoder(): FixedSizeEncoder<DexSpecificPriceArgs> {
return getDiscriminatedUnionEncoder([['SqrtPrice', getStructEncoder([['fields', getTupleEncoder([getU128Encoder()])]])], ['Q6464', getStructEncoder([['fields', getTupleEncoder([getU128Encoder()])]])]]) as FixedSizeEncoder<DexSpecificPriceArgs>;
}
export function getDexSpecificPriceDecoder(): FixedSizeDecoder<DexSpecificPrice> {
return getDiscriminatedUnionDecoder([['SqrtPrice', getStructDecoder([['fields', getTupleDecoder([getU128Decoder()])]])], ['Q6464', getStructDecoder([['fields', getTupleDecoder([getU128Decoder()])]])]]) as FixedSizeDecoder<DexSpecificPrice>;
}
export function getDexSpecificPriceCodec(): FixedSizeCodec<DexSpecificPriceArgs, DexSpecificPrice> {
return combineCodec(getDexSpecificPriceEncoder(), getDexSpecificPriceDecoder());
}
// Data Enum Helpers.
export function dexSpecificPrice(kind: 'SqrtPrice', data: GetDiscriminatedUnionVariantContent<DexSpecificPriceArgs, '__kind', 'SqrtPrice'>['fields']): GetDiscriminatedUnionVariant<DexSpecificPriceArgs, '__kind', 'SqrtPrice'>;
export function dexSpecificPrice(kind: 'Q6464', data: GetDiscriminatedUnionVariantContent<DexSpecificPriceArgs, '__kind', 'Q6464'>['fields']): GetDiscriminatedUnionVariant<DexSpecificPriceArgs, '__kind', 'Q6464'>;
export function dexSpecificPrice<K extends DexSpecificPriceArgs['__kind'], Data>(kind: K, data?: Data) {
return Array.isArray(data) ? { __kind: kind, fields: data } : { __kind: kind, ...(data ?? {}) };
}
export function isDexSpecificPrice<K extends DexSpecificPrice['__kind']>(kind: K, value: DexSpecificPrice): value is DexSpecificPrice & { __kind: K } {
return value.__kind === kind;
};