mirror of
https://github.com/OneKeyHQ/bip39.git
synced 2026-04-18 08:22:16 +00:00
new Crown address format. May not be elegant solution, but bitcoinjs has limitation of network prefix length and I don't want to modify it. This approach is isolated and does not affect others
This commit is contained in:
@@ -39,7 +39,27 @@ bitcoinjs.bitcoin.networks.crown = {
|
|||||||
},
|
},
|
||||||
pubKeyHash: 0x00,
|
pubKeyHash: 0x00,
|
||||||
scriptHash: 0x05,
|
scriptHash: 0x05,
|
||||||
wif: 0x80
|
wif: 0x80,
|
||||||
|
toNewAddress: function(oldAddress)
|
||||||
|
{
|
||||||
|
var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
|
||||||
|
var b58 = basex(ALPHABET);
|
||||||
|
|
||||||
|
var addrBytes = b58.decode(oldAddress);
|
||||||
|
|
||||||
|
var hash160 = new Uint16Array(23);
|
||||||
|
hash160[0]= 0x01; //C
|
||||||
|
hash160[1]= 0x75; //R
|
||||||
|
hash160[2]= 0x07; //W
|
||||||
|
addrBytes.copy(hash160, 3, 1, 21);
|
||||||
|
|
||||||
|
var checksum = bitcoinjs.bitcoin.crypto.hash256(hash160).subarray(0, 4);
|
||||||
|
var binaryAddr = new Uint16Array(27);
|
||||||
|
binaryAddr.set(hash160,0);
|
||||||
|
checksum.copy(binaryAddr, 23, 0, 4);
|
||||||
|
var newAddress = b58.encode(binaryAddr);
|
||||||
|
return newAddress;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
bitcoinjs.bitcoin.networks.dash = {
|
bitcoinjs.bitcoin.networks.dash = {
|
||||||
|
|||||||
@@ -977,6 +977,11 @@
|
|||||||
address = bitcoinjs.bitcoin.address.fromOutputScript(scriptpubkey, network)
|
address = bitcoinjs.bitcoin.address.fromOutputScript(scriptpubkey, network)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((networks[DOM.network.val()].name == "CRW - Crown")) {
|
||||||
|
address = bitcoinjs.bitcoin.networks.crown.toNewAddress(address);
|
||||||
|
}
|
||||||
|
|
||||||
addAddressToList(indexText, address, pubkey, privkey);
|
addAddressToList(indexText, address, pubkey, privkey);
|
||||||
if (isLast) {
|
if (isLast) {
|
||||||
hidePending();
|
hidePending();
|
||||||
@@ -1874,6 +1879,13 @@
|
|||||||
setHdCoin(186);
|
setHdCoin(186);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "CRW - Crown (Legacy)",
|
||||||
|
onSelect: function() {
|
||||||
|
network = bitcoinjs.bitcoin.networks.crown;
|
||||||
|
setHdCoin(72);
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "CRW - Crown",
|
name: "CRW - Crown",
|
||||||
onSelect: function() {
|
onSelect: function() {
|
||||||
|
|||||||
@@ -472,10 +472,17 @@ it('Allows selection of clam', function(done) {
|
|||||||
};
|
};
|
||||||
testNetwork(done, params);
|
testNetwork(done, params);
|
||||||
});
|
});
|
||||||
|
it('Allows selection of crown', function(done) {
|
||||||
|
var params = {
|
||||||
|
selectText: "CRW - Crown (Legacy)",
|
||||||
|
firstAddress: "18pWSwSUAQdiwMHUfFZB1fM2xue9X1FqE5",
|
||||||
|
};
|
||||||
|
testNetwork(done, params);
|
||||||
|
});
|
||||||
it('Allows selection of crown', function(done) {
|
it('Allows selection of crown', function(done) {
|
||||||
var params = {
|
var params = {
|
||||||
selectText: "CRW - Crown",
|
selectText: "CRW - Crown",
|
||||||
firstAddress: "18pWSwSUAQdiwMHUfFZB1fM2xue9X1FqE5",
|
firstAddress: "CRWKnVmVhvH1KWTYe6sq8xV4dFGcFpBEEkPQ",
|
||||||
};
|
};
|
||||||
testNetwork(done, params);
|
testNetwork(done, params);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user