Comparing version
var bs58check = require('bs58check') | ||
function decodeRaw (version, buffer) { | ||
if (buffer[0] !== version) throw new Error('Invalid network version 0x' + buffer[0].toString()) | ||
if (buffer[0] !== version) throw new Error('Invalid network version') | ||
@@ -19,3 +19,3 @@ // compression flag? | ||
// no compression flag | ||
if (buffer.length !== 33) throw new Error('Invalid payload length') | ||
if (buffer.length !== 33) throw new Error('Invalid WIF length') | ||
@@ -48,3 +48,4 @@ return { | ||
decode: decode, | ||
decodeRaw: decodeRaw, | ||
encode: encode | ||
} |
{ | ||
"name": "wif", | ||
"version": "0.0.1", | ||
"version": "1.0.0", | ||
"description": "Bitcoin Wallet Import Format (WIF) encoding module", | ||
@@ -5,0 +5,0 @@ "author": "Daniel Cousens", |
@@ -55,12 +55,20 @@ { | ||
{ | ||
"exception": "Invalid network version", | ||
"version": 5, | ||
"WIF": "L5oLkpV3aqBjhki6LmvChTCV6odsp4SXM6FfU2Gppt5kFLaHLuZ9" | ||
}, | ||
{ | ||
"exception": "Invalid compression flag", | ||
"string": "ju9rooVsmagsb4qmNyTysUSFB1GB6MdpD7eoGjUTPmZRAApJxRz" | ||
"version": 5, | ||
"WIF": "ju9rooVsmagsb4qmNyTysUSFB1GB6MdpD7eoGjUTPmZRAApJxRz" | ||
}, | ||
{ | ||
"exception": "Invalid payload length", | ||
"string": "7ZEtRQLhCsDQrd6ZKfmcESdXgas8ggZPN24ByEi5ey6VJW" | ||
"exception": "Invalid WIF length", | ||
"version": 5, | ||
"WIF": "7ZEtRQLhCsDQrd6ZKfmcESdXgas8ggZPN24ByEi5ey6VJW" | ||
}, | ||
{ | ||
"exception": "Invalid payload length", | ||
"string": "5qibUKwsnMo1qDiNp3prGaQkD2JfVJa8F8Na87H2CkMHvuVg6uKhw67Rh" | ||
"exception": "Invalid WIF length", | ||
"version": 5, | ||
"WIF": "5qibUKwsnMo1qDiNp3prGaQkD2JfVJa8F8Na87H2CkMHvuVg6uKhw67Rh" | ||
} | ||
@@ -67,0 +75,0 @@ ] |
/* global describe, it */ | ||
var assert = require('assert') | ||
var bs58check = require('bs58check') | ||
var wif = require('../') | ||
@@ -28,3 +29,24 @@ var fixtures = require('./fixtures') | ||
}) | ||
fixtures.invalid.decode.forEach(function (f) { | ||
it('throws ' + f.exception + ' for ' + f.WIF, function () { | ||
assert.throws(function () { | ||
wif.decode(f.version, f.WIF) | ||
}, new RegExp(f.exception)) | ||
}) | ||
}) | ||
}) | ||
describe('decodeRaw', function () { | ||
fixtures.valid.forEach(function (f) { | ||
it('returns ' + f.d.slice(0, 20) + '... (' + f.version + ')' + ' for ' + f.WIF, function () { | ||
var buffer = bs58check.decode(f.WIF) | ||
var actual = wif.decodeRaw(f.version, buffer) | ||
assert.strictEqual(actual.version, f.version) | ||
assert.strictEqual(actual.d.toString('hex'), f.d) | ||
assert.strictEqual(actual.compressed, f.compressed) | ||
}) | ||
}) | ||
}) | ||
}) |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
7550
14.5%157
21.71%1
-50%