UNPKG

@symmetry-hq/baskets-sdk

Version:

Software Development Kit for interacting with Symmetry Baskets Program

30 lines (29 loc) 2.5 kB
import { Program, Wallet } from "@coral-xyz/anchor"; import { AccountInfo, AddressLookupTableAccount, GetProgramAccountsResponse, PublicKey, TransactionSignature } from "@solana/web3.js"; import { BasketsIDL } from "./basketsIDL"; import { BuyStateChainData, RebalanceInfo, TokenSettings, JupSwapData, TransactionToSend } from "./config"; import { Basket } from "./basketState"; export declare class BuyState { ownAddress: PublicKey; data: BuyStateChainData; basket: Basket; constructor(ownAddress: PublicKey, buyStateData: BuyStateChainData, basket: Basket); static loadFromRawData(program: Program<BasketsIDL>, rawData: { pubkey: PublicKey; account: AccountInfo<Buffer>; }, basket?: Basket): Promise<BuyState>; static loadMultiple(program: Program<BasketsIDL>, rawDatas: GetProgramAccountsResponse): Promise<BuyState[]>; static loadFromPubkey(program: Program<BasketsIDL>, buyState: PublicKey, basket?: Basket): Promise<BuyState>; static computeMintAmountWithMultipleTokens(tokenList: TokenSettings[], basket: Basket, contribution: { token: PublicKey; amount: number; }[], oraclePrices: number[]): number; static computeMintAmountWithSingleToken(tokenList: TokenSettings[], basket: Basket, tokenSettings: TokenSettings, amount: number, oraclePrices: number[]): number; static singleTokenDeposit(program: Program<BasketsIDL>, wallet: Wallet, tokenList: TokenSettings[], basket: Basket, tokenMint: PublicKey, amount: number, lamports: number, updateOracles: boolean): Promise<TransactionSignature>; static createNew(program: Program<BasketsIDL>, wallet: Wallet, tokenList: TokenSettings[], basket: Basket, amount: number, lamports?: number): Promise<BuyState>; update(program: Program<BasketsIDL>): Promise<void>; getBuyStateRebalanceInfo(tokenList: TokenSettings[]): RebalanceInfo[]; rebalanceBuyState(program: Program<BasketsIDL>, wallet: Wallet, tokenList: TokenSettings[], jupSwapDatas: JupSwapData[], lamports: number, updateOraclesTxData: TransactionToSend[], lookups: AddressLookupTableAccount[]): Promise<TransactionSignature[]>; mint(program: Program<BasketsIDL>, swbProgram: Program, wallet: Wallet, tokenList: TokenSettings[], lookups: AddressLookupTableAccount[], lamports: number, updateOracles: boolean): Promise<TransactionSignature[]>; claimTokens(program: Program<BasketsIDL>, wallet: Wallet, tokenList: TokenSettings[], lamports?: number): Promise<TransactionSignature[]>; }