always include hex in wallet transactions. convert to regular transactions.

This commit is contained in:
Christopher Jeffrey 2014-11-13 15:45:55 -08:00
parent fe643a37ae
commit 6d994454d5
2 changed files with 19 additions and 6 deletions

View File

@ -809,12 +809,14 @@ Wallet.prototype.getUnconfirmedBalance = function(options) {
};
// XXX Wallet Transactions
// Convert to regular TX
Wallet.prototype.listTransactions =
Wallet.prototype.getTransactions = function(options) {
return bitcoindjs.walletListTransactions(options || {});
return bitcoindjs.walletListTransactions(options || {}).map(function(tx) {
return Transaction.fromHex(tx.hex);
});
};
// XXX Wallet Transactions
Wallet.prototype.listReceivedByAddress =
Wallet.prototype.getReceivedByAddress = function(options) {
return bitcoindjs.walletReceivedByAddress(options || {});
@ -825,9 +827,11 @@ Wallet.prototype.getAccounts = function(options) {
return bitcoindjs.walletListAccounts(options || {});
};
// XXX Wallet Transactions
// XXX Wallet Transaction
// Convert to regular TX
Wallet.prototype.getTransaction = function(options) {
return bitcoindjs.walletGetTransaction(options || {});
var tx = bitcoindjs.walletGetTransaction(options || {});
return tx ? Transaction.fromHex(tx.hex) : tx;
};
Wallet.prototype.backup = function(options) {

View File

@ -4136,6 +4136,9 @@ WalletTxToJSON_V8(const CWalletTx& wtx, Local<Object>& entry) {
BOOST_FOREACH(const PAIRTYPE(string,string)& item, wtx.mapValue) {
entry->Set(NanNew<String>(item.first), NanNew<String>(item.second));
}
std::string strHex = EncodeHexTx(static_cast<CTransaction>(wtx));
entry->Set(NanNew<String>("hex"), NanNew<String>(strHex));
}
static void
@ -4176,6 +4179,9 @@ ListTransactions_V8(const CWalletTx& wtx, const string& strAccount,
entry->Set(NanNew<String>("fee"), NanNew<Number>(-nFee));
if (fLong) {
WalletTxToJSON_V8(wtx, entry);
} else {
std::string strHex = EncodeHexTx(static_cast<CTransaction>(wtx));
entry->Set(NanNew<String>("hex"), NanNew<String>(strHex));
}
ret->Set(i, entry);
i++;
@ -4212,6 +4218,9 @@ ListTransactions_V8(const CWalletTx& wtx, const string& strAccount,
// entry->Set(NanNew<String>("vout"), NanNew<Number>(r.vout));
if (fLong) {
WalletTxToJSON_V8(wtx, entry);
} else {
std::string strHex = EncodeHexTx(static_cast<CTransaction>(wtx));
entry->Set(NanNew<String>("hex"), NanNew<String>(strHex));
}
ret->Set(i, entry);
i++;
@ -4449,8 +4458,8 @@ NAN_METHOD(WalletGetTransaction) {
ListTransactions_V8(wtx, "*", 0, false, details, filter, &a_count);
entry->Set(NanNew<String>("details"), details);
std::string strHex = EncodeHexTx(static_cast<CTransaction>(wtx));
entry->Set(NanNew<String>("hex"), NanNew<String>(strHex));
//std::string strHex = EncodeHexTx(static_cast<CTransaction>(wtx));
//entry->Set(NanNew<String>("hex"), NanNew<String>(strHex));
NanReturnValue(entry);
}