New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@terminal-fi/swappa

Package Overview
Dependencies
Maintainers
0
Versions
88
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@terminal-fi/swappa

Swappa is a framework for finding and executing best routes for swapping cERC20 tokens. Framework consists of two parts: * @terminal-fi/swappa: JavaScript library that can be used to find best swap routes. * SwappaRouterV1 smart contract: That can be used

latest
Source
npmnpm
Version
1.26.1
Version published
Weekly downloads
14
180%
Maintainers
0
Weekly downloads
 
Created
Source

Swappa

Swappa is a framework for finding and executing best routes for swapping cERC20 tokens. Framework consists of two parts:

  • @terminal-fi/swappa: JavaScript library that can be used to find best swap routes.
  • SwappaRouterV1 smart contract: That can be used to execute those swap routes atomically.

SwappaRouterV1

SwappaRouter is designed for Celo network, thus gas optimizations aren't always highest priority since TX costs are assumed to be reasonable on Celo network. SwappaRouter instead optimizes for simplicity, readability and extensibility.

@terminal-fi/swappa

Routing library consits of 3 steps:

  • Finding and initializing swap pairs: In this step, swap pairs are discovered across all DEXes and DeFI systems that Swappa supports. This step is assumed to be expensive, however it only needs to be run once at initialization and potentially re-run very infrequently to discover new trading pairs that might get created. (Can be re-run once an hour or even less frequently).
  • Refreshing swap pair data: In this step, necessary information is fetched for every single swap pair to perform all other calculations later on offline. This step is fairly fast but requires connection to blockchain client. Low latency connection to blockchain client will provide better performance for this step. This step can be re-run every block (i.e. 5 seconds) if necessary, but in practice it probably only needs to be re-run every 30-60 seconds.
  • Finding best swap routes: This step is fully offline and expected to be very fast (i.e. <100ms).

Testing

Swappa comes with a simple command line tool to test its routing and execution.

> yarn ts-node src/cli/cli.ts --input CELO --output cUSD --amount 1
> yarn ts-node src/cli/cli.ts --help

Example invokation to test single pair of a specific registry:

> yarn ts-node src/cli/cli.ts --registries=mobius --max-swaps=1 --input USDC --output cUSD --amount 1337

FAQs

Package last updated on 07 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts