Package Exports
- nerveswap-sdk
- nerveswap-sdk/dist/cjs/index.js
- nerveswap-sdk/dist/esm/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nerveswap-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
NERVESWAP SDK
Start
import nerveswap, { mainnet, testnet } from 'nerveswap-sdk
mainnet() // set up the network, default is mainnet
EVM to NERVE
Check token allowance
const needAuth = await nerveswap.evm.checkAuth({
provider: 'ethereum', // the wallet collected to the dapp, ex: ethereum/NaboxWallet
tokenContract: '',
multySignContract: '',
address: '', // your evm address
amount: '' // transfer amount, ex: 1000000000000000000
})
Approve token
nerveswap.evm.approve({
provider: 'ethereum',
tokenContract: '',
multySignContract: '',
address: ''
});
Cross to NERVE
nerveswap.evm.crossIn({
provider: 'ethereum',
multySignContract: '',
nerveAddress: '', // your nerve address
amount: '',
from: '', // your evm address
tokenContract: ''
})
Get address and pub
/**
* @param {object} param
* @param {string} param.provider the wallet collected to the dapp, ex: ethereum/NaboxWallet
* @param {string} param.address the collected address
* @param {string} [param.message] the sign message, default is Generate Multi-chain Address
* @returns {Promise<{address: { NERVE: string, NULS: string, EVM: string, TRON: string, BTC: string, FCH: string, BCH: string, TBC: string }, pub: string}>}
*/
nerveswap.getAccount(param)
NERVE Transfer
Transfer transaction
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {string} param.to
* @param {number} param.assetChainId
* @param {number} param.assetId
* @param {string} param.amount
* @param {string} [param.remark]
* @param {number} param.type -2|10 transfer type, default is 2. set to 10 when the target address
* @param {string} param.EVMAddress the sign address
* @param {string} param.pub the pub of the sign address
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.transfer.transfer(param)
Withdrawal to L1, add withdrawal fee
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {number} param.assetChainId
* @param {number} param.assetId
* @param {string} param.amount
* @param {object} param.feeInfo the withdrawal fee info
* @param {string} param.feeInfo.amount
* @param {number} param.feeInfo.assetChainId
* @param {number} param.feeInfo.assetId
* @param {string} param.heterogeneousAddress // L1 target address
* @param {number} param.heterogeneousChainId
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.transfer.withdrawal(param)
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {string} param.amount
* @param {number} param.assetChainId
* @param {number} param.assetId
* @param {string} param.txHash the hash of the withdrawal tx
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.transfer.addFee(param)
Nerve Swap
const swap = new nerveswap.swap()
Calculate the number of swaps
/**
* @param {object} param
* @param {string} param.fromAssetKey
* @param {string} param.toAssetKey
* @param {string} param.amount
* @param {string} [param.direction = from | to] default is from
* @returns {Promise<{amount: string, priceImpact: string, routes: string[], fee: string}>}
*/
swap.getSwapInfo(param)
Send swap tx
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {string} param.fromAssetKey
* @param {string} param.toAssetKey
* @param {string} param.amount
* @param {string} [param.slippage='0.5']
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
swap.swapTrade(param)
Nerve Liquidity
Send create liquidity pair tx
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {object} param.tokenA
* @param {number} param.tokenA.assetChainId
* @param {number} param.tokenA.assetId
* @param {object} param.tokenB
* @param {number} param.tokenB.assetChainId
* @param {number} param.tokenB.assetId
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.liquidity.createPair(param)
Cal the amount of add liquidity
/**
* @param {object} param
* @param {string} param.tokenAKey ex: 5-1
* @param {string} param.tokenBKey ex: 2-1
* @param {string} param.amount
* @param {string} [param.direction= from | to]
* @param {boolean} [param.refresh] force to refresh
* @returns {Promise<string>}
*/
nerveswap.liquidity.calAddLiquidity(param)
Send add liquidity tx
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {object} param.tokenA
* @param {number} param.tokenA.assetChainId
* @param {number} param.tokenA.assetId
* @param {string} param.tokenA.amount
* @param {object} param.tokenB
* @param {number} param.tokenB.assetChainId
* @param {number} param.tokenB.assetId
* @param {string} param.tokenB.amount
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.liquidity.addLiquidity(param)
Cal the amount of remove liquidity
/**
* @param {object} param
* @param {string} param.tokenAKey
* @param {string} param.tokenBKey
* @param {string} param.amount
* @param {boolean} [param.refresh]
* @returns {Promise<{tokenAAmount: string, tokenBAmount: string}>}
*/
nerveswap.liquidity.calRemoveLiquidity(param)
Send remove liquidity tx
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {string} param.removeAmount
* @param {object} param.tokenA
* @param {number} param.tokenA.assetChainId
* @param {number} param.tokenA.assetId
* @param {object} param.tokenB
* @param {number} param.tokenB.assetChainId
* @param {number} param.tokenB.assetId
* @param {object} param.tokenLP the liquidity pair info
* @param {number} param.tokenLP.assetChainId
* @param {number} param.tokenLP.assetId
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.liquidity.removeLiquidity(param)
Farm
Send farm stake tx
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {string} param.amount
* @param {numbrt} param.assetChainId
* @param {numbrt} param.assetId
* @param {string} param.farmHash
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.farm.stake(param)
Claim
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {numbrt} param.assetChainId
* @param {numbrt} param.assetId
* @param {string} param.farmHash
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.farm.claim(param)
Unstake
/**
* @param {object} param
* @param {string} param.provider
* @param {string} param.from
* @param {string} param.amount
* @param {numbrt} param.assetChainId
* @param {numbrt} param.assetId
* @param {string} param.farmHash
* @param {string} [param.remark]
* @param {string} param.EVMAddress
* @param {string} param.pub
* @returns {Promise<{hash: string} | {error: {code: number, message: string}}>}
*/
nerveswap.farm.withdrawal(param)
bitcoin
Cross to NERVE
/**
* @param {object} param
* @param {object} param.provider
* @param {string} param.from
* @param {string} param.multySignAddress NERVE Bitcoin multy sign address
* @param {string} param.nerveAddress nerve target address
* @param {string} param.amount
* @param {string} param.pub
* @param {boolean} [param.isMainnet]
*/
nerveswap.btc.crossIn(param)
FreeCash Coin
Cross to NERVE
/**
* @param {object} data
* @param {string} data.multySignAddress NERVE FCH multy sign address
* @param {string} data.nerveAddress nerve target address
* @param {string} data.amount transfer amount
* @returns {Promise<string>}
*/
nerveswap.fch.crossIn(param)
Bitcoin Cash
Cross to NERVE
/**
* @param {object} data
* @param {string} data.multySignAddress NERVE BCH multy sign address
* @param {string} data.nerveAddress nerve target address
* @param {string} data.amount transfer amount
* @returns {Promise<string>}
*/
nerveswap.bch.crossIn(param)
Turingbit Chain
Cross to NERVE
/**
* @param {object} data
* @param {string} data.multySignAddress NERVE TBC multy sign address
* @param {string} data.nerveAddress nerve target address
* @param {string} data.amount transfer amount, TBC(with decimals), token(without decimals )
* @param {string?} data.tokenContract token contract
* @param {number} data.decimals token decimals
* @returns {Promise<string>}
*/
nerveswap.tbc.crossIn(param)