@bsv/wallet-toolbox 1.1.62 → 1.2.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 (185) hide show
  1. package/docs/client.md +2339 -182
  2. package/docs/wallet.md +2339 -182
  3. package/out/src/CWIStyleWalletManager.d.ts +417 -0
  4. package/out/src/CWIStyleWalletManager.d.ts.map +1 -0
  5. package/out/src/CWIStyleWalletManager.js +1140 -0
  6. package/out/src/CWIStyleWalletManager.js.map +1 -0
  7. package/out/src/SimpleWalletManager.d.ts +169 -0
  8. package/out/src/SimpleWalletManager.d.ts.map +1 -0
  9. package/out/src/SimpleWalletManager.js +315 -0
  10. package/out/src/SimpleWalletManager.js.map +1 -0
  11. package/out/src/Wallet.d.ts +6 -1
  12. package/out/src/Wallet.d.ts.map +1 -1
  13. package/out/src/Wallet.js +39 -7
  14. package/out/src/Wallet.js.map +1 -1
  15. package/out/src/WalletAuthenticationManager.d.ts +33 -0
  16. package/out/src/WalletAuthenticationManager.d.ts.map +1 -0
  17. package/out/src/WalletAuthenticationManager.js +110 -0
  18. package/out/src/WalletAuthenticationManager.js.map +1 -0
  19. package/out/src/WalletPermissionsManager.d.ts +575 -0
  20. package/out/src/WalletPermissionsManager.d.ts.map +1 -0
  21. package/out/src/WalletPermissionsManager.js +1789 -0
  22. package/out/src/WalletPermissionsManager.js.map +1 -0
  23. package/out/src/WalletSettingsManager.d.ts +59 -0
  24. package/out/src/WalletSettingsManager.d.ts.map +1 -0
  25. package/out/src/WalletSettingsManager.js +189 -0
  26. package/out/src/WalletSettingsManager.js.map +1 -0
  27. package/out/src/__tests/CWIStyleWalletManager.test.d.ts +2 -0
  28. package/out/src/__tests/CWIStyleWalletManager.test.d.ts.map +1 -0
  29. package/out/src/__tests/CWIStyleWalletManager.test.js +471 -0
  30. package/out/src/__tests/CWIStyleWalletManager.test.js.map +1 -0
  31. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts +2 -0
  32. package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts.map +1 -0
  33. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js +239 -0
  34. package/out/src/__tests/WalletPermissionsManager.callbacks.test.js.map +1 -0
  35. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts +2 -0
  36. package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts.map +1 -0
  37. package/out/src/__tests/WalletPermissionsManager.checks.test.js +637 -0
  38. package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +1 -0
  39. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts +2 -0
  40. package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts.map +1 -0
  41. package/out/src/__tests/WalletPermissionsManager.encryption.test.js +295 -0
  42. package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +1 -0
  43. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +83 -0
  44. package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -0
  45. package/out/src/__tests/WalletPermissionsManager.fixtures.js +261 -0
  46. package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -0
  47. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts +2 -0
  48. package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts.map +1 -0
  49. package/out/src/__tests/WalletPermissionsManager.flows.test.js +377 -0
  50. package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +1 -0
  51. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts +2 -0
  52. package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts.map +1 -0
  53. package/out/src/__tests/WalletPermissionsManager.initialization.test.js +227 -0
  54. package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +1 -0
  55. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts +2 -0
  56. package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts.map +1 -0
  57. package/out/src/__tests/WalletPermissionsManager.proxying.test.js +566 -0
  58. package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +1 -0
  59. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts +2 -0
  60. package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts.map +1 -0
  61. package/out/src/__tests/WalletPermissionsManager.tokens.test.js +454 -0
  62. package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +1 -0
  63. package/out/src/index.all.d.ts +9 -0
  64. package/out/src/index.all.d.ts.map +1 -1
  65. package/out/src/index.all.js +9 -0
  66. package/out/src/index.all.js.map +1 -1
  67. package/out/src/index.client.d.ts +9 -0
  68. package/out/src/index.client.d.ts.map +1 -1
  69. package/out/src/index.client.js +9 -0
  70. package/out/src/index.client.js.map +1 -1
  71. package/out/src/sdk/CertOpsWallet.d.ts +7 -0
  72. package/out/src/sdk/CertOpsWallet.d.ts.map +1 -0
  73. package/out/src/sdk/CertOpsWallet.js +3 -0
  74. package/out/src/sdk/CertOpsWallet.js.map +1 -0
  75. package/out/src/sdk/__test/CertificateLifeCycle.test.js +19 -82
  76. package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -1
  77. package/out/src/sdk/index.d.ts +1 -1
  78. package/out/src/sdk/index.d.ts.map +1 -1
  79. package/out/src/sdk/index.js +1 -1
  80. package/out/src/sdk/index.js.map +1 -1
  81. package/out/src/sdk/validationHelpers.d.ts.map +1 -1
  82. package/out/src/sdk/validationHelpers.js +13 -12
  83. package/out/src/sdk/validationHelpers.js.map +1 -1
  84. package/out/src/services/__tests/bitrails.test.js +7 -2
  85. package/out/src/services/__tests/bitrails.test.js.map +1 -1
  86. package/out/src/services/providers/__tests/WhatsOnChain.test.js +3 -3
  87. package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -1
  88. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
  89. package/out/src/signer/methods/proveCertificate.js +3 -19
  90. package/out/src/signer/methods/proveCertificate.js.map +1 -1
  91. package/out/src/storage/__test/WalletStorageManager.test.js +1 -1
  92. package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -1
  93. package/out/src/storage/remoting/StorageClient.d.ts +2 -2
  94. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
  95. package/out/src/storage/remoting/StorageClient.js +1 -1
  96. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  97. package/out/src/utility/identityUtils.d.ts +31 -0
  98. package/out/src/utility/identityUtils.d.ts.map +1 -0
  99. package/out/src/utility/identityUtils.js +116 -0
  100. package/out/src/utility/identityUtils.js.map +1 -0
  101. package/out/src/wab-client/WABClient.d.ts +49 -0
  102. package/out/src/wab-client/WABClient.d.ts.map +1 -0
  103. package/out/src/wab-client/WABClient.js +83 -0
  104. package/out/src/wab-client/WABClient.js.map +1 -0
  105. package/out/src/wab-client/__tests/WABClient.man.test.d.ts +2 -0
  106. package/out/src/wab-client/__tests/WABClient.man.test.d.ts.map +1 -0
  107. package/out/src/wab-client/__tests/WABClient.man.test.js +52 -0
  108. package/out/src/wab-client/__tests/WABClient.man.test.js.map +1 -0
  109. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
  110. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
  111. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
  112. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
  113. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
  114. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
  115. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +36 -0
  116. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
  117. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
  118. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
  119. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +69 -0
  120. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
  121. package/out/test/Wallet/action/internalizeAction.a.test.js +1 -1
  122. package/out/test/Wallet/action/internalizeAction.a.test.js.map +1 -1
  123. package/out/test/Wallet/certificate/acquireCertificate.test.js +26 -29
  124. package/out/test/Wallet/certificate/acquireCertificate.test.js.map +1 -1
  125. package/out/test/storage/KnexMigrations.test.js +1 -1
  126. package/out/test/storage/KnexMigrations.test.js.map +1 -1
  127. package/out/test/storage/update.test.js +1 -1
  128. package/out/test/storage/update.test.js.map +1 -1
  129. package/out/test/utils/TestUtilsWalletStorage.d.ts +9 -5
  130. package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
  131. package/out/test/utils/TestUtilsWalletStorage.js +15 -9
  132. package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
  133. package/out/test/wallet/action/internalizeAction.test.js +1 -1
  134. package/out/test/wallet/action/internalizeAction.test.js.map +1 -1
  135. package/out/test/wallet/list/listActions2.test.js +1 -1
  136. package/out/test/wallet/list/listActions2.test.js.map +1 -1
  137. package/out/test/wallet/sync/Wallet.sync.test.js +1 -1
  138. package/out/test/wallet/sync/Wallet.sync.test.js.map +1 -1
  139. package/out/tsconfig.all.tsbuildinfo +1 -1
  140. package/package.json +3 -4
  141. package/src/CWIStyleWalletManager.ts +1724 -0
  142. package/src/SimpleWalletManager.ts +526 -0
  143. package/src/Wallet.ts +70 -7
  144. package/src/WalletAuthenticationManager.ts +150 -0
  145. package/src/WalletPermissionsManager.ts +2424 -0
  146. package/src/WalletSettingsManager.ts +243 -0
  147. package/src/__tests/CWIStyleWalletManager.test.ts +604 -0
  148. package/src/__tests/WalletPermissionsManager.callbacks.test.ts +323 -0
  149. package/src/__tests/WalletPermissionsManager.checks.test.ts +839 -0
  150. package/src/__tests/WalletPermissionsManager.encryption.test.ts +370 -0
  151. package/src/__tests/WalletPermissionsManager.fixtures.ts +284 -0
  152. package/src/__tests/WalletPermissionsManager.flows.test.ts +457 -0
  153. package/src/__tests/WalletPermissionsManager.initialization.test.ts +300 -0
  154. package/src/__tests/WalletPermissionsManager.proxying.test.ts +706 -0
  155. package/src/__tests/WalletPermissionsManager.tokens.test.ts +546 -0
  156. package/src/index.all.ts +9 -0
  157. package/src/index.client.ts +9 -0
  158. package/src/sdk/CertOpsWallet.ts +18 -0
  159. package/src/sdk/__test/CertificateLifeCycle.test.ts +66 -113
  160. package/src/sdk/index.ts +1 -1
  161. package/src/sdk/validationHelpers.ts +12 -11
  162. package/src/services/__tests/bitrails.test.ts +7 -2
  163. package/src/services/providers/__tests/WhatsOnChain.test.ts +3 -3
  164. package/src/signer/methods/proveCertificate.ts +14 -21
  165. package/src/storage/__test/WalletStorageManager.test.ts +1 -1
  166. package/src/storage/remoting/StorageClient.ts +4 -4
  167. package/src/utility/identityUtils.ts +159 -0
  168. package/src/wab-client/WABClient.ts +94 -0
  169. package/src/wab-client/__tests/WABClient.man.test.ts +59 -0
  170. package/src/wab-client/auth-method-interactors/AuthMethodInteractor.ts +47 -0
  171. package/src/wab-client/auth-method-interactors/PersonaIDInteractor.ts +35 -0
  172. package/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.ts +72 -0
  173. package/test/Wallet/action/internalizeAction.a.test.ts +1 -1
  174. package/test/Wallet/certificate/acquireCertificate.test.ts +89 -30
  175. package/test/storage/KnexMigrations.test.ts +1 -1
  176. package/test/storage/update.test.ts +1 -1
  177. package/test/utils/TestUtilsWalletStorage.ts +24 -13
  178. package/test/wallet/action/internalizeAction.test.ts +1 -1
  179. package/test/wallet/list/listActions2.test.ts +1 -1
  180. package/test/wallet/sync/Wallet.sync.test.ts +1 -1
  181. package/out/src/sdk/CertOps.d.ts +0 -66
  182. package/out/src/sdk/CertOps.d.ts.map +0 -1
  183. package/out/src/sdk/CertOps.js +0 -190
  184. package/out/src/sdk/CertOps.js.map +0 -1
  185. package/src/sdk/CertOps.ts +0 -274
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const WalletPermissionsManager_fixtures_1 = require("./WalletPermissionsManager.fixtures");
4
+ const WalletPermissionsManager_1 = require("../WalletPermissionsManager");
5
+ const globals_1 = require("@jest/globals");
6
+ // Mock the @bsv/sdk module with our fixture/mocks:
7
+ globals_1.jest.mock('@bsv/sdk', () => WalletPermissionsManager_fixtures_1.MockedBSV_SDK);
8
+ describe('WalletPermissionsManager - Callbacks & Event Handling', () => {
9
+ let underlying;
10
+ let manager;
11
+ beforeEach(() => {
12
+ underlying = (0, WalletPermissionsManager_fixtures_1.mockUnderlyingWallet)();
13
+ // Use default config so that protocol permissions are enforced for testing requests
14
+ manager = new WalletPermissionsManager_1.WalletPermissionsManager(underlying, 'admin.domain.com');
15
+ });
16
+ afterEach(() => {
17
+ globals_1.jest.clearAllMocks();
18
+ });
19
+ // -------------------------------------------------------------------------
20
+ // 1) Unit Tests: Callback Registration & Unregistration
21
+ // -------------------------------------------------------------------------
22
+ it('bindCallback() should register multiple callbacks for the same event, which are called in sequence', async () => {
23
+ const cb1 = globals_1.jest.fn(() => { });
24
+ const cb2 = globals_1.jest.fn(() => { });
25
+ // Bind both to "onProtocolPermissionRequested"
26
+ manager.bindCallback('onProtocolPermissionRequested', cb1);
27
+ manager.bindCallback('onProtocolPermissionRequested', cb2);
28
+ // Manually trigger the event (private method usage) for direct testing:
29
+ // We'll mimic the manager calling "this.callEvent('onProtocolPermissionRequested', params)"
30
+ // by just calling it ourselves. This is a "unit-level" approach.
31
+ const fakeParam = { type: 'protocol', requestID: 'req-xyz' };
32
+ await manager.callEvent('onProtocolPermissionRequested', fakeParam);
33
+ // Both callbacks should have been called in sequence with the same param
34
+ expect(cb1).toHaveBeenCalledTimes(1);
35
+ expect(cb2).toHaveBeenCalledTimes(1);
36
+ expect(cb1).toHaveBeenCalledWith(fakeParam);
37
+ expect(cb2).toHaveBeenCalledWith(fakeParam);
38
+ // Confirm order
39
+ expect(cb1.mock.invocationCallOrder[0]).toBeLessThan(cb2.mock.invocationCallOrder[0]);
40
+ });
41
+ it('unbindCallback() by numeric ID should prevent the callback from being called again', async () => {
42
+ const cb1 = globals_1.jest.fn(() => { });
43
+ const cb2 = globals_1.jest.fn(() => { });
44
+ // We get numeric IDs when binding
45
+ const id1 = manager.bindCallback('onProtocolPermissionRequested', cb1);
46
+ manager.bindCallback('onProtocolPermissionRequested', cb2);
47
+ // Fire once (both should be called)
48
+ const param1 = { requestID: 'req-test-1' };
49
+ await manager.callEvent('onProtocolPermissionRequested', param1);
50
+ expect(cb1).toHaveBeenCalledTimes(1);
51
+ expect(cb2).toHaveBeenCalledTimes(1);
52
+ // Unbind cb1 by numeric ID
53
+ manager.unbindCallback('onProtocolPermissionRequested', id1);
54
+ // Fire again
55
+ const param2 = { requestID: 'req-test-2' };
56
+ await manager.callEvent('onProtocolPermissionRequested', param2);
57
+ // cb1 should NOT receive the second event
58
+ expect(cb1).toHaveBeenCalledTimes(1);
59
+ // cb2 should still receive it
60
+ expect(cb2).toHaveBeenCalledTimes(2);
61
+ });
62
+ it('unbindCallback() by function reference should remove the callback', async () => {
63
+ const cb1 = globals_1.jest.fn(() => { });
64
+ const cb2 = globals_1.jest.fn(() => { });
65
+ const cb3 = globals_1.jest.fn(() => { });
66
+ manager.bindCallback('onProtocolPermissionRequested', cb1);
67
+ manager.bindCallback('onProtocolPermissionRequested', cb2);
68
+ manager.bindCallback('onProtocolPermissionRequested', cb3);
69
+ // Fire once
70
+ const param1 = { requestID: 'req-first-fire' };
71
+ await manager.callEvent('onProtocolPermissionRequested', param1);
72
+ expect(cb1).toHaveBeenCalledTimes(1);
73
+ expect(cb2).toHaveBeenCalledTimes(1);
74
+ expect(cb3).toHaveBeenCalledTimes(1);
75
+ // Unbind cb2 by function reference
76
+ manager.unbindCallback('onProtocolPermissionRequested', cb2);
77
+ // Fire again
78
+ const param2 = { requestID: 'req-second-fire' };
79
+ await manager.callEvent('onProtocolPermissionRequested', param2);
80
+ // cb2 should no longer be called
81
+ expect(cb1).toHaveBeenCalledTimes(2);
82
+ expect(cb2).toHaveBeenCalledTimes(1);
83
+ expect(cb3).toHaveBeenCalledTimes(2);
84
+ });
85
+ it('a failing callback (throwing an error) does not block subsequent callbacks', async () => {
86
+ const goodCb = globals_1.jest.fn(() => { });
87
+ const badCb = globals_1.jest.fn().mockImplementation(() => {
88
+ throw new Error('Intentional error');
89
+ });
90
+ const finalCb = globals_1.jest.fn(() => { });
91
+ manager.bindCallback('onProtocolPermissionRequested', goodCb);
92
+ manager.bindCallback('onProtocolPermissionRequested', badCb);
93
+ manager.bindCallback('onProtocolPermissionRequested', finalCb);
94
+ const param = { requestID: 'req-err-test' };
95
+ // callEvent should swallow the error from badCb and continue
96
+ await manager.callEvent('onProtocolPermissionRequested', param);
97
+ // All callbacks are invoked once
98
+ expect(goodCb).toHaveBeenCalledTimes(1);
99
+ expect(badCb).toHaveBeenCalledTimes(1);
100
+ expect(finalCb).toHaveBeenCalledTimes(1);
101
+ });
102
+ // -------------------------------------------------------------------------
103
+ // 2) Integration Tests: Real permission request flow
104
+ // -------------------------------------------------------------------------
105
+ it('should trigger onProtocolPermissionRequested with correct params when a non-admin domain requests a protocol operation', async () => {
106
+ const requestedCb = globals_1.jest.fn(() => { });
107
+ // We bind to onProtocolPermissionRequested
108
+ manager.bindCallback('onProtocolPermissionRequested', requestedCb);
109
+ // Attempt an operation that requires protocol permission:
110
+ // e.g., createSignature with level=1 protocol
111
+ const signPromise = manager.createSignature({
112
+ protocolID: [1, 'some-protocol'],
113
+ keyID: '1',
114
+ data: [0x01, 0x02],
115
+ privileged: false
116
+ }, 'non-admin.example.com');
117
+ // Wait a tick so the request can be queued
118
+ await new Promise(r => setTimeout(r, 10));
119
+ // We expect onProtocolPermissionRequested to have been fired once
120
+ expect(requestedCb).toHaveBeenCalledTimes(1);
121
+ // The callback param should include fields from the `PermissionRequest`
122
+ const callArg = requestedCb.mock.calls[0][0];
123
+ expect(callArg.type).toBe('protocol');
124
+ expect(callArg.originator).toBe('non-admin.example.com');
125
+ expect(callArg.requestID).toMatch(/^proto:non-admin.example.com:false/); // The manager auto-generates an ID
126
+ // The original sign call is still pending (since we haven't granted or denied).
127
+ // We'll deny it for cleanup:
128
+ manager.denyPermission(callArg.requestID);
129
+ await expect(signPromise).rejects.toThrow(/Permission denied/);
130
+ });
131
+ it('should resolve the original caller promise when requests are granted', async () => {
132
+ const requestedCb = globals_1.jest.fn(() => { });
133
+ manager.bindCallback('onProtocolPermissionRequested', requestedCb);
134
+ // Start an operation that requires permission
135
+ const signPromise = manager.createSignature({
136
+ protocolID: [1, 'testproto'],
137
+ keyID: '1',
138
+ data: [0xaa],
139
+ privileged: false
140
+ }, 'nonadmin.com');
141
+ // Wait for request to appear
142
+ await new Promise(r => setTimeout(r, 10));
143
+ expect(requestedCb).toHaveBeenCalledTimes(1);
144
+ // Extract the requestID from the callback
145
+ const requestID = requestedCb.mock.calls[0][0].requestID;
146
+ // Now grant the request
147
+ const grantParams = {
148
+ requestID,
149
+ expiry: 123456789,
150
+ ephemeral: true
151
+ };
152
+ await manager.grantPermission(grantParams);
153
+ // The signPromise should now resolve (meaning the original createSignature call finishes successfully).
154
+ await expect(signPromise).resolves.toBeDefined();
155
+ });
156
+ it('should reject the original caller promise when permission is denied', async () => {
157
+ const requestedCb = globals_1.jest.fn(() => { });
158
+ manager.bindCallback('onProtocolPermissionRequested', requestedCb);
159
+ // Start an operation that requires protocol permission
160
+ const encryptPromise = manager.encrypt({
161
+ protocolID: [1, 'secretproto'],
162
+ keyID: 'session',
163
+ plaintext: [0xff, 0xff],
164
+ privileged: false
165
+ }, 'unauthorized-domain.com');
166
+ // Wait to ensure request is triggered
167
+ await new Promise(r => setTimeout(r, 10));
168
+ expect(requestedCb).toHaveBeenCalledTimes(1);
169
+ const requestID = requestedCb.mock.calls[0][0].requestID;
170
+ // Deny the request
171
+ manager.denyPermission(requestID);
172
+ // The original encryptPromise should reject
173
+ await expect(encryptPromise).rejects.toThrow(/Permission denied/i);
174
+ });
175
+ it('multiple pending requests for the same resource should trigger only one onXxxRequested callback', async () => {
176
+ const requestedCb = globals_1.jest.fn(() => { });
177
+ manager.bindCallback('onProtocolPermissionRequested', requestedCb);
178
+ // We'll do two calls that require the SAME resource:
179
+ // same originator, same protocolID, same privileged=false, same counterparty
180
+ const call1 = manager.createSignature({
181
+ protocolID: [1, 'parallel-test'],
182
+ data: [0x01],
183
+ keyID: '1',
184
+ privileged: false
185
+ }, 'parallel-user.com');
186
+ const call2 = manager.createSignature({
187
+ protocolID: [1, 'parallel-test'],
188
+ data: [0x02],
189
+ keyID: '1',
190
+ privileged: false
191
+ }, 'parallel-user.com');
192
+ // Wait for the manager to handle them
193
+ await new Promise(r => setTimeout(r, 10));
194
+ // Because the resource is identical, only ONE request event should be triggered
195
+ expect(requestedCb).toHaveBeenCalledTimes(1);
196
+ // We'll grant the request once
197
+ await manager.grantPermission({
198
+ requestID: requestedCb.mock.calls[0][0].requestID,
199
+ ephemeral: true
200
+ });
201
+ // Both calls should now resolve
202
+ await expect(call1).resolves.toBeDefined();
203
+ await expect(call2).resolves.toBeDefined();
204
+ });
205
+ it('multiple pending requests for different resources should trigger separate onXxxRequested callbacks', async () => {
206
+ const requestedCb = globals_1.jest.fn(() => { });
207
+ manager.bindCallback('onProtocolPermissionRequested', requestedCb);
208
+ // We'll do two calls that require DIFFERENT resources:
209
+ // call1 -> protocolID=[1, 'resourceA']
210
+ // call2 -> protocolID=[1, 'resourceB']
211
+ const call1 = manager.createSignature({
212
+ protocolID: [1, 'resourceA'],
213
+ data: [0xaa],
214
+ keyID: '1',
215
+ privileged: false
216
+ }, 'user.com');
217
+ const call2 = manager.createSignature({
218
+ protocolID: [1, 'resourceB'],
219
+ data: [0xbb],
220
+ keyID: '1',
221
+ privileged: false
222
+ }, 'user.com');
223
+ // Wait for them to be triggered
224
+ await new Promise(r => setTimeout(r, 10));
225
+ // We expect 2 distinct request events
226
+ expect(requestedCb).toHaveBeenCalledTimes(2);
227
+ // Each request has a distinct resource
228
+ const firstID = requestedCb.mock.calls[0][0].requestID;
229
+ const secondID = requestedCb.mock.calls[1][0].requestID;
230
+ expect(firstID).not.toBe(secondID);
231
+ // We'll grant the first, deny the second
232
+ manager.grantPermission({ requestID: firstID, ephemeral: true });
233
+ manager.denyPermission(secondID);
234
+ // call1 resolves, call2 rejects
235
+ await expect(call1).resolves.toBeDefined();
236
+ await expect(call2).rejects.toThrow(/Permission denied/);
237
+ });
238
+ });
239
+ //# sourceMappingURL=WalletPermissionsManager.callbacks.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletPermissionsManager.callbacks.test.js","sourceRoot":"","sources":["../../../src/__tests/WalletPermissionsManager.callbacks.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WalletPermissionsManager.checks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletPermissionsManager.checks.test.d.ts","sourceRoot":"","sources":["../../../src/__tests/WalletPermissionsManager.checks.test.ts"],"names":[],"mappings":""}