1.0.0-alpha • Published 2 years ago
@arth-s/smart-order-router v1.0.0-alpha
ArthSwap Smart Order Router
This repository contains routing logic for the ArthSwap V3 protocol.
It searches for the most efficient way to swap token A for token B, considering splitting swaps across multiple routes and gas costs.
Testing
Unit Tests
First make sure you have run npm install and npm run build.
npm run testIntegration Tests
Make sure the .env file is configured to connect to mainnet and other chains. See the CLI section below for more details.
npm run integ-testCLI
The package can be run as a CLI for testing purposes.
First create a .env file in the root of the project and configure:
JSON_RPC_PROVIDER = '<JSON_RPC_PROVIDER>'Examples
Some examples to use for manual CLI testing.
Mainnet
./bin/cli quote --tokenIn 0xDb07bc6A3AcE2ab89c9a934243A85B2bf820749D --tokenOut 0x92e6166c812617cfE08848A9C842a3FF6d8EB0Dd --amount 1 --exactIn --protocols v2,v3,mixed --chainId 81
Best Route:
[V3] 100.00% = USDC -- 0.01% [0x3c5192dC487839A73389d58a2C94BC761fa36be3] --> USDT
Raw Quote Exact In:
0.99
Gas Adjusted Quote In:
0.99
Gas Used Quote Token: 0.001129
Gas Used USD: 0.001129
Calldata: undefined
Value: undefined
blockNumber: "3941379"
estimatedGasUsed: "113000"
gasPriceWei: "1000000000"
Total ticks crossed: 1