@spacesops/wdk-react-native-core 1.0.0-beta.68 → 1.0.0-beta.70

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 (147) hide show
  1. package/dist/hooks/useBalance.js +50 -7
  2. package/dist/hooks/useBalance.js.map +1 -1
  3. package/dist/hooks/useTransactions.d.ts +21 -0
  4. package/dist/hooks/useTransactions.js +64 -0
  5. package/dist/hooks/useTransactions.js.map +1 -0
  6. package/dist/index.d.ts +5 -2
  7. package/dist/index.js +3 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/provider/WdkAppProvider.d.ts +7 -2
  10. package/dist/provider/WdkAppProvider.js +6 -1
  11. package/dist/provider/WdkAppProvider.js.map +1 -1
  12. package/dist/services/transactionService.d.ts +27 -0
  13. package/dist/services/transactionService.js +154 -0
  14. package/dist/services/transactionService.js.map +1 -0
  15. package/dist/store/indexerConfigStore.d.ts +7 -0
  16. package/dist/store/indexerConfigStore.js +14 -0
  17. package/dist/store/indexerConfigStore.js.map +1 -0
  18. package/dist/types.d.ts +33 -0
  19. package/dist/utils/constants.d.ts +18 -0
  20. package/dist/utils/constants.js +18 -0
  21. package/dist/utils/constants.js.map +1 -1
  22. package/dist/utils/mmkvKeyManager.js +3 -3
  23. package/dist/utils/mmkvKeyManager.js.map +1 -1
  24. package/dist/utils/operationMutex.js.map +1 -1
  25. package/dist/utils/retryUtils.d.ts +19 -0
  26. package/dist/utils/retryUtils.js +55 -0
  27. package/dist/utils/retryUtils.js.map +1 -0
  28. package/dist/utils/schemas.d.ts +15 -3
  29. package/dist/utils/schemas.js +27 -2
  30. package/dist/utils/schemas.js.map +1 -1
  31. package/dist/utils/typeGuards.d.ts +1 -1
  32. package/dist/utils/typeGuards.js +3 -3
  33. package/dist/utils/typeGuards.js.map +1 -1
  34. package/package.json +2 -1
  35. package/src/__tests__/services/transactionService.test.ts +166 -0
  36. package/src/hooks/useBalance.ts +15 -12
  37. package/src/hooks/useTransactions.ts +98 -0
  38. package/src/index.ts +6 -0
  39. package/src/provider/WdkAppProvider.tsx +13 -1
  40. package/src/services/transactionService.ts +195 -0
  41. package/src/store/indexerConfigStore.ts +19 -0
  42. package/src/types.ts +36 -0
  43. package/src/utils/constants.ts +6 -0
  44. package/src/utils/mmkvKeyManager.ts +3 -3
  45. package/src/utils/operationMutex.ts +1 -1
  46. package/dist/__mocks__/react.d.ts +0 -40
  47. package/dist/__mocks__/react.js +0 -33
  48. package/dist/__mocks__/react.js.map +0 -1
  49. package/dist/__mocks__/secureStorage.d.ts +0 -27
  50. package/dist/__mocks__/secureStorage.js +0 -81
  51. package/dist/__mocks__/secureStorage.js.map +0 -1
  52. package/dist/__tests__/hooks/useBalance.test.d.ts +0 -6
  53. package/dist/__tests__/hooks/useBalance.test.js +0 -217
  54. package/dist/__tests__/hooks/useBalance.test.js.map +0 -1
  55. package/dist/__tests__/hooks/useWallet.test.d.ts +0 -6
  56. package/dist/__tests__/hooks/useWallet.test.js +0 -105
  57. package/dist/__tests__/hooks/useWallet.test.js.map +0 -1
  58. package/dist/__tests__/hooks/useWalletManager.test.d.ts +0 -6
  59. package/dist/__tests__/hooks/useWalletManager.test.js +0 -193
  60. package/dist/__tests__/hooks/useWalletManager.test.js.map +0 -1
  61. package/dist/__tests__/hooks/useWdkApp.test.d.ts +0 -6
  62. package/dist/__tests__/hooks/useWdkApp.test.js +0 -55
  63. package/dist/__tests__/hooks/useWdkApp.test.js.map +0 -1
  64. package/dist/__tests__/hooks/useWorklet.test.d.ts +0 -6
  65. package/dist/__tests__/hooks/useWorklet.test.js +0 -168
  66. package/dist/__tests__/hooks/useWorklet.test.js.map +0 -1
  67. package/dist/__tests__/provider/WdkAppProvider.test.d.ts +0 -6
  68. package/dist/__tests__/provider/WdkAppProvider.test.js +0 -57
  69. package/dist/__tests__/provider/WdkAppProvider.test.js.map +0 -1
  70. package/dist/__tests__/services/accountService.test.d.ts +0 -6
  71. package/dist/__tests__/services/accountService.test.js +0 -263
  72. package/dist/__tests__/services/accountService.test.js.map +0 -1
  73. package/dist/__tests__/services/addressService.test.d.ts +0 -6
  74. package/dist/__tests__/services/addressService.test.js +0 -258
  75. package/dist/__tests__/services/addressService.test.js.map +0 -1
  76. package/dist/__tests__/services/balanceService.test.d.ts +0 -6
  77. package/dist/__tests__/services/balanceService.test.js +0 -333
  78. package/dist/__tests__/services/balanceService.test.js.map +0 -1
  79. package/dist/__tests__/services/walletSetupService.test.d.ts +0 -6
  80. package/dist/__tests__/services/walletSetupService.test.js +0 -304
  81. package/dist/__tests__/services/walletSetupService.test.js.map +0 -1
  82. package/dist/__tests__/services/walletSwitchingService.test.d.ts +0 -6
  83. package/dist/__tests__/services/walletSwitchingService.test.js +0 -209
  84. package/dist/__tests__/services/walletSwitchingService.test.js.map +0 -1
  85. package/dist/__tests__/services/workletLifecycleService.test.d.ts +0 -6
  86. package/dist/__tests__/services/workletLifecycleService.test.js +0 -451
  87. package/dist/__tests__/services/workletLifecycleService.test.js.map +0 -1
  88. package/dist/__tests__/setup.d.ts +0 -4
  89. package/dist/__tests__/setup.js +0 -49
  90. package/dist/__tests__/setup.js.map +0 -1
  91. package/dist/__tests__/storage/mmkvStorage.test.d.ts +0 -6
  92. package/dist/__tests__/storage/mmkvStorage.test.js +0 -213
  93. package/dist/__tests__/storage/mmkvStorage.test.js.map +0 -1
  94. package/dist/__tests__/store/walletStore.test.d.ts +0 -4
  95. package/dist/__tests__/store/walletStore.test.js +0 -86
  96. package/dist/__tests__/store/walletStore.test.js.map +0 -1
  97. package/dist/__tests__/store/workletStore.test.d.ts +0 -4
  98. package/dist/__tests__/store/workletStore.test.js +0 -255
  99. package/dist/__tests__/store/workletStore.test.js.map +0 -1
  100. package/dist/__tests__/types/hrpc.test.d.ts +0 -4
  101. package/dist/__tests__/types/hrpc.test.js +0 -99
  102. package/dist/__tests__/types/hrpc.test.js.map +0 -1
  103. package/dist/__tests__/utils/balanceUtils.test.d.ts +0 -4
  104. package/dist/__tests__/utils/balanceUtils.test.js +0 -133
  105. package/dist/__tests__/utils/balanceUtils.test.js.map +0 -1
  106. package/dist/__tests__/utils/errorHandling.test.d.ts +0 -6
  107. package/dist/__tests__/utils/errorHandling.test.js +0 -119
  108. package/dist/__tests__/utils/errorHandling.test.js.map +0 -1
  109. package/dist/__tests__/utils/errorUtils.test.d.ts +0 -4
  110. package/dist/__tests__/utils/errorUtils.test.js +0 -133
  111. package/dist/__tests__/utils/errorUtils.test.js.map +0 -1
  112. package/dist/__tests__/utils/initializationState.test.d.ts +0 -6
  113. package/dist/__tests__/utils/initializationState.test.js +0 -243
  114. package/dist/__tests__/utils/initializationState.test.js.map +0 -1
  115. package/dist/__tests__/utils/jsonUtils.test.d.ts +0 -4
  116. package/dist/__tests__/utils/jsonUtils.test.js +0 -118
  117. package/dist/__tests__/utils/jsonUtils.test.js.map +0 -1
  118. package/dist/__tests__/utils/mmkvKeyManager.test.d.ts +0 -6
  119. package/dist/__tests__/utils/mmkvKeyManager.test.js +0 -158
  120. package/dist/__tests__/utils/mmkvKeyManager.test.js.map +0 -1
  121. package/dist/__tests__/utils/mnemonicUtils.test.d.ts +0 -4
  122. package/dist/__tests__/utils/mnemonicUtils.test.js +0 -40
  123. package/dist/__tests__/utils/mnemonicUtils.test.js.map +0 -1
  124. package/dist/__tests__/utils/raceConditions.test.d.ts +0 -6
  125. package/dist/__tests__/utils/raceConditions.test.js +0 -239
  126. package/dist/__tests__/utils/raceConditions.test.js.map +0 -1
  127. package/dist/__tests__/utils/result.test.d.ts +0 -4
  128. package/dist/__tests__/utils/result.test.js +0 -66
  129. package/dist/__tests__/utils/result.test.js.map +0 -1
  130. package/dist/__tests__/utils/schemas.test.d.ts +0 -4
  131. package/dist/__tests__/utils/schemas.test.js +0 -66
  132. package/dist/__tests__/utils/schemas.test.js.map +0 -1
  133. package/dist/__tests__/utils/storeHelpers.test.d.ts +0 -4
  134. package/dist/__tests__/utils/storeHelpers.test.js +0 -227
  135. package/dist/__tests__/utils/storeHelpers.test.js.map +0 -1
  136. package/dist/__tests__/utils/typeGuards.test.d.ts +0 -4
  137. package/dist/__tests__/utils/typeGuards.test.js +0 -175
  138. package/dist/__tests__/utils/typeGuards.test.js.map +0 -1
  139. package/dist/__tests__/utils/validation.test.d.ts +0 -4
  140. package/dist/__tests__/utils/validation.test.js +0 -167
  141. package/dist/__tests__/utils/validation.test.js.map +0 -1
  142. package/dist/__tests__/utils/walletUtils.test.d.ts +0 -4
  143. package/dist/__tests__/utils/walletUtils.test.js +0 -156
  144. package/dist/__tests__/utils/walletUtils.test.js.map +0 -1
  145. package/dist/utils/types.js +0 -6
  146. package/dist/utils/utils/schemas.js +0 -173
  147. package/dist/utils/utils/validation.js +0 -151
