@nekoproject/swap
TypeScript icon, indicating that this package has built-in type declarations

1.2.25 • Public • Published

@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}`)

Notice

Ref

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.2.25
    34
    • latest

Version History

Package Sidebar

Install

npm i @nekoproject/swap

Weekly Downloads

34

Version

1.2.25

License

MIT

Unpacked Size

7.23 MB

Total Files

60

Last publish

Collaborators

  • nekoglobal
  • minhdc0902