1.0.0-alpha • Published 5 months 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 test
Integration 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-test
CLI
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