Upgrade bitcoinjs from v1.5.7 to v3.1.1

This commit is contained in:
Ian Coleman
2017-07-31 16:49:11 +10:00
parent 039a98ba5a
commit a0091a40c4
5 changed files with 14950 additions and 12734 deletions

View File

@@ -686,7 +686,7 @@
<script src="js/bootstrap.min.js"></script>
<script src="js/levenshtein.js"></script>
<script src="js/jquery.qrcode.min.js"></script>
<script src="js/bitcoinjs-1-5-7.js"></script>
<script src="js/bitcoinjs-3-1-1.js"></script>
<script src="js/bitcoinjs-extensions.js"></script>
<script src="js/ethereumjs-util.js"></script>
<script src="js/ripple-util.js"></script>

File diff suppressed because it is too large Load Diff

14830
src/js/bitcoinjs-3-1-1.js Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
bitcoin.networks.shadow = {
magicPrefix: '\x19ShadowCash Signed Message:\n',
bitcoinjs.bitcoin.networks.shadow = {
messagePrefix: "unused",
bip32: {
public: 0xEE80286A,
private: 0xEE8031E8
@@ -7,13 +7,10 @@ bitcoin.networks.shadow = {
pubKeyHash: 0x3f,
scriptHash: 0x7d,
wif: 0xbf,
dustThreshold: 0,
feePerKb: 1000,
estimateFee: function() { return "unused in this app" },
};
bitcoin.networks.shadowtn = {
magicPrefix: '\x19ShadowCash Signed Message:\n',
bitcoinjs.bitcoin.networks.shadowtn = {
messagePrefix: "unused",
bip32: {
public: 0x76C0FDFB,
private: 0x76C1077A
@@ -21,21 +18,21 @@ bitcoin.networks.shadowtn = {
pubKeyHash: 0x7f,
scriptHash: 0xc4,
wif: 0xff,
dustThreshold: 0,
feePerKb: 1000,
estimateFee: function() { return "unused in this app" },
};
bitcoin.networks.clam = {
bitcoinjs.bitcoin.networks.clam = {
messagePrefix: "unused",
bip32: {
public: 0xa8c26d64,
private: 0xa8c17826
},
pubKeyHash: 0x89,
scriptHash: 0x00, // TODO set this correctly
wif: 0x85,
};
bitcoin.networks.crown = {
messagePrefix: "unused",
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
@@ -46,6 +43,7 @@ bitcoin.networks.crown = {
};
bitcoin.networks.dash = {
messagePrefix: "unused",
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
@@ -55,7 +53,8 @@ bitcoin.networks.dash = {
wif: 0xcc,
};
bitcoin.networks.dashtn = {
bitcoinjs.bitcoin.networks.dashtn = {
messagePrefix: "unused",
bip32: {
public: 0x043587cf,
private: 0x04358394
@@ -65,7 +64,8 @@ bitcoin.networks.dashtn = {
wif: 0xef,
};
bitcoin.networks.game = {
bitcoinjs.bitcoin.networks.game = {
messagePrefix: "unused",
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
@@ -75,27 +75,30 @@ bitcoin.networks.game = {
wif: 0xa6,
};
bitcoin.networks.namecoin = {
bitcoinjs.bitcoin.networks.namecoin = {
messagePrefix: "unused",
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x34,
//scriptHash: 0x10,
scriptHash: 0x00, // TODO set this correctly
wif: 0x80,
};
bitcoin.networks.peercoin = {
bitcoinjs.bitcoin.networks.peercoin = {
messagePrefix: "unused",
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x37,
//scriptHash: 0x10,
scriptHash: 0x00, // TODO set this correctly
wif: 0xb7,
};
bitcoin.networks.slimcoin = {
bitcoinjs.bitcoin.networks.slimcoin = {
messagePrefix: "unused",
bip32: {
public: 0xef6adf10,
private: 0xef69ea80
@@ -105,7 +108,8 @@ bitcoin.networks.slimcoin = {
wif: 0x46,
};
bitcoin.networks.slimcointn = {
bitcoinjs.bitcoin.networks.slimcointn = {
messagePrefix: "unused",
bip32: {
public: 0x043587CF,
private: 0x04358394
@@ -115,3 +119,68 @@ bitcoin.networks.slimcointn = {
wif: 0x57,
};
bitcoinjs.bitcoin.networks.dogecoin = {
messagePrefix: '\x19Dogecoin Signed Message:\n',
bip32: {
public: 0x02facafd,
private: 0x02fac398
},
pubKeyHash: 0x1e,
scriptHash: 0x16,
wif: 0x9e,
},
bitcoinjs.bitcoin.networks.viacoin = {
messagePrefix: '\x18Viacoin Signed Message:\n',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x47,
scriptHash: 0x21,
wif: 0xc7,
},
bitcoinjs.bitcoin.networks.viacointestnet = {
messagePrefix: '\x18Viacoin Signed Message:\n',
bip32: {
public: 0x043587cf,
private: 0x04358394
},
pubKeyHash: 0x7f,
scriptHash: 0xc4,
wif: 0xff,
},
bitcoinjs.bitcoin.networks.gamerscoin = {
messagePrefix: '\x19Gamerscoin Signed Message:\n',
bip32: {
public: 0x019da462,
private: 0x019d9cfe
},
pubKeyHash: 0x26,
scriptHash: 0x05,
wif: 0xA6,
},
bitcoinjs.bitcoin.networks.jumbucks = {
messagePrefix: '\x19Jumbucks Signed Message:\n',
bip32: {
public: 0x037a689a,
private: 0x037a6460
},
pubKeyHash: 0x2b,
scriptHash: 0x05,
wif: 0xab,
},
bitcoinjs.bitcoin.networks.zetacoin = {
messagePrefix: '\x18Zetacoin Signed Message:\n',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x50,
scriptHash: 0x09,
wif: 0xe0,
}

View File

@@ -6,7 +6,7 @@
var seed = null;
var bip32RootKey = null;
var bip32ExtendedKey = null;
var network = bitcoin.networks.bitcoin;
var network = bitcoinjs.bitcoin.networks.bitcoin;
var addressRowTemplate = $("#address-row-template");
var showIndex = true;
@@ -338,11 +338,11 @@
function calcBip32RootKeyFromSeed(phrase, passphrase) {
seed = mnemonic.toSeed(phrase, passphrase);
bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
bip32RootKey = bitcoinjs.bitcoin.HDNode.fromSeedHex(seed, network);
}
function calcBip32RootKeyFromBase58(rootKeyBase58) {
bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network);
}
function calcBip32ExtendedKey(path) {
@@ -360,7 +360,7 @@
continue;
}
var hardened = bit[bit.length-1] == "'";
var isPriv = "privKey" in extendedKey;
var isPriv = !(extendedKey.isNeutered());
var invalidDerivationPath = hardened && !isPriv;
if (invalidDerivationPath) {
extendedKey = null;
@@ -416,7 +416,7 @@
function validateRootKey(rootKeyBase58) {
try {
bitcoin.HDNode.fromBase58(rootKeyBase58);
bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58);
}
catch (e) {
return "Invalid root key";
@@ -490,7 +490,7 @@
}
// Check no hardened derivation path when using xpub keys
var hardened = path.indexOf("'") > -1;
var isXpubkey = !("privKey" in bip32RootKey);
var isXpubkey = bip32RootKey.isNeutered();
if (hardened && isXpubkey) {
return "Hardened derivation path is invalid with xpub key";
}
@@ -509,7 +509,7 @@
// Calculate the account extended keys
var accountExtendedKey = calcBip32ExtendedKey(path);
var accountXprv = accountExtendedKey.toBase58();
var accountXpub = accountExtendedKey.toBase58(false);
var accountXpub = accountExtendedKey.neutered().toBase58();
// Display the extended keys
DOM.bip44accountXprv.val(accountXprv);
DOM.bip44accountXpub.val(accountXpub);
@@ -521,12 +521,12 @@
var rootKey = bip32RootKey.toBase58();
DOM.rootKey.val(rootKey);
var xprvkeyB58 = "NA";
if (bip32ExtendedKey.privKey) {
if (!bip32ExtendedKey.isNeutered()) {
xprvkeyB58 = bip32ExtendedKey.toBase58();
}
var extendedPrivKey = xprvkeyB58;
DOM.extendedPrivKey.val(extendedPrivKey);
var extendedPubKey = bip32ExtendedKey.toBase58(false);
var extendedPubKey = bip32ExtendedKey.neutered().toBase58();
DOM.extendedPubKey.val(extendedPubKey);
// Display the addresses and privkeys
clearAddressesList();
@@ -567,7 +567,7 @@
if (!self.shouldGenerate) {
return;
}
var key = "";
var key = "NA";
if (useHardenedAddresses) {
key = bip32ExtendedKey.deriveHardened(index);
}
@@ -576,17 +576,17 @@
}
var address = key.getAddress().toString();
var privkey = "NA";
if (key.privKey) {
privkey = key.privKey.toWIF(network);
if (!key.isNeutered()) {
privkey = key.keyPair.toWIF(network);
}
var pubkey = key.pubKey.toHex();
var pubkey = key.getPublicKeyBuffer().toString('hex');
var indexText = getDerivationPath() + "/" + index;
if (useHardenedAddresses) {
indexText = indexText + "'";
}
// Ethereum values are different
if (networks[DOM.network.val()].name == "ETH - Ethereum") {
var privKeyBuffer = key.privKey.d.toBuffer();
var privKeyBuffer = key.keyPair.d.toBuffer();
privkey = privKeyBuffer.toString('hex');
var addressBuffer = ethUtil.privateToAddress(privKeyBuffer);
var hexAddress = addressBuffer.toString('hex');
@@ -1059,21 +1059,21 @@
{
name: "BTC - Bitcoin",
onSelect: function() {
network = bitcoin.networks.bitcoin;
network = bitcoinjs.bitcoin.networks.bitcoin;
DOM.bip44coin.val(0);
},
},
{
name: "BTC - Bitcoin Testnet",
onSelect: function() {
network = bitcoin.networks.testnet;
network = bitcoinjs.bitcoin.networks.testnet;
DOM.bip44coin.val(1);
},
},
{
name: "CLAM - Clams",
onSelect: function() {
network = bitcoin.networks.clam;
network = bitcoinjs.bitcoin.networks.clam;
DOM.bip44coin.val(23);
},
},
@@ -1087,14 +1087,14 @@
{
name: "DASH - Dash",
onSelect: function() {
network = bitcoin.networks.dash;
network = bitcoinjs.bitcoin.networks.dash;
DOM.bip44coin.val(5);
},
},
{
name: "DASH - Dash Testnet",
onSelect: function() {
network = bitcoin.networks.dashtn;
network = bitcoinjs.bitcoin.networks.dashtn;
DOM.bip44coin.val(1);
},
},
@@ -1108,84 +1108,84 @@
{
name: "ETH - Ethereum",
onSelect: function() {
network = bitcoin.networks.bitcoin;
network = bitcoinjs.bitcoin.networks.bitcoin;
DOM.bip44coin.val(60);
},
},
{
name: "GAME - GameCredits",
onSelect: function() {
network = bitcoin.networks.game;
network = bitcoinjs.bitcoin.networks.game;
DOM.bip44coin.val(101);
},
},
{
name: "JBS - Jumbucks",
onSelect: function() {
network = bitcoin.networks.jumbucks;
network = bitcoinjs.bitcoin.networks.jumbucks;
DOM.bip44coin.val(26);
},
},
{
name: "LTC - Litecoin",
onSelect: function() {
network = bitcoin.networks.litecoin;
network = bitcoinjs.bitcoin.networks.litecoin;
DOM.bip44coin.val(2);
},
},
{
name: "NMC - Namecoin",
onSelect: function() {
network = bitcoin.networks.namecoin;
network = bitcoinjs.bitcoin.networks.namecoin;
DOM.bip44coin.val(7);
},
},
{
name: "PPC - Peercoin",
onSelect: function() {
network = bitcoin.networks.peercoin;
network = bitcoinjs.bitcoin.networks.peercoin;
DOM.bip44coin.val(6);
},
},
{
name: "SDC - ShadowCash",
onSelect: function() {
network = bitcoin.networks.shadow;
network = bitcoinjs.bitcoin.networks.shadow;
DOM.bip44coin.val(35);
},
},
{
name: "SDC - ShadowCash Testnet",
onSelect: function() {
network = bitcoin.networks.shadowtn;
network = bitcoinjs.bitcoin.networks.shadowtn;
DOM.bip44coin.val(1);
},
},
{
name: "SLM - Slimcoin",
onSelect: function() {
network = bitcoin.networks.slimcoin;
network = bitcoinjs.bitcoin.networks.slimcoin;
DOM.bip44coin.val(63);
},
},
{
name: "SLM - Slimcoin Testnet",
onSelect: function() {
network = bitcoin.networks.slimcointn;
network = bitcoinjs.bitcoin.networks.slimcointn;
DOM.bip44coin.val(111);
},
},
{
name: "VIA - Viacoin",
onSelect: function() {
network = bitcoin.networks.viacoin;
network = bitcoinjs.bitcoin.networks.viacoin;
DOM.bip44coin.val(14);
},
},
{
name: "VIA - Viacoin Testnet",
onSelect: function() {
network = bitcoin.networks.viacointestnet;
network = bitcoinjs.bitcoin.networks.viacointestnet;
DOM.bip44coin.val(1);
},
},