fixes.
This commit is contained in:
parent
7bee8fe176
commit
1654923f12
@ -337,11 +337,19 @@ Bitcoin.prototype.getBlockHeight = function(height, callback) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Bitcoin.prototype.getTransaction =
|
||||||
Bitcoin.prototype.getTx = function(txHash, blockHash, callback) {
|
Bitcoin.prototype.getTx = function(txHash, blockHash, callback) {
|
||||||
if (!callback) {
|
if (!callback) {
|
||||||
callback = blockHash;
|
callback = blockHash;
|
||||||
blockHash = '';
|
blockHash = '';
|
||||||
}
|
}
|
||||||
|
if (typeof blockHash === 'function') {
|
||||||
|
callback = blockHash;
|
||||||
|
blockHash = '';
|
||||||
|
}
|
||||||
|
if (typeof blockHash !== 'string') {
|
||||||
|
blockHash = '';
|
||||||
|
}
|
||||||
return bitcoindjs.getTx(txHash, blockHash, function(err, tx) {
|
return bitcoindjs.getTx(txHash, blockHash, function(err, tx) {
|
||||||
if (err) return callback(err);
|
if (err) return callback(err);
|
||||||
return callback(null, bitcoin.tx(tx));
|
return callback(null, bitcoin.tx(tx));
|
||||||
|
|||||||
@ -1068,9 +1068,6 @@ NAN_METHOD(GetTx) {
|
|||||||
String::Utf8Value blockHash_(args[1]->ToString());
|
String::Utf8Value blockHash_(args[1]->ToString());
|
||||||
Local<Function> callback = Local<Function>::Cast(args[2]);
|
Local<Function> callback = Local<Function>::Cast(args[2]);
|
||||||
|
|
||||||
Persistent<Function> cb;
|
|
||||||
cb = Persistent<Function>::New(callback);
|
|
||||||
|
|
||||||
std::string txHash = std::string(*txHash_);
|
std::string txHash = std::string(*txHash_);
|
||||||
std::string blockHash = std::string(*blockHash_);
|
std::string blockHash = std::string(*blockHash_);
|
||||||
|
|
||||||
@ -1108,6 +1105,18 @@ async_get_tx(uv_work_t *req) {
|
|||||||
if (GetTransaction(hash, ctx, block_hash, true)) {
|
if (GetTransaction(hash, ctx, block_hash, true)) {
|
||||||
data->ctx = ctx;
|
data->ctx = ctx;
|
||||||
} else {
|
} else {
|
||||||
|
if (data->blockHash != "0000000000000000000000000000000000000000000000000000000000000000") {
|
||||||
|
CBlock block;
|
||||||
|
CBlockIndex* pblockindex = mapBlockIndex[block_hash];
|
||||||
|
if (ReadBlockFromDisk(block, pblockindex)) {
|
||||||
|
BOOST_FOREACH(const CTransaction &tx, block.vtx) {
|
||||||
|
if (tx.GetHash() == hash) {
|
||||||
|
data->ctx = tx;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
data->err_msg = std::string("get_tx(): failed.");
|
data->err_msg = std::string("get_tx(): failed.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1873,7 +1882,7 @@ NAN_METHOD(GetAddrTransactions) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String::Utf8Value addr_(args[0]->ToString());
|
String::Utf8Value addr_(args[0]->ToString());
|
||||||
Local<Function> callback = Local<Function>::Cast(args[2]);
|
Local<Function> callback = Local<Function>::Cast(args[1]);
|
||||||
|
|
||||||
Persistent<Function> cb;
|
Persistent<Function> cb;
|
||||||
cb = Persistent<Function>::New(callback);
|
cb = Persistent<Function>::New(callback);
|
||||||
@ -5311,6 +5320,10 @@ ctx_to_jstx(const CTransaction& ctx, uint256 block_hash, Local<Object> jstx) {
|
|||||||
jstx->Set(NanNew<String>("blockhash"), NanNew<String>(cwtx.hashBlock.GetHex()));
|
jstx->Set(NanNew<String>("blockhash"), NanNew<String>(cwtx.hashBlock.GetHex()));
|
||||||
jstx->Set(NanNew<String>("blockindex"), NanNew<Number>(cwtx.nIndex));
|
jstx->Set(NanNew<String>("blockindex"), NanNew<Number>(cwtx.nIndex));
|
||||||
jstx->Set(NanNew<String>("blocktime"), NanNew<Number>(mapBlockIndex[cwtx.hashBlock]->GetBlockTime()));
|
jstx->Set(NanNew<String>("blocktime"), NanNew<Number>(mapBlockIndex[cwtx.hashBlock]->GetBlockTime()));
|
||||||
|
} else {
|
||||||
|
jstx->Set(NanNew<String>("blockhash"), NanNew<String>(uint256(0).GetHex()));
|
||||||
|
jstx->Set(NanNew<String>("blockindex"), NanNew<Number>(-1));
|
||||||
|
jstx->Set(NanNew<String>("blocktime"), NanNew<Number>(0));
|
||||||
}
|
}
|
||||||
Local<Array> conflicts = NanNew<Array>();
|
Local<Array> conflicts = NanNew<Array>();
|
||||||
int co = 0;
|
int co = 0;
|
||||||
@ -5320,6 +5333,16 @@ ctx_to_jstx(const CTransaction& ctx, uint256 block_hash, Local<Object> jstx) {
|
|||||||
jstx->Set(NanNew<String>("walletconflicts"), conflicts);
|
jstx->Set(NanNew<String>("walletconflicts"), conflicts);
|
||||||
jstx->Set(NanNew<String>("time"), NanNew<Number>(cwtx.GetTxTime()));
|
jstx->Set(NanNew<String>("time"), NanNew<Number>(cwtx.GetTxTime()));
|
||||||
jstx->Set(NanNew<String>("timereceived"), NanNew<Number>((int64_t)cwtx.nTimeReceived));
|
jstx->Set(NanNew<String>("timereceived"), NanNew<Number>((int64_t)cwtx.nTimeReceived));
|
||||||
|
} else {
|
||||||
|
jstx->Set(NanNew<String>("blockhash"), NanNew<String>(uint256(0).GetHex()));
|
||||||
|
jstx->Set(NanNew<String>("confirmations"), NanNew<Number>(-1));
|
||||||
|
jstx->Set(NanNew<String>("generated"), NanNew<Boolean>(false));
|
||||||
|
jstx->Set(NanNew<String>("blockhash"), NanNew<String>(uint256(0).GetHex()));
|
||||||
|
jstx->Set(NanNew<String>("blockindex"), NanNew<Number>(-1));
|
||||||
|
jstx->Set(NanNew<String>("blocktime"), NanNew<Number>(0));
|
||||||
|
jstx->Set(NanNew<String>("walletconflicts"), NanNew<Array>());
|
||||||
|
jstx->Set(NanNew<String>("time"), NanNew<Number>(0));
|
||||||
|
jstx->Set(NanNew<String>("timereceived"), NanNew<Number>(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
|
CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user