UNPKG

@symmetry-hq/baskets-v2-sdk

Version:

Symmetry Baskets V2 SDK

105 lines (104 loc) 3.28 kB
import { Program } from "@coral-xyz/anchor"; import { Connection, Keypair, PublicKey } from "@solana/web3.js"; import { BasketsProgram } from "./idl/types"; import { VersionedTxs } from "./utils/txUtils"; export interface CreateBasketParams { basketType: number; creatorDepositFeeBps: number; creatorManagementFeeBps: number; creatorPerformanceFeeBps: number; host: PublicKey; hostDepositFeeBps: number; hostManagementFeeBps: number; hostPerformanceFeeBps: number; managers: PublicKey[]; managersWeightBps: number[]; managersAuthority: number[]; managersDepositFeeBps: number; managersManagementFeeBps: number; managersPerformanceFeeBps: number; basketDepositFeeBps: number; basketWithdrawFeeBps: number; rebalanceIntervalSeconds: number; rebalanceThresholdBps: number; rebalanceSlippageBps: number; lpThresholdBps: number; allowAutomation: boolean; allowLp: boolean; name: string; symbol: string; uri: string; } export interface EditBasketParams extends CreateBasketParams { basket: PublicKey; } export declare function createBasketHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; }, params: CreateBasketParams, basketKeypair: Keypair): Promise<VersionedTxs>; export declare function editBasketSettingsHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; }, params: EditBasketParams): Promise<VersionedTxs>; export declare function addLamportsForAutomationHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; }, params: { basket: PublicKey; amount: number; }): Promise<VersionedTxs>; export declare function addNewTokenHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; }, params: { basket: PublicKey; token: PublicKey; tokenWeight: number; oracleType: number; oraclePool: PublicKey; oracle1: PublicKey; oracle2: PublicKey; }): Promise<VersionedTxs>; export declare function removeTokenHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; }, params: { basket: PublicKey; token: PublicKey; }): Promise<VersionedTxs>; export declare function updateTokenWeightsHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; }, params: { basket: PublicKey; tokenWeights: number[]; writeVersion: number; }): Promise<VersionedTxs>; export declare function createPythSponsoredFeedsHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; }): Promise<VersionedTxs>; export declare function updatePythSponsoredFeedsHandler(sdkParams: { payer: PublicKey; connection: Connection; program: Program<BasketsProgram>; priorityFee: number; }, params: { tokenMint: PublicKey; feedAccount: PublicKey; isActive: boolean; }): Promise<VersionedTxs>;