should generate from hex added

This commit is contained in:
Manuel Araoz 2014-03-19 17:52:34 -03:00
parent d84dc652d9
commit 53eb98babc
2 changed files with 18 additions and 10 deletions

View File

@ -2,7 +2,7 @@ var imports = require('soop').imports();
var coinUtil = require('./util/util'); var coinUtil = require('./util/util');
var timeUtil = require('./util/time'); var timeUtil = require('./util/time');
var Key= require('./Key'); var Key = require('./Key');
var PrivateKey = require('./PrivateKey'); var PrivateKey = require('./PrivateKey');
var Address = require('./Address'); var Address = require('./Address');
@ -37,11 +37,10 @@ WalletKey.prototype.storeObj = function() {
WalletKey.prototype.fromObj = function(obj) { WalletKey.prototype.fromObj = function(obj) {
this.created = obj.created; this.created = obj.created;
this.privKey = new Key(); this.privKey = new Key();
if (obj.priv.length==64) { if (obj.priv.length == 64) {
this.privKey.private = new Buffer(obj.priv,'hex'); this.privKey.private = new Buffer(obj.priv, 'hex');
this.privKey.compressed = true; this.privKey.compressed = typeof obj.compressed === 'undefined'? true: obj.compressed;
} } else {
else {
var priv = new PrivateKey(obj.priv); var priv = new PrivateKey(obj.priv);
this.privKey.private = new Buffer(priv.payload()); this.privKey.private = new Buffer(priv.payload());
this.privKey.compressed = priv.compressed(); this.privKey.compressed = priv.compressed();

View File

@ -75,12 +75,13 @@ describe('Miscelaneous stuff', function() {
if (meta.isPrivkey) { if (meta.isPrivkey) {
describe('base58 private key valid ' + b58, function() { describe('base58 private key valid ' + b58, function() {
var k; var k;
var opts = {
network: network
};
before(function() { before(function() {
k = new WalletKey({ k = new WalletKey(opts);
network: network
});
}); });
it('parse', function() { it('should generate correctly from WIF', function() {
k.fromObj({ k.fromObj({
priv: b58 priv: b58
}); });
@ -95,6 +96,14 @@ describe('Miscelaneous stuff', function() {
it('should not be an Address', function() { it('should not be an Address', function() {
new Address(b58).isValid().should.equal(false); new Address(b58).isValid().should.equal(false);
}); });
it('should generate correctly from hex', function() {
var k2 = new WalletKey(opts);
k2.fromObj({
priv: hexPayload,
compressed: meta.isCompressed
});
k2.storeObj().priv.should.equal(b58);
});
}); });
} else { } else {
describe('base58 address valid ' + b58, function() { describe('base58 address valid ' + b58, function() {