@xchainjs/xchain-mayachain-amm
v4.1.6
Published
module that exposes estimating & swapping cryptocurrency assets on mayachain
Readme
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-ammor
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.
