Skip to content

cowprotocol/univ3-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Runs the uniswap routing algorithm behind an http api. Intended to be used as a single order solver by the driver.

Setup

Developed with node v17.8.0.

npm install
npm run start

Uses the environment variables NODE_URL, HOST, PORT.

The application accepts post requests on /estimate. The body of the request and the response are json. See interface Request and interface Response in src/app.ts or the example requests and example response below.

Testing

Here are some test requests that have been useful during development.

weth 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 18 decimals usdc 0xdAC17F958D2ee523a2206206994597C13D831ec7 6 decmials

Sell 1 weth for usdt

{
    "type": "sell",
    "token_in": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
    "token_out": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "amount": "1000000000000000000",
    "recipient": "0x0000000000000000000000000000000000000000"
}

Buy 1 weth with usdt:

{
    "type": "buy",
    "token_in": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "token_out": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
    "amount": "1000000000000000000",
    "recipient": "0x0000000000000000000000000000000000000000"
}

Sell 1000 usdt for eth:

{
    "type": "sell",
    "token_in": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "token_out": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
    "amount": "1000000000",
    "recipient": "0x0000000000000000000000000000000000000000"
}

Buy 1000 usdt with eth:

{
    "type": "buy",
    "token_in": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
    "token_out": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "amount": "1000000000",
    "recipient": "0x0000000000000000000000000000000000000000"
}

Example response:

{
  "quote": "284671676368727715",
  "gas": "113000",
  "gas_price": "45790763269",
  "call_data": "0x5ae401dc00000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000e45023b4df000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000003f3dcd5c8a5924e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "call_value": "0x00"
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages