@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
Returns
SwapService
Methods
executeSwap()
executeSwap(
params):Promise<SwapResult>
Defined in: packages/services/src/services/swap.ts:240
Execute swap
Parameters
params
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
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"; })[]