From 74ff3622e0287f27441b614efe035f0247cd8ec7 Mon Sep 17 00:00:00 2001 From: Stefano Faieta <9802152+stefanofa@users.noreply.github.com> Date: Fri, 24 Nov 2023 14:27:06 +0100 Subject: [PATCH] docs: update sdk readme and docs (#27) * fix: README sdk information * fix: usage example in README * docs: fix fetchSwapQuote and prepareSwapTransactions params --------- Co-authored-by: Gabriele Di Remigio --- README.md | 2 +- .../docs/docs/sdk/methods/fetch-swap-quote.md | 17 ++++---------- .../sdk/methods/prepare-swap-transactions.md | 5 +++- packages/folks-router-js-sdk/README.md | 23 +++++++++++++++---- 4 files changed, 27 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index befaec1..96c9f53 100644 --- a/README.md +++ b/README.md @@ -25,4 +25,4 @@ An open source interface for Folks Router build with [Astro](https://github.com/ The official JavaScript SDK for Folks Router DEXs aggregator. -_**NOTE:** More information on installation, use and examples will be available soon._ +For installation instructions, usage guidelines, and examples, please visit this [link](https://github.com/Folks-Finance/folks-router/tree/main/packages/folks-router-js-sdk) to discover more about the SDK. diff --git a/apps/website/src/content/docs/docs/sdk/methods/fetch-swap-quote.md b/apps/website/src/content/docs/docs/sdk/methods/fetch-swap-quote.md index a9130f8..1395fb7 100644 --- a/apps/website/src/content/docs/docs/sdk/methods/fetch-swap-quote.md +++ b/apps/website/src/content/docs/docs/sdk/methods/fetch-swap-quote.md @@ -3,14 +3,11 @@ title: fetchSwapQuote description: fetchSwapQuote function. --- -See the full code [here](https://github.com/Folks-Finance/folks-router/blob/js-sdk-readme/packages/folks-router-js-sdk/src/FolksRouterClient.ts#L24). +See the full code [here](https://github.com/Folks-Finance/folks-router/blob/main/packages/folks-router-js-sdk/src/FolksRouterClient.ts#L37). ```ts fetchSwapQuote( - fromAssetId: number, - toAssetId: number, - amount: number | bigint, - swapMode: SwapMode, + params: SwapParams, maxGroupSize?: number, feeBps?: number | bigint, referrer?: string, @@ -33,14 +30,8 @@ interface SwapQuote { ### Parameters ```sh -# The assetId to swap from -fromAssetId: number -# The assetId to swap to -toAssetId: number -# The swap amount -amount: number | bigint -# The swap mode ("FIXED_INPUT" | "FIXED_OUTPUT") -swapMode: SwapMode +# The set of parameters used for executing the swap +params: SwapParams # The maximum group size of the txn (min 3, max 16) maxGroupSize?: number # The fee percentage expressed as fixed percentage of input amount (4 d.p) diff --git a/apps/website/src/content/docs/docs/sdk/methods/prepare-swap-transactions.md b/apps/website/src/content/docs/docs/sdk/methods/prepare-swap-transactions.md index 7c3ba7b..d017174 100644 --- a/apps/website/src/content/docs/docs/sdk/methods/prepare-swap-transactions.md +++ b/apps/website/src/content/docs/docs/sdk/methods/prepare-swap-transactions.md @@ -3,10 +3,11 @@ title: prepareSwapTransactions description: prepareSwapTransactions function. --- -See the full code [here](https://github.com/Folks-Finance/folks-router/blob/main/packages/folks-router-js-sdk/src/FolksRouterClient.ts#L57). +See the full code [here](https://github.com/Folks-Finance/folks-router/blob/main/packages/folks-router-js-sdk/src/FolksRouterClient.ts#L69). ```ts prepareSwapTransactions( + params: SwapParams, userAddress: string, slippageBps: number | bigint, swapQuote: SwapQuote, @@ -24,6 +25,8 @@ type SwapTransactions = string[]; ### Parameters ```sh +# The set of parameters used for executing the swap +params: SwapParams # The address performing the transaction userAddress: string # The slippage percentage to perform the transaction diff --git a/packages/folks-router-js-sdk/README.md b/packages/folks-router-js-sdk/README.md index 2b9cfca..a897f8b 100644 --- a/packages/folks-router-js-sdk/README.md +++ b/packages/folks-router-js-sdk/README.md @@ -24,7 +24,7 @@ Documentation for this SDK is available at [folksrouter.io](https://folksrouter. ## Usage ```ts -import { FolksRouterClient, Network, SwapMode } from "@folks-router/js-sdk"; +import { FolksRouterClient, Network, SwapMode, SwapParams } from "@folks-router/js-sdk"; import { Algodv2, decodeUnsignedTransaction, generateAccount } from "algosdk"; const senderAccount = generateAccount(); @@ -32,17 +32,30 @@ const algodClient = new Algodv2("", "https://mainnet-api.algonode.cloud/", 443); const folksRouterClient = new FolksRouterClient(Network.MAINNET); async function main() { + // Construct Swap Params + const swapParams: SwapParams = { + fromAssetId: 0, + toAssetId: 31566704, + amount: BigInt(10e6), + swapMode: SwapMode.FIXED_INPUT, + }; + // Fetch Swap Quote - const swapQuote = await folksRouterClient.fetchSwapQuote(0, 31566704, BigInt(10e6), SwapMode.FIXED_INPUT); + const swapQuote = await folksRouterClient.fetchSwapQuote(swapParams); // Prepare Swap Transactions - const base64txns = await folksRouterClient.prepareSwapTransactions(senderAccount.addr, BigInt(10), swapQuote); - const unsignedTxns = base64txns.map((txn) => decodeUnsignedTransaction(Buffer.from(txn, "base64"))); + const base64Txns = await folksRouterClient.prepareSwapTransactions( + swapParams, + senderAccount.addr, + BigInt(10), + swapQuote, + ); + const unsignedTxns = base64Txns.map((txn) => decodeUnsignedTransaction(Buffer.from(txn, "base64"))); const signedTxns = unsignedTxns.map((txn) => txn.signTxn(senderAccount.sk)); // Submit Transaction await algodClient.sendRawTransaction(signedTxns).do(); } -main(); +main().catch(console.error); ```