SDK
Mimo V3의 스왑 기능을 위한 SDK를 오픈 소스로 공개했습니다.
설치
bash
npm install @dappworks/mimoswap-sdk거래 API
REST API
거래 견적을 얻기 위해 POST 요청을 보냅니다:
bash
curl 'https://swap-api.mimo.exchange/api/trade' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Content-Type: application/json' \
--data-raw '{
"chainId": 4689,
"protocols": "v2,v3,mixed",
"token0": {"address":"IOTX","decimals":18},
"token1": {"address":"0x97e6c48867fdc3918dfe9d169ecd005d1d90283","decimals":18},
"recipient":"0x7890256910829ECc1CDD50AB50B1E92EC90A28da",
"amount":"10000000000000000000",
"slippage":{"numerator":50,"denominator":10000},
"tradeType":"EXACT_INPUT"
}'매개변수
| 매개변수 | 설명 |
|---|---|
chainId | 블록체인 네트워크의 ID (예: IoTeX의 경우 4689) |
protocols | 지원되는 프로토콜의 쉼표로 구분된 목록. 유효한 옵션: v2, v3, mixed |
token0 | 첫 번째 토큰의 세부정보 (주소 및 소수점 자릿수) |
token1 | 두 번째 토큰의 세부정보 (주소 및 소수점 자릿수) |
recipient | 출력 토큰을 받을 지갑 주소 |
amount | 교환할 입력 토큰의 양 (문자열로) |
slippage | 허용되는 슬리피지 허용 오차 (분자/분모) |
tradeType | 일반적으로 "EXACT_INPUT" 또는 "EXACT_OUTPUT" |
SDK 사용법
typescript
import { parseUnits } from 'viem';
import {
ChainId,
Token,
CurrencyAmount,
TradeType,
Percent,
} from '@dappworks/mimoswap-sdk/sdk-core';
import { JsonRpcProvider } from '@ethersproject/providers';
import {
AlphaRouter,
ID_TO_CHAIN_ID,
ID_TO_PROVIDER,
SwapType,
} from '@dappworks/mimoswap-sdk';
// 설정
const chainId = ID_TO_CHAIN_ID(ChainId.IOTEX);
const chainProvider = ID_TO_PROVIDER(chainId);
const provider = new JsonRpcProvider(chainProvider, chainId);
// 토큰 생성
const tokenIn = new Token(chainId, '0xa7108637552cec7e8c2dd08a9cd995caff8b4280', 18);
const tokenOut = new Token(chainId, '0x61db9b084326d2251ccb0252c18fd9b0e887ca4f', 18);
// 라우터 생성
const router = new AlphaRouter({ chainId, provider });
// 경로 가져오기
const route = await router.route(
CurrencyAmount.fromRawAmount(tokenIn, parseUnits('1', 6).toString()),
tokenOut,
TradeType.EXACT_INPUT,
{
recipient: '0x0000000000000000000000000000000000000000',
slippageTolerance: new Percent(1000, 10_000),
type: SwapType.UNIVERSAL_ROUTER,
},
{
protocols: [Protocol.MIXED],
}
);
console.log('route =>', route);저장소
- mimo-api: https://github.com/mimoprotocol/mimo-api
- mimoswap-sdk: https://github.com/mimoprotocol/mimoswap-sdk
입력/출력 매개변수는 Uniswap SDK 문서를 참조하세요.