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