rm addressType param (no needed at seed)

This commit is contained in:
Matias Alejo Garcia 2016-05-05 23:53:23 -03:00
parent 6813a7ad41
commit ce913e9111
No known key found for this signature in database
GPG Key ID: 02470DB551277AB3
5 changed files with 23 additions and 36 deletions

View File

@ -12,7 +12,7 @@ bitcore-wallet-client.js: index.js lib/*.js
${BIN_PATH}browserify $< > $@
bitcore-wallet-client.min.js: bitcore-wallet-client.js
${BIN_PATH}uglify -s $< -o $@
uglify -s $< -o $@
cover:
./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter spec test

View File

@ -2701,17 +2701,15 @@ Credentials.createWithMnemonic = function(network, passphrase, language, account
return x;
};
Credentials.fromExtendedPrivateKey = function(xPrivKey, account, derivationStrategy, addressType) {
Credentials.fromExtendedPrivateKey = function(xPrivKey, account, derivationStrategy) {
$.shouldBeNumber(account);
$.checkArgument(_.contains(_.values(Constants.DERIVATION_STRATEGIES), derivationStrategy));
$.checkArgument(_.contains(_.values(Constants.SCRIPT_TYPES), addressType));
var x = new Credentials();
x.xPrivKey = xPrivKey;
x.account = account;
x.derivationStrategy = derivationStrategy;
x.addressType = addressType;
x._expand();
return x;
};
@ -2887,8 +2885,10 @@ Credentials.prototype.addWalletInfo = function(walletId, walletName, m, n, copay
if (copayerName)
this.copayerName = copayerName;
if (!this.addressType)
this.addressType = (n == 1) ? Constants.SCRIPT_TYPES.P2PKH : Constants.SCRIPT_TYPES.P2SH;
if (this.derivationStrategy == 'BIP44' && n == 1)
this.addressType = Constants.SCRIPT_TYPES.P2PKH;
else
this.addressType = Constants.SCRIPT_TYPES.P2SH;
// Use m/48' for multisig hardware wallets
if (!this.xPrivKey && this.externalSource && n > 1) {
@ -3018,7 +3018,6 @@ Credentials.fromOldCopayWallet = function(w) {
var credentials = new Credentials();
credentials.derivationStrategy = Constants.DERIVATION_STRATEGIES.BIP45;
credentials.addressType = Constants.SCRIPT_TYPES.P2SH;
credentials.xPrivKey = w.privateKey.extendedPrivateKeyString;
credentials._expand();

File diff suppressed because one or more lines are too long

View File

@ -88,17 +88,15 @@ Credentials.createWithMnemonic = function(network, passphrase, language, account
return x;
};
Credentials.fromExtendedPrivateKey = function(xPrivKey, account, derivationStrategy, addressType) {
Credentials.fromExtendedPrivateKey = function(xPrivKey, account, derivationStrategy) {
$.shouldBeNumber(account);
$.checkArgument(_.contains(_.values(Constants.DERIVATION_STRATEGIES), derivationStrategy));
$.checkArgument(_.contains(_.values(Constants.SCRIPT_TYPES), addressType));
var x = new Credentials();
x.xPrivKey = xPrivKey;
x.account = account;
x.derivationStrategy = derivationStrategy;
x.addressType = addressType;
x._expand();
return x;
};
@ -274,8 +272,10 @@ Credentials.prototype.addWalletInfo = function(walletId, walletName, m, n, copay
if (copayerName)
this.copayerName = copayerName;
if (!this.addressType)
this.addressType = (n == 1) ? Constants.SCRIPT_TYPES.P2PKH : Constants.SCRIPT_TYPES.P2SH;
if (this.derivationStrategy == 'BIP44' && n == 1)
this.addressType = Constants.SCRIPT_TYPES.P2PKH;
else
this.addressType = Constants.SCRIPT_TYPES.P2SH;
// Use m/48' for multisig hardware wallets
if (!this.xPrivKey && this.externalSource && n > 1) {
@ -405,7 +405,6 @@ Credentials.fromOldCopayWallet = function(w) {
var credentials = new Credentials();
credentials.derivationStrategy = Constants.DERIVATION_STRATEGIES.BIP45;
credentials.addressType = Constants.SCRIPT_TYPES.P2SH;
credentials.xPrivKey = w.privateKey.extendedPrivateKeyString;
credentials._expand();

View File

@ -51,48 +51,37 @@ describe('Credentials', function() {
describe('#getDerivedXPrivKey', function() {
it('should derive extended private key from master livenet', function() {
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 0,'BIP44', 'P2PKH');
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 0,'BIP44');
var xpk = c.getDerivedXPrivKey().toString();
xpk.should.equal('xprv9xud2WztGSSBPDPDL9RQ3rG3vucRA4BmEnfAdP76bTqtkGCK8VzWjevLw9LsdqwH1PEWiwcjymf1T2FLp12XjwjuCRvcSBJvxDgv1BDTbWY');
});
it('should derive extended private key from master testnet', function() {
var c = Credentials.fromExtendedPrivateKey('tprv8ZgxMBicQKsPfPX8avSJXY1tZYJJESNg8vR88i8rJFkQJm6HgPPtDEmD36NLVSJWV5ieejVCK62NdggXmfMEHog598PxvXuLEsWgE6tKdwz', 0,'BIP44', 'P2PKH');
var c = Credentials.fromExtendedPrivateKey('tprv8ZgxMBicQKsPfPX8avSJXY1tZYJJESNg8vR88i8rJFkQJm6HgPPtDEmD36NLVSJWV5ieejVCK62NdggXmfMEHog598PxvXuLEsWgE6tKdwz', 0,'BIP44');
var xpk = c.getDerivedXPrivKey().toString();
xpk.should.equal('tprv8gBu8N7JbHZs7MsW4kgE8LAYMhGJES9JP6DHsj2gw9Tc5PrF5Grr9ynAZkH1LyWsxjaAyCuEMFKTKhzdSaykpqzUnmEhpLsxfujWHA66N93');
});
it('should derive extended private key from master BIP48 livenet', function() {
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 0,'BIP44', 'P2PKH');
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 0,'BIP44');
c.derivationStrategy = Constants.DERIVATION_STRATEGIES.BIP48;
var xpk = c.getDerivedXPrivKey().toString();
xpk.should.equal('xprv9yaGCLKPS2ovEGw987MZr4DCkfZHGh518ndVk3Jb6eiUdPwCQu7nYru59WoNkTEQvmhnv5sPbYxeuee5k8QASWRnGV2iFX4RmKXEQse8KnQ');
});
it('should derive extended private key from master livenet (BIP45)', function() {
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 0,'BIP45', 'P2SH');
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 0,'BIP45');
var xpk = c.getDerivedXPrivKey().toString();
xpk.should.equal('xprv9vDaAbbvT8LHKr8v5A2JeFJrnbQk6ZrMDGWuiv2vZgSyugeV4RE7Z9QjBNYsdafdhwEGb6Y48DRrXFVKvYRAub9ExzcmJHt6Js6ybJCSssm');
});
it('should set addressType & BIP45', function() {
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 8, 'BIP45', 'P2PKH');
c.addressType.should.equal('P2PKH');
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 8, 'BIP45');
c.addWalletInfo(1,'name', 1, 1, 'juan');
c.addressType.should.equal('P2PKH');
c.account.should.equal(8);
});
it('should set addressType', function() {
var c = Credentials.fromExtendedPrivateKey('xprv9s21ZrQH143K3zLpjtB4J4yrRfDTEfbrMa9vLZaTAv5BzASwBmA16mdBmZKpMLssw1AzTnm31HAD2pk2bsnZ9dccxaLD48mRdhtw82XoiBi', 0,'BIP45', 'P2PKH');
c.addressType.should.equal('P2PKH');
c.addWalletInfo(1,'name', 1, 1, 'juan');
c.addressType.should.equal('P2PKH');
});
});
describe('#fromExtendedPrivateKey', function() {
it('Should create credentials from seed', function() {
var xPriv = 'xprv9s21ZrQH143K2TjT3rF4m5AJcMvCetfQbVjFEx1Rped8qzcMJwbqxv21k3ftL69z7n3gqvvHthkdzbW14gxEFDYQdrRQMub3XdkJyt3GGGc';
var c = Credentials.fromExtendedPrivateKey(xPriv, 0,'BIP44', 'P2PKH');
var c = Credentials.fromExtendedPrivateKey(xPriv, 0,'BIP44');
c.xPrivKey.should.equal('xprv9s21ZrQH143K2TjT3rF4m5AJcMvCetfQbVjFEx1Rped8qzcMJwbqxv21k3ftL69z7n3gqvvHthkdzbW14gxEFDYQdrRQMub3XdkJyt3GGGc');
c.xPubKey.should.equal('xpub6DUean44k773kxbUq8QpSmAPFaNCpk5AzrxbFRAMsNCZBGD15XQVnRJCgNd8GtJVmDyDZh89NPZz1XPQeX5w6bAdLGfSTUuPDEQwBgKxfh1');