Browse Source

Wallet: deprecates newMasterKey

hk-custom-address
Daniel Cousens 11 years ago
parent
commit
d618aa9822
  1. 50
      src/wallet.js

50
src/wallet.js

@ -7,14 +7,18 @@ var HDNode = require('./hdnode')
var Transaction = require('./transaction')
function Wallet(seed, network) {
seed = seed || crypto.randomBytes(32)
network = network || networks.bitcoin
// Stored in a closure to make accidental serialization less likely
var masterkey = null
var masterkey = HDNode.fromSeedBuffer(seed, network)
var me = this
var accountZero = null
var internalAccount = null
var externalAccount = null
// HD first-level child derivation method should be hardened
// See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
var accountZero = masterkey.deriveHardened(0)
var externalAccount = accountZero.derive(0)
var internalAccount = accountZero.derive(1)
// Addresses
this.addresses = []
@ -23,25 +27,6 @@ function Wallet(seed, network) {
// Transaction output data
this.outputs = {}
// Make a new master key
this.newMasterKey = function(seed) {
seed = seed || crypto.randomBytes(32)
masterkey = HDNode.fromSeedBuffer(seed, network)
// HD first-level child derivation method should be hardened
// See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
accountZero = masterkey.deriveHardened(0)
externalAccount = accountZero.derive(0)
internalAccount = accountZero.derive(1)
me.addresses = []
me.changeAddresses = []
me.outputs = {}
}
this.newMasterKey(seed)
this.generateAddress = function() {
var key = externalAccount.derive(this.addresses.length)
this.addresses.push(key.getAddress().toString())
@ -71,6 +56,25 @@ function Wallet(seed, network) {
return utxo
}
// FIXME: remove in 2.x.y
this.newMasterKey = function(seed) {
console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
seed = seed || crypto.randomBytes(32)
masterkey = HDNode.fromSeedBuffer(seed, network)
// HD first-level child derivation method should be hardened
// See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
accountZero = masterkey.deriveHardened(0)
externalAccount = accountZero.derive(0)
internalAccount = accountZero.derive(1)
me.addresses = []
me.changeAddresses = []
me.outputs = {}
}
this.setUnspentOutputs = function(utxo) {
var outputs = {}

Loading…
Cancel
Save