@@ -1,168 +0,0 @@
1
- /**
2
- * Tests for useWorklet hook
3
- *
4
- * Tests worklet interaction hook
5
- */
6
- import { WorkletLifecycleService } from '../../services/workletLifecycleService';
7
- import { getWorkletStore } from '../../store/workletStore';
8
- // Mock stores and services
9
- jest.mock('../../store/workletStore', () => ({
10
- getWorkletStore: jest.fn(),
11
- }));
12
- jest.mock('../../services/workletLifecycleService', () => ({
13
- WorkletLifecycleService: {
14
- initializeWDK: jest.fn(),
15
- generateEntropyAndEncrypt: jest.fn(),
16
- getMnemonicFromEntropy: jest.fn(),
17
- getSeedAndEntropyFromMnemonic: jest.fn(),
18
- initializeWorklet: jest.fn(),
19
- reset: jest.fn(),
20
- clearError: jest.fn(),
21
- },
22
- }));
23
- // Mock React hooks
24
- jest.mock('zustand/react/shallow', () => ({
25
- useShallow: jest.fn((selector) => selector),
26
- }));
27
- describe('useWorklet', () => {
28
- let mockWorkletStore;
29
- beforeEach(() => {
30
- jest.clearAllMocks();
31
- mockWorkletStore = jest.fn((selector) => {
32
- const state = {
33
- isWorkletStarted: true,
34
- isInitialized: true,
35
- isLoading: false,
36
- error: null,
37
- hrpc: null,
38
- worklet: null,
39
- workletStartResult: null,
40
- wdkInitResult: null,
41
- encryptedSeed: null,
42
- encryptionKey: null,
43
- networkConfigs: null,
44
- };
45
- return selector ? selector(state) : state;
46
- });
47
- getWorkletStore.mockReturnValue(mockWorkletStore);
48
- });
49
- describe('state subscription', () => {
50
- it('should subscribe to worklet store state', () => {
51
- const store = getWorkletStore();
52
- const state = store((s) => s);
53
- expect(state).toBeDefined();
54
- expect(state.isWorkletStarted).toBe(true);
55
- expect(state.isInitialized).toBe(true);
56
- expect(state.isLoading).toBe(false);
57
- expect(state.error).toBeNull();
58
- });
59
- it('should return all state properties', () => {
60
- const store = getWorkletStore();
61
- const state = store((s) => ({
62
- isWorkletStarted: s.isWorkletStarted,
63
- isInitialized: s.isInitialized,
64
- isLoading: s.isLoading,
65
- error: s.error,
66
- hrpc: s.hrpc,
67
- worklet: s.worklet,
68
- workletStartResult: s.workletStartResult,
69
- wdkInitResult: s.wdkInitResult,
70
- encryptedSeed: s.encryptedSeed,
71
- encryptionKey: s.encryptionKey,
72
- networkConfigs: s.networkConfigs,
73
- }));
74
- expect(state).toHaveProperty('isWorkletStarted');
75
- expect(state).toHaveProperty('isInitialized');
76
- expect(state).toHaveProperty('isLoading');
77
- expect(state).toHaveProperty('error');
78
- expect(state).toHaveProperty('hrpc');
79
- expect(state).toHaveProperty('worklet');
80
- expect(state).toHaveProperty('workletStartResult');
81
- expect(state).toHaveProperty('wdkInitResult');
82
- expect(state).toHaveProperty('encryptedSeed');
83
- expect(state).toHaveProperty('encryptionKey');
84
- expect(state).toHaveProperty('networkConfigs');
85
- });
86
- });
87
- describe('service method delegation', () => {
88
- it('should delegate initializeWDK to WorkletLifecycleService', () => {
89
- expect(WorkletLifecycleService.initializeWDK).toBeDefined();
90
- expect(typeof WorkletLifecycleService.initializeWDK).toBe('function');
91
- });
92
- it('should delegate generateEntropyAndEncrypt to WorkletLifecycleService', () => {
93
- expect(WorkletLifecycleService.generateEntropyAndEncrypt).toBeDefined();
94
- expect(typeof WorkletLifecycleService.generateEntropyAndEncrypt).toBe('function');
95
- });
96
- it('should delegate getMnemonicFromEntropy to WorkletLifecycleService', () => {
97
- expect(WorkletLifecycleService.getMnemonicFromEntropy).toBeDefined();
98
- expect(typeof WorkletLifecycleService.getMnemonicFromEntropy).toBe('function');
99
- });
100
- it('should delegate getSeedAndEntropyFromMnemonic to WorkletLifecycleService', () => {
101
- expect(WorkletLifecycleService.getSeedAndEntropyFromMnemonic).toBeDefined();
102
- expect(typeof WorkletLifecycleService.getSeedAndEntropyFromMnemonic).toBe('function');
103
- });
104
- it('should delegate initializeWorklet to WorkletLifecycleService', () => {
105
- expect(WorkletLifecycleService.initializeWorklet).toBeDefined();
106
- expect(typeof WorkletLifecycleService.initializeWorklet).toBe('function');
107
- });
108
- it('should delegate reset to WorkletLifecycleService', () => {
109
- expect(WorkletLifecycleService.reset).toBeDefined();
110
- expect(typeof WorkletLifecycleService.reset).toBe('function');
111
- });
112
- it('should delegate clearError to WorkletLifecycleService', () => {
113
- expect(WorkletLifecycleService.clearError).toBeDefined();
114
- expect(typeof WorkletLifecycleService.clearError).toBe('function');
115
- });
116
- });
117
- describe('error state', () => {
118
- it('should handle error state', () => {
119
- mockWorkletStore = jest.fn((selector) => {
120
- const state = {
121
- isWorkletStarted: false,
122
- isInitialized: false,
123
- isLoading: false,
124
- error: 'Worklet initialization failed',
125
- hrpc: null,
126
- worklet: null,
127
- workletStartResult: null,
128
- wdkInitResult: null,
129
- encryptedSeed: null,
130
- encryptionKey: null,
131
- networkConfigs: null,
132
- };
133
- return selector ? selector(state) : state;
134
- });
135
- getWorkletStore.mockReturnValue(mockWorkletStore);
136
- const store = getWorkletStore();
137
- const state = store((s) => s);
138
- expect(state.error).toBe('Worklet initialization failed');
139
- expect(state.isInitialized).toBe(false);
140
- });
141
- });
142
- describe('loading state', () => {
143
- it('should handle loading state', () => {
144
- mockWorkletStore = jest.fn((selector) => {
145
- const state = {
146
- isWorkletStarted: false,
147
- isInitialized: false,
148
- isLoading: true,
149
- error: null,
150
- hrpc: null,
151
- worklet: null,
152
- workletStartResult: null,
153
- wdkInitResult: null,
154
- encryptedSeed: null,
155
- encryptionKey: null,
156
- networkConfigs: null,
157
- };
158
- return selector ? selector(state) : state;
159
- });
160
- getWorkletStore.mockReturnValue(mockWorkletStore);
161
- const store = getWorkletStore();
162
- const state = store((s) => s);
163
- expect(state.isLoading).toBe(true);
164
- expect(state.isInitialized).toBe(false);
165
- });
166
- });
167
- });
168
- //# sourceMappingURL=useWorklet.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWorklet.test.js","sourceRoot":"","sources":["../../../src/__tests__/hooks/useWorklet.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Tests for WdkAppProvider
3
- *
4
- * Tests validation logic without rendering DOM components
5
- */
6
- export {};
@@ -1,57 +0,0 @@
1
- /**
2
- * Tests for WdkAppProvider
3
- *
4
- * Tests validation logic without rendering DOM components
5
- */
6
- import { validateNetworkConfigs, validateTokenConfigs, validateBalanceRefreshInterval } from '../../utils/validation';
7
- import { mockSecureStorage } from '../../__mocks__/secureStorage';
8
- describe('WdkAppProvider validation', () => {
9
- const mockNetworkConfigs = {
10
- ethereum: {
11
- chainId: 1,
12
- blockchain: 'ethereum',
13
- },
14
- };
15
- const mockTokenConfigs = {
16
- ethereum: {
17
- native: {
18
- symbol: 'ETH',
19
- name: 'Ethereum',
20
- decimals: 18,
21
- address: null,
22
- },
23
- tokens: [],
24
- },
25
- };
26
- it('should validate networkConfigs', () => {
27
- expect(() => validateNetworkConfigs(mockNetworkConfigs)).not.toThrow();
28
- expect(() => validateNetworkConfigs({})).toThrow();
29
- });
30
- it('should validate tokenConfigs', () => {
31
- expect(() => validateTokenConfigs(mockTokenConfigs)).not.toThrow();
32
- expect(() => validateTokenConfigs({})).toThrow();
33
- });
34
- it('should validate balanceRefreshInterval', () => {
35
- expect(() => validateBalanceRefreshInterval(30000)).not.toThrow();
36
- expect(() => validateBalanceRefreshInterval(0)).not.toThrow();
37
- expect(() => validateBalanceRefreshInterval(-1)).toThrow();
38
- expect(() => validateBalanceRefreshInterval(NaN)).toThrow();
39
- });
40
- it('should validate secureStorage has required methods', () => {
41
- const requiredMethods = ['authenticate', 'hasWallet', 'setEncryptionKey', 'setEncryptedSeed', 'getAllEncrypted'];
42
- for (const method of requiredMethods) {
43
- expect(typeof mockSecureStorage[method]).toBe('function');
44
- }
45
- });
46
- it('should detect missing secureStorage methods', () => {
47
- const invalidStorage = {
48
- authenticate: jest.fn(),
49
- // Missing other methods
50
- };
51
- const requiredMethods = ['hasWallet', 'setEncryptionKey', 'setEncryptedSeed', 'getAllEncrypted'];
52
- for (const method of requiredMethods) {
53
- expect(typeof invalidStorage[method]).not.toBe('function');
54
- }
55
- });
56
- });
57
- //# sourceMappingURL=WdkAppProvider.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WdkAppProvider.test.js","sourceRoot":"","sources":["../../../src/__tests__/provider/WdkAppProvider.test.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AAErH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEjE,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,MAAM,kBAAkB,GAAmB;QACzC,QAAQ,EAAE;YACR,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,UAAU;SACvB;KACF,CAAA;IAED,MAAM,gBAAgB,GAAiB;QACrC,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,IAAI;aACd;YACD,MAAM,EAAE,EAAE;SACX;KACF,CAAA;IAED,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACtE,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QAClE,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACjE,MAAM,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QAC1D,MAAM,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,eAAe,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;QAEhH,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,OAAO,iBAAiB,CAAC,MAAwC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7F,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,cAAc,GAAG;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;YACvB,wBAAwB;SACzB,CAAA;QAED,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;QAChG,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,OAAQ,cAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Tests for AccountService
3
- *
4
- * Tests account method calls through the worklet
5
- */
6
- export {};
@@ -1,263 +0,0 @@
1
- /**
2
- * Tests for AccountService
3
- *
4
- * Tests account method calls through the worklet
5
- */
6
- import { AccountService } from '../../services/accountService';
7
- import { getWorkletStore } from '../../store/workletStore';
8
- // Mock stores
9
- jest.mock('../../store/workletStore', () => ({
10
- getWorkletStore: jest.fn(),
11
- }));
12
- describe('AccountService', () => {
13
- let mockWorkletStore;
14
- let mockHRPC;
15
- beforeEach(() => {
16
- jest.clearAllMocks();
17
- // Setup mock HRPC
18
- mockHRPC = {
19
- callMethod: jest.fn(),
20
- };
21
- // Setup mock worklet store
22
- mockWorkletStore = {
23
- getState: jest.fn(() => ({
24
- isInitialized: true,
25
- hrpc: mockHRPC,
26
- })),
27
- };
28
- getWorkletStore.mockReturnValue(mockWorkletStore);
29
- });
30
- describe('callAccountMethod', () => {
31
- it('should call method and return result', async () => {
32
- const mockResult = '1000000000000000000';
33
- mockHRPC.callMethod.mockResolvedValue({
34
- result: JSON.stringify(mockResult),
35
- });
36
- const result = await AccountService.callAccountMethod('ethereum', 0, 'getBalance');
37
- expect(result).toBe(mockResult);
38
- expect(mockHRPC.callMethod).toHaveBeenCalledWith({
39
- methodName: 'getBalance',
40
- network: 'ethereum',
41
- accountIndex: 0,
42
- args: null,
43
- });
44
- });
45
- it('should handle method with arguments', async () => {
46
- const mockArgs = { message: 'Hello World' };
47
- const mockResult = { signature: '0x123' };
48
- mockHRPC.callMethod.mockResolvedValue({
49
- result: JSON.stringify(mockResult),
50
- });
51
- const result = await AccountService.callAccountMethod('ethereum', 0, 'signMessage', mockArgs);
52
- expect(result).toEqual(mockResult);
53
- expect(mockHRPC.callMethod).toHaveBeenCalledWith({
54
- methodName: 'signMessage',
55
- network: 'ethereum',
56
- accountIndex: 0,
57
- args: JSON.stringify(mockArgs),
58
- });
59
- });
60
- it('should convert BigInt values to strings', async () => {
61
- // getBalance returns a string, not an object
62
- const mockResult = '1000000000000000000';
63
- mockHRPC.callMethod.mockResolvedValue({
64
- result: JSON.stringify(mockResult),
65
- });
66
- const result = await AccountService.callAccountMethod('ethereum', 0, 'getBalance');
67
- expect(result).toBe('1000000000000000000');
68
- });
69
- it('should convert BigInt in nested objects', async () => {
70
- // Test with signMessage which can return an object
71
- const mockResult = {
72
- data: {
73
- balance: BigInt('1000000000000000000'),
74
- nested: {
75
- amount: BigInt('2000000000000000000'),
76
- },
77
- },
78
- };
79
- const jsonString = JSON.stringify(mockResult, (_, value) => (typeof value === 'bigint' ? value.toString() : value));
80
- mockHRPC.callMethod.mockResolvedValue({
81
- result: jsonString,
82
- });
83
- const result = await AccountService.callAccountMethod('ethereum', 0, 'signMessage', { message: 'test' });
84
- expect(result).toEqual({
85
- data: {
86
- balance: '1000000000000000000',
87
- nested: {
88
- amount: '2000000000000000000',
89
- },
90
- },
91
- });
92
- });
93
- it('should convert BigInt in arrays', async () => {
94
- // Test with signTransaction which can return an object with arrays
95
- const mockResult = {
96
- balances: ['1000000000000000000', '2000000000000000000'],
97
- };
98
- // Simulate BigInt in response by using a custom replacer
99
- const jsonString = JSON.stringify({
100
- balances: [BigInt('1000000000000000000'), BigInt('2000000000000000000')],
101
- }, (_, value) => (typeof value === 'bigint' ? value.toString() : value));
102
- mockHRPC.callMethod.mockResolvedValue({
103
- result: jsonString,
104
- });
105
- const result = await AccountService.callAccountMethod('ethereum', 0, 'signTransaction', { transaction: {} });
106
- expect(result).toEqual({
107
- balances: ['1000000000000000000', '2000000000000000000'],
108
- });
109
- });
110
- it('should validate methodName', async () => {
111
- await expect(AccountService.callAccountMethod('ethereum', 0, '', null)).rejects.toThrow('methodName must be a non-empty string');
112
- await expect(AccountService.callAccountMethod('ethereum', 0, ' ', null)).rejects.toThrow('methodName must be a non-empty string');
113
- });
114
- it('should accept various method names', async () => {
115
- const methods = [
116
- 'getAddress',
117
- 'getBalance',
118
- 'getTokenBalance',
119
- 'signMessage',
120
- 'signTransaction',
121
- 'sendTransaction',
122
- ];
123
- for (const method of methods) {
124
- // getBalance and getTokenBalance return strings, others can return objects
125
- const mockResult = (method === 'getBalance' || method === 'getTokenBalance')
126
- ? '1000000000000000000'
127
- : { success: true };
128
- mockHRPC.callMethod.mockResolvedValue({
129
- result: JSON.stringify(mockResult),
130
- });
131
- await expect(AccountService.callAccountMethod('ethereum', 0, method, null)).resolves.toBeDefined();
132
- }
133
- });
134
- it('should use safeStringify for args', async () => {
135
- const mockArgs = { test: 'value' };
136
- mockHRPC.callMethod.mockResolvedValue({
137
- result: JSON.stringify({ success: true }),
138
- });
139
- await AccountService.callAccountMethod('ethereum', 0, 'signMessage', mockArgs);
140
- expect(mockHRPC.callMethod).toHaveBeenCalledWith({
141
- methodName: 'signMessage',
142
- network: 'ethereum',
143
- accountIndex: 0,
144
- args: JSON.stringify(mockArgs),
145
- });
146
- });
147
- it('should reject circular references in args', async () => {
148
- const circular = { a: 1 };
149
- circular.self = circular;
150
- await expect(AccountService.callAccountMethod('ethereum', 0, 'signMessage', circular)).rejects.toThrow('circular references');
151
- });
152
- it('should validate balance response format', async () => {
153
- mockHRPC.callMethod.mockResolvedValue({
154
- result: JSON.stringify('invalid-balance-format'),
155
- });
156
- await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow('Invalid balance format');
157
- });
158
- it('should accept valid balance response format', async () => {
159
- mockHRPC.callMethod.mockResolvedValue({
160
- result: JSON.stringify('1000000000000000000'),
161
- });
162
- const result = await AccountService.callAccountMethod('ethereum', 0, 'getBalance', null);
163
- expect(result).toBe('1000000000000000000');
164
- });
165
- it('should validate network name', async () => {
166
- await expect(AccountService.callAccountMethod('', 0, 'getBalance', null)).rejects.toThrow(/network.*non-empty|Network name must contain only|String must contain at least 1 character/);
167
- });
168
- it('should validate account index', async () => {
169
- await expect(AccountService.callAccountMethod('ethereum', -1, 'getBalance', null)).rejects.toThrow(/accountIndex.*non-negative|Number must be greater than or equal to 0/);
170
- });
171
- it('should throw error if WDK not initialized', async () => {
172
- mockWorkletStore.getState = jest.fn(() => ({
173
- isInitialized: false,
174
- hrpc: null,
175
- }));
176
- await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow('WDK not initialized');
177
- });
178
- it('should throw error if HRPC not available', async () => {
179
- mockWorkletStore.getState = jest.fn(() => ({
180
- isInitialized: true,
181
- hrpc: null,
182
- }));
183
- await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow('WDK not initialized');
184
- });
185
- it('should throw error if method returns no result', async () => {
186
- // workletResponseSchema requires result to be a string, so we need to mock a response that fails schema validation
187
- mockHRPC.callMethod.mockResolvedValue({
188
- result: null,
189
- });
190
- await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow(/Method getBalance returned no result|Expected string/);
191
- });
192
- it('should throw error if result is null', async () => {
193
- mockHRPC.callMethod.mockResolvedValue({
194
- result: JSON.stringify(null),
195
- });
196
- await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow('Parsed result is null or undefined');
197
- });
198
- it('should throw error if result is null', async () => {
199
- mockHRPC.callMethod.mockResolvedValue({
200
- result: JSON.stringify(null),
201
- });
202
- await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow('Parsed result is null or undefined');
203
- });
204
- it('should throw error if JSON parsing fails', async () => {
205
- mockHRPC.callMethod.mockResolvedValue({
206
- result: 'invalid json',
207
- });
208
- await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow('Failed to parse result from getBalance');
209
- });
210
- it('should handle worklet call errors', async () => {
211
- mockHRPC.callMethod.mockRejectedValue(new Error('Worklet error'));
212
- await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow();
213
- });
214
- });
215
- describe('callAccountMethodByPath', () => {
216
- beforeEach(() => {
217
- mockHRPC.callMethodByPath = jest.fn();
218
- });
219
- it('should call method by path and return result', async () => {
220
- mockHRPC.callMethodByPath.mockResolvedValue({
221
- result: JSON.stringify('bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'),
222
- });
223
- const result = await AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", 'getAddress');
224
- expect(result).toBe('bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq');
225
- expect(mockHRPC.callMethodByPath).toHaveBeenCalledWith({
226
- methodName: 'getAddress',
227
- network: 'bitcoin',
228
- path: "9'/0/0",
229
- args: null,
230
- });
231
- });
232
- it('should pass string args for getScriptPubKeyHex', async () => {
233
- const address = 'bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
234
- mockHRPC.callMethodByPath.mockResolvedValue({
235
- result: JSON.stringify('5120abcd'),
236
- });
237
- const result = await AccountService.callAccountMethodByPath('bitcoin', "9'/0/1", 'getScriptPubKeyHex', address);
238
- expect(result).toBe('5120abcd');
239
- expect(mockHRPC.callMethodByPath).toHaveBeenCalledWith({
240
- methodName: 'getScriptPubKeyHex',
241
- network: 'bitcoin',
242
- path: "9'/0/1",
243
- args: JSON.stringify(address),
244
- });
245
- });
246
- it('should allow null JSON results (e.g. missing taproot keys)', async () => {
247
- mockHRPC.callMethodByPath.mockResolvedValue({
248
- result: JSON.stringify(null),
249
- });
250
- const result = await AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", 'getTaprootKeyMaterialHex');
251
- expect(result).toBeNull();
252
- });
253
- it('should validate path and methodName', async () => {
254
- await expect(AccountService.callAccountMethodByPath('bitcoin', '', 'getAddress')).rejects.toThrow('path must be a non-empty string');
255
- await expect(AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", '')).rejects.toThrow('methodName must be a non-empty string');
256
- });
257
- it('should throw if callMethodByPath is missing on HRPC', async () => {
258
- delete mockHRPC.callMethodByPath;
259
- await expect(AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", 'getAddress')).rejects.toThrow(/callMethodByPath is not available/);
260
- });
261
- });
262
- });
263
- //# sourceMappingURL=accountService.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accountService.test.js","sourceRoot":"","sources":["../../../src/__tests__/services/accountService.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Tests for AddressService
3
- *
4
- * Tests address retrieval functionality
5
- */
6
- export {};