mainnet-js 3.0.0-next.0 → 3.0.0-next.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.
Files changed (127) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/{mainnet-3.0.0-next.0.js → mainnet-3.0.0-next.2.js} +21 -41
  3. package/dist/module/cache/walletCache.d.ts +10 -4
  4. package/dist/module/cache/walletCache.d.ts.map +1 -1
  5. package/dist/module/cache/walletCache.js +12 -13
  6. package/dist/module/cache/walletCache.js.map +1 -1
  7. package/dist/module/chain.d.ts +1 -1
  8. package/dist/module/chain.js +1 -1
  9. package/dist/module/chain.js.map +1 -1
  10. package/dist/module/constant.d.ts +1 -1
  11. package/dist/module/constant.d.ts.map +1 -1
  12. package/dist/module/constant.js +1 -1
  13. package/dist/module/constant.js.map +1 -1
  14. package/dist/module/enum.d.ts +1 -7
  15. package/dist/module/enum.d.ts.map +1 -1
  16. package/dist/module/enum.js +0 -6
  17. package/dist/module/enum.js.map +1 -1
  18. package/dist/module/history/getHistory.d.ts.map +1 -1
  19. package/dist/module/history/getHistory.js +17 -47
  20. package/dist/module/history/getHistory.js.map +1 -1
  21. package/dist/module/history/interface.d.ts +1 -1
  22. package/dist/module/history/interface.d.ts.map +1 -1
  23. package/dist/module/interface.d.ts +6 -5
  24. package/dist/module/interface.d.ts.map +1 -1
  25. package/dist/module/interface.js.map +1 -1
  26. package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -1
  27. package/dist/module/network/ElectrumNetworkProvider.js +2 -4
  28. package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
  29. package/dist/module/network/getRelayFeeCache.js +2 -2
  30. package/dist/module/network/getRelayFeeCache.js.map +1 -1
  31. package/dist/module/network/interface.d.ts +2 -2
  32. package/dist/module/network/interface.d.ts.map +1 -1
  33. package/dist/module/rate/ExchangeRate.d.ts +2 -1
  34. package/dist/module/rate/ExchangeRate.d.ts.map +1 -1
  35. package/dist/module/rate/ExchangeRate.js +4 -1
  36. package/dist/module/rate/ExchangeRate.js.map +1 -1
  37. package/dist/module/transaction/Wif.d.ts +9 -9
  38. package/dist/module/transaction/Wif.d.ts.map +1 -1
  39. package/dist/module/transaction/Wif.js +35 -35
  40. package/dist/module/transaction/Wif.js.map +1 -1
  41. package/dist/module/transaction/allocateFee.d.ts +3 -3
  42. package/dist/module/transaction/allocateFee.d.ts.map +1 -1
  43. package/dist/module/transaction/allocateFee.js +5 -6
  44. package/dist/module/transaction/allocateFee.js.map +1 -1
  45. package/dist/module/util/amountInSatoshi.d.ts +1 -1
  46. package/dist/module/util/amountInSatoshi.d.ts.map +1 -1
  47. package/dist/module/util/amountInSatoshi.js +3 -9
  48. package/dist/module/util/amountInSatoshi.js.map +1 -1
  49. package/dist/module/util/asSendRequestObject.d.ts.map +1 -1
  50. package/dist/module/util/asSendRequestObject.js +10 -7
  51. package/dist/module/util/asSendRequestObject.js.map +1 -1
  52. package/dist/module/util/convert.d.ts +3 -0
  53. package/dist/module/util/convert.d.ts.map +1 -1
  54. package/dist/module/util/convert.js +12 -0
  55. package/dist/module/util/convert.js.map +1 -1
  56. package/dist/module/util/index.d.ts +2 -3
  57. package/dist/module/util/index.d.ts.map +1 -1
  58. package/dist/module/util/index.js +2 -3
  59. package/dist/module/util/index.js.map +1 -1
  60. package/dist/module/util/satoshiToAmount.d.ts +1 -1
  61. package/dist/module/util/satoshiToAmount.d.ts.map +1 -1
  62. package/dist/module/util/satoshiToAmount.js +3 -9
  63. package/dist/module/util/satoshiToAmount.js.map +1 -1
  64. package/dist/module/util/sumSendRequestAmounts.d.ts.map +1 -1
  65. package/dist/module/util/sumSendRequestAmounts.js +3 -4
  66. package/dist/module/util/sumSendRequestAmounts.js.map +1 -1
  67. package/dist/module/util/sumUtxoValue.d.ts +1 -1
  68. package/dist/module/util/sumUtxoValue.js +3 -3
  69. package/dist/module/util/sumUtxoValue.js.map +1 -1
  70. package/dist/module/wallet/Base.d.ts +28 -30
  71. package/dist/module/wallet/Base.d.ts.map +1 -1
  72. package/dist/module/wallet/Base.js +82 -119
  73. package/dist/module/wallet/Base.js.map +1 -1
  74. package/dist/module/wallet/HDWallet.d.ts +1 -1
  75. package/dist/module/wallet/Util.js +1 -1
  76. package/dist/module/wallet/Util.js.map +1 -1
  77. package/dist/module/wallet/Wif.d.ts +1 -1
  78. package/dist/module/wallet/interface.d.ts +2 -3
  79. package/dist/module/wallet/interface.d.ts.map +1 -1
  80. package/dist/module/wallet/model.d.ts +53 -41
  81. package/dist/module/wallet/model.d.ts.map +1 -1
  82. package/dist/module/wallet/model.js +14 -22
  83. package/dist/module/wallet/model.js.map +1 -1
  84. package/dist/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +1 -1
  86. package/src/cache/walletCache.ts +23 -36
  87. package/src/chain.ts +1 -1
  88. package/src/constant.ts +1 -1
  89. package/src/enum.ts +0 -6
  90. package/src/history/getHistory.test.ts +20 -34
  91. package/src/history/getHistory.ts +17 -49
  92. package/src/history/interface.ts +1 -1
  93. package/src/interface.ts +6 -5
  94. package/src/network/Connection.test.ts +3 -3
  95. package/src/network/ElectrumNetworkProvider.ts +2 -4
  96. package/src/network/Rpc.test.ts +2 -3
  97. package/src/network/getRelayFeeCache.ts +2 -2
  98. package/src/network/interface.ts +2 -2
  99. package/src/rate/ExchangeRate.test.ts +2 -44
  100. package/src/rate/ExchangeRate.ts +5 -2
  101. package/src/transaction/Wif.ts +50 -45
  102. package/src/transaction/allocateFee.test.ts +110 -131
  103. package/src/transaction/allocateFee.ts +14 -15
  104. package/src/util/amountInSatoshi.test.ts +1 -9
  105. package/src/util/amountInSatoshi.ts +6 -10
  106. package/src/util/asSendRequestObject.ts +12 -7
  107. package/src/util/convert.ts +18 -0
  108. package/src/util/index.ts +2 -7
  109. package/src/util/satoshiToAmount.test.ts +1 -1
  110. package/src/util/satoshiToAmount.ts +4 -10
  111. package/src/util/sumSendRequestAmounts.ts +3 -4
  112. package/src/util/sumUtxoValue.ts +4 -4
  113. package/src/wallet/Base.ts +95 -164
  114. package/src/wallet/Cashtokens.test.headless.js +228 -173
  115. package/src/wallet/Cashtokens.test.ts +506 -406
  116. package/src/wallet/HDWallet.test.ts +223 -68
  117. package/src/wallet/Util.ts +1 -1
  118. package/src/wallet/Wif.test.ts +108 -133
  119. package/src/wallet/interface.ts +2 -3
  120. package/src/wallet/model.test.ts +2 -5
  121. package/src/wallet/model.ts +64 -71
  122. package/dist/module/util/balanceObjectFromSatoshi.d.ts +0 -8
  123. package/dist/module/util/balanceObjectFromSatoshi.d.ts.map +0 -1
  124. package/dist/module/util/balanceObjectFromSatoshi.js +0 -35
  125. package/dist/module/util/balanceObjectFromSatoshi.js.map +0 -1
  126. package/src/util/balanceObjectFromSatoshi.test.ts +0 -58
  127. package/src/util/balanceObjectFromSatoshi.ts +0 -52
