UNPKG

@symmetry-hq/baskets-v2-sdk

Version:

Symmetry Baskets V2 SDK

62 lines (61 loc) 1.82 kB
import { Program } from "@coral-xyz/anchor"; import { Connection, PublicKey, TransactionInstruction } from "@solana/web3.js"; import { BasketsProgram } from "./idl/types"; import { VersionedTxs } from "./utils/txUtils"; import { BasketState, RebalanceInfo } from "./state/basket"; export declare function getMaxRebalanceAmount(params: { fromInfo: RebalanceInfo; toInfo: RebalanceInfo; }): { amount: number; value: number; }; export declare function generateRebalanceInstructionsForTokenPair(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; jupiterApiKey: string; maxAllowedAccounts: number; }, params: { basketState: BasketState; fromInfo: RebalanceInfo; toInfo: RebalanceInfo; slippageBps: number; minSwapValue: number; }): Promise<{ amount: number; value: number; ixs: TransactionInstruction[]; luts: PublicKey[]; }>; export declare function swapTokensHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; jupiterApiKey: string; }, params: { basket: PublicKey; fromToken: PublicKey; toToken: PublicKey; fromAmount: number; quoteResponse: any; fromTokenWeight?: number; toTokenWeight?: number; }): Promise<VersionedTxs>; export declare function rebalanceBasketTokensHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; jupiterApiKey: string; maxAllowedAccounts: number; }, params: { basket: PublicKey; fromToken?: PublicKey; toToken?: PublicKey; minSwapValue?: number; maxSellValuePerToken?: number; maxNumberOfSwaps?: number; }): Promise<VersionedTxs>;