1 import bytom from "./bytom";
2 import { snakeize } from "@/utils/utils";
7 transaction.list = function(guid, asset_id, start, limit, tx_types) {
8 const filter = {asset_id}
10 filter.tx_types = tx_types
12 return bytom.transaction.list(guid, filter, null, start, limit);
15 transaction.convertArgument = function(argArray) {
16 let fn = function asyncConvert(object){
17 const type = object.type
18 const value = object.value
19 return bytom.transaction.convertArgument(type, value)
20 .then(resp => resp.value);
23 let actionFunction = argArray.map(fn)
24 return Promise.all(actionFunction);
27 transaction.chainStatus = function() {
28 return bytom.query.getblockcount();
31 transaction.asset = function(asset_id) {
32 return bytom.query.asset(asset_id);
35 transaction.build = function(address, to, asset, amount, fee, confirmations) {
36 let retPromise = new Promise((resolve, reject) => {
38 .buildPayment(address, to, asset, amount.toString(), fee, confirmations)
49 transaction.buildCrossChain = function(address, to, asset, amount, confirmations) {
50 let retPromise = new Promise((resolve, reject) => {
52 .buildCrossChain(address, to, asset, amount.toString(), confirmations)
63 transaction.buildVote = function(address, vote, amount, confirmations, memo) {
64 let retPromise = new Promise((resolve, reject) => {
66 .buildVote(address, vote, amount.toString(), confirmations, memo)
77 transaction.buildVeto = function(address, vote, amount, confirmations, memo) {
78 let retPromise = new Promise((resolve, reject) => {
80 .buildVeto(address, vote, amount.toString(), confirmations, memo)
91 transaction.buildTransaction = function(guid, inputs, outputs, gas, confirmations) {
92 let retPromise = new Promise((resolve, reject) => {
94 .buildTransaction(guid, inputs, outputs, gas, confirmations)
105 transaction.signTransaction = function(guid, transaction, password) {
106 let retPromise = new Promise((resolve, reject) => {
108 .signTransaction(guid, JSON.stringify(snakeize(transaction)), password)
119 transaction.transfer = function(guid, transaction, password, address) {
120 let retPromise = new Promise((resolve, reject) => {
122 .signTransaction(guid, JSON.stringify(snakeize(transaction)), password)
125 .submitPayment(address, ret.raw_transaction, ret.signatures)
142 transaction.signMessage = function(message, password, address) {
143 return bytom.keys.signMessage(message, password,address);
146 transaction.advancedTransfer = function(guid, transaction, password, arrayData) {
147 let retPromise = new Promise((resolve, reject) => {
149 .signTransaction(guid, JSON.stringify(transaction), password)
151 let signatures = ret.signatures
153 signatures[0] = arrayData
156 .submitPayment(guid, ret.raw_transaction, signatures)
172 export default transaction;