mainnet-js 2.4.3 → 2.6.0

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.
Files changed (114) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/{mainnet-2.4.3.js → mainnet-2.6.0.js} +533 -553
  3. package/dist/module/cli.js.map +1 -1
  4. package/dist/module/config.js +9 -9
  5. package/dist/module/config.js.map +1 -1
  6. package/dist/module/db/ExchangeRateProvider.js.map +1 -1
  7. package/dist/module/enum.d.ts +1 -1
  8. package/dist/module/enum.d.ts.map +1 -1
  9. package/dist/module/history/electrumTransformer.d.ts +5 -5
  10. package/dist/module/history/electrumTransformer.d.ts.map +1 -1
  11. package/dist/module/history/electrumTransformer.js +9 -3
  12. package/dist/module/history/electrumTransformer.js.map +1 -1
  13. package/dist/module/interface.d.ts +2 -2
  14. package/dist/module/interface.d.ts.map +1 -1
  15. package/dist/module/message/signed.d.ts.map +1 -1
  16. package/dist/module/message/signed.js +5 -1
  17. package/dist/module/message/signed.js.map +1 -1
  18. package/dist/module/mine/mine.js.map +1 -1
  19. package/dist/module/network/Connection.js.map +1 -1
  20. package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -1
  21. package/dist/module/network/ElectrumNetworkProvider.js +2 -2
  22. package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
  23. package/dist/module/network/configuration.js +5 -5
  24. package/dist/module/network/configuration.js.map +1 -1
  25. package/dist/module/network/default.js.map +1 -1
  26. package/dist/module/network/getRelayFeeCache.js.map +1 -1
  27. package/dist/module/network/util.js.map +1 -1
  28. package/dist/module/rate/ExchangeRate.js.map +1 -1
  29. package/dist/module/test/expect.d.ts.map +1 -1
  30. package/dist/module/test/expect.js.map +1 -1
  31. package/dist/module/test/fetch.d.ts.map +1 -1
  32. package/dist/module/test/fetch.js +3 -0
  33. package/dist/module/test/fetch.js.map +1 -1
  34. package/dist/module/transaction/Wif.d.ts +1 -1
  35. package/dist/module/transaction/Wif.d.ts.map +1 -1
  36. package/dist/module/transaction/Wif.js +1 -1
  37. package/dist/module/transaction/Wif.js.map +1 -1
  38. package/dist/module/transaction/allocateFee.js.map +1 -1
  39. package/dist/module/util/amountInSatoshi.js.map +1 -1
  40. package/dist/module/util/asSendRequestObject.js +4 -4
  41. package/dist/module/util/asSendRequestObject.js.map +1 -1
  42. package/dist/module/util/balanceObjectFromSatoshi.js.map +1 -1
  43. package/dist/module/util/base64.js.map +1 -1
  44. package/dist/module/util/browserNotSupported.js.map +1 -1
  45. package/dist/module/util/checkUtxos.js.map +1 -1
  46. package/dist/module/util/checkWifNetwork.js.map +1 -1
  47. package/dist/module/util/deriveCashaddr.d.ts.map +1 -1
  48. package/dist/module/util/deriveCashaddr.js +20 -4
  49. package/dist/module/util/deriveCashaddr.js.map +1 -1
  50. package/dist/module/util/deriveNetwork.d.ts +1 -1
  51. package/dist/module/util/deriveNetwork.d.ts.map +1 -1
  52. package/dist/module/util/deriveNetwork.js.map +1 -1
  53. package/dist/module/util/derivePublicKeyHash.js.map +1 -1
  54. package/dist/module/util/eventsource.js.map +1 -1
  55. package/dist/module/util/getAddrsByXpubKey.d.ts +9 -1
  56. package/dist/module/util/getAddrsByXpubKey.d.ts.map +1 -1
  57. package/dist/module/util/getAddrsByXpubKey.js +23 -24
  58. package/dist/module/util/getAddrsByXpubKey.js.map +1 -1
  59. package/dist/module/util/getRuntimePlatform.js.map +1 -1
  60. package/dist/module/util/getXPubKey.d.ts.map +1 -1
  61. package/dist/module/util/getXPubKey.js +7 -5
  62. package/dist/module/util/getXPubKey.js.map +1 -1
  63. package/dist/module/util/header.d.ts.map +1 -1
  64. package/dist/module/util/header.js +8 -7
  65. package/dist/module/util/header.js.map +1 -1
  66. package/dist/module/util/randomBytes.d.ts +0 -1
  67. package/dist/module/util/randomBytes.d.ts.map +1 -1
  68. package/dist/module/util/randomBytes.js.map +1 -1
  69. package/dist/module/util/sanitizeAddress.js.map +1 -1
  70. package/dist/module/util/sanitizeUnit.js.map +1 -1
  71. package/dist/module/util/satoshiToAmount.js.map +1 -1
  72. package/dist/module/util/sumSendRequestAmounts.js.map +1 -1
  73. package/dist/module/util/sumUtxoValue.js.map +1 -1
  74. package/dist/module/wallet/Base.js +18 -18
  75. package/dist/module/wallet/Base.js.map +1 -1
  76. package/dist/module/wallet/Bcmr.d.ts +1 -1
  77. package/dist/module/wallet/Bcmr.d.ts.map +1 -1
  78. package/dist/module/wallet/Bcmr.js +2 -2
  79. package/dist/module/wallet/Bcmr.js.map +1 -1
  80. package/dist/module/wallet/Util.d.ts.map +1 -1
  81. package/dist/module/wallet/Util.js +13 -5
  82. package/dist/module/wallet/Util.js.map +1 -1
  83. package/dist/module/wallet/Wif.d.ts.map +1 -1
  84. package/dist/module/wallet/Wif.js +80 -73
  85. package/dist/module/wallet/Wif.js.map +1 -1
  86. package/dist/module/wallet/bcmr-v2.schema.d.ts +14 -14
  87. package/dist/module/wallet/bcmr-v2.schema.d.ts.map +1 -1
  88. package/dist/module/wallet/createWallet.js.map +1 -1
  89. package/dist/module/wallet/interface.d.ts +1 -1
  90. package/dist/module/wallet/interface.d.ts.map +1 -1
  91. package/dist/module/wallet/model.d.ts +8 -18
  92. package/dist/module/wallet/model.d.ts.map +1 -1
  93. package/dist/module/wallet/model.js +6 -24
  94. package/dist/module/wallet/model.js.map +1 -1
  95. package/dist/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +3 -3
  97. package/polyfill/support/types.js +0 -4
  98. package/src/history/electrumTransformer.test.ts +1 -1
  99. package/src/history/electrumTransformer.ts +13 -8
  100. package/src/message/signed.ts +5 -4
  101. package/src/rate/ExchangeRate.test.ts +15 -17
  102. package/src/test/fetch.ts +4 -0
  103. package/src/util/asSendRequestObject.ts +6 -6
  104. package/src/util/deriveCashaddr.ts +21 -16
  105. package/src/util/getAddrsByXpubKey.test.ts +4 -4
  106. package/src/util/getAddrsByXpubKey.ts +23 -30
  107. package/src/util/getXPubKey.ts +13 -8
  108. package/src/util/header.ts +8 -7
  109. package/src/wallet/Util.ts +17 -4
  110. package/src/wallet/Wif.bip39.test.ts +1 -1
  111. package/src/wallet/Wif.test.ts +9 -6
  112. package/src/wallet/Wif.ts +51 -46
  113. package/src/wallet/model.ts +12 -30
  114. package/webpack.config.cjs +0 -3
@@ -1,6 +1,6 @@
1
1
  //#region Imports
2
2
  // Stable
3
- import { decodeCashAddress, encodeHdPublicKey, secp256k1, } from "@bitauth/libauth";
3
+ import { decodeCashAddress, encodeHdPublicKey, hexToBin, secp256k1, } from "@bitauth/libauth";
4
4
  // Unstable?
5
5
  import { binToHex, CashAddressNetworkPrefix, CashAddressType, deriveHdPublicNode, decodePrivateKeyWif, encodeCashAddress, encodePrivateKeyWif, deriveHdPrivateNodeFromSeed, deriveHdPath, generatePrivateKey, } from "@bitauth/libauth";
6
6
  import { mnemonicToSeedSync, generateMnemonic } from "@scure/bip39";
@@ -34,30 +34,13 @@ import { qrAddress } from "../qr/Qr.js";
34
34
  import { Config } from "../config.js";
35
35
  import { checkUtxos } from "../util/checkUtxos.js";
36
36
  //#endregion Imports
37
+ const placeholderPrivateKey = "0000000000000000000000000000000000000000000000000000000000000001";
37
38
  /**
38
39
  * Class to manage a bitcoin cash wallet.
39
40
  */
40
41
  export class Wallet extends BaseWallet {
41
- //#endregion
42
- //#region Constructors and Statics
43
- constructor(name = "", network = NetworkType.Mainnet, walletType = WalletTypeEnum.Seed) {
44
- super(name, network, walletType);
45
- this.derivationPath = Config.DefaultParentDerivationPath + "/0/0";
46
- this.parentDerivationPath = Config.DefaultParentDerivationPath;
47
- this._slpSemiAware = false; // a flag which requires an utxo to have more than 546 sats to be spendable and counted in the balance
48
- this.fromId = async (walletId) => {
49
- let [walletType, networkGiven, arg1] = walletId.split(":");
50
- if (this.network != networkGiven) {
51
- throw Error(`Network prefix ${networkGiven} to a ${this.network} wallet`);
52
- }
53
- // "wif:regtest:cNfsPtqN2bMRS7vH5qd8tR8GMvgXyL5BjnGAKgZ8DYEiCrCCQcP6"
54
- if (walletType === "wif") {
55
- return this.fromWIF(arg1);
56
- }
57
- return super.fromId(walletId);
58
- };
59
- this.networkPrefix = prefixFromNetworkMap[this.network];
60
- }
42
+ static { this.networkPrefix = CashAddressNetworkPrefix.mainnet; }
43
+ static { this.signedMessage = new SignedMessage(); }
61
44
  //#region Accessors
62
45
  // interface to util functions. see Util.ts
63
46
  get util() {
@@ -158,6 +141,26 @@ export class Wallet extends BaseWallet {
158
141
  throw Error("The public key hash for this wallet is not known. If this wallet was created from the constructor directly, calling the deriveInfo() function may help. ");
159
142
  }
160
143
  }
144
+ //#endregion
145
+ //#region Constructors and Statics
146
+ constructor(name = "", network = NetworkType.Mainnet, walletType = WalletTypeEnum.Seed) {
147
+ super(name, network, walletType);
148
+ this.derivationPath = Config.DefaultParentDerivationPath + "/0/0";
149
+ this.parentDerivationPath = Config.DefaultParentDerivationPath;
150
+ this._slpSemiAware = false; // a flag which requires an utxo to have more than 546 sats to be spendable and counted in the balance
151
+ this.fromId = async (walletId) => {
152
+ const [walletType, networkGiven, arg1] = walletId.split(":");
153
+ if (this.network != networkGiven) {
154
+ throw Error(`Network prefix ${networkGiven} to a ${this.network} wallet`);
155
+ }
156
+ // "wif:regtest:cNfsPtqN2bMRS7vH5qd8tR8GMvgXyL5BjnGAKgZ8DYEiCrCCQcP6"
157
+ if (walletType === "wif") {
158
+ return this.fromWIF(arg1);
159
+ }
160
+ return super.fromId(walletId);
161
+ };
162
+ this.networkPrefix = prefixFromNetworkMap[this.network];
163
+ }
161
164
  /**
162
165
  * fromWIF - create a wallet using the private key supplied in `Wallet Import Format`
163
166
  *
@@ -228,15 +231,15 @@ export class Wallet extends BaseWallet {
228
231
  this.mnemonic = generateMnemonic(Config.getWordlist());
229
232
  if (this.mnemonic.length == 0)
230
233
  throw Error("refusing to create wallet from empty mnemonic");
231
- let seed = mnemonicToSeedSync(this.mnemonic);
234
+ const seed = mnemonicToSeedSync(this.mnemonic);
232
235
  checkForEmptySeed(seed);
233
- let network = this.isTestnet ? "testnet" : "mainnet";
234
- this.parentXPubKey = await getXPubKey(seed, this.parentDerivationPath, network);
235
- let hdNode = deriveHdPrivateNodeFromSeed(seed);
236
- if (!hdNode.valid) {
237
- throw Error("Invalid private key derived from mnemonic seed");
238
- }
239
- let zerothChild = deriveHdPath(hdNode, this.derivationPath);
236
+ const network = this.isTestnet ? "testnet" : "mainnet";
237
+ this.parentXPubKey = getXPubKey(seed, this.parentDerivationPath, network);
238
+ const hdNode = deriveHdPrivateNodeFromSeed(seed, {
239
+ assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
240
+ throwErrors: true,
241
+ });
242
+ const zerothChild = deriveHdPath(hdNode, this.derivationPath);
240
243
  if (typeof zerothChild === "string") {
241
244
  throw Error(zerothChild);
242
245
  }
@@ -263,26 +266,26 @@ export class Wallet extends BaseWallet {
263
266
  this.mnemonic = mnemonic.trim().toLowerCase();
264
267
  if (this.mnemonic.length == 0)
265
268
  throw Error("refusing to create wallet from empty mnemonic");
266
- let seed = mnemonicToSeedSync(this.mnemonic);
269
+ const seed = mnemonicToSeedSync(this.mnemonic);
267
270
  checkForEmptySeed(seed);
268
- let hdNode = deriveHdPrivateNodeFromSeed(seed);
269
- if (!hdNode.valid) {
270
- throw Error("Invalid private key derived from mnemonic seed");
271
- }
271
+ const hdNode = deriveHdPrivateNodeFromSeed(seed, {
272
+ assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
273
+ throwErrors: true,
274
+ });
272
275
  if (derivationPath) {
273
276
  this.derivationPath = derivationPath;
274
277
  // If the derivation path is for the first account child, set the parent derivation path
275
- let path = derivationPath.split("/");
278
+ const path = derivationPath.split("/");
276
279
  if (path.slice(-2).join("/") == "0/0") {
277
280
  this.parentDerivationPath = path.slice(0, -2).join("/");
278
281
  }
279
282
  }
280
- let zerothChild = deriveHdPath(hdNode, this.derivationPath);
283
+ const zerothChild = deriveHdPath(hdNode, this.derivationPath);
281
284
  if (typeof zerothChild === "string") {
282
285
  throw Error(zerothChild);
283
286
  }
284
287
  this.privateKey = zerothChild.privateKey;
285
- let network = this.isTestnet ? "testnet" : "mainnet";
288
+ const network = this.isTestnet ? "testnet" : "mainnet";
286
289
  this.parentXPubKey = await getXPubKey(seed, this.parentDerivationPath, network);
287
290
  this.walletType = WalletTypeEnum.Seed;
288
291
  await this.deriveInfo();
@@ -292,30 +295,32 @@ export class Wallet extends BaseWallet {
292
295
  async deriveHdPaths(hdPaths) {
293
296
  if (!this.mnemonic)
294
297
  throw Error("refusing to create wallet from empty mnemonic");
295
- let seed = mnemonicToSeedSync(this.mnemonic);
298
+ const seed = mnemonicToSeedSync(this.mnemonic);
296
299
  checkForEmptySeed(seed);
297
- let hdNode = deriveHdPrivateNodeFromSeed(seed);
298
- if (!hdNode.valid) {
299
- throw Error("Invalid private key derived from mnemonic seed");
300
- }
301
- let result = [];
300
+ const hdNode = deriveHdPrivateNodeFromSeed(seed, {
301
+ assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
302
+ throwErrors: true,
303
+ });
304
+ const result = [];
302
305
  for (const path of hdPaths) {
303
306
  if (path === "m") {
304
307
  throw Error("Storing or sharing of parent public key may lead to loss of funds. Storing or sharing *root* parent public keys is strongly discouraged, although all parent keys have risk. See: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#implications");
305
308
  }
306
- let childNode = deriveHdPath(hdNode, path);
309
+ const childNode = deriveHdPath(hdNode, path);
307
310
  if (typeof childNode === "string") {
308
311
  throw Error(childNode);
309
312
  }
310
- let node = deriveHdPublicNode(childNode);
313
+ const node = deriveHdPublicNode(childNode);
311
314
  if (typeof node === "string") {
312
315
  throw Error(node);
313
316
  }
314
- let xPubKey = encodeHdPublicKey({
317
+ const xPubKey = encodeHdPublicKey({
315
318
  network: this.network,
316
319
  node: node,
317
- });
318
- let key = new XPubKey({
320
+ }, {
321
+ throwErrors: true,
322
+ }).hdPublicKey;
323
+ const key = new XPubKey({
319
324
  path: path,
320
325
  xPubKey: xPubKey,
321
326
  });
@@ -328,7 +333,7 @@ export class Wallet extends BaseWallet {
328
333
  // Initialize a watch only wallet from a cash addr
329
334
  async watchOnly(address) {
330
335
  this.walletType = WalletTypeEnum.Watch;
331
- let addressComponents = address.split(":");
336
+ const addressComponents = address.split(":");
332
337
  let addressPrefix, addressBase;
333
338
  if (addressComponents.length === 1) {
334
339
  addressBase = addressComponents.shift();
@@ -339,13 +344,13 @@ export class Wallet extends BaseWallet {
339
344
  addressBase = addressComponents.shift();
340
345
  if (addressPrefix in networkPrefixMap) {
341
346
  if (networkPrefixMap[addressPrefix] != this.network) {
342
- throw Error(`a ${addressPrefix} address cannot be watched from a ${this.network} Wallet`);
347
+ throw Error(`a ${addressPrefix} address cannot be watched from a ${this.network} Walconst`);
343
348
  }
344
349
  }
345
350
  }
346
351
  const prefixedAddress = `${addressPrefix}:${addressBase}`;
347
352
  // check if a token aware address was provided
348
- let addressData = decodeCashAddress(prefixedAddress);
353
+ const addressData = decodeCashAddress(prefixedAddress);
349
354
  if (typeof addressData === "string")
350
355
  throw addressData;
351
356
  this.publicKeyHash = addressData.payload;
@@ -356,7 +361,11 @@ export class Wallet extends BaseWallet {
356
361
  nonTokenAwareType = CashAddressType.p2sh;
357
362
  if (nonTokenAwareType == CashAddressType.p2pkh)
358
363
  this.publicKeyHash = addressData.payload;
359
- this.cashaddr = encodeCashAddress(addressData.prefix, nonTokenAwareType, addressData.payload);
364
+ this.cashaddr = encodeCashAddress({
365
+ prefix: addressData.prefix,
366
+ type: nonTokenAwareType,
367
+ payload: addressData.payload,
368
+ }).address;
360
369
  this.address = this.cashaddr;
361
370
  this.tokenaddr = deriveTokenaddr(addressData.payload, this.networkPrefix);
362
371
  return this;
@@ -593,7 +602,7 @@ export class Wallet extends BaseWallet {
593
602
  const fee = await getFeeAmountSimple({
594
603
  utxos: fundingUtxos,
595
604
  sendRequests: sendRequests,
596
- privateKey: this.privateKey ?? Uint8Array.from([]),
605
+ privateKey: this.privateKey ?? hexToBin(placeholderPrivateKey),
597
606
  sourceAddress: this.cashaddr,
598
607
  relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
599
608
  feePaidBy: feePaidBy,
@@ -807,7 +816,7 @@ export class Wallet extends BaseWallet {
807
816
  const feeEstimate = await getFeeAmountSimple({
808
817
  utxos: utxos,
809
818
  sendRequests: sendRequests,
810
- privateKey: this.privateKey ?? Uint8Array.from([]),
819
+ privateKey: this.privateKey ?? hexToBin(placeholderPrivateKey),
811
820
  sourceAddress: this.cashaddr,
812
821
  relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
813
822
  feePaidBy: feePaidBy,
@@ -819,7 +828,7 @@ export class Wallet extends BaseWallet {
819
828
  const fee = await getFeeAmount({
820
829
  utxos: fundingUtxos,
821
830
  sendRequests: sendRequests,
822
- privateKey: this.privateKey ?? Uint8Array.from([]),
831
+ privateKey: this.privateKey ?? hexToBin(placeholderPrivateKey),
823
832
  sourceAddress: this.cashaddr,
824
833
  relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
825
834
  feePaidBy: feePaidBy,
@@ -827,7 +836,7 @@ export class Wallet extends BaseWallet {
827
836
  const { encodedTransaction, sourceOutputs } = await buildEncodedTransaction({
828
837
  inputs: fundingUtxos,
829
838
  outputs: sendRequests,
830
- signingKey: this.privateKey ?? Uint8Array.from([]),
839
+ signingKey: this.privateKey ?? hexToBin(placeholderPrivateKey),
831
840
  sourceAddress: this.cashaddr,
832
841
  fee,
833
842
  discardChange,
@@ -1265,12 +1274,12 @@ export class Wallet extends BaseWallet {
1265
1274
  return result;
1266
1275
  }
1267
1276
  }
1268
- Wallet.networkPrefix = CashAddressNetworkPrefix.mainnet;
1269
- Wallet.signedMessage = new SignedMessage();
1270
1277
  /**
1271
1278
  * Class to manage a testnet wallet.
1272
1279
  */
1273
1280
  export class TestNetWallet extends Wallet {
1281
+ static { this.networkPrefix = CashAddressNetworkPrefix.testnet; }
1282
+ static { this.faucetServer = "https://rest-unstable.mainnet.cash"; }
1274
1283
  constructor(name = "") {
1275
1284
  super(name, NetworkType.Testnet);
1276
1285
  }
@@ -1279,12 +1288,11 @@ export class TestNetWallet extends Wallet {
1279
1288
  return TestNetUtil;
1280
1289
  }
1281
1290
  }
1282
- TestNetWallet.networkPrefix = CashAddressNetworkPrefix.testnet;
1283
- TestNetWallet.faucetServer = "https://rest-unstable.mainnet.cash";
1284
1291
  /**
1285
1292
  * Class to manage a regtest wallet.
1286
1293
  */
1287
1294
  export class RegTestWallet extends Wallet {
1295
+ static { this.networkPrefix = CashAddressNetworkPrefix.regtest; }
1288
1296
  constructor(name = "") {
1289
1297
  super(name, NetworkType.Regtest);
1290
1298
  }
@@ -1293,11 +1301,12 @@ export class RegTestWallet extends Wallet {
1293
1301
  return RegTestUtil;
1294
1302
  }
1295
1303
  }
1296
- RegTestWallet.networkPrefix = CashAddressNetworkPrefix.regtest;
1297
1304
  /**
1298
1305
  * Class to manage a bitcoin cash wif wallet.
1299
1306
  */
1300
1307
  export class WifWallet extends Wallet {
1308
+ static { this.networkPrefix = CashAddressNetworkPrefix.mainnet; }
1309
+ static { this.walletType = WalletTypeEnum.Wif; }
1301
1310
  constructor(name = "") {
1302
1311
  super(name, NetworkType.Mainnet, WalletTypeEnum.Wif);
1303
1312
  }
@@ -1306,12 +1315,12 @@ export class WifWallet extends Wallet {
1306
1315
  return WifUtil;
1307
1316
  }
1308
1317
  }
1309
- WifWallet.networkPrefix = CashAddressNetworkPrefix.mainnet;
1310
- WifWallet.walletType = WalletTypeEnum.Wif;
1311
1318
  /**
1312
1319
  * Class to manage a testnet wif wallet.
1313
1320
  */
1314
1321
  export class TestNetWifWallet extends Wallet {
1322
+ static { this.networkPrefix = CashAddressNetworkPrefix.testnet; }
1323
+ static { this.walletType = WalletTypeEnum.Wif; }
1315
1324
  constructor(name = "") {
1316
1325
  super(name, NetworkType.Testnet, WalletTypeEnum.Wif);
1317
1326
  }
@@ -1320,12 +1329,12 @@ export class TestNetWifWallet extends Wallet {
1320
1329
  return TestNetWifUtil;
1321
1330
  }
1322
1331
  }
1323
- TestNetWifWallet.networkPrefix = CashAddressNetworkPrefix.testnet;
1324
- TestNetWifWallet.walletType = WalletTypeEnum.Wif;
1325
1332
  /**
1326
1333
  * Class to manage a regtest wif wallet.
1327
1334
  */
1328
1335
  export class RegTestWifWallet extends Wallet {
1336
+ static { this.networkPrefix = CashAddressNetworkPrefix.regtest; }
1337
+ static { this.walletType = WalletTypeEnum.Wif; }
1329
1338
  constructor(name = "") {
1330
1339
  super(name, NetworkType.Regtest, WalletTypeEnum.Wif);
1331
1340
  }
@@ -1334,12 +1343,12 @@ export class RegTestWifWallet extends Wallet {
1334
1343
  return RegTestWifUtil;
1335
1344
  }
1336
1345
  }
1337
- RegTestWifWallet.networkPrefix = CashAddressNetworkPrefix.regtest;
1338
- RegTestWifWallet.walletType = WalletTypeEnum.Wif;
1339
1346
  /**
1340
1347
  * Class to manage a bitcoin cash watch wallet.
1341
1348
  */
1342
1349
  export class WatchWallet extends Wallet {
1350
+ static { this.networkPrefix = CashAddressNetworkPrefix.mainnet; }
1351
+ static { this.walletType = WalletTypeEnum.Watch; }
1343
1352
  constructor(name = "") {
1344
1353
  super(name, NetworkType.Mainnet, WalletTypeEnum.Watch);
1345
1354
  }
@@ -1348,12 +1357,12 @@ export class WatchWallet extends Wallet {
1348
1357
  return WatchUtil;
1349
1358
  }
1350
1359
  }
1351
- WatchWallet.networkPrefix = CashAddressNetworkPrefix.mainnet;
1352
- WatchWallet.walletType = WalletTypeEnum.Watch;
1353
1360
  /**
1354
1361
  * Class to manage a testnet watch wallet.
1355
1362
  */
1356
1363
  export class TestNetWatchWallet extends Wallet {
1364
+ static { this.networkPrefix = CashAddressNetworkPrefix.testnet; }
1365
+ static { this.walletType = WalletTypeEnum.Watch; }
1357
1366
  constructor(name = "") {
1358
1367
  super(name, NetworkType.Testnet, WalletTypeEnum.Watch);
1359
1368
  }
@@ -1362,12 +1371,12 @@ export class TestNetWatchWallet extends Wallet {
1362
1371
  return TestNetWatchUtil;
1363
1372
  }
1364
1373
  }
1365
- TestNetWatchWallet.networkPrefix = CashAddressNetworkPrefix.testnet;
1366
- TestNetWatchWallet.walletType = WalletTypeEnum.Watch;
1367
1374
  /**
1368
1375
  * Class to manage a regtest watch wallet.
1369
1376
  */
1370
1377
  export class RegTestWatchWallet extends Wallet {
1378
+ static { this.networkPrefix = CashAddressNetworkPrefix.regtest; }
1379
+ static { this.walletType = WalletTypeEnum.Watch; }
1371
1380
  constructor(name = "") {
1372
1381
  super(name, NetworkType.Regtest, WalletTypeEnum.Watch);
1373
1382
  }
@@ -1376,6 +1385,4 @@ export class RegTestWatchWallet extends Wallet {
1376
1385
  return RegTestWatchUtil;
1377
1386
  }
1378
1387
  }
1379
- RegTestWatchWallet.networkPrefix = CashAddressNetworkPrefix.regtest;
1380
- RegTestWatchWallet.walletType = WalletTypeEnum.Watch;
1381
1388
  //# sourceMappingURL=Wif.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"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"}