emblem-vault-sdk 1.9.0 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/derive.ts CHANGED
@@ -1,2017 +1,113 @@
1
+ import { BIP32Factory } from "bip32";
2
+ import * as bip39 from "bip39";
3
+ // import bitcoin from "bitcoinjs-lib";
1
4
 
2
- export async function phrasePathToKey(phrase: any, path: any) {
3
- console.log("soon")
4
- }
5
- // var Mnemonic = require('bitcore-mnemonic');
6
- // import bitcoin from 'bitcoinjs-lib';
7
- // let libs = {bitcoin}
8
- // export const mnemonics = { "english": new Mnemonic("english") };
9
- // export const mnemonic = mnemonics["english"];
5
+ import * as ecc from '@bitcoin-js/tiny-secp256k1-asmjs'
10
6
 
11
- // export function phrasePathToKey(phrase: any, path: any) {
12
- // return phraseToKey(phrase, 0, path)
13
- // }
7
+ const bip32 = BIP32Factory(ecc);
14
8
 
15
- // export function phraseToKey(phrase: any, coinValue: number, path: string){
16
- // if (path) {
17
- // path = path.replace("/0/0", "/0")
18
- // coinValue = parseInt(path.split('/')[2].replace("'",""))
9
+ let mainnet: any = {"messagePrefix":"\u0018Bitcoin Signed Message:\n","bech32":"bc","bip32":{"public":76067358,"private":76066276},"pubKeyHash":0,"scriptHash":5,"wif":128}
10
+ declare global {
11
+ interface Window {
12
+ bitcoin: any;
13
+ }
14
+ }
15
+ export const generateTaprootAddressFromMnemonic = async (phrase: string) => {
16
+ let bitcoin = window.bitcoin;
17
+ bitcoin.initEccLib(ecc);
18
+ const seed = bip39.mnemonicToSeedSync(phrase);
19
19
 
20
- // }
20
+ const rootKey = bip32.fromSeed(seed, mainnet);
21
21
 
22
- // var seed = mnemonic.toSeed(phrase, '');
23
- // let networkName =
24
- // coinValue == 25252 ? 'bel' :
25
- // coinValue == 3 ? 'dogecoin' :
26
- // coinValue == 20 ? 'digibyte' :
27
- // coinValue == 7 ? 'namecoin' :
28
- // coinValue == 2 ? 'litecoinXprv' :
29
- // "bitcoin"
30
- // var network = libs.bitcoin.networks[networkName];
31
- // // var coinValue = 0 //bitcoin
32
- // var bip32RootKey = libs.bitcoin.HDNode.fromSeedHex(seed, network);
33
- // console.log('bip32RootKey', bip32RootKey.toBase58())
22
+ const path = `m/86'/0'/0'/0/0`;
23
+ const coin = "TAP";
24
+ const childNode = rootKey.derivePath(path);
25
+ const childNodeXOnlyPubkey = childNode.publicKey.slice(1);
26
+ const p2tr = bitcoin.payments.p2tr({
27
+ internalPubkey: childNodeXOnlyPubkey,
28
+ network: mainnet,
29
+ });
34
30
 
35
- // return calculateAddressAndKey(coinValue, bip32RootKey, path);
36
- // }
31
+ const tweakedSigner = childNode.tweak(
32
+ bitcoin.crypto.taggedHash("TapTweak", childNodeXOnlyPubkey)
33
+ );
37
34
 
38
- // export function calculateAddressAndKey(coinValue: number, bip32RootKey: any, path: any) {
39
- // var isBch = coinValue == 145;
40
- // if (isBch) {coinValue = 0}
41
- // var derivationPath = path? path : generateDerivationPath(coinValue);
42
- // let accountPath = generateAccountDerivationPath(coinValue);
43
- // var bip32ExtendedKey = generateBip32ExtendedKey(derivationPath, bip32RootKey);
44
- // var accountXprv = bip32ExtendedKey.toBase58();
45
- // var accountXpub = bip32ExtendedKey.neutered().toBase58();
46
- // var bip32AccountExtendedKey = generateBip32ExtendedKey(accountPath, bip32RootKey);
47
- // let accountExtendedXprv = bip32AccountExtendedKey.toBase58();
48
- // var key = bip32ExtendedKey.derive(0);
49
- // var keyPair = key.keyPair;
50
- // var address = keyPair.getAddress().toString();
51
- // var privkey = keyPair.toWIF();
52
- // var pubkey = keyPair.getPublicKeyBuffer().toString('hex');
53
- // if (coinValue == 60) {
54
- // var pubkeyBuffer = keyPair.getPublicKeyBuffer();
55
- // var ethPubkey = libs.ethUtil.importPublic(pubkeyBuffer);
56
- // var addressBuffer = libs.ethUtil.publicToAddress(ethPubkey);
57
- // var hexAddress = addressBuffer.toString('hex');
58
- // var checksumAddress = libs.ethUtil.toChecksumAddress(hexAddress);
59
- // address = libs.ethUtil.addHexPrefix(checksumAddress);
60
- // pubkey = libs.ethUtil.addHexPrefix(pubkey);
61
- // privkey = libs.ethUtil.bufferToHex(keyPair.d.toBuffer(32));
62
- // } else if (isBch) {
63
- // address = libs.bchaddr.toCashAddress(address);
64
- // }
65
- // // } else if(coinValue == 245) {
66
- // // address = libs.bchaddrSlp.toSlpAddress(address);
67
- // // }
68
- // console.log('path', derivationPath)
69
- // console.log('address', address);
70
- // console.log('privkey', privkey);
71
- // console.log('pubkey', pubkey);
72
- // console.log('coinName', coinValue == 60 ? "ETH": coinValue == 0? "BTC": coinValue == 3? "DOGE": coinValue==20? "DGB": "BCH");
73
- // if (coinValue != 7) {
74
- // return privkey
75
- // } else {
76
- // return accountExtendedXprv
77
- // }
78
- // }
35
+ return { p2tr, tweakedSigner, pubKey: childNodeXOnlyPubkey, path, coin };
36
+ };
79
37
 
