Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@bitgo/utxo-lib

Package Overview
Dependencies
Maintainers
4
Versions
171
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bitgo/utxo-lib - npm Package Compare versions

Comparing version 1.10.0-rc.1 to 1.10.0-rc.2

51

dist/src/block.js

@@ -13,2 +13,6 @@ var Buffer = require('safe-buffer').Buffer;

typeforce(types.maybe(types.Network), network);
if (coins.isZcash(network)) {
/* istanbul ignore next */
throw new Error('unsupported network');
}
network = network || networks.bitcoin;

@@ -22,10 +26,4 @@ this.version = 1;

this.network = network;
if (coins.isZcash(network)) {
this.finalSaplingRoot = null;
this.solutionSize = 0;
this.solution = null;
}
}
Block.HEADER_BYTE_SIZE = 80;
Block.ZCASH_HEADER_BYTE_SIZE = 1487;
Block.fromBuffer = function (buffer, network) {

@@ -40,16 +38,6 @@ if (buffer.length < 80)

block.merkleRoot = bufferReader.readSlice(32);
if (coins.isZcash(network)) {
block.finalSaplingRoot = bufferReader.readSlice(32);
}
block.timestamp = bufferReader.readUInt32();
block.bits = bufferReader.readUInt32();
if (coins.isZcash(network)) {
block.nonce = bufferReader.readSlice(32);
block.solutionSize = bufferReader.readVarInt();
block.solution = bufferReader.readSlice(1344);
}
else {
// Not sure sure why the nonce is read as UInt 32 and not as a slice
block.nonce = bufferReader.readUInt32();
}
// Not sure sure why the nonce is read as UInt 32 and not as a slice
block.nonce = bufferReader.readUInt32();
if (bufferReader.buffer.length === 80)

@@ -71,11 +59,2 @@ return block;

Block.prototype.byteLength = function (headersOnly) {
if (coins.isZcash(this.network)) {
if (headersOnly) {
return Block.ZCASH_HEADER_BYTE_SIZE;
}
return Block.ZCASH_HEADER_BYTE_SIZE +
varuint.encodingLength(this.transactions.length) + this.transactions.reduce(function (a, x) {
return a + x.byteLength();
}, 0);
}
if (headersOnly || !this.transactions)

@@ -109,18 +88,6 @@ return Block.HEADER_BYTE_SIZE;

bufferWriter.writeSlice(this.merkleRoot);
if (coins.isZcash(this.network)) {
bufferWriter.writeSlice(this.finalSaplingRoot);
}
bufferWriter.writeUInt32(this.timestamp);
bufferWriter.writeUInt32(this.bits);
if (coins.isZcash(this.network)) {
bufferWriter.writeSlice(this.nonce);
// TODO: use writeVarInt
varuint.encode(this.solutionSize, bufferWriter.buffer, bufferWriter.offset);
bufferWriter.offset += varuint.encode.bytes;
bufferWriter.writeSlice(this.solution);
}
else {
// Not sure sure why the nonce is interpreted as UInt 32 and not a slice in bitcoin
bufferWriter.writeUInt32(this.nonce);
}
// Not sure sure why the nonce is interpreted as UInt 32 and not a slice in bitcoin
bufferWriter.writeUInt32(this.nonce);
if (headersOnly || !this.transactions)

@@ -183,2 +150,2 @@ return buffer;

module.exports = Block;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2suanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtBQUMxQyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7QUFDakMsSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUE7QUFDbkQsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQ3BDLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUM5QixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7QUFDMUMsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFDeEMsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQ3BDLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUU5QixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7QUFFMUMsU0FBUyxLQUFLLENBQUUsT0FBTztJQUNyQixTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDOUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFBO0lBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO0lBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO0lBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxD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WyJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBiY3J5cHRvID0gcmVxdWlyZSgnLi9jcnlwdG8nKVxudmFyIGZhc3RNZXJrbGVSb290ID0gcmVxdWlyZSgnbWVya2xlLWxpYi9mYXN0Um9vdCcpXG52YXIgdHlwZWZvcmNlID0gcmVxdWlyZSgndHlwZWZvcmNlJylcbnZhciB0eXBlcyA9IHJlcXVpcmUoJy4vdHlwZXMnKVxudmFyIGJ1ZmZlcnV0aWxzID0gcmVxdWlyZSgnLi9idWZmZXJ1dGlscycpXG52YXIgdmFydWludCA9IHJlcXVpcmUoJ3ZhcnVpbnQtYml0Y29pbicpXG52YXIgbmV0d29ya3MgPSByZXF1aXJlKCcuL25ldHdvcmtzJylcbnZhciBjb2lucyA9IHJlcXVpcmUoJy4vY29pbnMnKVxuXG52YXIgVHJhbnNhY3Rpb24gPSByZXF1aXJlKCcuL3RyYW5zYWN0aW9uJylcblxuZnVuY3Rpb24gQmxvY2sgKG5ldHdvcmspIHtcbiAgdHlwZWZvcmNlKHR5cGVzLm1heWJlKHR5cGVzLk5ldHdvcmspLCBuZXR3b3JrKVxuICBuZXR3b3JrID0gbmV0d29yayB8fCBuZXR3b3Jrcy5iaXRjb2luXG4gIHRoaXMudmVyc2lvbiA9IDFcbiAgdGhpcy5wcmV2SGFzaCA9IG51bGxcbiAgdGhpcy5tZXJrbGVSb290ID0gbnVsbFxuICB0aGlzLnRpbWVzdGFtcCA9IDBcbiAgdGhpcy5iaXRzID0gMFxuICB0aGlzLm5vbmNlID0gMFxuICB0aGlzLm5ldHdvcmsgPSBuZXR3b3JrXG4gIGlmIChjb2lucy5pc1pjYXNoKG5ldHdvcmspKSB7XG4gICAgdGhpcy5maW5hbFNhcGxpbmdSb290ID0gbnVsbFxuICAgIHRoaXMuc29sdXRpb25TaXplID0gMFxuICAgIHRoaXMuc29sdXRpb24gPSBudWxsXG4gIH1cbn1cblxuQmxvY2suSEVBREVSX0JZVEVfU0laRSA9IDgwXG5CbG9jay5aQ0FTSF9IRUFERVJfQllURV9TSVpFID0gMTQ4N1xuXG5CbG9jay5mcm9tQnVmZmVyID0gZnVuY3Rpb24gKGJ1ZmZlciwgbmV0d29yaykge1xuICBpZiAoYnVmZmVyLmxlbmd0aCA8IDgwKSB0aHJvdyBuZXcgRXJyb3IoJ0J1ZmZlciB0b28gc21hbGwgKDwgODAgYnl0ZXMpJylcbiAgbmV0d29yayA9IG5ldHdvcmsgfHwgbmV0d29ya3MuYml0Y29pblxuXG4gIGNvbnN0IGJ1ZmZlclJlYWRlciA9IG5ldyBidWZmZXJ1dGlscy5CdWZmZXJSZWFkZXIoYnVmZmVyKVxuXG4gIHZhciBibG9jayA9IG5ldyBCbG9jayhuZXR3b3JrKVxuICBibG9jay52ZXJzaW9uID0gYnVmZmVyUmVhZGVyLnJlYWRJbnQzMigpXG4gIGJsb2NrLnByZXZIYXNoID0gYnVmZmVyUmVhZGVyLnJlYWRTbGljZSgzMilcbiAgYmxvY2subWVya2xlUm9vdCA9IGJ1ZmZlclJlYWRlci5yZWFkU2xpY2UoMzIpXG4gIGlmIChjb2lucy5pc1pjYXNoKG5ldHdvcmspKSB7XG4gICAgYmxvY2suZmluYWxTYXBsaW5nUm9vdCA9IGJ1ZmZlclJlYWRlci5yZWFkU2xpY2UoMzIpXG4gIH1cbiAgYmxvY2sudGltZXN0YW1wID0gYnVmZmVyUmVhZGVyLnJlYWRVSW50MzIoKVxuICBibG9jay5iaXRzID0gYnVmZmVyUmVhZGVyLnJlYWRVSW50MzIoKVxuICBpZiAoY29pbnMuaXNaY2FzaChuZXR3b3JrKSkge1xuICAgIGJsb2NrLm5vbmNlID0gYnVmZmVyUmVhZGVyLnJlYWRTbGljZSgzMilcbiAgICBibG9jay5zb2x1dGlvblNpemUgPSBidWZmZXJSZWFkZXIucmVhZFZhckludCgpXG4gICAgYmxvY2suc29sdXRpb24gPSBidWZmZXJSZWFkZXIucmVhZFNsaWNlKDEzNDQpXG4gIH0gZWxzZSB7XG4gICAgLy8gTm90IHN1cmUgc3VyZSB3aHkgdGhlIG5vbmNlIGlzIHJlYWQgYXMgVUludCAzMiBhbmQgbm90IGFzIGEgc2xpY2VcbiAgICBibG9jay5ub25jZSA9IGJ1ZmZlclJlYWRlci5yZWFkVUludDMyKClcbiAgfVxuXG4gIGlmIChidWZmZXJSZWFkZXIuYnVmZmVyLmxlbmd0aCA9PT0gODApIHJldHVybiBibG9ja1xuXG4gIGZ1bmN0aW9uIHJlYWRUcmFuc2FjdGlvbiAoKSB7XG4gICAgdmFyIHR4ID0gVHJhbnNhY3Rpb24uZnJvbUJ1ZmZlcihidWZmZXIuc2xpY2UoYnVmZmVyUmVhZGVyLm9mZnNldCksIG5ldHdvcmssIHRydWUpXG4gICAgYnVmZmVyUmVhZGVyLm9mZnNldCArPSB0eC5ieXRlTGVuZ3RoKClcbiAgICByZXR1cm4gdHhcbiAgfVxuXG4gIHZhciBuVHJhbnNhY3Rpb25zID0gYnVmZmVyUmVhZGVyLnJlYWRWYXJJbnQoKVxuICBibG9jay50cmFuc2FjdGlvbnMgPSBbXVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgblRyYW5zYWN0aW9uczsgKytpKSB7XG4gICAgdmFyIHR4ID0gcmVhZFRyYW5zYWN0aW9uKClcbiAgICBibG9jay50cmFuc2FjdGlvbnMucHVzaCh0eClcbiAgfVxuXG4gIHJldHVybiBibG9ja1xufVxuXG5CbG9jay5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIChoZWFkZXJzT25seSkge1xuICBpZiAoY29pbnMuaXNaY2FzaCh0aGlzLm5ldHdvcmspKSB7XG4gICAgaWYgKGhlYWRlcnNPbmx5KSB7XG4gICAgICByZXR1cm4gQmxvY2suWkNBU0hfSEVBREVSX0JZVEVfU0laRVxuICAgIH1cbiAgICByZXR1cm4gQmxvY2suWkNBU0hfSEVBREVSX0JZVEVfU0laRSArXG4gICAgICB2YXJ1aW50LmVuY29kaW5nTGVuZ3RoKHRoaXMudHJhbnNhY3Rpb25zLmxlbmd0aCkgKyB0aGlzLnRyYW5zYWN0aW9ucy5yZWR1Y2UoZnVuY3Rpb24gKGEsIHgpIHtcbiAgICAgICAgcmV0dXJuIGEgKyB4LmJ5dGVMZW5ndGgoKVxuICAgICAgfSwgMClcbiAgfVxuXG4gIGlmIChoZWFkZXJzT25seSB8fCAhdGhpcy50cmFuc2FjdGlvbnMpIHJldHVybiBCbG9jay5IRUFERVJfQllURV9TSVpFXG5cbiAgcmV0dXJuIEJsb2NrLkhFQURFUl9CWVRFX1NJWkUgK1xuICAgIHZhcnVpbnQuZW5jb2RpbmdMZW5ndGgodGhpcy50cmFuc2FjdGlvbnMubGVuZ3RoKSArIHRoaXMudHJhbnNhY3Rpb25zLnJlZHVjZShmdW5jdGlvbiAoYSwgeCkge1xuICAgICAgcmV0dXJuIGEgKyB4LmJ5dGVMZW5ndGgoKVxuICAgIH0sIDApXG59XG5cbkJsb2NrLmZyb21IZXggPSBmdW5jdGlvbiAoaGV4LCBuZXR3b3JrKSB7XG4gIHJldHVybiBCbG9jay5mcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKGhleCwgJ2hleCcpLCBuZXR3b3JrKVxufVxuXG5CbG9jay5wcm90b3R5cGUuZ2V0SGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGJjcnlwdG8uaGFzaDI1Nih0aGlzLnRvQnVmZmVyKHRydWUpKVxufVxuXG5CbG9jay5wcm90b3R5cGUuZ2V0SWQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLmdldEhhc2goKS5yZXZlcnNlKCkudG9TdHJpbmcoJ2hleCcpXG59XG5cbkJsb2NrLnByb3RvdHlwZS5nZXRVVENEYXRlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgZGF0ZSA9IG5ldyBEYXRlKDApIC8vIGVwb2NoXG4gIGRhdGUuc2V0VVRDU2Vjb25kcyh0aGlzLnRpbWVzdGFtcClcblxuICByZXR1cm4gZGF0ZVxufVxuXG4vLyBUT0RPOiBidWZmZXIsIG9mZnNldCBjb21wYXRpYmlsaXR5XG5CbG9jay5wcm90b3R5cGUudG9CdWZmZXIgPSBmdW5jdGlvbiAoaGVhZGVyc09ubHkpIHtcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSh0aGlzLmJ5dGVMZW5ndGgoaGVhZGVyc09ubHkpKVxuICB2YXIgYnVmZmVyV3JpdGVyID0gbmV3IGJ1ZmZlcnV0aWxzLkJ1ZmZlcldyaXRlcihidWZmZXIpXG5cbiAgYnVmZmVyV3JpdGVyLndyaXRlSW50MzIodGhpcy52ZXJzaW9uKVxuICBidWZmZXJXcml0ZXIud3JpdGVTbGljZSh0aGlzLnByZXZIYXNoKVxuICBidWZmZXJXcml0ZXIud3JpdGVTbGljZSh0aGlzLm1lcmtsZVJvb3QpXG4gIGlmIChjb2lucy5pc1pjYXNoKHRoaXMubmV0d29yaykpIHtcbiAgICBidWZmZXJXcml0ZXIud3JpdGVTbGljZSh0aGlzLmZpbmFsU2FwbGluZ1Jvb3QpXG4gIH1cbiAgYnVmZmVyV3JpdGVyLndyaXRlVUludDMyKHRoaXMudGltZXN0YW1wKVxuICBidWZmZXJXcml0ZXIud3JpdGVVSW50MzIodGhpcy5iaXRzKVxuICBpZiAoY29pbnMuaXNaY2FzaCh0aGlzLm5ldHdvcmspKSB7XG4gICAgYnVmZmVyV3JpdGVyLndyaXRlU2xpY2UodGhpcy5ub25jZSlcbiAgICAvLyBUT0RPOiB1c2Ugd3JpdGVWYXJJbnRcbiAgICB2YXJ1aW50LmVuY29kZSh0aGlzLnNvbHV0aW9uU2l6ZSwgYnVmZmVyV3JpdGVyLmJ1ZmZlciwgYnVmZmVyV3JpdGVyLm9mZnNldClcbiAgICBidWZmZXJXcml0ZXIub2Zmc2V0ICs9IHZhcnVpbnQuZW5jb2RlLmJ5dGVzXG4gICAgYnVmZmVyV3JpdGVyLndyaXRlU2xpY2UodGhpcy5zb2x1dGlvbilcbiAgfSBlbHNlIHtcbiAgICAvLyBOb3Qgc3VyZSBzdXJlIHdoeSB0aGUgbm9uY2UgaXMgaW50ZXJwcmV0ZWQgYXMgVUludCAzMiBhbmQgbm90IGEgc2xpY2UgaW4gYml0Y29pblxuICAgIGJ1ZmZlcldyaXRlci53cml0ZVVJbnQzMih0aGlzLm5vbmNlKVxuICB9XG5cbiAgaWYgKGhlYWRlcnNPbmx5IHx8ICF0aGlzLnRyYW5zYWN0aW9ucykgcmV0dXJuIGJ1ZmZlclxuXG4gIC8vIFRPRE86IHVzZSB3cml0ZVZhckludFxuICB2YXJ1aW50LmVuY29kZSh0aGlzLnRyYW5zYWN0aW9ucy5sZW5ndGgsIGJ1ZmZlcldyaXRlci5idWZmZXIsIGJ1ZmZlcldyaXRlci5vZmZzZXQpXG4gIGJ1ZmZlcldyaXRlci5vZmZzZXQgKz0gdmFydWludC5lbmNvZGUuYnl0ZXNcblxuICAvLyBUT0RPOiB1c2Ugd3JpdGVWYXJJbnRcbiAgdGhpcy50cmFuc2FjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAodHgpIHtcbiAgICB2YXIgdHhTaXplID0gdHguYnl0ZUxlbmd0aCgpIC8vIFRPRE86IGV4dHJhY3QgZnJvbSB0b0J1ZmZlcj9cbiAgICB0eC50b0J1ZmZlcihidWZmZXJXcml0ZXIuYnVmZmVyLCBidWZmZXJXcml0ZXIub2Zmc2V0KVxuICAgIGJ1ZmZlcldyaXRlci5vZmZzZXQgKz0gdHhTaXplXG4gIH0pXG5cbiAgcmV0dXJuIGJ1ZmZlclxufVxuXG5CbG9jay5wcm90b3R5cGUudG9IZXggPSBmdW5jdGlvbiAoaGVhZGVyc09ubHkpIHtcbiAgcmV0dXJuIHRoaXMudG9CdWZmZXIoaGVhZGVyc09ubHkpLnRvU3RyaW5nKCdoZXgnKVxufVxuXG5CbG9jay5jYWxjdWxhdGVUYXJnZXQgPSBmdW5jdGlvbiAoYml0cykge1xuICB2YXIgZXhwb25lbnQgPSAoKGJpdHMgJiAweGZmMDAwMDAwKSA+PiAyNCkgLSAzXG4gIHZhciBtYW50aXNzYSA9IGJpdHMgJiAweDAwN2ZmZmZmXG4gIHZhciB0YXJnZXQgPSBCdWZmZXIuYWxsb2MoMzIsIDApXG4gIGlmIChleHBvbmVudCA8IDApIHtcbiAgICAvLyBJZiBpdCBpcyBuZWdhdGl2ZSwgd2Ugd2lsbCBvdmVyZmxvdyB0aGUgdGFyZ2V0IGJ1ZmZlciBzbyB3ZSBoYXZlIHRvIHNsaWNlIHRoZSBtYW50aXNzYSB0byBmaXRcbiAgICBtYW50aXNzYSA9IG1hbnRpc3NhID4+ICg4ICogTWF0aC5hYnMoZXhwb25lbnQpKVxuICAgIHRhcmdldC53cml0ZVVJbnQzMkJFKG1hbnRpc3NhLCAyOClcbiAgfSBlbHNlIGlmIChleHBvbmVudCA+IDI4KSB7XG4gICAgLy8gSWYgaXQgaXMgZ3JlYXRlciB0aGFuIDI4LCB3ZSBuZWVkIHRvIHNoaWZ0IHRoZSBtYW50aXNzYSBzaW5jZSB0aGUgb2Zmc2V0IGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gMzIgLSA0XG4gICAgLy8gKHNhZmUtYnVmZmVyIHJlc3RyaWN0aW9uKVxuICAgIG1hbnRpc3NhIDw8PSA4ICogKGV4cG9uZW50IC0gMjgpXG4gICAgdGFyZ2V0LndyaXRlVUludDMyQkUobWFudGlzc2EsIDApXG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0LndyaXRlVUludDMyQkUobWFudGlzc2EsIDI4IC0gZXhwb25lbnQpXG4gIH1cbiAgcmV0dXJuIHRhcmdldFxufVxuXG5CbG9jay5jYWxjdWxhdGVNZXJrbGVSb290ID0gZnVuY3Rpb24gKHRyYW5zYWN0aW9ucykge1xuICB0eXBlZm9yY2UoW3sgZ2V0SGFzaDogdHlwZXMuRnVuY3Rpb24gfV0sIHRyYW5zYWN0aW9ucylcbiAgaWYgKHRyYW5zYWN0aW9ucy5sZW5ndGggPT09IDApIHRocm93IFR5cGVFcnJvcignQ2Fubm90IGNvbXB1dGUgbWVya2xlIHJvb3QgZm9yIHplcm8gdHJhbnNhY3Rpb25zJylcblxuICB2YXIgaGFzaGVzID0gdHJhbnNhY3Rpb25zLm1hcChmdW5jdGlvbiAodHJhbnNhY3Rpb24pIHtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24uZ2V0SGFzaCgpXG4gIH0pXG5cbiAgcmV0dXJuIGZhc3RNZXJrbGVSb290KGhhc2hlcywgYmNyeXB0by5oYXNoMjU2KVxufVxuXG5CbG9jay5wcm90b3R5cGUuY2hlY2tNZXJrbGVSb290ID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMudHJhbnNhY3Rpb25zKSByZXR1cm4gZmFsc2VcblxuICB2YXIgYWN0dWFsTWVya2xlUm9vdCA9IEJsb2NrLmNhbGN1bGF0ZU1lcmtsZVJvb3QodGhpcy50cmFuc2FjdGlvbnMpXG4gIHJldHVybiB0aGlzLm1lcmtsZVJvb3QuY29tcGFyZShhY3R1YWxNZXJrbGVSb290KSA9PT0gMFxufVxuXG5CbG9jay5wcm90b3R5cGUuY2hlY2tQcm9vZk9mV29yayA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhhc2ggPSB0aGlzLmdldEhhc2goKS5yZXZlcnNlKClcbiAgdmFyIHRhcmdldCA9IEJsb2NrLmNhbGN1bGF0ZVRhcmdldCh0aGlzLmJpdHMpXG5cbiAgcmV0dXJuIGhhc2guY29tcGFyZSh0YXJnZXQpIDw9IDBcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBCbG9ja1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2suanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtBQUMxQyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7QUFDakMsSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUE7QUFDbkQsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQ3BDLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUM5QixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7QUFDMUMsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFDeEMsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQ3BDLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUU5QixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7QUFFMUMsU0FBUyxLQUFLLENBQUUsT0FBTztJQUNyQixTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDOUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzFCLDBCQUEwQjtRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7S0FDdkM7SUFDRCxPQUFPLEdBQUcsT0FBTyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUE7SUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUE7SUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENB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QUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ2hELENBQUMsQ0FBQTtBQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsZUFBZSxHQUFHO0lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBRXBDLElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNuRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3hELENBQUMsQ0FBQTtBQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUc7SUFDakMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ25DLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRTdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDbEMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBiY3J5cHRvID0gcmVxdWlyZSgnLi9jcnlwdG8nKVxudmFyIGZhc3RNZXJrbGVSb290ID0gcmVxdWlyZSgnbWVya2xlLWxpYi9mYXN0Um9vdCcpXG52YXIgdHlwZWZvcmNlID0gcmVxdWlyZSgndHlwZWZvcmNlJylcbnZhciB0eXBlcyA9IHJlcXVpcmUoJy4vdHlwZXMnKVxudmFyIGJ1ZmZlcnV0aWxzID0gcmVxdWlyZSgnLi9idWZmZXJ1dGlscycpXG52YXIgdmFydWludCA9IHJlcXVpcmUoJ3ZhcnVpbnQtYml0Y29pbicpXG52YXIgbmV0d29ya3MgPSByZXF1aXJlKCcuL25ldHdvcmtzJylcbnZhciBjb2lucyA9IHJlcXVpcmUoJy4vY29pbnMnKVxuXG52YXIgVHJhbnNhY3Rpb24gPSByZXF1aXJlKCcuL3RyYW5zYWN0aW9uJylcblxuZnVuY3Rpb24gQmxvY2sgKG5ldHdvcmspIHtcbiAgdHlwZWZvcmNlKHR5cGVzLm1heWJlKHR5cGVzLk5ldHdvcmspLCBuZXR3b3JrKVxuICBpZiAoY29pbnMuaXNaY2FzaChuZXR3b3JrKSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bnN1cHBvcnRlZCBuZXR3b3JrJylcbiAgfVxuICBuZXR3b3JrID0gbmV0d29yayB8fCBuZXR3b3Jrcy5iaXRjb2luXG4gIHRoaXMudmVyc2lvbiA9IDFcbiAgdGhpcy5wcmV2SGFzaCA9IG51bGxcbiAgdGhpcy5tZXJrbGVSb290ID0gbnVsbFxuICB0aGlzLnRpbWVzdGFtcCA9IDBcbiAgdGhpcy5iaXRzID0gMFxuICB0aGlzLm5vbmNlID0gMFxuICB0aGlzLm5ldHdvcmsgPSBuZXR3b3JrXG59XG5cbkJsb2NrLkhFQURFUl9CWVRFX1NJWkUgPSA4MFxuXG5CbG9jay5mcm9tQnVmZmVyID0gZnVuY3Rpb24gKGJ1ZmZlciwgbmV0d29yaykge1xuICBpZiAoYnVmZmVyLmxlbmd0aCA8IDgwKSB0aHJvdyBuZXcgRXJyb3IoJ0J1ZmZlciB0b28gc21hbGwgKDwgODAgYnl0ZXMpJylcbiAgbmV0d29yayA9IG5ldHdvcmsgfHwgbmV0d29ya3MuYml0Y29pblxuXG4gIGNvbnN0IGJ1ZmZlclJlYWRlciA9IG5ldyBidWZmZXJ1dGlscy5CdWZmZXJSZWFkZXIoYnVmZmVyKVxuXG4gIHZhciBibG9jayA9IG5ldyBCbG9jayhuZXR3b3JrKVxuICBibG9jay52ZXJzaW9uID0gYnVmZmVyUmVhZGVyLnJlYWRJbnQzMigpXG4gIGJsb2NrLnByZXZIYXNoID0gYnVmZmVyUmVhZGVyLnJlYWRTbGljZSgzMilcbiAgYmxvY2subWVya2xlUm9vdCA9IGJ1ZmZlclJlYWRlci5yZWFkU2xpY2UoMzIpXG4gIGJsb2NrLnRpbWVzdGFtcCA9IGJ1ZmZlclJlYWRlci5yZWFkVUludDMyKClcbiAgYmxvY2suYml0cyA9IGJ1ZmZlclJlYWRlci5yZWFkVUludDMyKClcbiAgLy8gTm90IHN1cmUgc3VyZSB3aHkgdGhlIG5vbmNlIGlzIHJlYWQgYXMgVUludCAzMiBhbmQgbm90IGFzIGEgc2xpY2VcbiAgYmxvY2subm9uY2UgPSBidWZmZXJSZWFkZXIucmVhZFVJbnQzMigpXG5cbiAgaWYgKGJ1ZmZlclJlYWRlci5idWZmZXIubGVuZ3RoID09PSA4MCkgcmV0dXJuIGJsb2NrXG5cbiAgZnVuY3Rpb24gcmVhZFRyYW5zYWN0aW9uICgpIHtcbiAgICB2YXIgdHggPSBUcmFuc2FjdGlvbi5mcm9tQnVmZmVyKGJ1ZmZlci5zbGljZShidWZmZXJSZWFkZXIub2Zmc2V0KSwgbmV0d29yaywgdHJ1ZSlcbiAgICBidWZmZXJSZWFkZXIub2Zmc2V0ICs9IHR4LmJ5dGVMZW5ndGgoKVxuICAgIHJldHVybiB0eFxuICB9XG5cbiAgdmFyIG5UcmFuc2FjdGlvbnMgPSBidWZmZXJSZWFkZXIucmVhZFZhckludCgpXG4gIGJsb2NrLnRyYW5zYWN0aW9ucyA9IFtdXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBuVHJhbnNhY3Rpb25zOyArK2kpIHtcbiAgICB2YXIgdHggPSByZWFkVHJhbnNhY3Rpb24oKVxuICAgIGJsb2NrLnRyYW5zYWN0aW9ucy5wdXNoKHR4KVxuICB9XG5cbiAgcmV0dXJuIGJsb2NrXG59XG5cbkJsb2NrLnByb3RvdHlwZS5ieXRlTGVuZ3RoID0gZnVuY3Rpb24gKGhlYWRlcnNPbmx5KSB7XG4gIGlmIChoZWFkZXJzT25seSB8fCAhdGhpcy50cmFuc2FjdGlvbnMpIHJldHVybiBCbG9jay5IRUFERVJfQllURV9TSVpFXG5cbiAgcmV0dXJuIEJsb2NrLkhFQURFUl9CWVRFX1NJWkUgK1xuICAgIHZhcnVpbnQuZW5jb2RpbmdMZW5ndGgodGhpcy50cmFuc2FjdGlvbnMubGVuZ3RoKSArIHRoaXMudHJhbnNhY3Rpb25zLnJlZHVjZShmdW5jdGlvbiAoYSwgeCkge1xuICAgICAgcmV0dXJuIGEgKyB4LmJ5dGVMZW5ndGgoKVxuICAgIH0sIDApXG59XG5cbkJsb2NrLmZyb21IZXggPSBmdW5jdGlvbiAoaGV4LCBuZXR3b3JrKSB7XG4gIHJldHVybiBCbG9jay5mcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKGhleCwgJ2hleCcpLCBuZXR3b3JrKVxufVxuXG5CbG9jay5wcm90b3R5cGUuZ2V0SGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGJjcnlwdG8uaGFzaDI1Nih0aGlzLnRvQnVmZmVyKHRydWUpKVxufVxuXG5CbG9jay5wcm90b3R5cGUuZ2V0SWQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLmdldEhhc2goKS5yZXZlcnNlKCkudG9TdHJpbmcoJ2hleCcpXG59XG5cbkJsb2NrLnByb3RvdHlwZS5nZXRVVENEYXRlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgZGF0ZSA9IG5ldyBEYXRlKDApIC8vIGVwb2NoXG4gIGRhdGUuc2V0VVRDU2Vjb25kcyh0aGlzLnRpbWVzdGFtcClcblxuICByZXR1cm4gZGF0ZVxufVxuXG4vLyBUT0RPOiBidWZmZXIsIG9mZnNldCBjb21wYXRpYmlsaXR5XG5CbG9jay5wcm90b3R5cGUudG9CdWZmZXIgPSBmdW5jdGlvbiAoaGVhZGVyc09ubHkpIHtcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSh0aGlzLmJ5dGVMZW5ndGgoaGVhZGVyc09ubHkpKVxuICB2YXIgYnVmZmVyV3JpdGVyID0gbmV3IGJ1ZmZlcnV0aWxzLkJ1ZmZlcldyaXRlcihidWZmZXIpXG5cbiAgYnVmZmVyV3JpdGVyLndyaXRlSW50MzIodGhpcy52ZXJzaW9uKVxuICBidWZmZXJXcml0ZXIud3JpdGVTbGljZSh0aGlzLnByZXZIYXNoKVxuICBidWZmZXJXcml0ZXIud3JpdGVTbGljZSh0aGlzLm1lcmtsZVJvb3QpXG4gIGJ1ZmZlcldyaXRlci53cml0ZVVJbnQzMih0aGlzLnRpbWVzdGFtcClcbiAgYnVmZmVyV3JpdGVyLndyaXRlVUludDMyKHRoaXMuYml0cylcbiAgLy8gTm90IHN1cmUgc3VyZSB3aHkgdGhlIG5vbmNlIGlzIGludGVycHJldGVkIGFzIFVJbnQgMzIgYW5kIG5vdCBhIHNsaWNlIGluIGJpdGNvaW5cbiAgYnVmZmVyV3JpdGVyLndyaXRlVUludDMyKHRoaXMubm9uY2UpXG5cbiAgaWYgKGhlYWRlcnNPbmx5IHx8ICF0aGlzLnRyYW5zYWN0aW9ucykgcmV0dXJuIGJ1ZmZlclxuXG4gIC8vIFRPRE86IHVzZSB3cml0ZVZhckludFxuICB2YXJ1aW50LmVuY29kZSh0aGlzLnRyYW5zYWN0aW9ucy5sZW5ndGgsIGJ1ZmZlcldyaXRlci5idWZmZXIsIGJ1ZmZlcldyaXRlci5vZmZzZXQpXG4gIGJ1ZmZlcldyaXRlci5vZmZzZXQgKz0gdmFydWludC5lbmNvZGUuYnl0ZXNcblxuICAvLyBUT0RPOiB1c2Ugd3JpdGVWYXJJbnRcbiAgdGhpcy50cmFuc2FjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAodHgpIHtcbiAgICB2YXIgdHhTaXplID0gdHguYnl0ZUxlbmd0aCgpIC8vIFRPRE86IGV4dHJhY3QgZnJvbSB0b0J1ZmZlcj9cbiAgICB0eC50b0J1ZmZlcihidWZmZXJXcml0ZXIuYnVmZmVyLCBidWZmZXJXcml0ZXIub2Zmc2V0KVxuICAgIGJ1ZmZlcldyaXRlci5vZmZzZXQgKz0gdHhTaXplXG4gIH0pXG5cbiAgcmV0dXJuIGJ1ZmZlclxufVxuXG5CbG9jay5wcm90b3R5cGUudG9IZXggPSBmdW5jdGlvbiAoaGVhZGVyc09ubHkpIHtcbiAgcmV0dXJuIHRoaXMudG9CdWZmZXIoaGVhZGVyc09ubHkpLnRvU3RyaW5nKCdoZXgnKVxufVxuXG5CbG9jay5jYWxjdWxhdGVUYXJnZXQgPSBmdW5jdGlvbiAoYml0cykge1xuICB2YXIgZXhwb25lbnQgPSAoKGJpdHMgJiAweGZmMDAwMDAwKSA+PiAyNCkgLSAzXG4gIHZhciBtYW50aXNzYSA9IGJpdHMgJiAweDAwN2ZmZmZmXG4gIHZhciB0YXJnZXQgPSBCdWZmZXIuYWxsb2MoMzIsIDApXG4gIGlmIChleHBvbmVudCA8IDApIHtcbiAgICAvLyBJZiBpdCBpcyBuZWdhdGl2ZSwgd2Ugd2lsbCBvdmVyZmxvdyB0aGUgdGFyZ2V0IGJ1ZmZlciBzbyB3ZSBoYXZlIHRvIHNsaWNlIHRoZSBtYW50aXNzYSB0byBmaXRcbiAgICBtYW50aXNzYSA9IG1hbnRpc3NhID4+ICg4ICogTWF0aC5hYnMoZXhwb25lbnQpKVxuICAgIHRhcmdldC53cml0ZVVJbnQzMkJFKG1hbnRpc3NhLCAyOClcbiAgfSBlbHNlIGlmIChleHBvbmVudCA+IDI4KSB7XG4gICAgLy8gSWYgaXQgaXMgZ3JlYXRlciB0aGFuIDI4LCB3ZSBuZWVkIHRvIHNoaWZ0IHRoZSBtYW50aXNzYSBzaW5jZSB0aGUgb2Zmc2V0IGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gMzIgLSA0XG4gICAgLy8gKHNhZmUtYnVmZmVyIHJlc3RyaWN0aW9uKVxuICAgIG1hbnRpc3NhIDw8PSA4ICogKGV4cG9uZW50IC0gMjgpXG4gICAgdGFyZ2V0LndyaXRlVUludDMyQkUobWFudGlzc2EsIDApXG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0LndyaXRlVUludDMyQkUobWFudGlzc2EsIDI4IC0gZXhwb25lbnQpXG4gIH1cbiAgcmV0dXJuIHRhcmdldFxufVxuXG5CbG9jay5jYWxjdWxhdGVNZXJrbGVSb290ID0gZnVuY3Rpb24gKHRyYW5zYWN0aW9ucykge1xuICB0eXBlZm9yY2UoW3sgZ2V0SGFzaDogdHlwZXMuRnVuY3Rpb24gfV0sIHRyYW5zYWN0aW9ucylcbiAgaWYgKHRyYW5zYWN0aW9ucy5sZW5ndGggPT09IDApIHRocm93IFR5cGVFcnJvcignQ2Fubm90IGNvbXB1dGUgbWVya2xlIHJvb3QgZm9yIHplcm8gdHJhbnNhY3Rpb25zJylcblxuICB2YXIgaGFzaGVzID0gdHJhbnNhY3Rpb25zLm1hcChmdW5jdGlvbiAodHJhbnNhY3Rpb24pIHtcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24uZ2V0SGFzaCgpXG4gIH0pXG5cbiAgcmV0dXJuIGZhc3RNZXJrbGVSb290KGhhc2hlcywgYmNyeXB0by5oYXNoMjU2KVxufVxuXG5CbG9jay5wcm90b3R5cGUuY2hlY2tNZXJrbGVSb290ID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMudHJhbnNhY3Rpb25zKSByZXR1cm4gZmFsc2VcblxuICB2YXIgYWN0dWFsTWVya2xlUm9vdCA9IEJsb2NrLmNhbGN1bGF0ZU1lcmtsZVJvb3QodGhpcy50cmFuc2FjdGlvbnMpXG4gIHJldHVybiB0aGlzLm1lcmtsZVJvb3QuY29tcGFyZShhY3R1YWxNZXJrbGVSb290KSA9PT0gMFxufVxuXG5CbG9jay5wcm90b3R5cGUuY2hlY2tQcm9vZk9mV29yayA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhhc2ggPSB0aGlzLmdldEhhc2goKS5yZXZlcnNlKClcbiAgdmFyIHRhcmdldCA9IEJsb2NrLmNhbGN1bGF0ZVRhcmdldCh0aGlzLmJpdHMpXG5cbiAgcmV0dXJuIGhhc2guY29tcGFyZSh0YXJnZXQpIDw9IDBcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBCbG9ja1xuIl19

6

package.json
{
"name": "@bitgo/utxo-lib",
"version": "1.10.0-rc.1",
"version": "1.10.0-rc.2",
"description": "Client-side Bitcoin JavaScript library",

@@ -24,3 +24,3 @@ "main": "./dist/src/index.js",

"coverage-html": "nyc report --reporter=html",
"coverage": "npm run build && BITGO_UTXO_LIB_TEST_EXPECTED_COUNT=3588 nyc --check-coverage --branches 89 --functions 90 mocha",
"coverage": "npm run build && BITGO_UTXO_LIB_TEST_EXPECTED_COUNT=3517 nyc --check-coverage --branches 88 --functions 90 mocha",
"integration-test": "mocha test/integration/",

@@ -78,3 +78,3 @@ "standard": "standard",

},
"gitHead": "809267bbcd163000b178dd62ea2e5fc99810fc3b"
"gitHead": "a709ae04b0d2a7cab3b00bcb4d1539ef67f45bd6"
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc