add utils.copy. debug hex generation.

This commit is contained in:
Christopher Jeffrey 2014-09-25 14:12:09 -07:00
parent fdd94a4e40
commit 58cea89bab
2 changed files with 26 additions and 3 deletions

View File

@ -307,7 +307,9 @@ function Block(data) {
var self = this;
Object.keys(data).forEach(function(key) {
self[key] = data[key];
if (!self[key]) {
self[key] = data[key];
}
});
}
@ -334,9 +336,17 @@ function Transaction(data) {
this.vout = data.vout || [];
this.nLockTime = data.nLockTime || data.locktime || 0;
if (data.hex) {
this._hex = data.hex;
}
Object.keys(data).forEach(function(key) {
self[key] = data[key];
if (!self[key]) {
self[key] = data[key];
}
});
this.toHex();
}
Transaction.prototype.getSerializeSize = function() {
@ -614,6 +624,15 @@ utils.varint = function(arr, value, off) {
}
};
utils.copy = function copy(src, dst, off, force) {
var len = src.length;
if (!force)
len = Math.min(dst.length - off, len);
for (var i = 0; i < len; i++)
dst[i + off] = src[i];
return i;
};
utils.NOOP = function() {};
/**

View File

@ -1213,7 +1213,11 @@ cblock_to_js(const CBlock& block, const CBlockIndex* blockindex, Local<Object> o
static inline void
ctx_to_js(const CTransaction& tx, uint256 hashBlock, Local<Object> entry) {
// entry->Set(NanNew<String>("hex"), NanNew<String>(strHex));
CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
ssTx << tx;
string strHex = HexStr(ssTx.begin(), ssTx.end());
entry->Set(NanNew<String>("hex"), NanNew<String>(strHex));
entry->Set(NanNew<String>("txid"), NanNew<String>(tx.GetHash().GetHex()));
entry->Set(NanNew<String>("version"), NanNew<Number>(tx.nVersion));
entry->Set(NanNew<String>("locktime"), NanNew<Number>(tx.nLockTime));