mnemonic. undo coins.
This commit is contained in:
parent
90790ac675
commit
5ef65a4129
@ -1467,6 +1467,8 @@ ChainDB.prototype.fillUndoBlock = function fillUndoBlock(block, callback) {
|
|||||||
for (j = 0; j < tx.inputs.length; j++) {
|
for (j = 0; j < tx.inputs.length; j++) {
|
||||||
input = tx.inputs[j];
|
input = tx.inputs[j];
|
||||||
input.coin = coins[k++];
|
input.coin = coins[k++];
|
||||||
|
input.coin.hash = input.prevout.hash;
|
||||||
|
input.coin.index = input.prevout.index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,39 +8,41 @@ var mnemonic2 = require('./data/mnemonic2');
|
|||||||
describe('Mnemonic', function() {
|
describe('Mnemonic', function() {
|
||||||
mnemonic1.forEach(function(data, i) {
|
mnemonic1.forEach(function(data, i) {
|
||||||
var entropy = new Buffer(data[0], 'hex');
|
var entropy = new Buffer(data[0], 'hex');
|
||||||
var mnemonic = data[1];
|
var phrase = data[1];
|
||||||
var seed = new Buffer(data[2], 'hex');
|
var seed = new Buffer(data[2], 'hex');
|
||||||
var xpriv = data[3];
|
var xpriv = data[3];
|
||||||
it('should create an english mnemonic (' + i + ')', function() {
|
it('should create an english mnemonic (' + i + ')', function() {
|
||||||
var mnem = new bcoin.hd.mnemonic({
|
var mnemonic = new bcoin.hd.mnemonic({
|
||||||
passphrase: 'TREZOR',
|
passphrase: 'TREZOR',
|
||||||
lang: 'english',
|
lang: 'english',
|
||||||
entropy: entropy
|
entropy: entropy
|
||||||
});
|
});
|
||||||
mnem.toSeed();
|
mnemonic.toSeed();
|
||||||
assert.equal(mnem.phrase, mnemonic);
|
assert.equal(mnemonic.phrase, phrase);
|
||||||
assert.equal(mnem.toSeed().toString('hex'), seed.toString('hex'));
|
assert.equal(mnemonic.toSeed().toString('hex'), seed.toString('hex'));
|
||||||
var key = bcoin.hd.fromSeed(mnem);
|
var key = bcoin.hd.fromSeed(mnemonic);
|
||||||
assert.equal(key.xprivkey, xpriv);
|
assert.equal(key.xprivkey, xpriv);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// Disabled for now
|
|
||||||
return;
|
return;
|
||||||
mnemonic2.forEach(function(data, i) {
|
mnemonic2.forEach(function(data, i) {
|
||||||
var entropy = new Buffer(data.entropy, 'hex');
|
var entropy = new Buffer(data.entropy, 'hex');
|
||||||
var mnemonic = data.mnemonic;
|
var phrase = data.mnemonic;
|
||||||
var seed = new Buffer(data.seed, 'hex');
|
var seed = new Buffer(data.seed, 'hex');
|
||||||
|
var passphrase = data.passphrase;
|
||||||
var xpriv = data.bip32_xprv;
|
var xpriv = data.bip32_xprv;
|
||||||
it('should create a japanese mnemonic (' + i + ')', function() {
|
it('should create a japanese mnemonic (' + i + ')', function() {
|
||||||
var mnem = new bcoin.hd.mnemonic({
|
var mnemonic = new bcoin.hd.mnemonic({
|
||||||
passphrase: 'メートルガバヴァぱばぐゞちぢ十人十色',
|
|
||||||
lang: 'japanese',
|
lang: 'japanese',
|
||||||
entropy: entropy
|
entropy: entropy,
|
||||||
|
passphrase: passphrase
|
||||||
});
|
});
|
||||||
mnem.toSeed();
|
mnemonic.toSeed();
|
||||||
assert.equal(mnem.phrase, mnemonic);
|
// utils.print(new Buffer(mnemonic.phrase, 'utf8').toString('hex'));
|
||||||
assert.equal(mnem.toSeed().toString('hex'), seed.toString('hex'));
|
// utils.print(new Buffer(phrase, 'utf8').toString('hex'));
|
||||||
var key = bcoin.hd.fromSeed(mnem);
|
assert.equal(mnemonic.phrase, phrase);
|
||||||
|
assert.equal(mnemonic.toSeed().toString('hex'), seed.toString('hex'));
|
||||||
|
var key = bcoin.hd.fromSeed(mnemonic);
|
||||||
assert.equal(key.xprivkey, xpriv);
|
assert.equal(key.xprivkey, xpriv);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user