UNPKG

nerve-sdk-js

Version:
63 lines (44 loc) 2.35 kB
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } /** * Swap币币交换 */ var nerve = require('../../index'); // 设置网络环境 // nerve.mainnet(); // nerve.testnet(); nerve.customnet(5, "http://192.168.5.66:17004/jsonrpc"); var { acc0, acc1, acc2, acc3, acc4 } = require('./testAcc'); var chainId = nerve.chainId(); // 账户信息 var pri = acc4().pri; var fromAddress = nerve.getAddressByPri(chainId, pri); var amountIn = "500000000"; // 卖出的资产数量 var tokenPath = [nerve.swap.token(chainId, 1), nerve.swap.token(chainId, 9)]; // 币币交换资产路径,路径中最后一个资产,是稳定币LP资产 var amountOutMin = "0"; // 最小买进的资产数量 var feeTo = null; // 交易手续费取出一部分给指定的接收地址 var deadline = nerve.swap.currentTime() + 300; // 过期时间 var toAddress = fromAddress; // 资产接收地址 var targetToken = nerve.swap.token(chainId, 5); // 撤销稳定币流动性换出的资产 var remark = 'swapTradeStableRemoveLp remark'; //调用 test(); function test() { return _test.apply(this, arguments); } function _test() { _test = _asyncToGenerator(function* () { var tx = yield nerve.swap.swapTradeStableRemoveLp(fromAddress, amountIn, tokenPath, amountOutMin, feeTo, deadline, toAddress, targetToken, remark); console.log('hash: ' + tx.hash); console.log('hex: ' + tx.hex); // 签名交易 var signedTx = nerve.appendSignature(tx.hex, pri); console.log('signedTx hash: ' + signedTx.data.hash); console.log('signedTx hex: ' + signedTx.data.hex); // 广播交易 var result = yield nerve.broadcastTx(signedTx.data.hex); console.log('result: ' + result); }); return _test.apply(this, arguments); }