npm.io
4.2.2 • Published yesterday

@xchainjs/xchain-mayachain-amm

Licence
MIT
Version
4.2.2
Deps
17
Size
90 kB
Vulns
0
Weekly
0
Stars
133

MAYAChain AMM

NPM Version NPM Downloads


MAYAChain AMM is a module that allows users and developers to interact with the MAYAChain protocol without having to worry about the underlining particularities of the protocol.

Installation

yarn add @xchainjs/xchain-mayachain-amm

or

npm install @xchainjs/xchain-mayachain-amm

Initialization

Using Mayachain AMM, you can initialize the main class of the module in consultation mode if you do not provide any parameters, this means you could retrieve information from the protocol, but you will not be able to make actions the protocol needs you to sign.

  import { MayachainAMM } from '@xchainjs/xchain-mayachain-amm'

  const mayachainAmm = new MayachainAMM()

Otherwise, if you want to be able make actions the protocol needs you to sign, you will need to initialize the main class of the protocol as follows

  import { MayachainAMM } from '@xchainjs/xchain-mayachain-amm'
  import { MayachainQuery } from '@xchainjs/xchain-mayachain-query'
  import { Wallet } from '@xchainjs/xchain-wallet'
  import { Client as MayaClient } from '@xchainjs/xchain-mayachain'

  const phrase = 'your mnemonic phrase here'
  const mayaChainQuery = new MayachainQuery()
  const wallet = new Wallet({
    MAYA: new MayaClient({ phrase, network: Network.Mainnet }),
    // Add other clients with phrases as needed
  })
  const mayachainAmm = new MayachainAMM(mayaChainQuery, wallet)

Important: All clients in the wallet MUST be initialized with a mnemonic phrase to sign transactions. Without a phrase, you'll get the error: "No clients available. Can not sign and broadcast transaction"

Features

Using MAYAChain AMM package, you could easily implement the following features

Swaps
  • Estimate swaps
  • Do swaps
  • Approve MAYAChain router to spend to be able to do ERC-20 swaps
MAYANames
  • Get MAYAName details
  • Get MAYANames by owner
Trade Accounts
  • Add assets to trade accounts
  • Withdraw assets from trade accounts
  • Estimate add/withdraw operations

Examples

You can find examples using the MAYAChain AMM package in the mayachain-amm examples folder.

Keywords