import bytom from "./bytom";
import { snakeize } from "@/utils/utils";
import { networks } from '@/utils/constants'
-
+import { wallet } from './wallet'
let transaction = {};
-transaction.list = function(guid, asset_id, start, limit, tx_types) {
+transaction.list = function(address, asset_id, start, limit, tx_types) {
const filter = {asset_id}
if(tx_types){
filter.tx_types = tx_types
}
- return bytom.transaction.list(guid, filter, null, start, limit);
+ // return bytom.transaction.list(guid, filter, null, start, limit);
+ return wallet.getTransactions({
+ address,
+ limit,
+ start,
+ filter
+ })
};
transaction.listDelayTransaction = function(address, start, limit, network) {
}
let baseURL = networks[network]
- if(network==='testnet'){
- baseURL = baseURL+':3008'
- }
+ // if(network==='testnet'){
+ // baseURL = baseURL+':3008'
+ // }
return bytom.transaction.listDelayTransaction(baseURL, address, start, limit);
};
let fn = function asyncConvert(object){
const type = object.type
const value = object.value
- return bytom.transaction.convertArgument(type, value)
- .then(resp => resp.value);
+ // return bytom.transaction.convertArgument(type, value)
+ // .then(resp => resp.value);
+ return wallet.convertArgument(type, value)
};
let actionFunction = argArray.map(fn)
};
transaction.chainStatus = function() {
- return bytom.query.getblockcount();
+ return wallet.getChainStatus()
+ // return bytom.query.getblockcount();
};
transaction.asset = function(asset_id) {
- return bytom.query.asset(asset_id);
+ return wallet.getAsset(asset_id)
+ // return bytom.query.asset(asset_id);
};
transaction.build = function(address, to, asset, amount, fee, confirmations) {
- let retPromise = new Promise((resolve, reject) => {
- bytom.transaction
- .buildPayment(address, to, asset, amount.toString(), confirmations)
- .then(res => {
- resolve(res);
- })
- .catch(error => {
- reject(error);
- });
- });
- return retPromise;
+ return wallet.buildPayment({
+ address,
+ asset,
+ confirmations,
+ recipients: {
+ [to]: amount.toString()
+ }
+ })
+ // let retPromise = new Promise((resolve, reject) => {
+ // bytom.transaction
+ // .buildPayment(address, to, asset, amount.toString(), confirmations)
+ // .then(res => {
+ // resolve(res);
+ // })
+ // .catch(error => {
+ // reject(error);
+ // });
+ // });
+ // return retPromise;
};
transaction.buildCrossChain = function(address, to, asset, amount, confirmations) {
};
transaction.buildVote = function(address, vote, amount, confirmations, memo) {
- let retPromise = new Promise((resolve, reject) => {
- bytom.transaction
- .buildVote(address, vote, amount.toString(), confirmations, memo)
- .then(res => {
- resolve(res);
- })
- .catch(error => {
- reject(error);
- });
- });
- return retPromise;
+ return wallet.buildVote({
+ address,
+ amount: amount.toString(),
+ vote,
+ confirmations,
+ memo
+ })
+ // let retPromise = new Promise((resolve, reject) => {
+ // bytom.transaction
+ // .buildVote(address, vote, amount.toString(), confirmations, memo)
+ // .then(res => {
+ // resolve(res);
+ // })
+ // .catch(error => {
+ // reject(error);
+ // });
+ // });
+ // return retPromise;
};
transaction.buildVeto = function(address, vote, amount, confirmations, memo) {
- let retPromise = new Promise((resolve, reject) => {
- bytom.transaction
- .buildVeto(address, vote, amount.toString(), confirmations, memo)
- .then(res => {
- resolve(res);
- })
- .catch(error => {
- reject(error);
- });
- });
- return retPromise;
+ return wallet.buildVeto({
+ address,
+ vote,
+ amount: amount.toString(),
+ confirmations,
+ memo
+ })
+ // let retPromise = new Promise((resolve, reject) => {
+ // bytom.transaction
+ // .buildVeto(address, vote, amount.toString(), confirmations, memo)
+ // .then(res => {
+ // resolve(res);
+ // })
+ // .catch(error => {
+ // reject(error);
+ // });
+ // });
+ // return retPromise;
};
transaction.buildTransaction = function(address, inputs, outputs, gas, confirmations) {
return retPromise;
};
-transaction.decodeTransaction = function(rawTx) {
- let retPromise = new Promise((resolve, reject) => {
- bytom.transaction
- .decodeTransaction(rawTx)
- .then(res => {
- resolve(res);
- })
- .catch(error => {
- reject(error);
- });
- });
- return retPromise;
-};
+// transaction.decodeTransaction = function(rawTx) {
+// let retPromise = new Promise((resolve, reject) => {
+// bytom.transaction
+// .decodeTransaction(rawTx)
+// .then(res => {
+// resolve(res);
+// })
+// .catch(error => {
+// reject(error);
+// });
+// });
+// return retPromise;
+// };
transaction.transfer = function(transaction, password, address, context) {
let retPromise = new Promise((resolve, reject) => {
const {to, asset, amount, confirmations} = transaction
// transfer to multi address
if (typeof to === 'object') {
- return bytom.transaction.buildPayment(address, to, asset, null, confirmations)
+ return wallet.buildPayment({
+ address,
+ recipients: to,
+ asset,
+ confirmations
+ })
+ // return bytom.transaction.buildPayment(address, to, asset, null, confirmations)
} else {
- return bytom.transaction.buildPayment(address, to.trim(), asset, amount.toString(), confirmations)
+ return wallet.buildPayment({
+ address,
+ recipients: {
+ [to.trim()]: amount.toString()
+ },
+ asset,
+ confirmations
+ })
+ // return bytom.transaction.buildPayment(address, to.trim(), asset, amount.toString(), confirmations)
}
}
build().then(result => {
context
)
.then(ret => {
- return bytom.transaction
- .submitPayment(address, ret.raw_transaction, ret.signatures)
+ return wallet.submitPayment({
+ address,
+ rawTransaction: ret.raw_transaction,
+ signatures: ret.signatures
+ })
+ // return bytom.transaction
+ // .submitPayment(address, ret.raw_transaction, ret.signatures)
.then(res3 => {
const object = {
transactionHash: res3.txHash
transaction.signMessage = function(message, password, address, context) {
const keyArray = context.bytom.keychain.findByAddress(address, context.bytom.settings.network);
const key = typeof keyArray.keystore ==='string'? keyArray.keystore :JSON.stringify(keyArray.keystore);
-
- return bytom.keys.signMessageJsPromise(message, password,key);
+ // return bytom.keys.signMessageJsPromise(message, password,key);
+ return new Promise((resolve, reject) => {
+ try {
+ const data = wallet.signMessage(message, password, key)
+ resolve(data)
+ } catch(e) {
+ reject(e)
+ }
+ })
};
transaction.advancedTransfer = function(address, transaction, password, arrayData, context) {
if(arrayData){
signatures[0] = arrayData
}
- bytom.transaction
- .submitPayment(address, ret.raw_transaction, signatures)
+ wallet.submitPayment({
+ address,
+ rawTransaction: ret.raw_transaction,
+ signatures
+ })
+ // bytom.transaction
+ // .submitPayment(address, ret.raw_transaction, signatures)
.then(res3 => {
const object ={
transactionHash: res3.txHash
throw 'Account not found.'
}else{
const key = JSON.stringify(keyArray.keystore)
- return bytom.transaction._signTransactionJsPromise(transaction,
- password,
- key)
+ return new Promise((resolve, reject) => {
+ try {
+ const data = wallet.signTransaction(transaction, password, key)
+ resolve(data)
+ } catch(e) {
+ reject(e)
+ }
+ })
+ // return bytom.transaction._signTransactionJsPromise(transaction,
+ // password,
+ // key)
}
}
transaction.estimateFee = function(address, asset_amounts, confirmations){
- return bytom.transaction.estimateFee(address, asset_amounts, confirmations)
+ return wallet.estimateTxFee(address, asset_amounts, confirmations)
+ // return bytom.transaction.estimateFee(address, asset_amounts, confirmations)
}
export default transaction;