bitcoinjs-lib
Advanced tools
Comparing version 1.0.0 to 1.0.1
{ | ||
"name": "bitcoinjs-lib", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "Client-side Bitcoin JavaScript library", | ||
@@ -39,3 +39,3 @@ "main": "./src/index.js", | ||
"devDependencies": { | ||
"browserify": "4.1.11", | ||
"browserify": "^4.2.1", | ||
"coveralls": "~2.10.0", | ||
@@ -64,9 +64,9 @@ "helloblock-js": "^0.2.1", | ||
"scripts": { | ||
"compile": "./node_modules/.bin/browserify ./src/index.js -s Bitcoin | ./node_modules/.bin/uglifyjs > bitcoinjs-min.js", | ||
"coverage": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js", | ||
"coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info", | ||
"integration": "./node_modules/.bin/_mocha --reporter list test/integration/*.js", | ||
"jshint": "./node_modules/.bin/jshint --config jshint.json src/*.js ; true", | ||
"compile": "browserify ./src/index.js -s Bitcoin | uglifyjs > bitcoinjs-min.js", | ||
"coverage": "istanbul cover _mocha -- test/*.js", | ||
"coveralls": "npm run-script coverage && coveralls < coverage/lcov.info", | ||
"integration": "mocha --reporter list test/integration/*.js", | ||
"jshint": "jshint --config jshint.json src/*.js ; true", | ||
"test": "npm run-script unit", | ||
"unit": "./node_modules/.bin/istanbul test ./node_modules/.bin/_mocha -- --reporter list `find test -maxdepth 1 -not -type d`" | ||
"unit": "istanbul test mocha -- --reporter list test/*.js" | ||
}, | ||
@@ -79,2 +79,3 @@ "browser": { | ||
"bs58": "1.1.0", | ||
"bs58check": "1.0.0", | ||
"crypto-js": "3.1.2-3", | ||
@@ -81,0 +82,0 @@ "crypto-browserify": "2.1.8", |
@@ -109,3 +109,20 @@ # BitcoinJS (bitcoinjs-lib) | ||
### Creating a P2SH Multsig Address | ||
``` javascript | ||
var bitcoin = require('bitcoinjs-lib') | ||
var privKeys = [bitcoin.ECKey.makeRandom(), bitcoin.ECKey.makeRandom(), bitcoin.ECKey.makeRandom()] | ||
var pubKeys = privKeys.map(function(x) { return x.pub }) | ||
var redeemScript = bitcoin.scripts.multisigOutput(2, pubKeys) // 2 of 3 | ||
var scriptPubKey = bitcoin.scripts.scriptHashOutput(redeemScript.getHash()) | ||
var multisigAddress = bitcoin.Address.fromOutputScript(scriptPubKey).toString() | ||
console.log("multisigP2SH:", multisigAddress) | ||
``` | ||
## Projects utilizing BitcoinJS | ||
@@ -134,7 +151,6 @@ | ||
### Instructions | ||
Join the ongoing IRC development channel at `#bitcoinjs-dev` on Freenode. | ||
We are always accepting of Pull requests, but we do adhere to specific standards in regards to coding style, test driven development and commit messages. | ||
1. Fork the repo | ||
2. Push changes to your fork | ||
3. Create a pull request | ||
Please make your best effort to adhere to these when contributing to save on trivial corrections. | ||
@@ -141,0 +157,0 @@ |
var assert = require('assert') | ||
var base58check = require('./base58check') | ||
var base58check = require('bs58check') | ||
var networks = require('./networks') | ||
@@ -4,0 +4,0 @@ var scripts = require('./scripts') |
var assert = require('assert') | ||
var base58check = require('./base58check') | ||
var base58check = require('bs58check') | ||
var ecdsa = require('./ecdsa') | ||
@@ -4,0 +4,0 @@ var networks = require('./networks') |
@@ -101,12 +101,13 @@ var assert = require('assert') | ||
var sequence = [] | ||
sequence.push(0x02) // INTEGER | ||
sequence.push(rBa.length) | ||
// INTEGER | ||
sequence.push(0x02, rBa.length) | ||
sequence = sequence.concat(rBa) | ||
sequence.push(0x02) // INTEGER | ||
sequence.push(sBa.length) | ||
// INTEGER | ||
sequence.push(0x02, sBa.length) | ||
sequence = sequence.concat(sBa) | ||
sequence.unshift(sequence.length) | ||
sequence.unshift(0x30) // SEQUENCE | ||
// SEQUENCE | ||
sequence.unshift(0x30, sequence.length) | ||
@@ -113,0 +114,0 @@ return new Buffer(sequence) |
var assert = require('assert') | ||
var base58check = require('./base58check') | ||
var base58check = require('bs58check') | ||
var crypto = require('./crypto') | ||
@@ -54,2 +54,6 @@ var networks = require('./networks') | ||
HDNode.fromSeedBuffer = function(seed, network) { | ||
assert(Buffer.isBuffer(seed), 'Expected Buffer, got ' + seed) | ||
assert(seed.length >= 16, 'Seed should be at least 128 bits') | ||
assert(seed.length <= 64, 'Seed should be at most 512 bits') | ||
var I = crypto.HmacSHA512(seed, HDNode.MASTER_SECRET) | ||
@@ -56,0 +60,0 @@ var IL = I.slice(0, 32) |
module.exports = { | ||
Address: require('./address'), | ||
base58check: require('./base58check'), | ||
bufferutils: require('./bufferutils'), | ||
@@ -5,0 +4,0 @@ convert: require('./convert'), |
@@ -87,5 +87,8 @@ var assert = require('assert') | ||
assert(scriptPubKey instanceof Script, 'Expected Address or Script, got ' + scriptPubKey) | ||
assert.equal(typeof value, 'number', 'Expected number value, got ' + value) | ||
return (this.outs.push({ | ||
script: scriptPubKey, | ||
value: value, | ||
value: value | ||
}) - 1) | ||
@@ -92,0 +95,0 @@ } |
var assert = require('assert') | ||
var base58 = require('bs58') | ||
var base58check = require('../src/base58check') | ||
var base58check = require('bs58check') | ||
var networks = require('../src/networks') | ||
@@ -5,0 +5,0 @@ |
@@ -68,2 +68,14 @@ var assert = require('assert') | ||
}) | ||
it('throws on low entropy seed', function() { | ||
assert.throws(function() { | ||
HDNode.fromSeedHex('ffffffffff') | ||
}, /Seed should be at least 128 bits/) | ||
}) | ||
it('throws on too high entropy seed', function() { | ||
assert.throws(function() { | ||
HDNode.fromSeedHex('ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff') | ||
}, /Seed should be at most 512 bits/) | ||
}) | ||
}) | ||
@@ -70,0 +82,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
184
0
499766
7
64
7635
+ Addedbs58check@1.0.0
+ Addedbs58check@1.0.0(transitive)