@nekoproject/swap
v1.2.25
Published
Cross-chain Swap Token
Downloads
8
Readme
@nekoproject/swap
A complete crypto wallet base support for cross-chain
Table of contents
Build
Re-build project from scratch
- Clean project
npm run clean
- Build
npm run build
- Unit test
npm run test:cover
Install
Install @nekoproject/swap
with npm
npm i @nekoproject/swap
Import
import {SPLSwap, SwapConfig, SwapOrder, SwapResponse} from '@nekoproject/swap'
Documents
Init and config SPLSwap instance
// address own fee
const fee = 'ykkvsfEtAhc7faxK3uJTYMPBmtrisGkU9Kv4SnuxzB7'
const setFee = {
feeOwner: fee,
fee: 2
}
const swapConfig: SwapConfig = {
cluster: 'mainnet-beta',
fee: setFee,
slippage: 1
}
const swap = new SPLSwap(SPLNetworkInstance, swapConfig)
const wallet = SPLWallet.generateWallet()
SPLSwap methods
Create SwapOrder
- Config order
const order = { inputToken: /Token/, outputToken: /Token/, amount: /amount number/, slippage: /% slippage/, }
- Example config order
const usdcInfo: TokenInfo = { decimals: 6, mintAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', } const usdtInfo: TokenInfo = { decimals: 6, mintAddress: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB', } const usdcToken = new SPLToken(SPLNetworkInstance, usdcInfo) const usdtToken = new SPLToken(SPLNetworkInstance, usdtInfo) // order const order = { inputToken: usdcToken, outputToken: usdtToken, amount: 1, slippage: 1, }
- Execute create SwapOrder
const swapRequest = await swap.createSwapOrder(order, wallet)
Swap Token
- Swap Token
const response: SwapResponse = await swap.swapToken(swapRequest) // example const response = { tx: '5Pz8C8YHBKkGTgSsDYJqzndS62ufTNsApHY3qzc1g14QfpXwGDJoAFLx8RJ2njVgD6pwYgtzHXgwz2AVcdYxtKhp', inputAddress: '9xL3QEaqqPR4H67oUhzGLwQzokvMuxeDFuQeAf52GN8A', outputAddress: '6T496kvjdFKXG1EgXTa4VKhsNfDeJLi5JBYpySUpEvkf', inputAmount: 1000000, outputAmount: 995903 } // await transaction confirm const confirmed = await SPLNetworkInstance.provider.confirmTransaction(response.tx) console.log(confirmed) // output example: { context: { slot: 126425365 }, value: { err: null } } console.log(`https://solscan.io/tx/${output.tx}`)