@@ -1,13 +1,11 @@
1
1
  import { binToHex } from "@bitauth/libauth";
2
- import { NetworkType, prefixFromNetworkMap, UnitEnum } from "../enum.js";
2
+ import { NetworkType, prefixFromNetworkMap } from "../enum.js";
3
3
  import { NFTCapability } from "../interface.js";
4
4
  import { getNetworkProvider } from "../network/default.js";
5
5
  import { getRelayFeeCache } from "../network/getRelayFeeCache.js";
6
6
  import { buildEncodedTransaction, getFeeAmount, getFeeAmountSimple, getSuitableUtxos, placeholderPrivateKeyBin, } from "../transaction/Wif.js";
7
- import { balanceFromSatoshi, balanceResponseFromSatoshi, } from "../util/balanceObjectFromSatoshi.js";
8
7
  import { checkUtxos } from "../util/checkUtxos.js";
9
- import { amountInSatoshi, asSendRequestObject, getRuntimePlatform, sumTokenAmounts, sumUtxoValue, toTokenaddr, } from "../util/index.js";
10
- import { sanitizeUnit } from "../util/sanitizeUnit.js";
8
+ import { asSendRequestObject, getRuntimePlatform, sumTokenAmounts, sumUtxoValue, toTokenaddr, } from "../util/index.js";
11
9
  import { sumSendRequestAmounts } from "../util/sumSendRequestAmounts.js";
