bitbadgesjs-sdk 0.31.1 → 0.31.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 (99) hide show
  1. package/dist/cjs/api-indexer/BitBadgesCollection.d.ts +1 -0
  2. package/dist/cjs/api-indexer/BitBadgesCollection.d.ts.map +1 -1
  3. package/dist/cjs/api-indexer/BitBadgesCollection.js +4 -1
  4. package/dist/cjs/api-indexer/BitBadgesCollection.js.map +1 -1
  5. package/dist/cjs/core/approval-utils.spec.d.ts +2 -0
  6. package/dist/cjs/core/approval-utils.spec.d.ts.map +1 -0
  7. package/dist/cjs/core/approval-utils.spec.js +240 -0
  8. package/dist/cjs/core/approval-utils.spec.js.map +1 -0
  9. package/dist/cjs/core/approvals.spec.js +96 -0
  10. package/dist/cjs/core/approvals.spec.js.map +1 -1
  11. package/dist/cjs/core/bids.spec.d.ts +2 -0
  12. package/dist/cjs/core/bids.spec.d.ts.map +1 -0
  13. package/dist/cjs/core/bids.spec.js +201 -0
  14. package/dist/cjs/core/bids.spec.js.map +1 -0
  15. package/dist/cjs/core/blockin.spec.d.ts +2 -0
  16. package/dist/cjs/core/blockin.spec.d.ts.map +1 -0
  17. package/dist/cjs/core/blockin.spec.js +163 -0
  18. package/dist/cjs/core/blockin.spec.js.map +1 -0
  19. package/dist/cjs/core/coin.spec.d.ts +2 -0
  20. package/dist/cjs/core/coin.spec.d.ts.map +1 -0
  21. package/dist/cjs/core/coin.spec.js +80 -0
  22. package/dist/cjs/core/coin.spec.js.map +1 -0
  23. package/dist/cjs/core/cosmos-wrappers.spec.d.ts +2 -0
  24. package/dist/cjs/core/cosmos-wrappers.spec.d.ts.map +1 -0
  25. package/dist/cjs/core/cosmos-wrappers.spec.js +623 -0
  26. package/dist/cjs/core/cosmos-wrappers.spec.js.map +1 -0
  27. package/dist/cjs/core/managersplitter.spec.d.ts +2 -0
  28. package/dist/cjs/core/managersplitter.spec.d.ts.map +1 -0
  29. package/dist/cjs/core/managersplitter.spec.js +170 -0
  30. package/dist/cjs/core/managersplitter.spec.js.map +1 -0
  31. package/dist/cjs/core/overlaps.spec.js +201 -0
  32. package/dist/cjs/core/overlaps.spec.js.map +1 -1
  33. package/dist/cjs/core/permission-utils.spec.d.ts +2 -0
  34. package/dist/cjs/core/permission-utils.spec.d.ts.map +1 -0
  35. package/dist/cjs/core/permission-utils.spec.js +192 -0
  36. package/dist/cjs/core/permission-utils.spec.js.map +1 -0
  37. package/dist/cjs/core/permissions.spec.js +1069 -0
  38. package/dist/cjs/core/permissions.spec.js.map +1 -1
  39. package/dist/cjs/core/transfers.spec.js +524 -0
  40. package/dist/cjs/core/transfers.spec.js.map +1 -1
  41. package/dist/cjs/core/userBalances.spec.d.ts +2 -0
  42. package/dist/cjs/core/userBalances.spec.d.ts.map +1 -0
  43. package/dist/cjs/core/userBalances.spec.js +184 -0
  44. package/dist/cjs/core/userBalances.spec.js.map +1 -0
  45. package/dist/cjs/core/validate-utils.spec.d.ts +2 -0
  46. package/dist/cjs/core/validate-utils.spec.d.ts.map +1 -0
  47. package/dist/cjs/core/validate-utils.spec.js +202 -0
  48. package/dist/cjs/core/validate-utils.spec.js.map +1 -0
  49. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
  50. package/dist/esm/api-indexer/BitBadgesCollection.d.ts +1 -0
  51. package/dist/esm/api-indexer/BitBadgesCollection.d.ts.map +1 -1
  52. package/dist/esm/api-indexer/BitBadgesCollection.js +4 -1
  53. package/dist/esm/api-indexer/BitBadgesCollection.js.map +1 -1
  54. package/dist/esm/core/approval-utils.spec.d.ts +2 -0
  55. package/dist/esm/core/approval-utils.spec.d.ts.map +1 -0
  56. package/dist/esm/core/approval-utils.spec.js +238 -0
  57. package/dist/esm/core/approval-utils.spec.js.map +1 -0
  58. package/dist/esm/core/approvals.spec.js +97 -1
  59. package/dist/esm/core/approvals.spec.js.map +1 -1
  60. package/dist/esm/core/bids.spec.d.ts +2 -0
  61. package/dist/esm/core/bids.spec.d.ts.map +1 -0
  62. package/dist/esm/core/bids.spec.js +199 -0
  63. package/dist/esm/core/bids.spec.js.map +1 -0
  64. package/dist/esm/core/blockin.spec.d.ts +2 -0
  65. package/dist/esm/core/blockin.spec.d.ts.map +1 -0
  66. package/dist/esm/core/blockin.spec.js +161 -0
  67. package/dist/esm/core/blockin.spec.js.map +1 -0
  68. package/dist/esm/core/coin.spec.d.ts +2 -0
  69. package/dist/esm/core/coin.spec.d.ts.map +1 -0
  70. package/dist/esm/core/coin.spec.js +78 -0
  71. package/dist/esm/core/coin.spec.js.map +1 -0
  72. package/dist/esm/core/cosmos-wrappers.spec.d.ts +2 -0
  73. package/dist/esm/core/cosmos-wrappers.spec.d.ts.map +1 -0
  74. package/dist/esm/core/cosmos-wrappers.spec.js +621 -0
  75. package/dist/esm/core/cosmos-wrappers.spec.js.map +1 -0
  76. package/dist/esm/core/managersplitter.spec.d.ts +2 -0
  77. package/dist/esm/core/managersplitter.spec.d.ts.map +1 -0
  78. package/dist/esm/core/managersplitter.spec.js +168 -0
  79. package/dist/esm/core/managersplitter.spec.js.map +1 -0
  80. package/dist/esm/core/overlaps.spec.js +202 -1
  81. package/dist/esm/core/overlaps.spec.js.map +1 -1
  82. package/dist/esm/core/permission-utils.spec.d.ts +2 -0
  83. package/dist/esm/core/permission-utils.spec.d.ts.map +1 -0
  84. package/dist/esm/core/permission-utils.spec.js +190 -0
  85. package/dist/esm/core/permission-utils.spec.js.map +1 -0
  86. package/dist/esm/core/permissions.spec.js +1069 -0
  87. package/dist/esm/core/permissions.spec.js.map +1 -1
  88. package/dist/esm/core/transfers.spec.js +525 -1
  89. package/dist/esm/core/transfers.spec.js.map +1 -1
  90. package/dist/esm/core/userBalances.spec.d.ts +2 -0
  91. package/dist/esm/core/userBalances.spec.d.ts.map +1 -0
  92. package/dist/esm/core/userBalances.spec.js +182 -0
  93. package/dist/esm/core/userBalances.spec.js.map +1 -0
  94. package/dist/esm/core/validate-utils.spec.d.ts +2 -0
  95. package/dist/esm/core/validate-utils.spec.d.ts.map +1 -0
  96. package/dist/esm/core/validate-utils.spec.js +200 -0
  97. package/dist/esm/core/validate-utils.spec.js.map +1 -0
  98. package/dist/esm/tsconfig-esm.build.tsbuildinfo +1 -1
  99. package/package.json +4 -5
