UNPKG

@symmetry-hq/baskets-sdk

Version:

Software Development Kit for interacting with Symmetry Baskets Program

30 lines (29 loc) 3.69 kB
import { Program, Wallet } from "@coral-xyz/anchor"; import { AddressLookupTableAccount, Connection, GetProgramAccountsFilter, GetProgramAccountsResponse, Keypair, PublicKey, Transaction, TransactionSignature, VersionedTransaction } from "@solana/web3.js"; import { BasketsIDL } from "./basketsIDL"; import { CreateBasketParams, RebalanceInfo, TokenSettings, JupSwapData } from "./config"; import { Basket } from "./basketState"; export declare function delay(ms: number): Promise<unknown>; export declare function rawOraclePrices(connection: Connection, tokenList: any): Promise<number[]>; export declare function getOraclePrices(program: Program<BasketsIDL>, tokenList: TokenSettings[]): Promise<number[]>; export declare function getFilteredProgramAccounts(connection: Connection, filters: GetProgramAccountsFilter[]): Promise<GetProgramAccountsResponse>; export declare function signVersionedTransactions(wallet: Wallet, transactions: VersionedTransaction[]): Promise<VersionedTransaction[]>; export declare function signTransactionsWithWallet(connection: Connection, wallet: Wallet, transactionsData: { transaction: Transaction; signers: Keypair[]; }[]): Promise<Transaction[]>; export declare function sendSignedTransaction(connection: Connection, transaction: Transaction | VersionedTransaction, retries?: number, delayMs?: number): Promise<TransactionSignature>; export declare function confirmTransaction(connection: Connection, txId: TransactionSignature, timeout?: number): Promise<boolean>; export declare function sendSignedTransactions(connection: Connection, transactions: (Transaction | VersionedTransaction)[], confirmFirstN?: number): Promise<TransactionSignature[]>; export declare const getAddressLookupTableAccounts: (connection: Connection, keys: string[]) => Promise<AddressLookupTableAccount[]>; export declare function buildTxFromQuoteResponse(quoteResponse: any, rebalanceInfo: RebalanceInfo, connection: Connection, jupAPIkey: string): Promise<JupSwapData>; export declare function findRoute(rebalanceInfo: any, jupAPIkey: string, slippage: number, midToken: string, inputAmountOverwrite: number): Promise<any>; export declare function generateJupSwapInstruction(rebalanceInfo: RebalanceInfo, slippage: number, connection: Connection, fromPriceWithDecimals: number, toPriceWithDecimals: number, midTokenMint: string, midTokenPda: string, jupAPIkey: string): Promise<JupSwapData>; export declare function generateJupTxData(signer: PublicKey, mintFrom: string, mintTo: string, amountFrom: number, maxAllowedAccounts: number, slippage: number, fromPriceWithDecimals: number, toPriceWithDecimals: number, jupAPIkey: string): Promise<any>; export declare function calculateRebalanceAmounts(program: Program<BasketsIDL>, numTokens: number, timestamp: number, lastRebalanceTime: number[], rebalanceInterval: number, currentCompToken: number[], currentCompAmount: number[], targetWeights: number[], weightSum: number, tokenList: TokenSettings[], rebalanceThreshold: number, oraclePriceData: number[], forceRebalance: boolean): RebalanceInfo[]; export declare function stringToAscii(coingeckoId: string): Array<number>; export declare function asciiToString(coingeckoIdAscii: number[]): string; export declare function fetchTokenList(program: Program<BasketsIDL>): Promise<TokenSettings[]>; export declare function getCurrentComposition(basket: Basket, tokenList: TokenSettings[], oraclePriceData: number[]): any; export declare function validateCreateBasketParams(createBasketParams: CreateBasketParams, tokenList: TokenSettings[], basketState?: PublicKey, skipNameCheck?: boolean): Promise<void>; export declare function tryMetadata(parsed: any): Promise<any>;