@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
38 lines (29 loc) • 2.75 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, getI32Decoder, getI32Encoder, getStructDecoder, getStructEncoder, getTupleDecoder, getTupleEncoder, getU128Decoder, getU128Encoder, getUnitDecoder, getUnitEncoder, type Codec, type Decoder, type Encoder, type GetDiscriminatedUnionVariant, type GetDiscriminatedUnionVariantContent } from '@solana/kit';
export type SimulationPrice = { __kind: "PoolPrice" } | { __kind: "SqrtPrice", fields: readonly [bigint]; } | { __kind: "TickIndex", fields: readonly [number]; };
export type SimulationPriceArgs = { __kind: "PoolPrice" } | { __kind: "SqrtPrice", fields: readonly [number | bigint]; } | { __kind: "TickIndex", fields: readonly [number]; };
export function getSimulationPriceEncoder(): Encoder<SimulationPriceArgs> {
return getDiscriminatedUnionEncoder([['PoolPrice', getUnitEncoder()], ['SqrtPrice', getStructEncoder([['fields', getTupleEncoder([getU128Encoder()])]])], ['TickIndex', getStructEncoder([['fields', getTupleEncoder([getI32Encoder()])]])]]);
}
export function getSimulationPriceDecoder(): Decoder<SimulationPrice> {
return getDiscriminatedUnionDecoder([['PoolPrice', getUnitDecoder()], ['SqrtPrice', getStructDecoder([['fields', getTupleDecoder([getU128Decoder()])]])], ['TickIndex', getStructDecoder([['fields', getTupleDecoder([getI32Decoder()])]])]]);
}
export function getSimulationPriceCodec(): Codec<SimulationPriceArgs, SimulationPrice> {
return combineCodec(getSimulationPriceEncoder(), getSimulationPriceDecoder());
}
// Data Enum Helpers.
export function simulationPrice(kind: 'PoolPrice'): GetDiscriminatedUnionVariant<SimulationPriceArgs, '__kind', 'PoolPrice'>;
export function simulationPrice(kind: 'SqrtPrice', data: GetDiscriminatedUnionVariantContent<SimulationPriceArgs, '__kind', 'SqrtPrice'>['fields']): GetDiscriminatedUnionVariant<SimulationPriceArgs, '__kind', 'SqrtPrice'>;
export function simulationPrice(kind: 'TickIndex', data: GetDiscriminatedUnionVariantContent<SimulationPriceArgs, '__kind', 'TickIndex'>['fields']): GetDiscriminatedUnionVariant<SimulationPriceArgs, '__kind', 'TickIndex'>;
export function simulationPrice<K extends SimulationPriceArgs['__kind'], Data>(kind: K, data?: Data) {
return Array.isArray(data) ? { __kind: kind, fields: data } : { __kind: kind, ...(data ?? {}) };
}
export function isSimulationPrice<K extends SimulationPrice['__kind']>(kind: K, value: SimulationPrice): value is SimulationPrice & { __kind: K } {
return value.__kind === kind;
};