80
- // export function generateDerivationPath(coin: string){
81
- // var purpose = 44
82
- // var account = 0
83
- // var change = 0
84
- // var path = "m/";
85
- // path += purpose + "'/";
86
- // path += coin + "'/";
87
- // path += account + "'/";
88
- // path += change;
89
- // return path
90
- // }
38
+ // this is a hack to get the virtual size of the transaction
39
+ // we sign it with a dummy key and then extract the transaction
40
+ // it should be very close to 100% accurate
41
+ export const getPsbtTxnSize = (phrase: string, psbtBase64: string) => {
42
+ let bitcoin = window.bitcoin;
43
+ const parsedPsbt = bitcoin.Psbt.fromBase64(psbtBase64);
91
44
 
92
- // export function generateAccountDerivationPath(coin: string){
93
- // var purpose = 44
94
- // var account = 0
95
- // var path = "m/";
96
- // path += purpose + "'/";
97
- // path += coin + "'/";
98
- // path += account + "'/";
99
- // return path
100
- // }
45
+ const psbt = new bitcoin.Psbt();
101
46
 
102
- // export function generateBip32ExtendedKey(path: string, bip32RootKey: any){
103
- // var extendedKey = bip32RootKey;
104
- // // Derive the key from the path
105
- // var pathBits = path.split("/");
106
- // for (var i=0; i<pathBits.length; i++) {
107
- // var bit = pathBits[i];
108
- // var index = parseInt(bit);
109
- // if (isNaN(index)) {
110
- // continue;
111
- // }
112
- // var hardened = bit[bit.length-1] == "'";
113
- // var isPriv = !(extendedKey.isNeutered());
114
- // var invalidDerivationPath = hardened && !isPriv;
115
- // if (invalidDerivationPath) {
116
- // extendedKey = null;
117
- // }
118
- // else if (hardened) {
119
- // extendedKey = extendedKey.deriveHardened(index);
120
- // }
121
- // else {
122
- // extendedKey = extendedKey.derive(index);
123
- // }
124
- // }
125
- // return extendedKey;
126
- // }
127
- // libs.bitcoin.networks.shadow = {
128
- // messagePrefix: 'unused',
129
- // bip32: {
130
- // public: 0xEE80286A,
131
- // private: 0xEE8031E8
132
- // },
133
- // pubKeyHash: 0x3f,
134
- // scriptHash: 0x7d,
135
- // wif: 0xbf
136
- // };
137
-
138
- // libs.bitcoin.networks.shadowtn = {
139
- // messagePrefix: 'unused',
140
- // bip32: {
141
- // public: 0x76C0FDFB,
142
- // private: 0x76C1077A
143
- // },
144
- // pubKeyHash: 0x7f,
145
- // scriptHash: 0xc4,
146
- // wif: 0xff
147
- // };
148
-
149
- // libs.bitcoin.networks.clam = {
150
- // messagePrefix: 'unused',
151
- // bip32: {
152
- // public: 0xa8c26d64,
153
- // private: 0xa8c17826
154
- // },
155
- // pubKeyHash: 0x89,
156
- // scriptHash: 0x0D,
157
- // wif: 0x85
158
- // };
159
-
160
- // libs.bitcoin.networks.crown = {
161
- // messagePrefix: 'unused',
162
- // bip32: {
163
- // public: 0x0488b21e,
164
- // private: 0x0488ade4
165
- // },
166
- // pubKeyHash: 0x00,
167
- // scriptHash: 0x05,
168
- // wif: 0x80,
169
- // toNewAddress: function(oldAddress)
170
- // {
171
- // var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
172
- // var b58 = libs.basex(ALPHABET);
173
-
174
- // var addrBytes = b58.decode(oldAddress);
175
-
176
- // var hash160 = libs.buffer.Buffer.from(new Uint16Array(23));
177
- // hash160[0]= 0x01; //C
178
- // hash160[1]= 0x75; //R
179
- // hash160[2]= 0x07; //W
180
- // addrBytes.copy(hash160, 3, 1, 21);
181
-
182
- // var checksum = libs.bitcoin.crypto.hash256(hash160).subarray(0, 4);
183
- // var binaryAddr = libs.buffer.Buffer.from(new Uint16Array(27));
184
- // binaryAddr.set(hash160,0);
185
- // checksum.copy(binaryAddr, 23, 0, 4);
186
- // var newAddress = b58.encode(binaryAddr);
187
- // return newAddress;
188
- // }
189
- // };
190
-
191
- // libs.bitcoin.networks.dash = {
192
- // messagePrefix: 'unused',
193
- // bip32: {
194
- // public: 0x0488b21e,
195
- // private: 0x0488ade4
196
- // },
197
- // pubKeyHash: 0x4c,
198
- // scriptHash: 0x10,
199
- // wif: 0xcc
200
- // };
201
-
202
- // libs.bitcoin.networks.maza = {
203
- // messagePrefix: 'unused',
204
- // bip32: {
205
- // public: 0x0488b21e,
206
- // private: 0x0488ade4
207
- // },
208
- // pubKeyHash: 0x32,
209
- // scriptHash: 0x09,
210
- // wif: 0xe0
211
- // };
212
-
213
- // libs.bitcoin.networks.dashtn = {
214
- // messagePrefix: 'unused',
215
- // bip32: {
216
- // public: 0x043587cf,
217
- // private: 0x04358394
218
- // },
219
- // pubKeyHash: 0x8c,
220
- // scriptHash: 0x13,
221
- // wif: 0xef
222
- // };
223
-
224
- // libs.bitcoin.networks.game = {
225
- // messagePrefix: 'unused',
226
- // bip32: {
227
- // public: 0x0488b21e,
228
- // private: 0x0488ade4
229
- // },
230
- // pubKeyHash: 0x26,
231
- // scriptHash: 0x05,
232
- // wif: 0xa6
233
- // };
234
-
235
- // libs.bitcoin.networks.namecoin = {
236
- // messagePrefix: 'unused',
237
- // bip32: {
238
- // public: 0x0488b21e,
239
- // private: 0x0488ade4
240
- // },
241
- // pubKeyHash: 0x34,
242
- // scriptHash: 0x0D,
243
- // wif: 0xb4
244
- // };
245
-
246
- // libs.bitcoin.networks.peercoin = {
247
- // messagePrefix: 'unused',
248
- // bip32: {
249
- // public: 0x0488b21e,
250
- // private: 0x0488ade4
251
- // },
252
- // pubKeyHash: 0x37,
253
- // scriptHash: 0x75,
254
- // wif: 0xb7
255
- // };
256
-
257
- // libs.bitcoin.networks.axe = {
258
- // messagePrefix: 'unused',
259
- // bip32: {
260
- // public: 0x0488b21e,
261
- // private: 0x0488ade4
262
- // },
263
- // pubKeyHash: 0x37,
264
- // scriptHash: 0x10, // TODO set this correctly
265
- // wif: 0xcc
266
- // };
267
-
268
- // libs.bitcoin.networks.scribe = {
269
- // messagePrefix: 'unused',
270
- // bip32: {
271
- // public: 0x0488B21E,
272
- // private: 0x0488ADE4
273
- // },
274
- // pubKeyHash: 0x3c,
275
- // scriptHash: 0x7d,
276
- // wif: 0x6e
277
- // };
278
-
279
- // libs.bitcoin.networks.slimcoin = {
280
- // messagePrefix: 'unused',
281
- // bip32: {
282
- // public: 0xef6adf10,
283
- // private: 0xef69ea80
284
- // },
285
- // pubKeyHash: 0x3f,
286
- // scriptHash: 0x7d,
287
- // wif: 0x46
288
- // };
289
-
290
- // libs.bitcoin.networks.slimcointn = {
291
- // messagePrefix: 'unused',
292
- // bip32: {
293
- // public: 0x043587CF,
294
- // private: 0x04358394
295
- // },
296
- // pubKeyHash: 0x6f,
297
- // scriptHash: 0xc4,
298
- // wif: 0x57
299
- // };
300
-
301
- // libs.bitcoin.networks.dogecoin = {
302
- // messagePrefix: '\x19Dogecoin Signed Message:\n',
303
- // bip32: {
304
- // public: 0x02facafd,
305
- // private: 0x02fac398
306
- // },
307
- // pubKeyHash: 0x1e,
308
- // scriptHash: 0x16,
309
- // wif: 0x9e
310
- // };
311
-
312
- // libs.bitcoin.networks.dogecointestnet = {
313
- // messagePrefix: '\x19Dogecoin Signed Message:\n',
314
- // bip32: {
315
- // public: 0x043587cf,
316
- // private: 0x04358394
317
- // },
318
- // pubKeyHash: 0x71,
319
- // scriptHash: 0xc4,
320
- // wif: 0xf1
321
- // };
322
-
323
- // libs.bitcoin.networks.denarius = {
324
- // messagePrefix: '\x19Denarius Signed Message:\n',
325
- // bip32: {
326
- // public: 0x0488b21e,
327
- // private: 0x0488ade4
328
- // },
329
- // pubKeyHash: 0x1e,
330
- // scriptHash: 0x5a,
331
- // wif: 0x9e
332
- // };
333
-
334
- // libs.bitcoin.networks.neblio = {
335
- // messagePrefix: '\x18Neblio Signed Message:\n',
336
- // bip32: {
337
- // public: 0x0488b21e,
338
- // private: 0x0488ade4
339
- // },
340
- // pubKeyHash: 0x35,
341
- // scriptHash: 0x70,
342
- // wif: 0xb5
343
- // };
344
-
345
- // libs.bitcoin.networks.viacoin = {
346
- // messagePrefix: '\x18Viacoin Signed Message:\n',
347
- // bip32: {
348
- // public: 0x0488b21e,
349
- // private: 0x0488ade4
350
- // },
351
- // pubKeyHash: 0x47,
352
- // scriptHash: 0x21,
353
- // wif: 0xc7
354
- // };
355
-
356
- // libs.bitcoin.networks.viacointestnet = {
357
- // messagePrefix: '\x18Viacoin Signed Message:\n',
358
- // bip32: {
359
- // public: 0x043587cf,
360
- // private: 0x04358394
361
- // },
362
- // pubKeyHash: 0x7f,
363
- // scriptHash: 0xc4,
364
- // wif: 0xff
365
- // };
366
-
367
- // libs.bitcoin.networks.gamerscoin = {
368
- // messagePrefix: '\x19Gamerscoin Signed Message:\n',
369
- // bip32: {
370
- // public: 0x019da462,
371
- // private: 0x019d9cfe
372
- // },
373
- // pubKeyHash: 0x26,
374
- // scriptHash: 0x05,
375
- // wif: 0xA6
376
- // };
377
-
378
- // libs.bitcoin.networks.jumbucks = {
379
- // messagePrefix: '\x19Jumbucks Signed Message:\n',
380
- // bip32: {
381
- // public: 0x037a689a,
382
- // private: 0x037a6460
383
- // },
384
- // pubKeyHash: 0x2b,
385
- // scriptHash: 0x05,
386
- // wif: 0xab
387
- // };
388
-
389
- // libs.bitcoin.networks.zetacoin = {
390
- // messagePrefix: '\x18Zetacoin Signed Message:\n',
391
- // bip32: {
392
- // public: 0x0488b21e,
393
- // private: 0x0488ade4
394
- // },
395
- // pubKeyHash: 0x50,
396
- // scriptHash: 0x09,
397
- // wif: 0xe0
398
- // };
399
-
400
- // libs.bitcoin.networks.myriadcoin = {
401
- // messagePrefix: 'unused',
402
- // bip32: {
403
- // public: 0x0488b21e,
404
- // private: 0x0488ade4
405
- // },
406
- // pubKeyHash: 0x32,
407
- // scriptHash: 0x09,
408
- // wif: 0xb2
409
- // };
410
-
411
- // libs.bitcoin.networks.bolivarcoin = {
412
- // messagePrefix: 'Bolivarcoin Signed Message:\n',
413
- // bip32: {
414
- // public: 0x0488b21e,
415
- // private: 0x0488ade4
416
- // },
417
- // pubKeyHash: 0x55,
418
- // scriptHash: 0x05,
419
- // wif: 0xD5
420
- // };
421
-
422
- // libs.bitcoin.networks.onixcoin = {
423
- // messagePrefix: 'ONIX Signed Message:\n',
424
- // bip32: {
425
- // public: 0x0488b21e,
426
- // private: 0x0488ade4
427
- // },
428
- // pubKeyHash: 0x4B,
429
- // scriptHash: 0x05,
430
- // wif: 0xCB
431
- // };
432
-
433
-
434
- // libs.bitcoin.networks.lkrcoin = {
435
- // messagePrefix: '\x18LKRcoin Signed Message:\n',
436
- // bip32: {
437
- // public: 0x0488b21e,
438
- // private: 0x0488ade4,
439
- // },
440
- // pubKeyHash: 0x30,
441
- // scriptHash: 0x55,
442
- // wif: 0xB0
443
- // };
444
-
445
- // libs.bitcoin.networks.pivx = {
446
- // messagePrefix: 'unused',
447
- // bip32: {
448
- // public: 0x022d2533,
449
- // private: 0x0221312b
450
- // },
451
- // pubKeyHash: 0x1e,
452
- // scriptHash: 0x0d,
453
- // wif: 0xd4
454
- // };
455
-
456
- // libs.bitcoin.networks.pivxtestnet = {
457
- // messagePrefix: 'unused',
458
- // bip32: {
459
- // public: 0x3a8061a0,
460
- // private: 0x3a805837
461
- // },
462
- // pubKeyHash: 0x8b,
463
- // scriptHash: 0x13,
464
- // wif: 0xef
465
- // };
466
-
467
- // libs.bitcoin.networks.fix = {
468
- // messagePrefix: 'unused',
469
- // bip32: {
470
- // public: 0x022d2533,
471
- // private: 0x0221312b
472
- // },
473
- // pubKeyHash: 0x23,
474
- // scriptHash: 0x5F,
475
- // wif: 0x3C
476
- // };
477
-
478
- // libs.bitcoin.networks.fixtestnet = {
479
- // messagePrefix: 'unused',
480
- // bip32: {
481
- // public: 0x3a8061a0,
482
- // private: 0x3a805837
483
- // },
484
- // pubKeyHash: 0x4c,
485
- // scriptHash: 0x89,
486
- // wif: 0xED
487
- // };
488
-
489
- // libs.bitcoin.networks.fujicoin = {
490
- // messagePrefix: '\x19FujiCoin Signed Message:\n',
491
- // bip32: {
492
- // public: 0x0488b21e,
493
- // private: 0x0488ade4
494
- // },
495
- // pubKeyHash: 0x24,
496
- // scriptHash: 0x10,
497
- // wif: 0xa4
498
- // };
499
-
500
- // libs.bitcoin.networks.nubits = {
501
- // messagePrefix: '\x18Nu Signed Message:\n',
502
- // bip32: {
503
- // public: 0x0488b21e,
504
- // private: 0x0488ade4
505
- // },
506
- // pubKeyHash: 0x19,
507
- // scriptHash: 0x1a,
508
- // wif: 0x96,
509
- // };
510
-
511
- // libs.bitcoin.networks.bgold = {
512
- // messagePrefix: '\x1DBitcoin Gold Signed Message:\n',
513
- // bip32: {
514
- // public: 0x0488b21e,
515
- // private: 0x0488ade4
516
- // },
517
- // pubKeyHash: 38,
518
- // scriptHash: 23,
519
- // wif: 128
520
- // };
521
-
522
- // libs.bitcoin.networks.monacoin = {
523
- // messagePrefix: '\x18Monacoin Signed Message:\n',
524
- // bip32: {
525
- // public: 0x0488b21e,
526
- // private: 0x0488ade4
527
- // },
528
- // pubKeyHash: 0x32,
529
- // scriptHash: 0x37,
530
- // wif: 0xb0
531
- // };
532
-
533
- // libs.bitcoin.networks.litecoinXprv = {
534
- // messagePrefix: '\x19Litecoin Signed Message:\n',
535
- // bip32: {
536
- // public: 0x0488b21e,
537
- // private: 0x0488ade4,
538
- // },
539
- // pubKeyHash: 0x30,
540
- // scriptHash: 0x32,
541
- // wif: 0xb0
542
- // };
543
-
544
- // libs.bitcoin.networks.komodo = {
545
- // messagePrefix: '\x18Komodo Signed Message:\n',
546
- // bip32: {
547
- // public: 0x0488B21E,
548
- // private: 0x0488ADE4
549
- // },
550
- // pubKeyHash: 0x3c,
551
- // scriptHash: 0x55,
552
- // wif: 0xbc
553
- // };
554
-
555
- // libs.bitcoin.networks.blackcoin = {
556
- // messagePrefix: '\x18BlackCoin Signed Message:\n',
557
- // bip32: {
558
- // public: 0x02CFBEDE,
559
- // private: 0x02CFBF60
560
- // },
561
- // pubKeyHash: 0x19,
562
- // scriptHash: 0x55,
563
- // wif: 0x99
564
- // };
565
-
566
- // libs.bitcoin.networks.beetlecoin = {
567
- // messagePrefix: '\x19Beetlecoin Signed Message:\n',
568
- // bip32: {
569
- // public: 0x0488b21e,
570
- // private: 0x0488ade4
571
- // },
572
- // pubKeyHash: 0x1A,
573
- // scriptHash: 0x55,
574
- // wif: 0x99,
575
- // };
576
-
577
-
578
- // libs.bitcoin.networks.adcoin = {
579
- // messagePrefix: '\x18AdCoin Signed Message:\n',
580
- // bip32: {
581
- // public: 0x0488B21E,
582
- // private: 0x0488ADE4,
583
- // },
584
- // pubKeyHash: 0x17,
585
- // scriptHash: 0x05,
586
- // wif: 0xb0,
587
- // };
588
-
589
- // libs.bitcoin.networks.asiacoin = {
590
- // messagePrefix: '\x18AsiaCoin Signed Message:\n',
591
- // bip32: {
592
- // public: 0x0488b21e,
593
- // private: 0x0488ade4,
594
- // },
595
- // pubKeyHash: 0x17,
596
- // scriptHash: 0x08,
597
- // wif: 0x97,
598
- // };
599
-
600
- // libs.bitcoin.networks.auroracoin = {
601
- // messagePrefix: '\x18AuroraCoin Signed Message:\n',
602
- // bip32: {
603
- // public: 0x0488b21e,
604
- // private: 0x0488ade4,
605
- // },
606
- // pubKeyHash: 0x17,
607
- // scriptHash: 0x05,
608
- // wif: 0x97,
609
- // };
610
-
611
- // libs.bitcoin.networks.bata = {
612
- // messagePrefix: '\x18Bata Signed Message:\n',
613
- // bip32: {
614
- // public: 0xA40C86FA,
615
- // private: 0xA40B91BD,
616
- // },
617
- // pubKeyHash: 0x19,
618
- // scriptHash: 0x05,
619
- // wif: 0xa4,
620
- // };
621
-
622
- // libs.bitcoin.networks.belacoin = {
623
- // messagePrefix: '\x18BelaCoin Signed Message:\n',
624
- // bip32: {
625
- // public: 0x0488b21e,
626
- // private: 0x0488ade4,
627
- // },
628
- // pubKeyHash: 0x19,
629
- // scriptHash: 0x05,
630
- // wif: 0x99,
631
- // };
632
-
633
- // libs.bitcoin.networks.atom = {
634
- // messagePrefix: '\x18Bitcoin Signed Message:\n',
635
- // bip32: {
636
- // public: 0x0488B21E,
637
- // private: 0x0488ADE4,
638
- // },
639
- // pubKeyHash: 0x17,
640
- // scriptHash: 0x0a,
641
- // wif: 0x80,
642
- // };
643
-
644
- // libs.bitcoin.networks.bitcoinplus = {
645
- // messagePrefix: '\x18BitcoinPlus Signed Message:\n',
646
- // bip32: {
647
- // public: 0x0488b21e,
648
- // private: 0x0488ade4,
649
- // },
650
- // pubKeyHash: 0x19,
651
- // scriptHash: 0x08,
652
- // wif: 0x99,
653
- // };
654
-
655
- // libs.bitcoin.networks.bitcloud = {
656
- // messagePrefix: '\x18BitCloud Signed Message:\n',
657
- // bip32: {
658
- // public: 0x0488B21E,
659
- // private: 0x0488ADE4,
660
- // },
661
- // pubKeyHash: 0x19,
662
- // scriptHash: 0x05,
663
- // wif: 0x99,
664
- // };
665
-
666
- // libs.bitcoin.networks.bitcore = {
667
- // messagePrefix: '\x18BitCore Signed Message:\n',
668
- // bip32: {
669
- // public: 0x0488B21E,
670
- // private: 0x0488ADE4,
671
- // },
672
- // pubKeyHash: 0x03,
673
- // scriptHash: 0x7D,
674
- // wif: 0x80,
675
- // };
676
-
677
- // libs.bitcoin.networks.bitsend = {
678
- // messagePrefix: '\x18Bitsend Signed Message:\n',
679
- // bip32: {
680
- // public: 0x0488B21E,
681
- // private: 0x0488ADE4,
682
- // },
683
- // pubKeyHash: 0x66,
684
- // scriptHash: 0x05,
685
- // wif: 0xcc,
686
- // };
687
-
688
- // libs.bitcoin.networks.britcoin = {
689
- // messagePrefix: '\x18BritCoin Signed Message:\n',
690
- // bip32: {
691
- // public: 0x0488b21e,
692
- // private: 0x0488ade4,
693
- // },
694
- // pubKeyHash: 0x19,
695
- // scriptHash: 0x55,
696
- // wif: 0x99,
697
- // };
698
-
699
- // libs.bitcoin.networks.canadaecoin = {
700
- // messagePrefix: '\x18Canada eCoin Signed Message:\n',
701
- // bip32: {
702
- // public: 0x0488b21e,
703
- // private: 0x0488ade4,
704
- // },
705
- // pubKeyHash: 0x1c,
706
- // scriptHash: 0x05,
707
- // wif: 0x9c,
708
- // };
709
-
710
- // libs.bitcoin.networks.cannacoin = {
711
- // messagePrefix: '\x18Cannacoin Signed Message:\n',
712
- // bip32: {
713
- // public: 0x0488b21e,
714
- // private: 0x0488ade4,
715
- // },
716
- // pubKeyHash: 0x1c,
717
- // scriptHash: 0x05,
718
- // wif: 0x9c,
719
- // };
720
-
721
- // libs.bitcoin.networks.cranepay = {
722
- // messagePrefix: '\x18Bitcoin Signed Message:\n',
723
- // bip32: {
724
- // public: 0x0488b21e,
725
- // private: 0x0488ade4
726
- // },
727
- // pubKeyHash: 28,
728
- // scriptHash: 10,
729
- // wif: 123,
730
- // };
731
-
732
- // libs.bitcoin.networks.cryptoescudo = {
733
- // messagePrefix: '\x18Cryptoescudo Signed Message:\n',
734
- // bip32: {
735
- // public: 0x0488b21e,
736
- // private: 0x0488ade4,
737
- // },
738
- // pubKeyHash: 0x1c,
739
- // scriptHash: 0x05,
740
- // wif: 0x9c,
741
- // };
742
-
743
- // libs.bitcoin.networks.clubcoin = {
744
- // messagePrefix: '\x18ClubCoin Signed Message:\n',
745
- // bip32: {
746
- // public: 0x0488B21E,
747
- // private: 0x0488ADE4,
748
- // },
749
- // pubKeyHash: 0x1c,
750
- // scriptHash: 0x55,
751
- // wif: 0x99,
752
- // };
753
-
754
- // libs.bitcoin.networks.compcoin = {
755
- // messagePrefix: '\x18CompCoin Signed Message:\n',
756
- // bip32: {
757
- // public: 0x0488b21e,
758
- // private: 0x0488ade4,
759
- // },
760
- // pubKeyHash: 0x1c,
761
- // scriptHash: 0x55,
762
- // wif: 0x9c,
763
- // };
764
-
765
- // libs.bitcoin.networks.crave = {
766
- // messagePrefix: '\x18DarkNet Signed Message:\n',
767
- // bip32: {
768
- // public: 0x0488B21E,
769
- // private: 0x0488ADE4,
770
- // },
771
- // pubKeyHash: 0x46,
772
- // scriptHash: 0x55,
773
- // wif: 0x99,
774
- // };
775
-
776
- // libs.bitcoin.networks.defcoin = {
777
- // messagePrefix: '\x18defcoin Signed Message:\n',
778
- // bip32: {
779
- // public: 0x0488b21e,
780
- // private: 0x0488ade4,
781
- // },
782
- // pubKeyHash: 0x1e,
783
- // scriptHash: 0x05,
784
- // wif: 0x9e,
785
- // };
786
-
787
- // libs.bitcoin.networks.diamond = {
788
- // messagePrefix: '\x18Diamond Signed Message:\n',
789
- // bip32: {
790
- // public: 0x0488B21E,
791
- // private: 0x0488ADE4,
792
- // },
793
- // pubKeyHash: 0x5a,
794
- // scriptHash: 0x08,
795
- // wif: 0xda,
796
- // };
797
-
798
- // libs.bitcoin.networks.digibyte = {
799
- // messagePrefix: '\x19DigiByte Signed Message:\n',
800
- // bip32: {
801
- // public: 0x0488B21E,
802
- // private: 0x0488ADE4,
803
- // },
804
- // pubKeyHash: 0x1e,
805
- // scriptHash: 0x05,
806
- // wif: 0x80,
807
- // };
808
-
809
- // libs.bitcoin.networks.digitalcoin = {
810
- // messagePrefix: '\x18Digitalcoin Signed Message:\n',
811
- // bip32: {
812
- // public: 0x9e0488B2,
813
- // private: 0x0488ADE4,
814
- // },
815
- // pubKeyHash: 0x1e,
816
- // scriptHash: 0x05,
817
- // wif: 0x9e,
818
- // };
819
-
820
- // libs.bitcoin.networks.ecoin = {
821
- // messagePrefix: '\x18eCoin Signed Message:\n',
822
- // bip32: {
823
- // public: 0x0488b21e,
824
- // private: 0x0488ade4,
825
- // },
826
- // pubKeyHash: 0x5c,
827
- // scriptHash: 0x14,
828
- // wif: 0xdc,
829
- // };
830
-
831
- // libs.bitcoin.networks.edrcoin = {
832
- // messagePrefix: '\x18EDRcoin Signed Message:\n',
833
- // bip32: {
834
- // public: 0x0488b21e,
835
- // private: 0x0488ade4,
836
- // },
837
- // pubKeyHash: 0x5d,
838
- // scriptHash: 0x1c,
839
- // wif: 0xdd,
840
- // };
841
-
842
- // libs.bitcoin.networks.egulden = {
843
- // messagePrefix: '\x18Egulden Signed Message:\n',
844
- // bip32: {
845
- // public: 0x0488B21E,
846
- // private: 0x0488ADE4,
847
- // },
848
- // pubKeyHash: 0x30,
849
- // scriptHash: 0x05,
850
- // wif: 0xb0,
851
- // };
852
-
853
- // libs.bitcoin.networks.einsteinium = {
854
- // messagePrefix: '\x18Einsteinium Signed Message:\n',
855
- // bip32: {
856
- // public: 0x0488b21e,
857
- // private: 0x0488ade4,
858
- // },
859
- // pubKeyHash: 0x21,
860
- // scriptHash: 0x05,
861
- // wif: 0xa1,
862
- // };
863
-
864
- // libs.bitcoin.networks.europecoin = {
865
- // messagePrefix: '\x18Bitcoin Signed Message:\n',
866
- // bip32: {
867
- // public: 0x0488B21E,
868
- // private: 0x0488ADE4,
869
- // },
870
- // pubKeyHash: 0x21,
871
- // scriptHash: 0x05,
872
- // wif: 0xa8,
873
- // };
874
-
875
- // libs.bitcoin.networks.exclusivecoin = {
876
- // messagePrefix: '\x18ExclusiveCoin Signed Message:\n',
877
- // bip32: {
878
- // public: 0x0488B21E,
879
- // private: 0x0488ADE4,
880
- // },
881
- // pubKeyHash: 0x21,
882
- // scriptHash: 0x89,
883
- // wif: 0xa1,
884
- // };
885
-
886
- // libs.bitcoin.networks.feathercoin = {
887
- // messagePrefix: '\x18Feathercoin Signed Message:\n',
888
- // bip32: {
889
- // public: 0x0488BC26,
890
- // private: 0x0488DAEE,
891
- // },
892
- // pubKeyHash: 0x0e,
893
- // scriptHash: 0x05,
894
- // wif: 0x8e,
895
- // };
896
-
897
- // libs.bitcoin.networks.firo = {
898
- // messagePrefix: '\x18Firo Signed Message:\n',
899
- // bip32: {
900
- // public: 0x0488B21E,
901
- // private: 0x0488ADE4,
902
- // },
903
- // pubKeyHash: 0x52,
904
- // scriptHash: 0x07,
905
- // wif: 0xd2,
906
- // };
907
-
908
- // libs.bitcoin.networks.zcoin = {
909
- // messagePrefix: '\x18Zcoin Signed Message:\n',
910
- // bip32: {
911
- // public: 0x0488B21E,
912
- // private: 0x0488ADE4,
913
- // },
914
- // pubKeyHash: 0x52,
915
- // scriptHash: 0x07,
916
- // wif: 0xd2,
917
- // };
918
-
919
- // libs.bitcoin.networks.firstcoin = {
920
- // messagePrefix: '\x18FirstCoin Signed Message:\n',
921
- // bip32: {
922
- // public: 0x0488b21e,
923
- // private: 0x0488ade4,
924
- // },
925
- // pubKeyHash: 0x23,
926
- // scriptHash: 0x05,
927
- // wif: 0xa3,
928
- // };
929
-
930
- // libs.bitcoin.networks.flashcoin = {
931
- // messagePrefix: '\x18Flashcoin Signed Message:\n',
932
- // bip32: {
933
- // public: 0x0488b21e,
934
- // private: 0x0488ade4,
935
- // },
936
- // pubKeyHash: 0x44,
937
- // scriptHash: 0x82,
938
- // wif: 0xc4,
939
- // };
940
-
941
- // libs.bitcoin.networks.gcr = {
942
- // messagePrefix: '\x18GCR Signed Message:\n',
943
- // bip32: {
944
- // public: 0x0488B21E,
945
- // private: 0x0488ADE4,
946
- // },
947
- // pubKeyHash: 0x26,
948
- // scriptHash: 0x61,
949
- // wif: 0x9a,
950
- // };
951
-
952
- // libs.bitcoin.networks.gobyte = {
953
- // messagePrefix: '\x18DarkCoin Signed Message:\n',
954
- // bip32: {
955
- // public: 0x0488B21E,
956
- // private: 0x0488ADE4,
957
- // },
958
- // pubKeyHash: 0x26,
959
- // scriptHash: 0x0a,
960
- // wif: 0xc6,
961
- // };
962
-
963
- // libs.bitcoin.networks.gridcoin = {
964
- // messagePrefix: '\x18Gridcoin Signed Message:\n',
965
- // bip32: {
966
- // public: 0x0488b21e,
967
- // private: 0x0488ade4,
968
- // },
969
- // pubKeyHash: 0x3e,
970
- // scriptHash: 0x55,
971
- // wif: 0xbe,
972
- // };
973
-
974
- // libs.bitcoin.networks.groestlcoin = {
975
- // messagePrefix: '\x19GroestlCoin Signed Message:\n',
976
- // bip32: {
977
- // public: 0x0488b21e,
978
- // private: 0x0488ade4
979
- // },
980
- // pubKeyHash: 36,
981
- // scriptHash: 5,
982
- // wif: 128,
983
- // }
984
-
985
- // libs.bitcoin.networks.groestlcointestnet = {
986
- // messagePrefix: '\x19GroestlCoin Signed Message:\n',
987
- // bip32: {
988
- // public: 0x043587cf,
989
- // private: 0x04358394
990
- // },
991
- // pubKeyHash: 0x6f,
992
- // scriptHash: 0xc4,
993
- // wif: 0xef,
994
- // }
995
-
996
- // libs.bitcoin.networks.gulden = {
997
- // messagePrefix: '\x18Guldencoin Signed Message:\n',
998
- // bip32: {
999
- // public: 0x0488B21E,
1000
- // private: 0x0488ADE4,
1001
- // },
1002
- // pubKeyHash: 0x26,
1003
- // scriptHash: 0x62,
1004
- // wif: 0x62,
1005
- // };
1006
-
1007
- // libs.bitcoin.networks.helleniccoin = {
1008
- // messagePrefix: '\x18helleniccoin Signed Message:\n',
1009
- // bip32: {
1010
- // public: 0x0488b21e,
1011
- // private: 0x0488ade4,
1012
- // },
1013
- // pubKeyHash: 0x30,
1014
- // scriptHash: 0x05,
1015
- // wif: 0xb0,
1016
- // };
1017
-
1018
- // libs.bitcoin.networks.hempcoin = {
1019
- // messagePrefix: '\x18Hempcoin Signed Message:\n',
1020
- // bip32: {
1021
- // public: 0x0488b21e,
1022
- // private: 0x0488ade4,
1023
- // },
1024
- // pubKeyHash: 0x28,
1025
- // scriptHash: 0x08,
1026
- // wif: 0xa8,
1027
- // };
1028
-
1029
- // libs.bitcoin.networks.insane = {
1030
- // messagePrefix: '\x18INSaNe Signed Message:\n',
1031
- // bip32: {
1032
- // public: 0x0488B21E,
1033
- // private: 0x0488ADE4,
1034
- // },
1035
- // pubKeyHash: 0x66,
1036
- // scriptHash: 0x39,
1037
- // wif: 0x37,
1038
- // };
1039
-
1040
- // libs.bitcoin.networks.iop = {
1041
- // messagePrefix: '\x18IoP Signed Message:\n',
1042
- // bip32: {
1043
- // public: 0x2780915F,
1044
- // private: 0xAE3416F6,
1045
- // },
1046
- // pubKeyHash: 0x75,
1047
- // scriptHash: 0xae,
1048
- // wif: 0x31,
1049
- // };
1050
-
1051
- // libs.bitcoin.networks.ixcoin = {
1052
- // messagePrefix: '\x18Ixcoin Signed Message:\n',
1053
- // bip32: {
1054
- // public: 0x0488B21E,
1055
- // private: 0x0488ADE4,
1056
- // },
1057
- // pubKeyHash: 0x8a,
1058
- // scriptHash: 0x05,
1059
- // wif: 0x80,
1060
- // };
1061
-
1062
- // libs.bitcoin.networks.kobocoin = {
1063
- // messagePrefix: '\x18Kobocoin Signed Message:\n',
1064
- // bip32: {
1065
- // public: 0x0488B21E,
1066
- // private: 0x0488ADE4,
1067
- // },
1068
- // pubKeyHash: 0x23,
1069
- // scriptHash: 0x1c,
1070
- // wif: 0xa3,
1071
- // };
1072
-
1073
- // libs.bitcoin.networks.landcoin = {
1074
- // messagePrefix: '\x18Landcoin Signed Message:\n',
1075
- // bip32: {
1076
- // public: 0x0488B21E,
1077
- // private: 0x0488ADE4,
1078
- // },
1079
- // pubKeyHash: 0x30,
1080
- // scriptHash: 0x7a,
1081
- // wif: 0xb0,
1082
- // };
1083
-
1084
- // libs.bitcoin.networks.lbry = {
1085
- // messagePrefix: '\x18LBRYcrd Signed Message:\n',
1086
- // bip32: {
1087
- // public: 0x0488B21E,
1088
- // private: 0x0488ADE4,
1089
- // },
1090
- // pubKeyHash: 0x55,
1091
- // scriptHash: 0x7a,
1092
- // wif: 0x1c,
1093
- // };
1094
-
1095
- // libs.bitcoin.networks.linx = {
1096
- // messagePrefix: '\x18LinX Signed Message:\n',
1097
- // bip32: {
1098
- // public: 0x0488b21e,
1099
- // private: 0x0488ade4,
1100
- // },
1101
- // pubKeyHash: 0x4b,
1102
- // scriptHash: 0x05,
1103
- // wif: 0xcb,
1104
- // };
1105
-
1106
-
1107
- // libs.bitcoin.networks.litecointestnet = {
1108
- // messagePrefix: '\x18Litecoin Signed Message:\n',
1109
- // bip32: {
1110
- // public: 0x043587cf,
1111
- // private: 0x04358394,
1112
- // },
1113
- // pubKeyHash: 0x6f,
1114
- // scriptHash: 0xc4,
1115
- // wif: 0xef,
1116
- // };
1117
- // libs.bitcoin.networks.litecoincash = {
1118
- // messagePrefix: '\x18Litecoin Signed Message:\n',
1119
- // bip32: {
1120
- // public: 0x0488B21E,
1121
- // private: 0x0488ADE4,
1122
- // },
1123
- // pubKeyHash: 0x1c,
1124
- // scriptHash: 0x05,
1125
- // wif: 0xb0,
1126
- // };
1127
-
1128
- // libs.bitcoin.networks.lynx = {
1129
- // messagePrefix: '\x18Lynx Signed Message:\n',
1130
- // bip32: {
1131
- // public: 0x0488B21E,
1132
- // private: 0x0488ADE4,
1133
- // },
1134
- // pubKeyHash: 0x2d,
1135
- // scriptHash: 0x32,
1136
- // wif: 0xad,
1137
- // };
1138
-
1139
- // libs.bitcoin.networks.megacoin = {
1140
- // messagePrefix: '\x18Megacoin Signed Message:\n',
1141
- // bip32: {
1142
- // public: 0x0488B21E,
1143
- // private: 0x0488ADE4,
1144
- // },
1145
- // pubKeyHash: 0x32,
1146
- // scriptHash: 0x05,
1147
- // wif: 0xB2,
1148
- // };
1149
-
1150
- // libs.bitcoin.networks.minexcoin = {
1151
- // messagePrefix: '\x18Bitcoin Signed Message:\n',
1152
- // bip32: {
1153
- // public: 0x0488B21E,
1154
- // private: 0x0488ADE4,
1155
- // },
1156
- // pubKeyHash: 0x4b,
1157
- // scriptHash: 0x05,
1158
- // wif: 0x80,
1159
- // };
1160
-
1161
- // libs.bitcoin.networks.navcoin = {
1162
- // messagePrefix: '\x18Navcoin Signed Message:\n',
1163
- // bip32: {
1164
- // public: 0x0488B21E,
1165
- // private: 0x0488ADE4,
1166
- // },
1167
- // pubKeyHash: 0x35,
1168
- // scriptHash: 0x55,
1169
- // wif: 0x96,
1170
- // };
1171
-
1172
- // libs.bitcoin.networks.neoscoin = {
1173
- // messagePrefix: '\x18NeosCoin Signed Message:\n',
1174
- // bip32: {
1175
- // public: 0x0488B21E,
1176
- // private: 0x0488ADE4,
1177
- // },
1178
- // pubKeyHash: 0x35,
1179
- // scriptHash: 0x05,
1180
- // wif: 0xb1,
1181
- // };
1182
-
1183
- // libs.bitcoin.networks.nix = {
1184
- // messagePrefix: '\x18Nix Signed Message:\n',
1185
- // bip32: {
1186
- // public: 0x0488b21e,
1187
- // private: 0x0488ade4,
1188
- // },
1189
- // pubKeyHash: 0x26,
1190
- // scriptHash: 0x35,
1191
- // wif: 0x80,
1192
- // };
1193
-
1194
- // libs.bitcoin.networks.neurocoin = {
1195
- // messagePrefix: '\x18PPCoin Signed Message:\n',
1196
- // bip32: {
1197
- // public: 0x0488B21E,
1198
- // private: 0x0488ADE4,
1199
- // },
1200
- // pubKeyHash: 0x35,
1201
- // scriptHash: 0x75,
1202
- // wif: 0xb5,
1203
- // };
1204
-
1205
- // libs.bitcoin.networks.newyorkc = {
1206
- // messagePrefix: '\x18newyorkc Signed Message:\n',
1207
- // bip32: {
1208
- // public: 0x0488b21e,
1209
- // private: 0x0488ade4,
1210
- // },
1211
- // pubKeyHash: 0x3c,
1212
- // scriptHash: 0x16,
1213
- // wif: 0xbc,
1214
- // };
1215
-
1216
- // libs.bitcoin.networks.novacoin = {
1217
- // messagePrefix: '\x18NovaCoin Signed Message:\n',
1218
- // bip32: {
1219
- // public: 0x0488b21e,
1220
- // private: 0x0488ade4,
1221
- // },
1222
- // pubKeyHash: 0x08,
1223
- // scriptHash: 0x14,
1224
- // wif: 0x88,
1225
- // };
1226
-
1227
- // libs.bitcoin.networks.nushares = {
1228
- // messagePrefix: '\x18Nu Signed Message:\n',
1229
- // bip32: {
1230
- // public: 0x0488b21e,
1231
- // private: 0x0488ade4,
1232
- // },
1233
- // pubKeyHash: 0x3f,
1234
- // scriptHash: 0x40,
1235
- // wif: 0x95,
1236
- // };
1237
-
1238
- // libs.bitcoin.networks.okcash = {
1239
- // messagePrefix: '\x18OKCash Signed Message:\n',
1240
- // bip32: {
1241
- // public: 0x03CC23D7,
1242
- // private: 0x03CC1C73,
1243
- // },
1244
- // pubKeyHash: 0x37,
1245
- // scriptHash: 0x1c,
1246
- // wif: 0x03,
1247
- // };
1248
-
1249
- // libs.bitcoin.networks.omnicore = {
1250
- // messagePrefix: '\x18Bitcoin Signed Message:\n',
1251
- // bip32: {
1252
- // public: 0x0488B21E,
1253
- // private: 0x0488ADE4,
1254
- // },
1255
- // pubKeyHash: 0x00,
1256
- // scriptHash: 0x05,
1257
- // wif: 0x80,
1258
- // };
1259
-
1260
- // libs.bitcoin.networks.pesobit = {
1261
- // messagePrefix: '\x18Pesobit Signed Message:\n',
1262
- // bip32: {
1263
- // public: 0x0488b21e,
1264
- // private: 0x0488ade4,
1265
- // },
1266
- // pubKeyHash: 0x37,
1267
- // scriptHash: 0x55,
1268
- // wif: 0xb7,
1269
- // };
1270
-
1271
- // libs.bitcoin.networks.pinkcoin = {
1272
- // messagePrefix: '\x18Pinkcoin Signed Message:\n',
1273
- // bip32: {
1274
- // public: 0x0488b21e,
1275
- // private: 0x0488ade4,
1276
- // },
1277
- // pubKeyHash: 0x03,
1278
- // scriptHash: 0x1c,
1279
- // wif: 0x83,
1280
- // };
1281
-
1282
- // libs.bitcoin.networks.poswcoin = {
1283
- // messagePrefix: '\x18Poswcoin Signed Message:\n',
1284
- // bip32: {
1285
- // public: 0x0488b21e,
1286
- // private: 0x0488ade4,
1287
- // },
1288
- // pubKeyHash: 0x37,
1289
- // scriptHash: 0x55,
1290
- // wif: 0xb7,
1291
- // };
1292
-
1293
- // libs.bitcoin.networks.potcoin = {
1294
- // messagePrefix: '\x18Potcoin Signed Message:\n',
1295
- // bip32: {
1296
- // public: 0x0488b21e,
1297
- // private: 0x0488ade4,
1298
- // },
1299
- // pubKeyHash: 0x37,
1300
- // scriptHash: 0x05,
1301
- // wif: 0xb7,
1302
- // };
1303
-
1304
- // libs.bitcoin.networks.putincoin = {
1305
- // messagePrefix: '\x18PutinCoin Signed Message:\n',
1306
- // bip32: {
1307
- // public: 0x0488b21e,
1308
- // private: 0x0488ade4,
1309
- // },
1310
- // pubKeyHash: 0x37,
1311
- // scriptHash: 0x14,
1312
- // wif: 0xb7,
1313
- // };
1314
-
1315
- // libs.bitcoin.networks.ravencoin = {
1316
- // messagePrefix: '\x16Raven Signed Message:\n',
1317
- // bip32: {
1318
- // public: 0x0488B21E,
1319
- // private: 0x0488ADE4,
1320
- // },
1321
- // pubKeyHash: 0x3c,
1322
- // scriptHash: 0x7a,
1323
- // wif: 0x80,
1324
- // };
1325
-
1326
- // libs.bitcoin.networks.reddcoin = {
1327
- // messagePrefix: '\x18Reddcoin Signed Message:\n',
1328
- // bip32: {
1329
- // public: 0x0488B21E,
1330
- // private: 0x0488ADE4,
1331
- // },
1332
- // pubKeyHash: 0x3d,
1333
- // scriptHash: 0x05,
1334
- // wif: 0xbd,
1335
- // };
1336
-
1337
- // libs.bitcoin.networks.revolutionvr = {
1338
- // messagePrefix: '\x18Voxels Signed Message:\n',
1339
- // bip32: {
1340
- // public: 0x0488B21E,
1341
- // private: 0x0488ADE4,
1342
- // },
1343
- // pubKeyHash: 0x46,
1344
- // scriptHash: 0x05,
1345
- // wif: 0xc6,
1346
- // };
1347
-
1348
- // libs.bitcoin.networks.ritocoin = {
1349
- // messagePrefix: '\x15Rito Signed Message:\n',
1350
- // bip32: {
1351
- // public: 0x0488B21E,
1352
- // private: 0x0488ADE4,
1353
- // },
1354
- // pubKeyHash: 0x19,
1355
- // scriptHash: 0x69,
1356
- // wif: 0x8b,
1357
- // };
1358
-
1359
- // libs.bitcoin.networks.rsk = {
1360
- // messagePrefix: '\x18RSK Signed Message:\n',
1361
- // bip32: {
1362
- // public: 0x0488b21e,
1363
- // private: 0x0488ade4
1364
- // },
1365
- // // TODO defaulting to Bitcoin value, check this
1366
- // pubKeyHash: 0x00,
1367
- // // TODO defaulting to Bitcoin value, check this
1368
- // scriptHash: 0x05,
1369
- // // TODO defaulting to Bitcoin value, check this
1370
- // wif: 0x80
1371
- // };
1372
-
1373
- // libs.bitcoin.networks.rsktestnet = {
1374
- // messagePrefix: '\x18RSK Testnet Signed Message:\n',
1375
- // bip32: {
1376
- // public: 0x043587cf,
1377
- // private: 0x04358394
1378
- // },
1379
- // pubKeyHash: 0x6f,
1380
- // scriptHash: 0xc4,
1381
- // wif: 0xef
1382
- // };
1383
-
1384
- // libs.bitcoin.networks.rubycoin = {
1385
- // messagePrefix: '\x18Rubycoin Signed Message:\n',
1386
- // bip32: {
1387
- // public: 0x0488B21E,
1388
- // private: 0x0488ADE4,
1389
- // },
1390
- // pubKeyHash: 0x3c,
1391
- // scriptHash: 0x55,
1392
- // wif: 0xbc,
1393
- // };
1394
-
1395
- // libs.bitcoin.networks.safecoin = {
1396
- // messagePrefix: '\x18Safecoin Signed Message:\n',
1397
- // bip32: {
1398
- // public: 0x0488b21e,
1399
- // private: 0x0488ade4,
1400
- // },
1401
- // pubKeyHash: 0x3d,
1402
- // scriptHash: 0x56,
1403
- // wif: 0xbd,
1404
- // };
1405
-
1406
- // libs.bitcoin.networks.salus = {
1407
- // messagePrefix: '\x18Salus Signed Message:\n',
1408
- // bip32: {
1409
- // public: 0x0488B21E,
1410
- // private: 0x0488ADE4,
1411
- // },
1412
- // pubKeyHash: 0x3f,
1413
- // scriptHash: 0xc4,
1414
- // wif: 0xbf,
1415
- // };
1416
-
1417
- // libs.bitcoin.networks.smileycoin = {
1418
- // messagePrefix: '\x18Smileycoin Signed Message:\n',
1419
- // bip32: {
1420
- // public: 0x1E562D9A,
1421
- // private: 0x1E5631BC,
1422
- // },
1423
- // pubKeyHash: 0x19,
1424
- // scriptHash: 0x05,
1425
- // wif: 0x05,
1426
- // };
1427
-
1428
- // libs.bitcoin.networks.solarcoin = {
1429
- // messagePrefix: '\x18SolarCoin Signed Message:\n',
1430
- // bip32: {
1431
- // public: 0x0488b21e,
1432
- // private: 0x0488ade4,
1433
- // },
1434
- // pubKeyHash: 0x12,
1435
- // scriptHash: 0x05,
1436
- // wif: 0x92,
1437
- // };
1438
-
1439
- // libs.bitcoin.networks.stash = {
1440
- // messagePrefix: '\x18Stash Signed Message:\n',
1441
- // bip32: {
1442
- // public: 0x0488b21e,
1443
- // private: 0x0488ade4
1444
- // },
1445
- // pubKeyHash: 0x4c,
1446
- // scriptHash: 0x10,
1447
- // wif: 0xcc
1448
- // };
1449
-
1450
- // libs.bitcoin.networks.stashtn = {
1451
- // messagePrefix: '\x18Stash Test Signed Message:\n',
1452
- // bip32: {
1453
- // public: 0x043587cf,
1454
- // private: 0x04358394
1455
- // },
1456
- // pubKeyHash: 0x8c,
1457
- // scriptHash: 0x13,
1458
- // wif: 0xef
1459
- // };
1460
-
1461
- // libs.bitcoin.networks.stratis = {
1462
- // messagePrefix: '\x18Stratis Signed Message:\n',
1463
- // bip32: {
1464
- // public: 0x0488B21E,
1465
- // private: 0x0488ADE4,
1466
- // },
1467
- // pubKeyHash: 0x3f,
1468
- // scriptHash: 0x7d,
1469
- // wif: 0xbf,
1470
- // };
1471
-
1472
- // libs.bitcoin.networks.stratistest = {
1473
- // messagePrefix: '\x18Stratis Test Signed Message:\n',
1474
- // bip32: {
1475
- // public: 0x0488B21E,
1476
- // private: 0x0488ADE4,
1477
- // },
1478
- // pubKeyHash: 0x41,
1479
- // scriptHash: 0x7d,
1480
- // wif: 0xbf,
1481
- // };
1482
-
1483
- // libs.bitcoin.networks.syscoin = {
1484
- // messagePrefix: '\x18Syscoin Signed Message:\n',
1485
- // bip32: {
1486
- // public: 0x0488B21E,
1487
- // private: 0x0488ADE4,
1488
- // },
1489
- // pubKeyHash: 0x3f,
1490
- // scriptHash: 0x05,
1491
- // wif: 0x80,
1492
- // };
1493
-
1494
-
1495
- // libs.bitcoin.networks.toa = {
1496
- // messagePrefix: '\x18TOA Signed Message:\n',
1497
- // bip32: {
1498
- // public: 0x0488b21e,
1499
- // private: 0x0488ade4,
1500
- // },
1501
- // pubKeyHash: 0x41,
1502
- // scriptHash: 0x17,
1503
- // wif: 0xc1,
1504
- // };
1505
-
1506
- // libs.bitcoin.networks.twins = {
1507
- // messagePrefix: 'unused',
1508
- // bip32: {
1509
- // public: 0x022d2533,
1510
- // private: 0x0221312b
1511
- // },
1512
- // pubKeyHash: 0x49,
1513
- // scriptHash: 0x53,
1514
- // wif: 0x42
1515
- // };
1516
-
1517
- // libs.bitcoin.networks.twinstestnet = {
1518
- // messagePrefix: 'unused',
1519
- // bip32: {
1520
- // public: 0x3a8061a0,
1521
- // private: 0x3a805837
1522
- // },
1523
- // pubKeyHash: 0x4c,
1524
- // scriptHash: 0x89,
1525
- // wif: 0xED
1526
- // };
1527
-
1528
- // libs.bitcoin.networks.ultimatesecurecash = {
1529
- // messagePrefix: '\x18UltimateSecureCash Signed Message:\n',
1530
- // bip32: {
1531
- // public: 0xEE80286A,
1532
- // private: 0xEE8031E8,
1533
- // },
1534
- // pubKeyHash: 0x44,
1535
- // scriptHash: 0x7d,
1536
- // wif: 0xbf,
1537
- // };
1538
-
1539
- // libs.bitcoin.networks.unobtanium = {
1540
- // messagePrefix: '\x18Unobtanium Signed Message:\n',
1541
- // bip32: {
1542
- // public: 0x0488B21E,
1543
- // private: 0x0488ADE4,
1544
- // },
1545
- // pubKeyHash: 0x82,
1546
- // scriptHash: 0x1e,
1547
- // wif: 0xe0,
1548
- // };
1549
-
1550
- // libs.bitcoin.networks.vcash = {
1551
- // messagePrefix: '\x18Vcash Signed Message:\n',
1552
- // bip32: {
1553
- // public: 0x0488b21e,
1554
- // private: 0x0488ade4,
1555
- // },
1556
- // pubKeyHash: 0x47,
1557
- // scriptHash: 0x08,
1558
- // wif: 0xc7,
1559
- // };
1560
-
1561
- // libs.bitcoin.networks.verge = {
1562
- // messagePrefix: '\x18VERGE Signed Message:\n',
1563
- // bip32: {
1564
- // public: 0x0488b21e,
1565
- // private: 0x0488ade4,
1566
- // },
1567
- // pubKeyHash: 0x1e,
1568
- // scriptHash: 0x21,
1569
- // wif: 0x9e,
1570
- // };
1571
-
1572
- // libs.bitcoin.networks.vertcoin = {
1573
- // messagePrefix: '\x18Vertcoin Signed Message:\n',
1574
- // bip32: {
1575
- // public: 0x0488b21e,
1576
- // private: 0x0488ade4,
1577
- // },
1578
- // pubKeyHash: 0x47,
1579
- // scriptHash: 0x05,
1580
- // wif: 0x80,
1581
- // };
1582
-
1583
- // libs.bitcoin.networks.vivo = {
1584
- // messagePrefix: '\x18DarkCoin Signed Message:\n',
1585
- // bip32: {
1586
- // public: 0x0488B21E,
1587
- // private: 0x0488ADE4,
1588
- // },
1589
- // pubKeyHash: 0x46,
1590
- // scriptHash: 0x0a,
1591
- // wif: 0xc6,
1592
- // };
1593
-
1594
- // libs.bitcoin.networks.vpncoin = {
1595
- // messagePrefix: '\x18VpnCoin Signed Message:\n',
1596
- // bip32: {
1597
- // public: 0x0488b21e,
1598
- // private: 0x0488ade4,
1599
- // },
1600
- // pubKeyHash: 0x47,
1601
- // scriptHash: 0x05,
1602
- // wif: 0xc7,
1603
- // };
1604
-
1605
- // libs.bitcoin.networks.whitecoin = {
1606
- // messagePrefix: '\x18Whitecoin Signed Message:\n',
1607
- // bip32: {
1608
- // public: 0x04887F1E,
1609
- // private: 0x048894ED,
1610
- // },
1611
- // pubKeyHash: 0x49,
1612
- // scriptHash: 0x57,
1613
- // wif: 0xc9,
1614
- // };
1615
-
1616
- // libs.bitcoin.networks.wincoin = {
1617
- // messagePrefix: '\x18WinCoin Signed Message:\n',
1618
- // bip32: {
1619
- // public: 0x0488b21e,
1620
- // private: 0x0488ade4,
1621
- // },
1622
- // pubKeyHash: 0x49,
1623
- // scriptHash: 0x1c,
1624
- // wif: 0xc9,
1625
- // };
1626
-
1627
- // libs.bitcoin.networks.zcash = {
1628
- // messagePrefix: '\x18Zcash Signed Message:\n',
1629
- // bip32: {
1630
- // public: 0x0488B21E,
1631
- // private: 0x0488ADE4,
1632
- // },
1633
- // pubKeyHash: 0x1CB8,
1634
- // scriptHash: 0x1CBD,
1635
- // wif: 0x80,
1636
- // };
1637
-
1638
- // libs.bitcoin.networks.xuez = {
1639
- // messagePrefix: 'unused',
1640
- // bip32: {
1641
- // public: 0x022d2533,
1642
- // private: 0x0221312b
1643
- // },
1644
- // pubKeyHash: 0x4b,
1645
- // scriptHash: 0x12,
1646
- // wif: 0xd4
1647
- // };
1648
-
1649
- // libs.bitcoin.networks.bitcoinprivate = {
1650
- // messagePrefix: '\x18BitcoinPrivate Signed Message:\n',
1651
- // bip32: {
1652
- // public: 0x0488B21E,
1653
- // private: 0x0488ADE4,
1654
- // },
1655
- // pubKeyHash: 0x1325,
1656
- // scriptHash: 0x13AF,
1657
- // wif: 0x80,
1658
- // };
1659
-
1660
- // libs.bitcoin.networks.bitcoinprivatetestnet = {
1661
- // messagePrefix: '\x18BitcoinPrivate Signed Message:\n',
1662
- // bip32: {
1663
- // public: 0x043587CF,
1664
- // private: 0x04358394,
1665
- // },
1666
- // pubKeyHash: 0x1957,
1667
- // scriptHash: 0x19E0,
1668
- // wif: 0xEF,
1669
- // };
1670
-
1671
- // libs.bitcoin.networks.bitcoinz = {
1672
- // messagePrefix: '\x18BitcoinZ Signed Message:\n',
1673
- // bip32: {
1674
- // public: 0x0488B21E,
1675
- // private: 0x0488ADE4,
1676
- // },
1677
- // pubKeyHash: 0x1CB8,
1678
- // scriptHash: 0x1CBD,
1679
- // wif: 0x80,
1680
- // };
1681
-
1682
- // libs.bitcoin.networks.hush = {
1683
- // messagePrefix: '\x18Hush Signed Message:\n',
1684
- // bip32: {
1685
- // public: 0x0488B21E,
1686
- // private: 0x0488ADE4,
1687
- // },
1688
- // pubKeyHash: 0x1CB8,
1689
- // scriptHash: 0x1CBD,
1690
- // wif: 0x80,
1691
- // };
1692
-
1693
- // libs.bitcoin.networks.hush3 = {
1694
- // messagePrefix: '\x18Hush Signed Message:\n',
1695
- // bip32: {
1696
- // public: 0x0488B21E,
1697
- // private: 0x0488ADE4,
1698
- // },
1699
- // pubKeyHash: 0x3C,
1700
- // scriptHash: 0x55,
1701
- // wif: 0xBC,
1702
- // };
1703
-
1704
- // libs.bitcoin.networks.zoobc = {
1705
- // messagePrefix: '\x18ZooBC Signed Message:\n',
1706
- // bech32: 'bc',
1707
- // bip32: {
1708
- // public: 0x0488b21e,
1709
- // private: 0x0488ade4,
1710
- // },
1711
- // pubKeyHash: 0x00,
1712
- // scriptHash: 0x05,
1713
- // wif: 0x80,
1714
- // };
1715
-
1716
- // libs.bitcoin.networks.zclassic = {
1717
- // messagePrefix: '\x18Zcash Signed Message:\n',
1718
- // bip32: {
1719
- // public: 0x0488B21E,
1720
- // private: 0x0488ADE4,
1721
- // },
1722
- // pubKeyHash: 0x1CB8,
1723
- // scriptHash: 0x1CBD,
1724
- // wif: 0x80,
1725
- // };
1726
-
1727
- // libs.bitcoin.networks.zencash = {
1728
- // messagePrefix: '\x18Zcash Signed Message:\n',
1729
- // bip32: {
1730
- // public: 0x0488B21E,
1731
- // private: 0x0488ADE4,
1732
- // },
1733
- // pubKeyHash: 0x2089,
1734
- // scriptHash: 0x2096,
1735
- // wif: 0x80,
1736
- // };
1737
-
1738
- // libs.bitcoin.networks.energi = {
1739
- // messagePrefix: 'DarkCoin Signed Message:\n',
1740
- // bip32: {
1741
- // public: 0x03B8C856,
1742
- // private: 0xD7DC6E9F,
1743
- // },
1744
- // pubKeyHash: 0x21,
1745
- // scriptHash: 0x35,
1746
- // wif: 0x6a,
1747
- // };
1748
-
1749
- // libs.bitcoin.networks.exchangecoin = {
1750
- // messagePrefix: 'ExchangeCoin Signed Message:\n',
1751
- // bip32: {
1752
- // public: 0x0488B21E,
1753
- // private: 0x0488ADE4,
1754
- // },
1755
- // pubKeyHash: 0x21B9,
1756
- // scriptHash: 0x34AF,
1757
- // wif: 0x80,
1758
- // };
1759
-
1760
- // libs.bitcoin.networks.artax = {
1761
- // messagePrefix: '\x18Artax Signed Message:\n',
1762
- // bip32: {
1763
- // public: 0x0488B21E,
1764
- // private: 0x0488ADE4,
1765
- // },
1766
- // pubKeyHash: 0x17,
1767
- // scriptHash: 0x1CBD,
1768
- // wif: 0x97,
1769
- // };
1770
-
1771
- // libs.bitcoin.networks.bitcoingreen = {
1772
- // messagePrefix: '\x18BitcoinGreen Signed Message:\n',
1773
- // bip32: {
1774
- // public: 0x0488B21E,
1775
- // private: 0x0488ADE4,
1776
- // },
1777
- // pubKeyHash: 0x26,
1778
- // scriptHash: 0x1CBD,
1779
- // wif: 0x2E,
1780
- // };
1781
-
1782
- // libs.bitcoin.networks.anon = {
1783
- // messagePrefix: '\x18ANON Signed Message:\n',
1784
- // bip32: {
1785
- // public: 0x0488b21e,
1786
- // private: 0x0488ade4
1787
- // },
1788
- // pubKeyHash: 0x0582,
1789
- // scriptHash: 0x5389,
1790
- // wif: 0x80
1791
- // };
1792
-
1793
- // libs.bitcoin.networks.projectcoin = {
1794
- // messagePrefix: '\x18ProjectCoin Signed Message:\n',
1795
- // bip32: {
1796
- // public: 0x022D2533,
1797
- // private: 0x0221312B,
1798
- // },
1799
- // pubKeyHash: 0x37,
1800
- // scriptHash: 0x08,
1801
- // wif: 0x75,
1802
- // };
1803
-
1804
- // libs.bitcoin.networks.phore = {
1805
- // messagePrefix: '\x18Phore Signed Message:\n',
1806
- // bip32: {
1807
- // public: 0x022D2533,
1808
- // private: 0x0221312B,
1809
- // },
1810
- // pubKeyHash: 0x37,
1811
- // scriptHash: 0x0D,
1812
- // wif: 0xD4,
1813
- // };
1814
-
1815
- // libs.bitcoin.networks.blocknode = {
1816
- // messagePrefix: '\x18Blocknode Signed Message:\n',
1817
- // bip32: {
1818
- // public: 0x0488b21e,
1819
- // private: 0x0488ade4
1820
- // },
1821
- // pubKeyHash: 0x19,
1822
- // scriptHash: 0x3F,
1823
- // wif: 0x4b,
1824
- // };
1825
-
1826
- // libs.bitcoin.networks.blocknode_testnet = {
1827
- // messagePrefix: '\x18Blocknode Testnet Signed Message:\n',
1828
- // bip32: {
1829
- // public: 0x043587cf,
1830
- // private: 0x04358394
1831
- // },
1832
- // pubKeyHash: 0x55,
1833
- // scriptHash: 0x7d,
1834
- // wif: 0x89,
1835
- // };
1836
-
1837
- // libs.bitcoin.networks.litecoinz = {
1838
- // messagePrefix: '\x18LitecoinZ Signed Message:\n',
1839
- // bip32: {
1840
- // public: 0x0488B21E,
1841
- // private: 0x0488ADE3,
1842
- // },
1843
- // pubKeyHash: 0x0AB3,
1844
- // scriptHash: 0x0AB8,
1845
- // wif: 0x80,
1846
- // };
1847
-
1848
- // libs.bitcoin.networks.blockstamp = {
1849
- // messagePrefix: '\x18BlockStamp Signed Message:\n',
1850
- // bip32: {
1851
- // public: 0x0488B21E,
1852
- // private: 0x0488ADE4,
1853
- // },
1854
- // pubKeyHash: 0x00,
1855
- // scriptHash: 0x05,
1856
- // wif: 0x80,
1857
- // };
1858
-
1859
- // libs.bitcoin.networks.deeponion = {
1860
- // messagePrefix: 'x18DeepOnion Signed Message:\n',
1861
- // bip32: {
1862
- // public: 0x0488B21E,
1863
- // private: 0x0488ADE4,
1864
- // },
1865
- // pubKeyHash: 0x1F,
1866
- // scriptHash: 0x4E,
1867
- // wif: 0x9F,
1868
- // };
1869
-
1870
-
1871
- // libs.bitcoin.networks.cpuchain = {
1872
- // messagePrefix: 'x18CPUchain Signed Message:\n',
1873
- // bip32: {
1874
- // public: 0x0488B21E,
1875
- // private: 0x0488ADE4,
1876
- // },
1877
- // pubKeyHash: 0x1C,
1878
- // scriptHash: 0x1E,
1879
- // wif: 0x80,
1880
- // };
1881
-
1882
- // libs.bitcoin.networks.wagerr = {
1883
- // messagePrefix: 'unused',
1884
- // bip32: {
1885
- // public: 0x022d2533,
1886
- // private: 0x0221312b
1887
- // },
1888
- // pubKeyHash: 0x49,
1889
- // scriptHash: 0x3f,
1890
- // wif: 0xc7
1891
- // };
1892
-
1893
- // libs.bitcoin.networks.bitcoinsv = {
1894
- // messagePrefix: 'unused',
1895
- // bip32: {
1896
- // public: 0x0488b21e,
1897
- // private: 0x0488ade4
1898
- // },
1899
- // pubKeyHash: 0x00,
1900
- // scriptHash: 0x05,
1901
- // wif: 0x80
1902
- // };
1903
-
1904
- // libs.bitcoin.networks.monkeyproject = {
1905
- // messagePrefix: 'Monkey Signed Message:\n',
1906
- // bip32: {
1907
- // public: 0x0488b21e,
1908
- // private: 0x0488dde4
1909
- // },
1910
- // pubKeyHash: 0x33,
1911
- // scriptHash: 0x1c,
1912
- // wif: 0x37
1913
- // };
1914
-
1915
- // libs.bitcoin.networks.rapids = {
1916
- // messagePrefix: 'DarkNet Signed Message:\n',
1917
- // bip32: {
1918
- // public: 0x0488b21e,
1919
- // private: 0x0488ade4
1920
- // },
1921
- // pubKeyHash: 0x3d,
1922
- // scriptHash: 0x06,
1923
- // wif: 0x2e
1924
- // };
1925
-
1926
- // libs.bitcoin.networks.aryacoin = {
1927
- // messagePrefix: '\x18Aryacoin Signed Message:\n',
1928
- // bech32: 'arya',
1929
- // bip32: {
1930
- // public: 0x0488B21E,
1931
- // private: 0x0488ADE4,
1932
- // },
1933
- // pubKeyHash: 0x17,
1934
- // scriptHash: 0x6f,
1935
- // wif: 0x97
1936
- // };
1937
-
1938
- // libs.bitcoin.networks.thought = {
1939
- // messagePrefix: 'unused',
1940
- // bip32: {
1941
- // public: 0xFbC6A00D,
1942
- // private: 0x5AEBD8C6
1943
- // },
1944
- // pubKeyHash: 0x07,
1945
- // scriptHash: 0x09,
1946
- // wif: 0x7B
1947
- // };
1948
-
1949
- // libs.bitcoin.networks.elastos = {
1950
- // messagePrefix: 'unused',
1951
- // bip32: {
1952
- // public: 0x0488B21E,
1953
- // private: 0x0488ADE4,
1954
- // },
1955
- // pubKeyHash: 0x21,
1956
- // scriptHash: 0xc4, // TODO set this correctly, same as BTC for now
1957
- // wif: 0xef // TODO set this correctly, same as BTC for now
1958
- // };
1959
-
1960
- // libs.bitcoin.networks.sugarchain = {
1961
- // messagePrefix: '\x18Sugarchain Signed Message:\n',
1962
- // bip32: {
1963
- // public: 0x0488B21E,
1964
- // private: 0x0488ADE4,
1965
- // },
1966
- // pubKeyHash: 0x3f,
1967
- // scriptHash: 0x7d,
1968
- // wif: 0x80
1969
- // };
1970
-
1971
- // libs.bitcoin.networks.sugarchaintestnet = {
1972
- // messagePrefix: '\x18Sugarchain Signed Message:\n',
1973
- // bip32: {
1974
- // public: 0x045f1cf6,
1975
- // private: 0x045f18bc,
1976
- // },
1977
- // pubKeyHash: 0x42,
1978
- // scriptHash: 0x80,
1979
- // wif: 0xef
1980
- // };
1981
-
1982
- // // https://github.com/libs.bitcoinjs-lib/blob/3f6f5ef97a1ee1b8337865209282c0095e22b2e7/src/networks.js
1983
- // libs.bitcoin.networks.regtest = {
1984
- // messagePrefix: '\x18Bitcoin Signed Message:\n',
1985
- // bech32: 'bcrt',
1986
- // bip32: {
1987
- // public: 0x043587cf,
1988
- // private: 0x04358394,
1989
- // },
1990
- // pubKeyHash: 0x6f,
1991
- // scriptHash: 0xc4,
1992
- // wif: 0xef,
1993
- // };
1994
-
1995
- // libs.bitcoin.networks.argoneum = {
1996
- // messagePrefix: 'unused',
1997
- // bip32: {
1998
- // public: 0x0488b21e,
1999
- // private: 0x0488ade4
2000
- // },
2001
- // pubKeyHash: 0x32,
2002
- // scriptHash: 0x61,
2003
- // wif: 0xbf
2004
- // };
2005
-
2006
- // libs.bitcoin.networks.bel = {
2007
- // messagePrefix: 'Bells Signed Message:\n',
2008
- // bech32: '',
2009
- // bip32: {
2010
- // public: 0x043587cf,
2011
- // private: 0x04358394
2012
- // },
2013
- // pubKeyHash: 25,
2014
- // scriptHash: 30,
2015
- // wif: 0x99
2016
- // };
2017
-
47
+ const seed = bip39.mnemonicToSeedSync(phrase);
48
+ const rootNode = bip32.fromSeed(seed, mainnet);
49
+
50
+ // we know first one is the taproot input
51
+ const childNodeXOnlyPubkey = rootNode.publicKey.slice(1);
52
+ const p2tr = bitcoin.payments.p2tr({
53
+ internalPubkey: childNodeXOnlyPubkey,
54
+ network: mainnet,
55
+ });
56
+
57
+ const tweakedSigner = rootNode.tweak(
58
+ bitcoin.crypto.taggedHash("TapTweak", childNodeXOnlyPubkey)
59
+ );
60
+
61
+ psbt.addInput({
62
+ hash: "0000000000000000000000000000000000000000000000000000000000000000",
63
+ index: 0,
64
+ witnessUtxo: {
65
+ script: p2tr.output || Buffer.alloc(0),
66
+ value: 1000,
67
+ },
68
+ tapInternalKey: childNodeXOnlyPubkey,
69
+ });
70
+
71
+ // and the rest are p2sh inputs
72
+ const p2wpkh = bitcoin.payments.p2wpkh({
73
+ pubkey: rootNode.publicKey,
74
+ network: mainnet,
75
+ });
76
+ const p2sh = bitcoin.payments.p2sh({ redeem: p2wpkh, network: mainnet });
77
+
78
+ for (let i = 1; i < parsedPsbt.inputCount; i++) {
79
+ psbt.addInput({
80
+ hash: "0000000000000000000000000000000000000000000000000000000000000000",
81
+ index: i,
82
+ witnessUtxo: {
83
+ script: p2tr.output || Buffer.alloc(0),
84
+ value: 100000,
85
+ },
86
+ redeemScript: p2sh.redeem?.output,
87
+ });
88
+ }
89
+ const address = parsedPsbt.txOutputs[0]?.address;
90
+ if (!address) {
91
+ throw new Error("Address is undefined");
92
+ }
93
+
94
+ psbt.addOutput({
95
+ address,
96
+ value: 1000,
97
+ });
98
+
99
+ psbt.addOutput({
100
+ script: p2sh.output || Buffer.alloc(0),
101
+ value: 10000,
102
+ });
103
+
104
+ // sign inputs
105
+ psbt.signInput(0, tweakedSigner);
106
+ for (let i = 1; i < psbt.inputCount; i++) {
107
+ psbt.signInput(i, rootNode);
108
+ }
109
+
110
+ psbt.finalizeAllInputs();
111
+
112
+ return psbt.extractTransaction().virtualSize();
113
+ };