@@ -1,6 +1,8 @@
1
1
  import { genTestAddress } from './addressLists.spec.js';
2
- import { createBalanceMapForOffChainBalances, getAllTokenIdsToBeTransferred, getAllBalancesToBeTransferred, getBalancesAfterTransfers, getTransfersFromTransfersWithIncrements } from './transfers.js';
2
+ import { createBalanceMapForOffChainBalances, convertOffChainBalancesMap, getAllTokenIdsToBeTransferred, getAllBalancesToBeTransferred, getBalancesAfterTransfers, getBalanceAfterTransfer, getTransfersFromTransfersWithIncrements, Transfer, TransferWithIncrements } from './transfers.js';
3
3
  import { UintRangeArray } from './uintRanges.js';
4
+ import { BigIntify, Stringify } from '../common/string-numbers.js';
5
+ import { ApprovalIdentifierDetails, MerkleProof, ETHSignatureProof } from './misc.js';
4
6
  BigInt.prototype.toJSON = function () {
5
7
  return this.toString();
6
8
  };
@@ -507,5 +509,527 @@ describe('Transfers', () => {
507
509
  }
508
510
  });
509
511
  });
512
+ describe('Transfer class', () => {
513
+ it('should construct a Transfer with required fields', () => {
514
+ const addr1 = genTestAddress();
515
+ const addr2 = genTestAddress();
516
+ const transfer = new Transfer({
517
+ from: addr1,
518
+ toAddresses: [addr2],
519
+ balances: [
520
+ {
521
+ amount: 10n,
522
+ tokenIds: [{ start: 1n, end: 5n }],
523
+ ownershipTimes: UintRangeArray.FullRanges()
524
+ }
525
+ ]
526
+ });
527
+ expect(transfer.from).toBe(addr1);
528
+ expect(transfer.toAddresses).toEqual([addr2]);
529
+ expect(transfer.balances.length).toBe(1);
530
+ expect(transfer.balances[0].amount).toBe(10n);
531
+ });
532
+ it('should construct with optional memo', () => {
533
+ const transfer = new Transfer({
534
+ from: genTestAddress(),
535
+ toAddresses: [genTestAddress()],
536
+ balances: [],
537
+ memo: 'test memo'
538
+ });
539
+ expect(transfer.memo).toBe('test memo');
540
+ });
541
+ it('should return empty number field names', () => {
542
+ const transfer = new Transfer({
543
+ from: genTestAddress(),
544
+ toAddresses: [],
545
+ balances: []
546
+ });
547
+ expect(transfer.getNumberFieldNames()).toEqual([]);
548
+ });
549
+ it('should convert between number types', () => {
550
+ const transfer = new Transfer({
551
+ from: genTestAddress(),
552
+ toAddresses: [genTestAddress()],
553
+ balances: [
554
+ {
555
+ amount: 100n,
556
+ tokenIds: [{ start: 1n, end: 10n }],
557
+ ownershipTimes: [{ start: 1n, end: 1000n }]
558
+ }
559
+ ]
560
+ });
561
+ const stringified = transfer.convert(Stringify);
562
+ expect(stringified.balances[0].amount).toBe('100');
563
+ expect(stringified.balances[0].tokenIds[0].start).toBe('1');
564
+ expect(stringified.balances[0].tokenIds[0].end).toBe('10');
565
+ });
566
+ it('should handle optional fields being undefined', () => {
567
+ const transfer = new Transfer({
568
+ from: genTestAddress(),
569
+ toAddresses: [],
570
+ balances: []
571
+ });
572
+ expect(transfer.precalculateBalancesFromApproval).toBeUndefined();
573
+ expect(transfer.merkleProofs).toBeUndefined();
574
+ expect(transfer.ethSignatureProofs).toBeUndefined();
575
+ expect(transfer.memo).toBeUndefined();
576
+ expect(transfer.prioritizedApprovals).toBeUndefined();
577
+ expect(transfer.onlyCheckPrioritizedCollectionApprovals).toBeUndefined();
578
+ expect(transfer.onlyCheckPrioritizedIncomingApprovals).toBeUndefined();
579
+ expect(transfer.onlyCheckPrioritizedOutgoingApprovals).toBeUndefined();
580
+ });
581
+ });
582
+ describe('TransferWithIncrements class', () => {
583
+ it('should construct with increment fields', () => {
584
+ const twi = new TransferWithIncrements({
585
+ from: genTestAddress(),
586
+ toAddresses: [genTestAddress()],
587
+ balances: [
588
+ {
589
+ amount: 1n,
590
+ tokenIds: [{ start: 1n, end: 1n }],
591
+ ownershipTimes: UintRangeArray.FullRanges()
592
+ }
593
+ ],
594
+ incrementTokenIdsBy: 1n,
595
+ incrementOwnershipTimesBy: 0n,
596
+ toAddressesLength: 100n,
597
+ durationFromTimestamp: 0n
598
+ });
599
+ expect(twi.incrementTokenIdsBy).toBe(1n);
600
+ expect(twi.incrementOwnershipTimesBy).toBe(0n);
601
+ expect(twi.toAddressesLength).toBe(100n);
602
+ expect(twi.durationFromTimestamp).toBe(0n);
603
+ });
604
+ it('should return correct number field names', () => {
605
+ const twi = new TransferWithIncrements({
606
+ from: genTestAddress(),
607
+ toAddresses: [],
608
+ balances: []
609
+ });
610
+ expect(twi.getNumberFieldNames()).toEqual([
611
+ 'toAddressesLength',
612
+ 'incrementTokenIdsBy',
613
+ 'incrementOwnershipTimesBy',
614
+ 'durationFromTimestamp'
615
+ ]);
616
+ });
617
+ it('should convert between number types', () => {
618
+ const twi = new TransferWithIncrements({
619
+ from: genTestAddress(),
620
+ toAddresses: [],
621
+ balances: [
622
+ {
623
+ amount: 50n,
624
+ tokenIds: [{ start: 1n, end: 10n }],
625
+ ownershipTimes: UintRangeArray.FullRanges()
626
+ }
627
+ ],
628
+ incrementTokenIdsBy: 5n,
629
+ toAddressesLength: 20n
630
+ });
631
+ const stringified = twi.convert(Stringify);
632
+ expect(stringified.incrementTokenIdsBy).toBe('5');
633
+ expect(stringified.toAddressesLength).toBe('20');
634
+ expect(stringified.balances[0].amount).toBe('50');
635
+ });
636
+ it('should handle undefined optional increment fields', () => {
637
+ const twi = new TransferWithIncrements({
638
+ from: genTestAddress(),
639
+ toAddresses: [],
640
+ balances: []
641
+ });
642
+ expect(twi.incrementTokenIdsBy).toBeUndefined();
643
+ expect(twi.incrementOwnershipTimesBy).toBeUndefined();
644
+ expect(twi.toAddressesLength).toBeUndefined();
645
+ expect(twi.durationFromTimestamp).toBeUndefined();
646
+ });
647
+ });
648
+ describe('getBalanceAfterTransfer (single)', () => {
649
+ it('should subtract a single transfer from balance', () => {
650
+ const startBalance = [
651
+ {
652
+ amount: 100n,
653
+ tokenIds: [{ start: 1n, end: 10n }],
654
+ ownershipTimes: UintRangeArray.FullRanges()
655
+ }
656
+ ];
657
+ const result = getBalanceAfterTransfer(startBalance, 1n, 10n, 1n, 18446744073709551615n, 10n, 1n);
658
+ expect(result[0].amount).toBe(90n);
659
+ });
660
+ it('should multiply amount by numRecipients', () => {
661
+ const startBalance = [
662
+ {
663
+ amount: 100n,
664
+ tokenIds: [{ start: 1n, end: 1n }],
665
+ ownershipTimes: UintRangeArray.FullRanges()
666
+ }
667
+ ];
668
+ const result = getBalanceAfterTransfer(startBalance, 1n, 1n, 1n, 18446744073709551615n, 10n, 5n);
669
+ expect(result[0].amount).toBe(50n);
670
+ });
671
+ it('should throw on underflow without allowUnderflow', () => {
672
+ const startBalance = [
673
+ {
674
+ amount: 10n,
675
+ tokenIds: [{ start: 1n, end: 1n }],
676
+ ownershipTimes: UintRangeArray.FullRanges()
677
+ }
678
+ ];
679
+ expect(() => getBalanceAfterTransfer(startBalance, 1n, 1n, 1n, 18446744073709551615n, 20n, 1n, false)).toThrow();
680
+ });
681
+ it('should allow underflow when flag is set', () => {
682
+ const startBalance = [
683
+ {
684
+ amount: 10n,
685
+ tokenIds: [{ start: 1n, end: 1n }],
686
+ ownershipTimes: UintRangeArray.FullRanges()
687
+ }
688
+ ];
689
+ const result = getBalanceAfterTransfer(startBalance, 1n, 1n, 1n, 18446744073709551615n, 20n, 1n, true);
690
+ expect(result[0].amount).toBe(-10n);
691
+ });
692
+ it('should return empty array when balance is fully depleted', () => {
693
+ const startBalance = [
694
+ {
695
+ amount: 50n,
696
+ tokenIds: [{ start: 1n, end: 1n }],
697
+ ownershipTimes: UintRangeArray.FullRanges()
698
+ }
699
+ ];
700
+ const result = getBalanceAfterTransfer(startBalance, 1n, 1n, 1n, 18446744073709551615n, 50n, 1n);
701
+ const filtered = result.filter((b) => b.amount > 0n);
702
+ expect(filtered.length).toBe(0);
703
+ });
704
+ it('should only subtract from matching token ID range', () => {
705
+ const startBalance = [
706
+ {
707
+ amount: 100n,
708
+ tokenIds: [{ start: 1n, end: 10n }],
709
+ ownershipTimes: UintRangeArray.FullRanges()
710
+ }
711
+ ];
712
+ const result = getBalanceAfterTransfer(startBalance, 5n, 5n, 1n, 18446744073709551615n, 50n, 1n);
713
+ const totalNonZero = result.filter((b) => b.amount > 0n);
714
+ expect(totalNonZero.length).toBeGreaterThan(0);
715
+ });
716
+ });
717
+ describe('convertOffChainBalancesMap', () => {
718
+ it('should convert balances map between number types', () => {
719
+ const bigintMap = {
720
+ [genTestAddress()]: [
721
+ {
722
+ amount: 100n,
723
+ tokenIds: [{ start: 1n, end: 10n }],
724
+ ownershipTimes: [{ start: 1n, end: 1000n }]
725
+ }
726
+ ]
727
+ };
728
+ const stringMap = convertOffChainBalancesMap(bigintMap, Stringify);
729
+ const keys = Object.keys(stringMap);
730
+ expect(keys.length).toBe(1);
731
+ expect(stringMap[keys[0]][0].amount).toBe('100');
732
+ expect(stringMap[keys[0]][0].tokenIds[0].start).toBe('1');
733
+ });
734
+ it('should handle empty map', () => {
735
+ const result = convertOffChainBalancesMap({}, Stringify);
736
+ expect(Object.keys(result).length).toBe(0);
737
+ });
738
+ it('should handle map with multiple addresses', () => {
739
+ const addr1 = genTestAddress();
740
+ const addr2 = genTestAddress();
741
+ const bigintMap = {
742
+ [addr1]: [
743
+ {
744
+ amount: 50n,
745
+ tokenIds: [{ start: 1n, end: 5n }],
746
+ ownershipTimes: UintRangeArray.FullRanges()
747
+ }
748
+ ],
749
+ [addr2]: [
750
+ {
751
+ amount: 200n,
752
+ tokenIds: [{ start: 10n, end: 20n }],
753
+ ownershipTimes: UintRangeArray.FullRanges()
754
+ }
755
+ ]
756
+ };
757
+ const stringMap = convertOffChainBalancesMap(bigintMap, Stringify);
758
+ expect(stringMap[addr1][0].amount).toBe('50');
759
+ expect(stringMap[addr2][0].amount).toBe('200');
760
+ });
761
+ });
762
+ describe('createBalanceMapForOffChainBalances - error paths', () => {
763
+ it('should throw when durationFromTimestamp is used', () => {
764
+ const transfers = [
765
+ {
766
+ from: 'Mint',
767
+ balances: [
768
+ {
769
+ amount: 1n,
770
+ tokenIds: [{ start: 1n, end: 1n }],
771
+ ownershipTimes: UintRangeArray.FullRanges()
772
+ }
773
+ ],
774
+ toAddresses: [genTestAddress()],
775
+ durationFromTimestamp: 86400000n
776
+ }
777
+ ];
778
+ expect(() => createBalanceMapForOffChainBalances(transfers)).toThrow('durationFromTimestamp is not supported in createBalanceMapForOffChainBalances');
779
+ });
780
+ });
781
+ describe('getTransfersFromTransfersWithIncrements', () => {
782
+ it('should return single transfer when no increments', () => {
783
+ const addr1 = genTestAddress();
784
+ const addr2 = genTestAddress();
785
+ const transfers = getTransfersFromTransfersWithIncrements([
786
+ {
787
+ from: addr1,
788
+ toAddresses: [addr2],
789
+ balances: [
790
+ {
791
+ amount: 10n,
792
+ tokenIds: [{ start: 1n, end: 10n }],
793
+ ownershipTimes: UintRangeArray.FullRanges()
794
+ }
795
+ ]
796
+ }
797
+ ], 0n);
798
+ expect(transfers.length).toBe(1);
799
+ expect(transfers[0].toAddresses).toEqual([addr2]);
800
+ });
801
+ it('should create N transfers when incrementTokenIdsBy is set', () => {
802
+ const recipients = [genTestAddress(), genTestAddress(), genTestAddress()];
803
+ const transfers = getTransfersFromTransfersWithIncrements([
804
+ {
805
+ from: 'Mint',
806
+ toAddresses: recipients,
807
+ balances: [
808
+ {
809
+ amount: 1n,
810
+ tokenIds: [{ start: 1n, end: 1n }],
811
+ ownershipTimes: UintRangeArray.FullRanges()
812
+ }
813
+ ],
814
+ incrementTokenIdsBy: 1n
815
+ }
816
+ ], 0n);
817
+ expect(transfers.length).toBe(3);
818
+ expect(transfers[0].balances[0].tokenIds[0].start).toBe(1n);
819
+ expect(transfers[0].balances[0].tokenIds[0].end).toBe(1n);
820
+ expect(transfers[1].balances[0].tokenIds[0].start).toBe(2n);
821
+ expect(transfers[2].balances[0].tokenIds[0].start).toBe(3n);
822
+ });
823
+ it('should create N transfers when incrementOwnershipTimesBy is set', () => {
824
+ const recipients = [genTestAddress(), genTestAddress()];
825
+ const transfers = getTransfersFromTransfersWithIncrements([
826
+ {
827
+ from: 'Mint',
828
+ toAddresses: recipients,
829
+ balances: [
830
+ {
831
+ amount: 1n,
832
+ tokenIds: [{ start: 1n, end: 1n }],
833
+ ownershipTimes: [{ start: 1000n, end: 2000n }]
834
+ }
835
+ ],
836
+ incrementOwnershipTimesBy: 5000n
837
+ }
838
+ ], 0n);
839
+ expect(transfers.length).toBe(2);
840
+ expect(transfers[0].balances[0].ownershipTimes[0].start).toBe(1000n);
841
+ expect(transfers[0].balances[0].ownershipTimes[0].end).toBe(2000n);
842
+ expect(transfers[1].balances[0].ownershipTimes[0].start).toBe(6000n);
843
+ expect(transfers[1].balances[0].ownershipTimes[0].end).toBe(7000n);
844
+ });
845
+ it('should handle empty transfers array', () => {
846
+ const transfers = getTransfersFromTransfersWithIncrements([], 0n);
847
+ expect(transfers.length).toBe(0);
848
+ });
849
+ it('should use toAddressesLength over toAddresses.length when both are set', () => {
850
+ const addr = genTestAddress();
851
+ const transfers = getTransfersFromTransfersWithIncrements([
852
+ {
853
+ from: 'Mint',
854
+ toAddresses: [addr],
855
+ balances: [
856
+ {
857
+ amount: 1n,
858
+ tokenIds: [{ start: 1n, end: 1n }],
859
+ ownershipTimes: UintRangeArray.FullRanges()
860
+ }
861
+ ]
862
+ }
863
+ ], 0n);
864
+ expect(transfers.length).toBe(1);
865
+ });
866
+ });
867
+ describe('Transfer class - proto/JSON serialization', () => {
868
+ it('should convert to proto and back via fromProto', () => {
869
+ const addr1 = genTestAddress();
870
+ const addr2 = genTestAddress();
871
+ const original = new Transfer({
872
+ from: addr1,
873
+ toAddresses: [addr2],
874
+ balances: [
875
+ {
876
+ amount: 42n,
877
+ tokenIds: [{ start: 1n, end: 10n }],
878
+ ownershipTimes: [{ start: 1n, end: 1000n }]
879
+ }
880
+ ]
881
+ });
882
+ const proto = original.toProto();
883
+ expect(proto).toBeTruthy();
884
+ const restored = Transfer.fromProto(proto, BigIntify);
885
+ expect(restored.from).toBe(addr1);
886
+ expect(restored.toAddresses).toEqual([addr2]);
887
+ expect(restored.balances[0].amount).toBe(42n);
888
+ expect(restored.balances[0].tokenIds[0].start).toBe(1n);
889
+ expect(restored.balances[0].tokenIds[0].end).toBe(10n);
890
+ });
891
+ it('should round-trip through fromJson', () => {
892
+ const addr1 = genTestAddress();
893
+ const addr2 = genTestAddress();
894
+ const original = new Transfer({
895
+ from: addr1,
896
+ toAddresses: [addr2],
897
+ balances: [
898
+ {
899
+ amount: 10n,
900
+ tokenIds: [{ start: 5n, end: 5n }],
901
+ ownershipTimes: [{ start: 1n, end: 100n }]
902
+ }
903
+ ],
904
+ memo: 'hello'
905
+ });
906
+ const proto = original.toProto();
907
+ const jsonVal = proto.toJson();
908
+ const restored = Transfer.fromJson(jsonVal, BigIntify);
909
+ expect(restored.from).toBe(addr1);
910
+ expect(restored.balances[0].amount).toBe(10n);
911
+ expect(restored.memo).toBe('hello');
912
+ });
913
+ it('should round-trip through fromJsonString', () => {
914
+ const addr1 = genTestAddress();
915
+ const original = new Transfer({
916
+ from: addr1,
917
+ toAddresses: [],
918
+ balances: [
919
+ {
920
+ amount: 7n,
921
+ tokenIds: [{ start: 3n, end: 3n }],
922
+ ownershipTimes: UintRangeArray.FullRanges()
923
+ }
924
+ ]
925
+ });
926
+ const jsonStr = original.toProto().toJsonString();
927
+ const restored = Transfer.fromJsonString(jsonStr, BigIntify);
928
+ expect(restored.from).toBe(addr1);
929
+ expect(restored.balances[0].amount).toBe(7n);
930
+ });
931
+ it('should construct Transfer with prioritizedApprovals', () => {
932
+ const addr1 = genTestAddress();
933
+ const transfer = new Transfer({
934
+ from: addr1,
935
+ toAddresses: [],
936
+ balances: [],
937
+ prioritizedApprovals: [
938
+ new ApprovalIdentifierDetails({
939
+ approvalId: 'approval-1',
940
+ approvalLevel: 'collection',
941
+ approverAddress: '',
942
+ version: 0n
943
+ })
944
+ ],
945
+ onlyCheckPrioritizedCollectionApprovals: true,
946
+ onlyCheckPrioritizedIncomingApprovals: false,
947
+ onlyCheckPrioritizedOutgoingApprovals: true
948
+ });
949
+ expect(transfer.prioritizedApprovals).toBeDefined();
950
+ expect(transfer.prioritizedApprovals.length).toBe(1);
951
+ expect(transfer.prioritizedApprovals[0].approvalId).toBe('approval-1');
952
+ expect(transfer.onlyCheckPrioritizedCollectionApprovals).toBe(true);
953
+ expect(transfer.onlyCheckPrioritizedOutgoingApprovals).toBe(true);
954
+ });
955
+ it('should convert Transfer with prioritizedApprovals to proto and back', () => {
956
+ const addr1 = genTestAddress();
957
+ const transfer = new Transfer({
958
+ from: addr1,
959
+ toAddresses: [],
960
+ balances: [],
961
+ prioritizedApprovals: [
962
+ new ApprovalIdentifierDetails({
963
+ approvalId: 'approval-x',
964
+ approvalLevel: 'outgoing',
965
+ approverAddress: addr1,
966
+ version: 0n
967
+ })
968
+ ]
969
+ });
970
+ const proto = transfer.toProto();
971
+ const restored = Transfer.fromProto(proto, BigIntify);
972
+ expect(restored.prioritizedApprovals).toBeDefined();
973
+ expect(restored.prioritizedApprovals[0].approvalId).toBe('approval-x');
974
+ });
975
+ it('should toBech32Addresses convert address formats', () => {
976
+ const addr = genTestAddress();
977
+ const transfer = new Transfer({
978
+ from: addr,
979
+ toAddresses: [addr],
980
+ balances: []
981
+ });
982
+ const converted = transfer.toBech32Addresses('bb');
983
+ expect(converted.from).toBeTruthy();
984
+ expect(converted.toAddresses.length).toBe(1);
985
+ });
986
+ it('should toBech32Addresses with prioritizedApprovals (covers line 107)', () => {
987
+ const addr = genTestAddress();
988
+ const transfer = new Transfer({
989
+ from: addr,
990
+ toAddresses: [],
991
+ balances: [],
992
+ prioritizedApprovals: [
993
+ new ApprovalIdentifierDetails({
994
+ approvalId: 'test',
995
+ approvalLevel: 'collection',
996
+ approverAddress: '',
997
+ version: 0n
998
+ })
999
+ ]
1000
+ });
1001
+ const converted = transfer.toBech32Addresses('bb');
1002
+ expect(converted.prioritizedApprovals).toBeDefined();
1003
+ expect(converted.prioritizedApprovals.length).toBe(1);
1004
+ });
1005
+ it('should round-trip Transfer with merkleProofs through proto (covers lines 88-89)', () => {
1006
+ const addr = genTestAddress();
1007
+ const transfer = new Transfer({
1008
+ from: addr,
1009
+ toAddresses: [],
1010
+ balances: [],
1011
+ merkleProofs: [
1012
+ new MerkleProof({
1013
+ aunts: [],
1014
+ leaf: 'leaf-value',
1015
+ leafSignature: 'sig'
1016
+ })
1017
+ ],
1018
+ ethSignatureProofs: [
1019
+ new ETHSignatureProof({
1020
+ nonce: 'nonce-123',
1021
+ signature: '0x1234'
1022
+ })
1023
+ ]
1024
+ });
1025
+ const proto = transfer.toProto();
1026
+ const restored = Transfer.fromProto(proto, BigIntify);
1027
+ expect(restored.merkleProofs).toBeDefined();
1028
+ expect(restored.merkleProofs.length).toBe(1);
1029
+ expect(restored.merkleProofs[0].leaf).toBe('leaf-value');
1030
+ expect(restored.ethSignatureProofs).toBeDefined();
1031
+ expect(restored.ethSignatureProofs[0].nonce).toBe('nonce-123');
1032
+ });
1033
+ });
510
1034
  });
511
1035
  //# sourceMappingURL=transfers.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfers.spec.js","sourceRoot":"","sources":["../../../src/core/transfers.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfers.spec.js","sourceRoot":"","sources":["../../../src/core/transfers.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=userBalances.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userBalances.spec.d.ts","sourceRoot":"","sources":["../../../src/core/userBalances.spec.ts"],"names":[],"mappings":""}