@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.
- package/docs/client.md +2339 -182
- package/docs/wallet.md +2339 -182
- package/out/src/CWIStyleWalletManager.d.ts +417 -0
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -0
- package/out/src/CWIStyleWalletManager.js +1140 -0
- package/out/src/CWIStyleWalletManager.js.map +1 -0
- package/out/src/SimpleWalletManager.d.ts +169 -0
- package/out/src/SimpleWalletManager.d.ts.map +1 -0
- package/out/src/SimpleWalletManager.js +315 -0
- package/out/src/SimpleWalletManager.js.map +1 -0
- package/out/src/Wallet.d.ts +6 -1
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +39 -7
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts +33 -0
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -0
- package/out/src/WalletAuthenticationManager.js +110 -0
- package/out/src/WalletAuthenticationManager.js.map +1 -0
- package/out/src/WalletPermissionsManager.d.ts +575 -0
- package/out/src/WalletPermissionsManager.d.ts.map +1 -0
- package/out/src/WalletPermissionsManager.js +1789 -0
- package/out/src/WalletPermissionsManager.js.map +1 -0
- package/out/src/WalletSettingsManager.d.ts +59 -0
- package/out/src/WalletSettingsManager.d.ts.map +1 -0
- package/out/src/WalletSettingsManager.js +189 -0
- package/out/src/WalletSettingsManager.js.map +1 -0
- package/out/src/__tests/CWIStyleWalletManager.test.d.ts +2 -0
- package/out/src/__tests/CWIStyleWalletManager.test.d.ts.map +1 -0
- package/out/src/__tests/CWIStyleWalletManager.test.js +471 -0
- package/out/src/__tests/CWIStyleWalletManager.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.callbacks.test.js +239 -0
- package/out/src/__tests/WalletPermissionsManager.callbacks.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.checks.test.js +637 -0
- package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.encryption.test.js +295 -0
- package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +83 -0
- package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.fixtures.js +261 -0
- package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.flows.test.js +377 -0
- package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.initialization.test.js +227 -0
- package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.js +566 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.tokens.test.js +454 -0
- package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +1 -0
- package/out/src/index.all.d.ts +9 -0
- package/out/src/index.all.d.ts.map +1 -1
- package/out/src/index.all.js +9 -0
- package/out/src/index.all.js.map +1 -1
- package/out/src/index.client.d.ts +9 -0
- package/out/src/index.client.d.ts.map +1 -1
- package/out/src/index.client.js +9 -0
- package/out/src/index.client.js.map +1 -1
- package/out/src/sdk/CertOpsWallet.d.ts +7 -0
- package/out/src/sdk/CertOpsWallet.d.ts.map +1 -0
- package/out/src/sdk/CertOpsWallet.js +3 -0
- package/out/src/sdk/CertOpsWallet.js.map +1 -0
- package/out/src/sdk/__test/CertificateLifeCycle.test.js +19 -82
- package/out/src/sdk/__test/CertificateLifeCycle.test.js.map +1 -1
- package/out/src/sdk/index.d.ts +1 -1
- package/out/src/sdk/index.d.ts.map +1 -1
- package/out/src/sdk/index.js +1 -1
- package/out/src/sdk/index.js.map +1 -1
- package/out/src/sdk/validationHelpers.d.ts.map +1 -1
- package/out/src/sdk/validationHelpers.js +13 -12
- package/out/src/sdk/validationHelpers.js.map +1 -1
- package/out/src/services/__tests/bitrails.test.js +7 -2
- package/out/src/services/__tests/bitrails.test.js.map +1 -1
- package/out/src/services/providers/__tests/WhatsOnChain.test.js +3 -3
- package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -1
- package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/proveCertificate.js +3 -19
- package/out/src/signer/methods/proveCertificate.js.map +1 -1
- package/out/src/storage/__test/WalletStorageManager.test.js +1 -1
- package/out/src/storage/__test/WalletStorageManager.test.js.map +1 -1
- package/out/src/storage/remoting/StorageClient.d.ts +2 -2
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +1 -1
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/utility/identityUtils.d.ts +31 -0
- package/out/src/utility/identityUtils.d.ts.map +1 -0
- package/out/src/utility/identityUtils.js +116 -0
- package/out/src/utility/identityUtils.js.map +1 -0
- package/out/src/wab-client/WABClient.d.ts +49 -0
- package/out/src/wab-client/WABClient.d.ts.map +1 -0
- package/out/src/wab-client/WABClient.js +83 -0
- package/out/src/wab-client/WABClient.js.map +1 -0
- package/out/src/wab-client/__tests/WABClient.man.test.d.ts +2 -0
- package/out/src/wab-client/__tests/WABClient.man.test.d.ts.map +1 -0
- package/out/src/wab-client/__tests/WABClient.man.test.js +52 -0
- package/out/src/wab-client/__tests/WABClient.man.test.js.map +1 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +36 -0
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +69 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
- package/out/test/Wallet/action/internalizeAction.a.test.js +1 -1
- package/out/test/Wallet/action/internalizeAction.a.test.js.map +1 -1
- package/out/test/Wallet/certificate/acquireCertificate.test.js +26 -29
- package/out/test/Wallet/certificate/acquireCertificate.test.js.map +1 -1
- package/out/test/storage/KnexMigrations.test.js +1 -1
- package/out/test/storage/KnexMigrations.test.js.map +1 -1
- package/out/test/storage/update.test.js +1 -1
- package/out/test/storage/update.test.js.map +1 -1
- package/out/test/utils/TestUtilsWalletStorage.d.ts +9 -5
- package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
- package/out/test/utils/TestUtilsWalletStorage.js +15 -9
- package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
- package/out/test/wallet/action/internalizeAction.test.js +1 -1
- package/out/test/wallet/action/internalizeAction.test.js.map +1 -1
- package/out/test/wallet/list/listActions2.test.js +1 -1
- package/out/test/wallet/list/listActions2.test.js.map +1 -1
- package/out/test/wallet/sync/Wallet.sync.test.js +1 -1
- package/out/test/wallet/sync/Wallet.sync.test.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +3 -4
- package/src/CWIStyleWalletManager.ts +1724 -0
- package/src/SimpleWalletManager.ts +526 -0
- package/src/Wallet.ts +70 -7
- package/src/WalletAuthenticationManager.ts +150 -0
- package/src/WalletPermissionsManager.ts +2424 -0
- package/src/WalletSettingsManager.ts +243 -0
- package/src/__tests/CWIStyleWalletManager.test.ts +604 -0
- package/src/__tests/WalletPermissionsManager.callbacks.test.ts +323 -0
- package/src/__tests/WalletPermissionsManager.checks.test.ts +839 -0
- package/src/__tests/WalletPermissionsManager.encryption.test.ts +370 -0
- package/src/__tests/WalletPermissionsManager.fixtures.ts +284 -0
- package/src/__tests/WalletPermissionsManager.flows.test.ts +457 -0
- package/src/__tests/WalletPermissionsManager.initialization.test.ts +300 -0
- package/src/__tests/WalletPermissionsManager.proxying.test.ts +706 -0
- package/src/__tests/WalletPermissionsManager.tokens.test.ts +546 -0
- package/src/index.all.ts +9 -0
- package/src/index.client.ts +9 -0
- package/src/sdk/CertOpsWallet.ts +18 -0
- package/src/sdk/__test/CertificateLifeCycle.test.ts +66 -113
- package/src/sdk/index.ts +1 -1
- package/src/sdk/validationHelpers.ts +12 -11
- package/src/services/__tests/bitrails.test.ts +7 -2
- package/src/services/providers/__tests/WhatsOnChain.test.ts +3 -3
- package/src/signer/methods/proveCertificate.ts +14 -21
- package/src/storage/__test/WalletStorageManager.test.ts +1 -1
- package/src/storage/remoting/StorageClient.ts +4 -4
- package/src/utility/identityUtils.ts +159 -0
- package/src/wab-client/WABClient.ts +94 -0
- package/src/wab-client/__tests/WABClient.man.test.ts +59 -0
- package/src/wab-client/auth-method-interactors/AuthMethodInteractor.ts +47 -0
- package/src/wab-client/auth-method-interactors/PersonaIDInteractor.ts +35 -0
- package/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.ts +72 -0
- package/test/Wallet/action/internalizeAction.a.test.ts +1 -1
- package/test/Wallet/certificate/acquireCertificate.test.ts +89 -30
- package/test/storage/KnexMigrations.test.ts +1 -1
- package/test/storage/update.test.ts +1 -1
- package/test/utils/TestUtilsWalletStorage.ts +24 -13
- package/test/wallet/action/internalizeAction.test.ts +1 -1
- package/test/wallet/list/listActions2.test.ts +1 -1
- package/test/wallet/sync/Wallet.sync.test.ts +1 -1
- package/out/src/sdk/CertOps.d.ts +0 -66
- package/out/src/sdk/CertOps.d.ts.map +0 -1
- package/out/src/sdk/CertOps.js +0 -190
- package/out/src/sdk/CertOps.js.map +0 -1
- 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":";;AAAA,2FAAyF;AACzF,0EAAsE;AAEtE,2CAAoC;AAEpC,mDAAmD;AACnD,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,iDAAa,CAAC,CAAA;AAE1C,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,IAAI,UAAmD,CAAA;IACvD,IAAI,OAAiC,CAAA;IAErC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAA,wDAAoB,GAAE,CAAA;QACnC,oFAAoF;QACpF,OAAO,GAAG,IAAI,mDAAwB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,cAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAC5E,wDAAwD;IACxD,4EAA4E;IAE5E,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,MAAM,GAAG,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC7B,MAAM,GAAG,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAE7B,+CAA+C;QAC/C,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAC1D,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAE1D,wEAAwE;QACxE,4FAA4F;QAC5F,iEAAiE;QACjE,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA;QAC5D,MAAO,OAAe,CAAC,SAAS,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAA;QAE5E,yEAAyE;QACzE,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAE3C,gBAAgB;QAChB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;IACvF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,GAAG,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC7B,MAAM,GAAG,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAE7B,kCAAkC;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QACtE,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAE1D,oCAAoC;QACpC,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA;QAC1C,MAAO,OAAe,CAAC,SAAS,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;QAEzE,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAEpC,2BAA2B;QAC3B,OAAO,CAAC,cAAc,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAE5D,aAAa;QACb,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA;QAC1C,MAAO,OAAe,CAAC,SAAS,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;QAEzE,0CAA0C;QAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,8BAA8B;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,GAAG,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC7B,MAAM,GAAG,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC7B,MAAM,GAAG,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAE7B,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAC1D,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAC1D,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAE1D,YAAY;QACZ,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;QAC9C,MAAO,OAAe,CAAC,SAAS,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;QAEzE,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAEpC,mCAAmC;QACnC,OAAO,CAAC,cAAc,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QAE5D,aAAa;QACb,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAA;QAC/C,MAAO,OAAe,CAAC,SAAS,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;QAEzE,iCAAiC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,MAAM,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,cAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC9C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAEjC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;QAC7D,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,KAAY,CAAC,CAAA;QACnE,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAA;QAE9D,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;QAC3C,6DAA6D;QAC7D,MAAO,OAAe,CAAC,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;QAExE,iCAAiC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAC5E,qDAAqD;IACrD,4EAA4E;IAE5E,EAAE,CAAC,wHAAwH,EAAE,KAAK,IAAI,EAAE;QACtI,MAAM,WAAW,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAErC,2CAA2C;QAC3C,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAA;QAElE,0DAA0D;QAC1D,8CAA8C;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CACzC;YACE,UAAU,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC;YAChC,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YAClB,UAAU,EAAE,KAAK;SAClB,EACD,uBAAuB,CACxB,CAAA;QAED,2CAA2C;QAC3C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAEzC,kEAAkE;QAClE,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAE5C,wEAAwE;QACxE,MAAM,OAAO,GAAI,WAAW,CAAC,IAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACxD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAA,CAAC,mCAAmC;QAE3G,gFAAgF;QAChF,6BAA6B;QAC7B,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEzC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,WAAW,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACrC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAA;QAElE,8CAA8C;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CACzC;YACE,UAAU,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;YAC5B,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,CAAC,IAAI,CAAC;YACZ,UAAU,EAAE,KAAK;SAClB,EACD,cAAc,CACf,CAAA;QAED,6BAA6B;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACzC,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAE5C,0CAA0C;QAC1C,MAAM,SAAS,GAAI,WAAW,CAAC,IAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEjE,wBAAwB;QACxB,MAAM,WAAW,GAAG;YAClB,SAAS;YACT,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI;SAChB,CAAA;QACD,MAAM,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QAE1C,wGAAwG;QACxG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,WAAW,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAErC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAA;QAClE,uDAAuD;QACvD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CACpC;YACE,UAAU,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC;YAC9B,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACvB,UAAU,EAAE,KAAK;SAClB,EACD,yBAAyB,CAC1B,CAAA;QAED,sCAAsC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACzC,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAE5C,MAAM,SAAS,GAAI,WAAW,CAAC,IAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEjE,mBAAmB;QACnB,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QAEjC,4CAA4C;QAC5C,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;QAC/G,MAAM,WAAW,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACrC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAA;QAElE,qDAAqD;QACrD,8EAA8E;QAE9E,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CACnC;YACE,UAAU,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC;YAChC,IAAI,EAAE,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,KAAK;SAClB,EACD,mBAAmB,CACpB,CAAA;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CACnC;YACE,UAAU,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC;YAChC,IAAI,EAAE,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,KAAK;SAClB,EACD,mBAAmB,CACpB,CAAA;QAED,sCAAsC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAEzC,gFAAgF;QAChF,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAE5C,+BAA+B;QAC/B,MAAM,OAAO,CAAC,eAAe,CAAC;YAC5B,SAAS,EAAG,WAAW,CAAC,IAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1D,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;QAEF,gCAAgC;QAChC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,MAAM,WAAW,GAAG,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACrC,OAAO,CAAC,YAAY,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAA;QAElE,uDAAuD;QACvD,wCAAwC;QACxC,wCAAwC;QAExC,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CACnC;YACE,UAAU,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;YAC5B,IAAI,EAAE,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,KAAK;SAClB,EACD,UAAU,CACX,CAAA;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CACnC;YACE,UAAU,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;YAC5B,IAAI,EAAE,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,KAAK;SAClB,EACD,UAAU,CACX,CAAA;QAED,gCAAgC;QAChC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAEzC,sCAAsC;QACtC,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAE5C,uCAAuC;QACvC,MAAM,OAAO,GAAI,WAAW,CAAC,IAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/D,MAAM,QAAQ,GAAI,WAAW,CAAC,IAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAElC,yCAAyC;QACzC,OAAO,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAChE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAEhC,gCAAgC;QAChC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletPermissionsManager.checks.test.d.ts","sourceRoot":"","sources":["../../../src/__tests/WalletPermissionsManager.checks.test.ts"],"names":[],"mappings":""}
|