12
10
  import { FeePaidByEnum, WalletTypeEnum } from "./enum.js";
13
11
  import { fromUtxoId, OpReturnData, SendRequest, SendResponse, TokenSendRequest, } from "./model.js";
@@ -298,15 +296,9 @@ export class BaseWallet {
298
296
  async getUtxos() {
299
297
  throw Error("getUtxos not implemented in BaseWallet");
300
298
  }
301
- // gets wallet balance in sats, bch and currency
302
- async getBalance(rawUnit, priceCache = true) {
303
- if (rawUnit) {
304
- const unit = sanitizeUnit(rawUnit);
305
- return await balanceFromSatoshi(await this.getBalanceFromProvider(), unit, priceCache);
306
- }
307
- else {
308
- return await balanceResponseFromSatoshi(await this.getBalanceFromProvider(), priceCache);
309
- }
299
+ // gets wallet balance in sats
300
+ async getBalance() {
301
+ return this.getBalanceFromProvider();
310
302
  }
311
303
  // Gets balance by summing value in all utxos in stats
312
304
  async getBalanceFromUtxos() {
@@ -344,39 +336,17 @@ export class BaseWallet {
344
336
  // can be cancelled by calling the function returned from this one
345
337
  async watchBalance(callback) {
346
338
  return this.provider.watchAddressStatus(this.getDepositAddress(), async (_status) => {
347
- const balance = (await this.getBalance());
339
+ const balance = await this.getBalanceFromProvider();
348
340
  callback(balance);
349
341
  });
350
342
  }
351
- // sets up a callback to be called upon wallet's BCH or USD balance change
352
- // if BCH balance does not change, the callback will be triggered every
353
- // @param `usdPriceRefreshInterval` milliseconds by polling for new BCH USD price
354
- // Since we want to be most sensitive to usd value change, we do not use the cached exchange rates
355
- // can be cancelled by calling the function returned from this one
356
- async watchBalanceUsd(callback, usdPriceRefreshInterval = 30000) {
357
- let usdPrice = -1;
358
- const _callback = async () => {
359
- const balance = (await this.getBalance(undefined, false));
360
- if (usdPrice !== balance.usd) {
361
- usdPrice = balance.usd;
362
- callback(balance);
363
- }
364
- };
365
- const watchCancel = await this.provider.watchAddressStatus(this.getDepositAddress(), _callback);
366
- const interval = setInterval(_callback, usdPriceRefreshInterval);
367
- return async () => {
368
- await watchCancel?.();
369
- clearInterval(interval);
370
- };
371
- }
372
343
  // waits for address balance to be greater than or equal to the target value
373
344
  // this call halts the execution
374
- async waitForBalance(value, rawUnit = UnitEnum.BCH) {
345
+ async waitForBalance(value) {
375
346
  return new Promise(async (resolve) => {
376
347
  let watchCancel;
377
348
  watchCancel = await this.watchBalance(async (balance) => {
378
- const satoshiBalance = await amountInSatoshi(value, rawUnit);
379
- if (balance.sat >= satoshiBalance) {
349
+ if (balance >= value) {
380
350
  await watchCancel?.();
381
351
  resolve(balance);
382
352
  }
@@ -385,10 +355,10 @@ export class BaseWallet {
385
355
  }
386
356
  // sets up a callback to be called upon wallet's token balance change
387
357
  // can be cancelled by calling the function returned from this one
388
- async watchTokenBalance(tokenId, callback) {
358
+ async watchTokenBalance(category, callback) {
389
359
  let previous = undefined;
390
360
  return await this.provider.watchAddressStatus(this.getDepositAddress(), async (_status) => {
391
- const balance = await this.getTokenBalance(tokenId);
361
+ const balance = await this.getTokenBalance(category);
392
362
  if (previous != balance) {
393
363
  callback(balance);
394
364
  }
@@ -397,10 +367,10 @@ export class BaseWallet {
397
367
  }
398
368
  // waits for address token balance to be greater than or equal to the target amount
399
369
  // this call halts the execution
400
- async waitForTokenBalance(tokenId, amount) {
370
+ async waitForTokenBalance(category, amount) {
401
371
  return new Promise(async (resolve) => {
402
372
  let watchCancel;
403
- watchCancel = await this.watchTokenBalance(tokenId, async (balance) => {
373
+ watchCancel = await this.watchTokenBalance(category, async (balance) => {
404
374
  if (balance >= amount) {
405
375
  await watchCancel?.();
406
376
  resolve(balance);
@@ -435,8 +405,7 @@ export class BaseWallet {
435
405
  // simulate outputs using the sender's address
436
406
  const sendRequest = new SendRequest({
437
407
  cashaddr: placeholderCashAddr,
438
- value: 100,
439
- unit: "sat",
408
+ value: 100n,
440
409
  });
441
410
  const sendRequests = Array(params.outputCount)
442
411
  .fill(0)
@@ -452,8 +421,8 @@ export class BaseWallet {
452
421
  });
453
422
  const spendableAmount = sumUtxoValue(fundingUtxos);
454
423
  let result = spendableAmount - fee;
455
- if (result < 0) {
456
- result = 0;
424
+ if (result < 0n) {
425
+ result = 0n;
457
426
  }
458
427
  return { value: result, utxos: fundingUtxos };
459
428
  }
@@ -462,7 +431,7 @@ export class BaseWallet {
462
431
  options: {},
463
432
  }) {
464
433
  const { value: result } = await this._getMaxAmountToSend(params);
465
- return await balanceResponseFromSatoshi(result);
434
+ return result;
466
435
  }
467
436
  /**
468
437
  * send Send some amount to an address
@@ -473,9 +442,9 @@ export class BaseWallet {
473
442
  *
474
443
  */
475
444
  async send(requests, options) {
476
- const { encodedTransaction, tokenIds, sourceOutputs } = await this.encodeTransaction(requests, undefined, options);
445
+ const { encodedTransaction, categories, sourceOutputs } = await this.encodeTransaction(requests, undefined, options);
477
446
  const resp = new SendResponse({});
478
- resp.tokenIds = tokenIds;
447
+ resp.categories = categories;
479
448
  if (options?.buildUnsigned !== true) {
480
449
  const txId = await this.submitTransaction(encodedTransaction, options?.awaitTransactionPropagation === undefined ||
481
450
  options?.awaitTransactionPropagation === true);
@@ -483,7 +452,7 @@ export class BaseWallet {
483
452
  resp.explorerUrl = this.explorerUrl(resp.txId);
484
453
  if (options?.queryBalance === undefined ||
485
454
  options?.queryBalance === true) {
486
- resp.balance = (await this.getBalance());
455
+ resp.balance = await this.getBalance();
487
456
  }
488
457
  }
489
458
  else {
@@ -524,11 +493,10 @@ export class BaseWallet {
524
493
  const sendRequest = new SendRequest({
525
494
  cashaddr: cashaddr,
526
495
  value: maxSpendableAmount,
527
- unit: "sat",
528
496
  });
529
- const { encodedTransaction, tokenIds, sourceOutputs } = await this.encodeTransaction([sendRequest], true, options, privateKey);
497
+ const { encodedTransaction, categories, sourceOutputs } = await this.encodeTransaction([sendRequest], true, options, privateKey);
530
498
  const resp = new SendResponse({});
531
- resp.tokenIds = tokenIds;
499
+ resp.categories = categories;
532
500
  if (options?.buildUnsigned !== true) {
533
501
  const txId = await this.submitTransaction(encodedTransaction, options?.awaitTransactionPropagation === undefined ||
534
502
  options?.awaitTransactionPropagation === true);
@@ -536,7 +504,7 @@ export class BaseWallet {
536
504
  resp.explorerUrl = this.explorerUrl(resp.txId);
537
505
  if (options?.queryBalance === undefined ||
538
506
  options?.queryBalance === true) {
539
- resp.balance = (await this.getBalance());
507
+ resp.balance = await this.getBalance();
540
508
  }
541
509
  }
542
510
  else {
@@ -592,13 +560,13 @@ export class BaseWallet {
592
560
  }
593
561
  const allTokenInputs = inputs.filter((val) => val.token);
594
562
  const allTokenOutputs = outputs.filter((val) => val instanceof TokenSendRequest);
595
- const tokenIds = allTokenOutputs
596
- .map((val) => val.tokenId)
563
+ const categories = allTokenOutputs
564
+ .map((val) => val.category)
597
565
  .filter((val, idx, arr) => arr.indexOf(val) === idx);
598
- for (let tokenId of tokenIds) {
599
- const tokenInputs = allTokenInputs.filter((val) => val.token?.tokenId === tokenId);
566
+ for (let category of categories) {
567
+ const tokenInputs = allTokenInputs.filter((val) => val.token?.category === category);
600
568
  const inputAmountSum = tokenInputs.reduce((prev, cur) => prev + cur.token.amount, 0n);
601
- const tokenOutputs = allTokenOutputs.filter((val) => val.tokenId === tokenId);
569
+ const tokenOutputs = allTokenOutputs.filter((val) => val.category === category);
602
570
  const outputAmountSum = tokenOutputs.reduce((prev, cur) => prev + cur.amount, 0n);
603
571
  const diff = inputAmountSum - outputAmountSum;
604
572
  if (diff < 0) {
@@ -629,9 +597,8 @@ export class BaseWallet {
629
597
  outputs.push(new TokenSendRequest({
630
598
  cashaddr: toTokenaddr(this.getChangeAddress()),
631
599
  amount: change,
632
- tokenId: tokenId,
633
- commitment: tokenOutputs[0].commitment,
634
- capability: tokenOutputs[0].capability,
600
+ category: category,
601
+ nft: tokenOutputs[0].nft,
635
602
  value: tokenOutputs[0].value,
636
603
  }));
637
604
  }
@@ -655,7 +622,7 @@ export class BaseWallet {
655
622
  relayFeePerByteInSatoshi: relayFeePerByteInSatoshi,
656
623
  feePaidBy: feePaidBy,
657
624
  });
658
- const fundingUtxos = await getSuitableUtxos(utxos, BigInt(spendAmount) + BigInt(Math.ceil(feeEstimate)), bestHeight, feePaidBy, sendRequests, options?.ensureUtxos || [], options?.tokenOperation);
625
+ const fundingUtxos = await getSuitableUtxos(utxos, spendAmount + feeEstimate, bestHeight, feePaidBy, sendRequests, options?.ensureUtxos || [], options?.tokenOperation);
659
626
  if (fundingUtxos.length === 0) {
660
627
  throw Error("The available inputs couldn't satisfy the request with fees");
661
628
  }
@@ -678,15 +645,15 @@ export class BaseWallet {
678
645
  buildUnsigned: options?.buildUnsigned === true,
679
646
  walletCache: this.walletCache,
680
647
  });
681
- const tokenIds = [
648
+ const categories = [
682
649
  ...fundingUtxos
683
- .filter((val) => val.token?.tokenId)
684
- .map((val) => val.token.tokenId),
650
+ .filter((val) => val.token?.category)
651
+ .map((val) => val.token.category),
685
652
  ...sendRequests
686
653
  .filter((val) => val instanceof TokenSendRequest)
687
- .map((val) => val.tokenId),
654
+ .map((val) => val.category),
688
655
  ].filter((value, index, array) => array.indexOf(value) === index);
689
- return { encodedTransaction, tokenIds, sourceOutputs };
656
+ return { encodedTransaction, categories, sourceOutputs };
690
657
  }
691
658
  // Submit a raw transaction
692
659
  async submitTransaction(transaction, awaitPropagation = true) {
@@ -816,10 +783,9 @@ export class BaseWallet {
816
783
  const genesisSendRequest = new TokenSendRequest({
817
784
  cashaddr: genesisRequest.cashaddr || this.getTokenDepositAddress(),
818
785
  amount: genesisRequest.amount,
819
- value: genesisRequest.value || 1000,
820
- capability: genesisRequest.capability,
821
- commitment: genesisRequest.commitment,
822
- tokenId: genesisInputs[0].txid,
786
+ value: genesisRequest.value || 1000n,
787
+ nft: genesisRequest.nft,
788
+ category: genesisInputs[0].txid,
823
789
  });
824
790
  return this.send([genesisSendRequest, ...sendRequests], {
825
791
  ...options,
@@ -833,7 +799,7 @@ export class BaseWallet {
833
799
  /**
834
800
  * Mint new NFT cashtokens using an existing minting token
835
801
  * Refer to spec https://github.com/bitjson/cashtokens
836
- * @param {string} tokenId tokenId of an NFT to mint
802
+ * @param {string} category category of an NFT to mint
837
803
  * @param {TokenMintRequest | TokenMintRequest[]} mintRequests mint requests with new token properties and recipients
838
804
  * @param {NFTCapability?} mintRequest.capability capability of new NFT
839
805
  * @param {string?} mintRequest.commitment NFT commitment message
@@ -842,18 +808,18 @@ export class BaseWallet {
842
808
  * @param {boolean?} deductTokenAmount if minting token contains fungible amount, deduct from it by amount of minted tokens
843
809
  * @param {SendRequestOptionsI} options Options of the send requests
844
810
  */
845
- async tokenMint(tokenId, mintRequests, deductTokenAmount = false, options) {
846
- if (tokenId?.length !== 64) {
847
- throw Error(`Invalid tokenId supplied: ${tokenId}`);
811
+ async tokenMint(category, mintRequests, deductTokenAmount = false, options) {
812
+ if (category?.length !== 64) {
813
+ throw Error(`Invalid category supplied: ${category}`);
848
814
  }
849
815
  if (!Array.isArray(mintRequests)) {
850
816
  mintRequests = [mintRequests];
851
817
  }
852
818
  const utxos = await this.getUtxos();
853
- const nftUtxos = utxos.filter((val) => val.token?.tokenId === tokenId &&
854
- val.token?.capability === NFTCapability.minting);
819
+ const nftUtxos = utxos.filter((val) => val.token?.category === category &&
820
+ val.token?.nft?.capability === NFTCapability.minting);
855
821
  if (!nftUtxos.length) {
856
- throw new Error("You do not have any token UTXOs with minting capability for specified tokenId");
822
+ throw new Error("You do not have any token UTXOs with minting capability for specified category");
857
823
  }
858
824
  const newAmount = deductTokenAmount && nftUtxos[0].token.amount > 0
859
825
  ? nftUtxos[0].token.amount - BigInt(mintRequests.length)
@@ -861,9 +827,8 @@ export class BaseWallet {
861
827
  const safeNewAmount = newAmount < 0n ? 0n : newAmount;
862
828
  const mintingInput = new TokenSendRequest({
863
829
  cashaddr: toTokenaddr(nftUtxos[0].address),
864
- tokenId: tokenId,
865
- capability: nftUtxos[0].token.capability,
866
- commitment: nftUtxos[0].token.commitment,
830
+ category: category,
831
+ nft: nftUtxos[0].token?.nft,
867
832
  amount: safeNewAmount,
868
833
  value: nftUtxos[0].satoshis,
869
834
  });
@@ -871,11 +836,10 @@ export class BaseWallet {
871
836
  mintingInput,
872
837
  ...mintRequests.map((val) => new TokenSendRequest({
873
838
  cashaddr: val.cashaddr || this.getTokenDepositAddress(),
874
- amount: 0,
875
- tokenId: tokenId,
839
+ amount: 0n,
840
+ category: category,
876
841
  value: val.value,
877
- capability: val.capability,
878
- commitment: val.commitment,
842
+ nft: val.nft,
879
843
  })),
880
844
  ], {
881
845
  ...options,
@@ -893,7 +857,7 @@ export class BaseWallet {
893
857
  * * FTs' amount is reduced by the amount specified, if 0 FT amount is left and no NFT present, the token is "destroyed"
894
858
  *
895
859
  * Refer to spec https://github.com/bitjson/cashtokens
896
- * @param {string} burnRequest.tokenId tokenId of a token to burn
860
+ * @param {string} burnRequest.category category of a token to burn
897
861
  * @param {NFTCapability} burnRequest.capability capability of the NFT token to select, optional
898
862
  * @param {string?} burnRequest.commitment commitment of the NFT token to select, optional
899
863
  * @param {number?} burnRequest.amount amount of fungible tokens to burn, optional
@@ -902,20 +866,20 @@ export class BaseWallet {
902
866
  * @param {SendRequestOptionsI} options Options of the send requests
903
867
  */
904
868
  async tokenBurn(burnRequest, message, options) {
905
- if (burnRequest.tokenId?.length !== 64) {
906
- throw Error(`Invalid tokenId supplied: ${burnRequest.tokenId}`);
869
+ if (burnRequest.category?.length !== 64) {
870
+ throw Error(`Invalid category supplied: ${burnRequest.category}`);
907
871
  }
908
872
  const utxos = await this.getUtxos();
909
- const tokenUtxos = utxos.filter((val) => val.token?.tokenId === burnRequest.tokenId &&
910
- val.token?.capability === burnRequest.capability &&
911
- val.token?.commitment === burnRequest.commitment);
873
+ const tokenUtxos = utxos.filter((val) => val.token?.category === burnRequest.category &&
874
+ val.token?.nft?.capability === burnRequest.nft?.capability &&
875
+ val.token?.nft?.commitment === burnRequest.nft?.commitment);
912
876
  if (!tokenUtxos.length) {
913
877
  throw new Error("You do not have suitable token UTXOs to perform burn");
914
878
  }
915
879
  const totalFungibleAmount = tokenUtxos.reduce((prev, cur) => prev + (cur.token?.amount || 0n), 0n);
916
880
  let fungibleBurnAmount = burnRequest.amount && burnRequest.amount > 0 ? burnRequest.amount : 0n;
917
881
  fungibleBurnAmount = BigInt(fungibleBurnAmount);
918
- const hasNFT = burnRequest.capability || burnRequest.commitment;
882
+ const hasNFT = burnRequest.nft !== undefined;
919
883
  let utxoIds = [];
920
884
  let changeSendRequests;
921
885
  if (hasNFT) {
@@ -940,9 +904,8 @@ export class BaseWallet {
940
904
  changeSendRequests = [
941
905
  new TokenSendRequest({
942
906
  cashaddr: burnRequest.cashaddr || toTokenaddr(this.getChangeAddress()),
943
- tokenId: burnRequest.tokenId,
944
- capability: burnRequest.capability,
945
- commitment: burnRequest.commitment,
907
+ category: burnRequest.category,
908
+ nft: burnRequest.nft,
946
909
  amount: safeNewAmount,
947
910
  value: tokenUtxos[0].satoshis,
948
911
  }),
@@ -971,9 +934,9 @@ export class BaseWallet {
971
934
  changeSendRequests = [
972
935
  new TokenSendRequest({
973
936
  cashaddr: burnRequest.cashaddr || toTokenaddr(this.getChangeAddress()),
974
- tokenId: burnRequest.tokenId,
937
+ category: burnRequest.category,
975
938
  amount: safeNewAmount,
976
- value: tokenUtxos.reduce((a, c) => a + c.satoshis, 0),
939
+ value: tokenUtxos.reduce((a, c) => a + c.satoshis, 0n),
977
940
  }),
978
941
  ];
979
942
  }
@@ -989,62 +952,62 @@ export class BaseWallet {
989
952
  }
990
953
  /**
991
954
  * getTokenUtxos Get unspent token outputs for the wallet
992
- * will return utxos only for the specified token if `tokenId` provided
993
- * @param {string?} tokenId tokenId (category) to filter utxos by, if not set will return utxos from all tokens
955
+ * will return utxos only for the specified token if `category` provided
956
+ * @param {string?} category category to filter utxos by, if not set will return utxos from all tokens
994
957
  * @returns {Utxo[]} token utxos
995
958
  */
996
- async getTokenUtxos(tokenId) {
959
+ async getTokenUtxos(category) {
997
960
  const utxos = await this.getUtxos();
998
- return utxos.filter((val) => tokenId ? val.token?.tokenId === tokenId : val.token);
961
+ return utxos.filter((val) => category ? val.token?.category === category : val.token);
999
962
  }
1000
963
  /**
1001
964
  * getTokenBalance Gets fungible token balance
1002
965
  * for NFT token balance see @ref getNftTokenBalance
1003
- * @param {string} tokenId tokenId to get balance for
966
+ * @param {string} category category to get balance for
1004
967
  * @returns {bigint} fungible token balance
1005
968
  */
1006
- async getTokenBalance(tokenId) {
1007
- const utxos = (await this.getTokenUtxos(tokenId)).filter((val) => val.token?.amount);
1008
- return sumTokenAmounts(utxos, tokenId);
969
+ async getTokenBalance(category) {
970
+ const utxos = (await this.getTokenUtxos(category)).filter((val) => val.token?.amount);
971
+ return sumTokenAmounts(utxos, category);
1009
972
  }
1010
973
  /**
1011
- * getNftTokenBalance Gets non-fungible token (NFT) balance for a particular tokenId
974
+ * getNftTokenBalance Gets non-fungible token (NFT) balance for a particular category
1012
975
  * disregards fungible token balances
1013
976
  * for fungible token balance see @ref getTokenBalance
1014
- * @param {string} tokenId tokenId to get balance for
977
+ * @param {string} category category to get balance for
1015
978
  * @returns {number} non-fungible token balance
1016
979
  */
1017
- async getNftTokenBalance(tokenId) {
1018
- const utxos = (await this.getTokenUtxos(tokenId)).filter((val) => val.token?.commitment !== undefined);
980
+ async getNftTokenBalance(category) {
981
+ const utxos = (await this.getTokenUtxos(category)).filter((val) => val.token?.nft?.commitment !== undefined);
1019
982
  return utxos.length;
1020
983
  }
1021
984
  /**
1022
985
  * getAllTokenBalances Gets all fungible token balances in this wallet
1023
- * @returns {Object} a map [tokenId => balance] for all tokens in this wallet
986
+ * @returns {Object} a map [category => balance] for all tokens in this wallet
1024
987
  */
1025
988
  async getAllTokenBalances() {
1026
989
  const result = {};
1027
990
  const utxos = (await this.getTokenUtxos()).filter((val) => val.token?.amount);
1028
991
  for (const utxo of utxos) {
1029
- if (!result[utxo.token.tokenId]) {
1030
- result[utxo.token.tokenId] = 0n;
992
+ if (!result[utxo.token.category]) {
993
+ result[utxo.token.category] = 0n;
1031
994
  }
1032
- result[utxo.token.tokenId] += utxo.token.amount;
995
+ result[utxo.token.category] += utxo.token.amount;
1033
996
  }
1034
997
  return result;
1035
998
  }
1036
999
  /**
1037
1000
  * getAllNftTokenBalances Gets all non-fungible token (NFT) balances in this wallet
1038
- * @returns {Object} a map [tokenId => balance] for all NFTs in this wallet
1001
+ * @returns {Object} a map [category => balance] for all NFTs in this wallet
1039
1002
  */
1040
1003
  async getAllNftTokenBalances() {
1041
1004
  const result = {};
1042
- const utxos = (await this.getTokenUtxos()).filter((val) => val.token?.commitment !== undefined);
1005
+ const utxos = (await this.getTokenUtxos()).filter((val) => val.token?.nft?.commitment !== undefined);
1043
1006
  for (const utxo of utxos) {
1044
- if (!result[utxo.token.tokenId]) {
1045
- result[utxo.token.tokenId] = 0;
1007
+ if (!result[utxo.token.category]) {
1008
+ result[utxo.token.category] = 0;
1046
1009
  }
1047
- result[utxo.token.tokenId] += 1;
1010
+ result[utxo.token.category] += 1;
1048
1011
  }
1049
1012
  return result;
1050
1013
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../src/wallet/Base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../src/wallet/Base.ts"],"names":[],"mappings":"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"}
@@ -115,7 +115,7 @@ export declare class HDWallet extends BaseWallet {
115
115
  */
116
116
  encodeTransaction(requests: SendRequest | TokenSendRequest | OpReturnData | Array<SendRequest | TokenSendRequest | OpReturnData> | SendRequestArray[], discardChange?: boolean, options?: SendRequestOptionsI, privateKey?: Uint8Array): Promise<{
117
117
  encodedTransaction: Uint8Array;
118
- tokenIds: string[];
118
+ categories: string[];
119
119
  sourceOutputs: any[];
120
120
  }>;
121
121
  toString(): string;
@@ -89,7 +89,7 @@ export class Util {
89
89
  ],
90
90
  hex: binToHex(output.lockingBytecode),
91
91
  },
92
- value: Number(output.valueSatoshis) / bchParam.subUnits,
92
+ value: Number(output.valueSatoshis) / Number(bchParam.subUnits),
93
93
  };
94
94
  });
95
95
  result.locktime = transaction.locktime;