diff options
Diffstat (limited to 'src/js/bitcoinjs-extensions.js')
-rw-r--r-- | src/js/bitcoinjs-extensions.js | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/js/bitcoinjs-extensions.js b/src/js/bitcoinjs-extensions.js index 5347e83..e4eef0c 100644 --- a/src/js/bitcoinjs-extensions.js +++ b/src/js/bitcoinjs-extensions.js | |||
@@ -39,7 +39,27 @@ bitcoinjs.bitcoin.networks.crown = { | |||
39 | }, | 39 | }, |
40 | pubKeyHash: 0x00, | 40 | pubKeyHash: 0x00, |
41 | scriptHash: 0x05, | 41 | scriptHash: 0x05, |
42 | wif: 0x80 | 42 | wif: 0x80, |
43 | toNewAddress: function(oldAddress) | ||
44 | { | ||
45 | var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' | ||
46 | var b58 = basex(ALPHABET); | ||
47 | |||
48 | var addrBytes = b58.decode(oldAddress); | ||
49 | |||
50 | var hash160 = new Uint16Array(23); | ||
51 | hash160[0]= 0x01; //C | ||
52 | hash160[1]= 0x75; //R | ||
53 | hash160[2]= 0x07; //W | ||
54 | addrBytes.copy(hash160, 3, 1, 21); | ||
55 | |||
56 | var checksum = bitcoinjs.bitcoin.crypto.hash256(hash160).subarray(0, 4); | ||
57 | var binaryAddr = new Uint16Array(27); | ||
58 | binaryAddr.set(hash160,0); | ||
59 | checksum.copy(binaryAddr, 23, 0, 4); | ||
60 | var newAddress = b58.encode(binaryAddr); | ||
61 | return newAddress; | ||
62 | } | ||
43 | }; | 63 | }; |
44 | 64 | ||
45 | bitcoinjs.bitcoin.networks.dash = { | 65 | bitcoinjs.bitcoin.networks.dash = { |