0.0.48 • Published 2 years ago
@symmetry-hq/liquidity-sdk v0.0.48
Symmetry Liquidity SDK
Exchange functionality using symmetry funds liquidity
Documentation: https://docs.symmetry.fi/sdks/liquidity-sdk
Initialization
import { TokenSwap } from "@symmetry-hq/liquidity-sdk";
let tokenSwap = await TokenSwap.init(
// rpc connection
connection: Connection,
// wallet (optional | can be provided later, using tokenSwap.setWallet
wallet: Wallet,
);
OR
import { TokenSwap } from "@symmetry-hq/liquidity-sdk";
let accountInfos = await TokenSwap.getAccountInfosForTokenSwap(connection);
let tokenSwap = new TokenSwap(accountInfos); // Synchronous
Update
await tokenSwap.updateLiquiditySources();
OR
let pubkeys: PublicKey[] = tokenSwap.getAccountsForUpdate(); // Synchronous
let accountInfos: AccountInfo<Buffer>[] =
await connection.getMultipleAccountsInfo(pubkeys);
tokenSwap.update(accountInfos); // Synchronous
Get output amount and Route data
let routeData: RouteData = tokenSwap.getRouteData( // Synchronous
tokenFrom: PublicKey, // mint address
tokenTo: PublicKey, // mint address
fromAmount: number,
);
type RouteData = {
fromAmount: number,
toAmount: number, // Expected output amount
fromTokenId: number,
toTokenId: number,
swapAccounts: {...} // accounts used for swap
}
Executing swap
let tx: TransactionSignature = await tokenSwap.executeSwap(
routeData,
fromTokenAccount?: PublicKey, // default = user's ATA
toTokenAccount?: PublicKey, // default = user's ATA
slippage?: number, // slippage percentage 1 = 1%, default = 0.5%
);
Helpers
// set wallet before executing swap if it wasn't provided upon initialization
tokenSwap.setWallet(wallet: Wallet); // Synchronous
// generate swap instruction
let instruction: TransactionInstruction = await tokenSwap
.generateSwapInstruction(
routeData: RouteData,
fromTokenAccount: PublicKey,
toTokenAccount: PublicKey,
user?: PublicKey, // no need to provide if wallet was provided,
slippage?: number, // slippage percentage 1 = 1%, default = 0.5%
);
// get available tokens for swap
let tokenList: {
tokenId: number,
coingeckoId: string,
tokenMint: string,
}[] = tokenSwap.getTokenList(); // Synchronous
0.0.48
2 years ago
0.0.47
2 years ago
0.0.46
2 years ago
0.0.40
2 years ago
0.0.41
2 years ago
0.0.42
2 years ago
0.0.44
2 years ago
0.0.45
2 years ago
0.0.37
2 years ago
0.0.38
2 years ago
0.0.39
2 years ago
0.0.30
2 years ago
0.0.31
2 years ago
0.0.32
2 years ago
0.0.33
2 years ago
0.0.34
2 years ago
0.0.35
2 years ago
0.0.36
2 years ago
0.0.28
2 years ago
0.0.29
2 years ago
0.0.25
2 years ago
0.0.26
2 years ago
0.0.27
2 years ago
0.0.20
3 years ago
0.0.21
3 years ago
0.0.22
3 years ago
0.0.23
3 years ago
0.0.24
3 years ago
0.0.18
3 years ago
0.0.19
3 years ago
0.0.15
3 years ago
0.0.16
3 years ago
0.0.17
3 years ago
0.0.14
3 years ago
0.0.13
3 years ago
0.0.12
3 years ago
0.0.11
3 years ago
0.0.10
3 years ago
0.0.9
3 years ago
0.0.8
3 years ago
0.0.7
3 years ago
0.0.6
3 years ago
0.0.5
3 years ago
0.0.4
3 years ago
0.0.3
3 years ago
0.0.2
3 years ago
0.0.1
3 years ago