Wallet/src/js/services/derivationPathHelper.js

55 lines
1 KiB
JavaScript
Raw Normal View History

'use strict';
angular.module('copayApp.services').factory('derivationPathHelper', function(lodash) {
var root = {};
root.default = "m/44'/0'/0'";
root.defaultTestnet = "m/44'/1'/0'";
root.parse = function(str) {
var arr = str.split('/');
var ret = {};
if (arr[0] != 'm')
return false;
switch (arr[1]) {
case "44'":
ret.derivationStrategy = 'BIP44';
break;
2016-05-09 12:03:25 -03:00
case "45'":
return {
derivationStrategy: 'BIP45',
networkName: 'livenet',
account: 0,
}
break;
case "48'":
ret.derivationStrategy = 'BIP48';
break;
default:
return false;
};
switch (arr[2]) {
case "0'":
ret.networkName = 'livenet';
break;
case "1'":
ret.networkName = 'testnet';
break;
default:
return false;
};
var match = arr[3].match(/(\d+)'/);
if (!match)
return false;
2016-05-09 12:03:25 -03:00
ret.account = +match[1]
return ret;
};
return root;
});