@symmetry-hq/baskets-v2-sdk
Version:
Symmetry Baskets V2 SDK
62 lines (61 loc) • 1.82 kB
TypeScript
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>;