Skip to Content

@cfxdevkit/services


@cfxdevkit/services / SwapService

Class: SwapService

Defined in: packages/services/src/services/swap.ts:164

Constructors

Constructor

new SwapService(devkit): SwapService

Defined in: packages/services/src/services/swap.ts:165

Parameters

devkit

SwapDevKit

Returns

SwapService

Methods

executeSwap()

executeSwap(params): Promise<SwapResult>

Defined in: packages/services/src/services/swap.ts:240

Execute swap

Parameters

params

SwapExecuteParams

Returns

Promise<SwapResult>


getContractAddresses()

getContractAddresses(network?): { FACTORY: `0x${string}`; ROUTER: `0x${string}`; } | { FACTORY: `0x${string}`; ROUTER: `0x${string}`; }

Defined in: packages/services/src/services/swap.ts:299

Get Swappi contract addresses

Parameters

network?

"testnet" | "mainnet"

Returns

{ FACTORY: `0x${string}`; ROUTER: `0x${string}`; } | { FACTORY: `0x${string}`; ROUTER: `0x${string}`; }


getQuote()

getQuote(params): Promise<SwapQuote>

Defined in: packages/services/src/services/swap.ts:198

Get swap quote

Parameters

params

SwapQuoteParams

Returns

Promise<SwapQuote>


getRouterABI()

getRouterABI(): readonly [{ inputs: readonly [{ name: "amountIn"; type: "uint256"; }, { name: "amountOutMin"; type: "uint256"; }, { name: "path"; type: "address[]"; }, { name: "to"; type: "address"; }, { name: "deadline"; type: "uint256"; }]; name: "swapExactTokensForTokens"; outputs: readonly [{ name: "amounts"; type: "uint256[]"; }]; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ name: "amountOut"; type: "uint256"; }, { name: "amountInMax"; type: "uint256"; }, { name: "path"; type: "address[]"; }, { name: "to"; type: "address"; }, { name: "deadline"; type: "uint256"; }]; name: "swapTokensForExactTokens"; outputs: readonly [{ name: "amounts"; type: "uint256[]"; }]; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ name: "amountIn"; type: "uint256"; }, { name: "path"; type: "address[]"; }]; name: "getAmountsOut"; outputs: readonly [{ name: "amounts"; type: "uint256[]"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ name: "amountOut"; type: "uint256"; }, { name: "path"; type: "address[]"; }]; name: "getAmountsIn"; outputs: readonly [{ name: "amounts"; type: "uint256[]"; }]; stateMutability: "view"; type: "function"; }]

Defined in: packages/services/src/services/swap.ts:292

Get Swappi router ABI

Returns

readonly [{ inputs: readonly [{ name: "amountIn"; type: "uint256"; }, { name: "amountOutMin"; type: "uint256"; }, { name: "path"; type: "address[]"; }, { name: "to"; type: "address"; }, { name: "deadline"; type: "uint256"; }]; name: "swapExactTokensForTokens"; outputs: readonly [{ name: "amounts"; type: "uint256[]"; }]; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ name: "amountOut"; type: "uint256"; }, { name: "amountInMax"; type: "uint256"; }, { name: "path"; type: "address[]"; }, { name: "to"; type: "address"; }, { name: "deadline"; type: "uint256"; }]; name: "swapTokensForExactTokens"; outputs: readonly [{ name: "amounts"; type: "uint256[]"; }]; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly [{ name: "amountIn"; type: "uint256"; }, { name: "path"; type: "address[]"; }]; name: "getAmountsOut"; outputs: readonly [{ name: "amounts"; type: "uint256[]"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ name: "amountOut"; type: "uint256"; }, { name: "path"; type: "address[]"; }]; name: "getAmountsIn"; outputs: readonly [{ name: "amounts"; type: "uint256[]"; }]; stateMutability: "view"; type: "function"; }]


getToken()

getToken(symbol, network?): { address: `0x${string}`; decimals: 18; name: "Wrapped CFX"; symbol: "WCFX"; } | { address: `0x${string}`; decimals: 18; name: "Tether USD"; symbol: "USDT"; } | { address: `0x${string}`; decimals: 18; name: "USD Coin"; symbol: "USDC"; }

Defined in: packages/services/src/services/swap.ts:177

Get token info

Parameters

symbol

string

network?

"testnet" | "mainnet"

Returns

{ address: `0x${string}`; decimals: 18; name: "Wrapped CFX"; symbol: "WCFX"; } | { address: `0x${string}`; decimals: 18; name: "Tether USD"; symbol: "USDT"; } | { address: `0x${string}`; decimals: 18; name: "USD Coin"; symbol: "USDC"; }


listTokens()

listTokens(network?): ({ address: `0x${string}`; decimals: 18; name: "Wrapped CFX"; symbol: "WCFX"; } | { address: `0x${string}`; decimals: 18; name: "Tether USD"; symbol: "USDT"; } | { address: `0x${string}`; decimals: 18; name: "USD Coin"; symbol: "USDC"; })[]

Defined in: packages/services/src/services/swap.ts:191

List available tokens

Parameters

network?

"testnet" | "mainnet"

Returns

({ address: `0x${string}`; decimals: 18; name: "Wrapped CFX"; symbol: "WCFX"; } | { address: `0x${string}`; decimals: 18; name: "Tether USD"; symbol: "USDT"; } | { address: `0x${string}`; decimals: 18; name: "USD Coin"; symbol: "USDC"; })[]