Package Exports
- rainbow-swap-sdk
- rainbow-swap-sdk/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (rainbow-swap-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Rainbow Swap 🌈 SDK
This SDK is designed for building applications on top of Rainbow Swap 🌈 - The Next Gen DEX Aggregator on the TON blockchain 💎.
We have plans to integrate commissions and share them with those who have integrated this SDK into their DApps.
Installation
To install the rainbow-swap-sdk, use the following npm command:
npm install rainbow-swap-sdk
Integrate your dApp
import {
getAssetsRecord,
getBestRoute,
getSwapMessages
} from 'rainbow-swap-sdk';
// 1. On page load: fetch the list of available tokens
const assetsRecord = await getAssetsRecord();
...
// 2. On input asset amount, input asset, or output asset change: fetch a new swap route
const params = {
inputAssetAmount: '1000000000', // 1 TON in nano
inputAssetAddress: 'ton', // TON
outputAssetAddress: 'EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs' // USDT jetton master address
};
const bestRouteResponse = await getBestRoute(params);
...
// 3. Generate sign request messages & send it via @tonconnect
const userAddress = 'UQDGGjjuwhikx8ZPJsrLbKXGq7mx26D8pK_l8GqBejzB52Pa'; // user wallet address
const slippageTolerance = 2.5; // 2.5%
const swapMessages = await getSwapMessages(
userAddress,
bestRouteResponse.bestRoute,
slippageTolerance
);
Application status check
Additionally, you might want to check if everything is functioning correctly. For instance, you could temporarily disable swaps if block production on TON is disrupted due to the DOGS listing.
import { getAppStatus } from 'rainbow-swap-sdk';
const {
isSwapsEnabled, // true - if everything works fine
message // explanations why swaps are disabled
} = await getAppStatus();
Live example
For a live example of using the SDK, visit Rainbow Swap 🌈 repository.
Contact
For questions and suggestions, contact us at Blackbot.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.