+4
-4
| var bs58grscheck = require('bs58grscheck') | ||
| var Buffer = require('safe-buffer').Buffer | ||
@@ -33,5 +32,6 @@ function decodeRaw (buffer, version) { | ||
| var result = Buffer.alloc(compressed ? 34 : 33) | ||
| result.writeUInt8(version, 0) | ||
| privateKey.copy(result, 1) | ||
| var result = new Uint8Array(compressed ? 34 : 33) | ||
| var view = new DataView(result.buffer) | ||
| view.setUint8(0, version) | ||
| result.set(privateKey, 1) | ||
@@ -38,0 +38,0 @@ if (compressed) { |
+9
-6
| { | ||
| "name": "wifgrs", | ||
| "version": "2.0.7", | ||
| "version": "4.0.0", | ||
| "description": "Groestlcoin Wallet Import Format (WIF) decoding/encoding module", | ||
@@ -28,2 +28,5 @@ "author": "Daniel Cousens", | ||
| "main": "index.js", | ||
| "files": [ | ||
| "index.js" | ||
| ], | ||
| "scripts": { | ||
@@ -37,10 +40,10 @@ "coverage-report": "nyc report --reporter=lcov", | ||
| "dependencies": { | ||
| "bs58grscheck": "<3.0.0", | ||
| "safe-buffer": "^5.1.1" | ||
| "bs58grscheck": "^3.0.1" | ||
| }, | ||
| "devDependencies": { | ||
| "nyc": "^6.4.0", | ||
| "standard": "^10.0.3", | ||
| "tape": "^4.6.2" | ||
| "nyc": "^15.0.0", | ||
| "standard": "^14.3.3", | ||
| "tape": "^4.13.2", | ||
| "uint8array-tools": "0.0.7" | ||
| } | ||
| } |
+2
-2
@@ -14,4 +14,4 @@ # WIFGRS | ||
| var wif = require('wifgrs') | ||
| var privateKey = new Buffer('0000000000000000000000000000000000000000000000000000000000000001', 'hex') | ||
| var key = wif.encode(128, privateKey, true) | ||
| var privateKey = Buffer.from('0000000000000000000000000000000000000000000000000000000000000001', 'hex') | ||
| var key = wif.encode(128, privateKey, true) // for the testnet use: wif.encode(239, ... | ||
| // => KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn | ||
@@ -18,0 +18,0 @@ |
-17
| sudo: false | ||
| language: node_js | ||
| node_js: | ||
| - "4" | ||
| - "5" | ||
| - "7" | ||
| - "8" | ||
| - "9" | ||
| matrix: | ||
| include: | ||
| - node_js: "8" | ||
| env: TEST_SUITE=standard | ||
| - node_js: "8" | ||
| env: TEST_SUITE=coverage | ||
| env: | ||
| - TEST_SUITE=unit | ||
| script: npm run-script $TEST_SUITE |
| { | ||
| "valid": [ | ||
| { | ||
| "WIF": "KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sVHnoWn", | ||
| "compressed": true, | ||
| "privateKeyHex": "0000000000000000000000000000000000000000000000000000000000000001", | ||
| "version": 128 | ||
| }, | ||
| { | ||
| "WIF": "5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf", | ||
| "compressed": false, | ||
| "privateKeyHex": "0000000000000000000000000000000000000000000000000000000000000001", | ||
| "version": 128 | ||
| }, | ||
| { | ||
| "WIF": "KxhEDBQyyEFymvfJD96q8stMbJMbZUb6D1PmXqBWZDU2WvbvVs9o", | ||
| "compressed": true, | ||
| "privateKeyHex": "2bfe58ab6d9fd575bdc3a624e4825dd2b375d64ac033fbc46ea79dbab4f69a3e", | ||
| "version": 128 | ||
| }, | ||
| { | ||
| "WIF": "KzrA86mCVMGWnLGBQu9yzQa32qbxb5dvSK4XhyjjGAWSBKYX4rHx", | ||
| "compressed": true, | ||
| "privateKeyHex": "6c4313b03f2e7324d75e642f0ab81b734b724e13fec930f309e222470236d66b", | ||
| "version": 128 | ||
| }, | ||
| { | ||
| "WIF": "5JdxzLtFPHNe7CAL8EBC6krdFv9pwPoRo4e3syMZEQT9srmK8hh", | ||
| "compressed": false, | ||
| "privateKeyHex": "6c4313b03f2e7324d75e642f0ab81b734b724e13fec930f309e222470236d66b", | ||
| "version": 128 | ||
| }, | ||
| { | ||
| "WIF": "cRD9b1m3vQxmwmjSoJy7Mj56f4uNFXjcWMCzpQCEmHASS4edEwXv", | ||
| "compressed": true, | ||
| "privateKeyHex": "6c4313b03f2e7324d75e642f0ab81b734b724e13fec930f309e222470236d66b", | ||
| "version": 239 | ||
| }, | ||
| { | ||
| "WIF": "92Qba5hnyWSn5Ffcka56yMQauaWY6ZLd91Vzxbi4a9CCetaHtYj", | ||
| "compressed": false, | ||
| "privateKeyHex": "6c4313b03f2e7324d75e642f0ab81b734b724e13fec930f309e222470236d66b", | ||
| "version": 239 | ||
| }, | ||
| { | ||
| "WIF": "L5oLkpV3aqBjhki6LmvChTCV6odsp4SXM6FfU2Gppt5kFLaHLuZ9", | ||
| "compressed": true, | ||
| "privateKeyHex": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140", | ||
| "version": 128 | ||
| } | ||
| ], | ||
| "invalid": { | ||
| "encode": [ | ||
| { | ||
| "exception": "Invalid privateKey length", | ||
| "version": 128, | ||
| "privateKeyHex": "fffffffffffeba" | ||
| } | ||
| ], | ||
| "decode": [ | ||
| { | ||
| "exception": "Invalid network version", | ||
| "version": 128, | ||
| "WIF": "92Qba5hnyWSn5Ffcka56yMQauaWY6ZLd91Vzxbi4a9CCetaHtYj" | ||
| }, | ||
| { | ||
| "exception": "Invalid compression flag", | ||
| "version": 128, | ||
| "WIF": "KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73sfZr2ym" | ||
| }, | ||
| { | ||
| "exception": "Invalid WIF length", | ||
| "version": 128, | ||
| "WIF": "3tq8Vmhh9SN5XhjTGSWgx8iKk59XbKG6UH4oqpejRuJhfYD" | ||
| }, | ||
| { | ||
| "exception": "Invalid WIF length", | ||
| "version": 128, | ||
| "WIF": "38uMpGARR2BJy5p4dNFKYg9UsWNoBtkpbdrXDjmfvz8krCtw3T1W92ZDSR" | ||
| } | ||
| ] | ||
| } | ||
| } |
| var wif = require('../') | ||
| var fixtures = require('./fixtures') | ||
| var tape = require('tape') | ||
| var Buffer = require('safe-buffer').Buffer | ||
| fixtures.valid.forEach(function (f) { | ||
| tape('encode/encodeRaw returns ' + f.WIF + ' for ' + f.privateKeyHex.slice(0, 20) + '... (' + f.version + ')', function (t) { | ||
| t.plan(1) | ||
| var privateKey = Buffer.from(f.privateKeyHex, 'hex') | ||
| var actual = wif.encode(f.version, privateKey, f.compressed) | ||
| t.equal(actual, f.WIF) | ||
| }) | ||
| }) | ||
| fixtures.valid.forEach(function (f) { | ||
| tape('decode/decodeRaw returns ' + f.privateKeyHex.slice(0, 20) + '... (' + f.version + ')' + ' for ' + f.WIF, function (t) { | ||
| t.plan(3) | ||
| var actual = wif.decode(f.WIF, f.version) | ||
| t.equal(actual.version, f.version) | ||
| t.equal(actual.privateKey.toString('hex'), f.privateKeyHex) | ||
| t.equal(actual.compressed, f.compressed) | ||
| }) | ||
| }) | ||
| fixtures.invalid.encode.forEach(function (f) { | ||
| tape('throws ' + f.exception + ' for ' + f.privateKeyHex, function (t) { | ||
| t.plan(1) | ||
| t.throws(function () { | ||
| wif.encode(f.version, Buffer.from(f.privateKeyHex, 'hex')) | ||
| }, new RegExp(f.exception)) | ||
| }) | ||
| }) | ||
| fixtures.invalid.decode.forEach(function (f) { | ||
| tape('throws ' + f.exception + ' for ' + f.WIF, function (t) { | ||
| t.plan(1) | ||
| t.throws(function () { | ||
| wif.decode(f.WIF, f.version) | ||
| }, new RegExp(f.exception)) | ||
| }) | ||
| }) | ||
| fixtures.valid.forEach(function (f) { | ||
| tape('decode/encode for ' + f.WIF, function (t) { | ||
| t.plan(1) | ||
| var actual = wif.encode(wif.decode(f.WIF, f.version)) | ||
| t.equal(actual, f.WIF) | ||
| }) | ||
| }) |
1
-50%4734
-47.79%4
33.33%4
-42.86%52
-70.95%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated