Skip to content

Virtuswap/v1-sdk

Repository files navigation

VirtuSwap V1 SDK

The SDK could be used to obtain info about pairs on VirtuSwap and execute trades.

Installation

$ npm install @virtuswap/v1-sdk

Quick Start

Firstly, create a new Router instance:

import { Router } from '@virtuswap/v1-sdk';

const router = new Router();

Now you can request a route:

const chain = 137; // Polygon (Mainnet)
const tokenIn = '0x0000000000000000000000000000000000000000'; // use zero address for native token (ETH, POL (MATIC), etc.)
const tokenOut = '0x57999936fC9A9EC0751a8D146CcE11901Be8beD0'; // VRSW on Polygon
const amount = '5000000000000000000'; // 5 POL (MATIC)

const route = await router.getRoute(tokenIn, tokenOut, amount, chain, { isExactInput: true });

The received Route object can be used to visualize the trading route steps, generate transaction data or execute the route.

A TransactionRequest object can be created using the generateTransactionDataV3 method:

// userAddress is the address that will receive tokens from the vRouter 1.3
const txRequest = router.generateTransactionDataV3(route, userAddress);

This object can be transferred to client and used to send a transaction using ethers.js v5:

// signer is the wallet that will send the transaction to the vRouter 1.3
const tx = await signer.sendTransaction(txRequest);
await tx.wait();

You can also prepare the multiswap data and execute the multiswap on the client side:

// userAddress is the address that will receive tokens from the vRouter 1.3
const multiSwapData = router.generateMultiSwapDataV3(route, userAddress);

// amount of native tokens to send
const value = route.tokenIn.isNative ? route.isExactInput ? route.tokenIn.balanceBN : route.slippageThresholdAmount.balanceBN : undefined;

// signer is the wallet that will send the transaction to the vRouter 1.3
const tx = await router.executeMultiSwapV3(route.chain, multiSwapData, signer, value);
await tx.wait();

Examples

You can find our SDK usage examples in the following repositories: frontend examples, backend examples.

Documentation

Please check out the SDK documentation for further information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published