@hsuite/native-connect-angular 1.0.0 → 2.1.0
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/coverage/coverage-summary.json +49 -49
- package/coverage/index.html +122 -122
- package/coverage/lcov-report/index.html +122 -122
- package/coverage/lcov-report/lib/components/account-selector/account-actions/account-actions.component.ts.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-actions/index.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-filter/account-filter.component.ts.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-filter/index.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-formatting.service.ts.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-grouping.service.ts.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-list/account-list.component.ts.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-list/index.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-selector.component.ts.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/account-selector.service.ts.html +1 -1
- package/coverage/lcov-report/lib/components/account-selector/index.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-account-display/index.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-account-display/wallet-account-display.component.ts.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-connect-button/index.html +21 -21
- package/coverage/lcov-report/lib/components/wallet-connect-button/wallet-connect-button.component.ts.html +475 -451
- package/coverage/lcov-report/lib/components/wallet-connect-prompt/index.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-connect-prompt/wallet-connect-prompt.component.ts.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-connected-guard/index.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-connected-guard/wallet-connected-guard.component.ts.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-connection-modal/connection-method-step/connection-method-step.component.ts.html +148 -148
- package/coverage/lcov-report/lib/components/wallet-connection-modal/connection-method-step/index.html +17 -17
- package/coverage/lcov-report/lib/components/wallet-connection-modal/index.html +21 -21
- package/coverage/lcov-report/lib/components/wallet-connection-modal/qr-pairing-step/index.html +17 -17
- package/coverage/lcov-report/lib/components/wallet-connection-modal/qr-pairing-step/qr-pairing-step.component.ts.html +838 -838
- package/coverage/lcov-report/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts.html +1182 -987
- package/coverage/lcov-report/lib/components/wallet-session-display/index.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-session-display/wallet-session-display.component.ts.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-transaction-status/index.html +1 -1
- package/coverage/lcov-report/lib/components/wallet-transaction-status/wallet-transaction-status.component.ts.html +1 -1
- package/coverage/lcov-report/lib/directives/index.html +1 -1
- package/coverage/lcov-report/lib/directives/wallet-connected.directive.ts.html +1 -1
- package/coverage/lcov-report/lib/directives/wallet-context.directive.ts.html +1 -1
- package/coverage/lcov-report/lib/directives/wallet-events.directive.ts.html +1 -1
- package/coverage/lcov-report/lib/hsuite-wallet.module.ts.html +1 -1
- package/coverage/lcov-report/lib/index.html +1 -1
- package/coverage/lcov-report/lib/models/connection-config.model.ts.html +1 -1
- package/coverage/lcov-report/lib/models/index.html +1 -1
- package/coverage/lcov-report/lib/models/provider-types.ts.html +1 -1
- package/coverage/lcov-report/lib/providers/base-wallet-provider.ts.html +20 -20
- package/coverage/lcov-report/lib/providers/hsuite-native/channel-client.service.ts.html +637 -637
- package/coverage/lcov-report/lib/providers/hsuite-native/index.html +19 -19
- package/coverage/lcov-report/lib/providers/hsuite-native-provider.ts.html +1 -1
- package/coverage/lcov-report/lib/providers/index.html +18 -18
- package/coverage/lcov-report/lib/providers/p2p-native/index.html +20 -20
- package/coverage/lcov-report/lib/providers/p2p-native/p2p-native.provider.ts.html +993 -993
- package/coverage/lcov-report/lib/providers/p2p-native/p2p-session-manager.ts.html +1 -1
- package/coverage/lcov-report/lib/providers/wallet-error-handler.ts.html +1 -1
- package/coverage/lcov-report/lib/providers/walletconnect/core/index.html +65 -65
- package/coverage/lcov-report/lib/providers/walletconnect/core/session-health.ts.html +240 -240
- package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-client-manager.ts.html +559 -559
- package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-provider.ts.html +1104 -1104
- package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-session-store.ts.html +493 -493
- package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-signing-orchestrator.ts.html +366 -366
- package/coverage/lcov-report/lib/providers/walletconnect/signers/hedera-signer.ts.html +730 -730
- package/coverage/lcov-report/lib/providers/walletconnect/signers/index.html +43 -43
- package/coverage/lcov-report/lib/providers/walletconnect/signers/signer-factory.ts.html +234 -234
- package/coverage/lcov-report/lib/providers/walletconnect/signers/xrpl-signer.ts.html +650 -650
- package/coverage/lcov-report/lib/services/index.html +31 -31
- package/coverage/lcov-report/lib/services/logger.service.ts.html +4 -4
- package/coverage/lcov-report/lib/services/transaction-builders/base-transaction-builder.service.ts.html +1 -1
- package/coverage/lcov-report/lib/services/transaction-builders/hedera-amount-utils.ts.html +155 -155
- package/coverage/lcov-report/lib/services/transaction-builders/hedera-transaction-builder.service.ts.html +2156 -2156
- package/coverage/lcov-report/lib/services/transaction-builders/index.html +43 -43
- package/coverage/lcov-report/lib/services/transaction-builders/xrpl-transaction-builder.service.ts.html +1674 -1674
- package/coverage/lcov-report/lib/services/transaction.service.ts.html +4 -7
- package/coverage/lcov-report/lib/services/unified-wallet.service.ts.html +7 -10
- package/coverage/lcov-report/lib/services/wallet-context.service.ts.html +1 -1
- package/coverage/lcov-report/lib/services/wallet-event-bus.service.ts.html +249 -249
- package/coverage/lcov-report/lib/services/wallet-providers.service.ts.html +4 -7
- package/coverage/lcov-report/lib/transports/chrome-extension-transport.ts.html +1 -1
- package/coverage/lcov-report/lib/transports/index.html +1 -1
- package/coverage/lcov-report/lib/utils/index.html +1 -1
- package/coverage/lcov-report/lib/utils/ledger-icons.util.ts.html +1 -1
- package/coverage/lcov.info +14420 -14977
- package/coverage/lib/components/account-selector/account-actions/account-actions.component.ts.html +1 -1
- package/coverage/lib/components/account-selector/account-actions/index.html +1 -1
- package/coverage/lib/components/account-selector/account-filter/account-filter.component.ts.html +1 -1
- package/coverage/lib/components/account-selector/account-filter/index.html +1 -1
- package/coverage/lib/components/account-selector/account-formatting.service.ts.html +1 -1
- package/coverage/lib/components/account-selector/account-grouping.service.ts.html +1 -1
- package/coverage/lib/components/account-selector/account-list/account-list.component.ts.html +1 -1
- package/coverage/lib/components/account-selector/account-list/index.html +1 -1
- package/coverage/lib/components/account-selector/account-selector.component.ts.html +1 -1
- package/coverage/lib/components/account-selector/account-selector.service.ts.html +1 -1
- package/coverage/lib/components/account-selector/index.html +1 -1
- package/coverage/lib/components/wallet-account-display/index.html +1 -1
- package/coverage/lib/components/wallet-account-display/wallet-account-display.component.ts.html +1 -1
- package/coverage/lib/components/wallet-connect-button/index.html +21 -21
- package/coverage/lib/components/wallet-connect-button/wallet-connect-button.component.ts.html +475 -451
- package/coverage/lib/components/wallet-connect-prompt/index.html +1 -1
- package/coverage/lib/components/wallet-connect-prompt/wallet-connect-prompt.component.ts.html +1 -1
- package/coverage/lib/components/wallet-connected-guard/index.html +1 -1
- package/coverage/lib/components/wallet-connected-guard/wallet-connected-guard.component.ts.html +1 -1
- package/coverage/lib/components/wallet-connection-modal/connection-method-step/connection-method-step.component.ts.html +148 -148
- package/coverage/lib/components/wallet-connection-modal/connection-method-step/index.html +17 -17
- package/coverage/lib/components/wallet-connection-modal/index.html +21 -21
- package/coverage/lib/components/wallet-connection-modal/qr-pairing-step/index.html +17 -17
- package/coverage/lib/components/wallet-connection-modal/qr-pairing-step/qr-pairing-step.component.ts.html +838 -838
- package/coverage/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts.html +1182 -987
- package/coverage/lib/components/wallet-session-display/index.html +1 -1
- package/coverage/lib/components/wallet-session-display/wallet-session-display.component.ts.html +1 -1
- package/coverage/lib/components/wallet-transaction-status/index.html +1 -1
- package/coverage/lib/components/wallet-transaction-status/wallet-transaction-status.component.ts.html +1 -1
- package/coverage/lib/directives/index.html +1 -1
- package/coverage/lib/directives/wallet-connected.directive.ts.html +1 -1
- package/coverage/lib/directives/wallet-context.directive.ts.html +1 -1
- package/coverage/lib/directives/wallet-events.directive.ts.html +1 -1
- package/coverage/lib/hsuite-wallet.module.ts.html +1 -1
- package/coverage/lib/index.html +1 -1
- package/coverage/lib/models/connection-config.model.ts.html +1 -1
- package/coverage/lib/models/index.html +1 -1
- package/coverage/lib/models/provider-types.ts.html +1 -1
- package/coverage/lib/providers/base-wallet-provider.ts.html +20 -20
- package/coverage/lib/providers/hsuite-native/channel-client.service.ts.html +637 -637
- package/coverage/lib/providers/hsuite-native/index.html +19 -19
- package/coverage/lib/providers/hsuite-native-provider.ts.html +1 -1
- package/coverage/lib/providers/index.html +18 -18
- package/coverage/lib/providers/p2p-native/index.html +20 -20
- package/coverage/lib/providers/p2p-native/p2p-native.provider.ts.html +993 -993
- package/coverage/lib/providers/p2p-native/p2p-session-manager.ts.html +1 -1
- package/coverage/lib/providers/wallet-error-handler.ts.html +1 -1
- package/coverage/lib/providers/walletconnect/core/index.html +65 -65
- package/coverage/lib/providers/walletconnect/core/session-health.ts.html +240 -240
- package/coverage/lib/providers/walletconnect/core/walletconnect-client-manager.ts.html +559 -559
- package/coverage/lib/providers/walletconnect/core/walletconnect-provider.ts.html +1104 -1104
- package/coverage/lib/providers/walletconnect/core/walletconnect-session-store.ts.html +493 -493
- package/coverage/lib/providers/walletconnect/core/walletconnect-signing-orchestrator.ts.html +366 -366
- package/coverage/lib/providers/walletconnect/signers/hedera-signer.ts.html +730 -730
- package/coverage/lib/providers/walletconnect/signers/index.html +43 -43
- package/coverage/lib/providers/walletconnect/signers/signer-factory.ts.html +234 -234
- package/coverage/lib/providers/walletconnect/signers/xrpl-signer.ts.html +650 -650
- package/coverage/lib/services/index.html +31 -31
- package/coverage/lib/services/logger.service.ts.html +4 -4
- package/coverage/lib/services/transaction-builders/base-transaction-builder.service.ts.html +1 -1
- package/coverage/lib/services/transaction-builders/hedera-amount-utils.ts.html +155 -155
- package/coverage/lib/services/transaction-builders/hedera-transaction-builder.service.ts.html +2156 -2156
- package/coverage/lib/services/transaction-builders/index.html +43 -43
- package/coverage/lib/services/transaction-builders/xrpl-transaction-builder.service.ts.html +1674 -1674
- package/coverage/lib/services/transaction.service.ts.html +4 -7
- package/coverage/lib/services/unified-wallet.service.ts.html +7 -10
- package/coverage/lib/services/wallet-context.service.ts.html +1 -1
- package/coverage/lib/services/wallet-event-bus.service.ts.html +249 -249
- package/coverage/lib/services/wallet-providers.service.ts.html +4 -7
- package/coverage/lib/transports/chrome-extension-transport.ts.html +1 -1
- package/coverage/lib/transports/index.html +1 -1
- package/coverage/lib/utils/index.html +1 -1
- package/coverage/lib/utils/ledger-icons.util.ts.html +1 -1
- package/dist/fesm2022/hsuite-native-connect-angular.mjs +85 -20
- package/dist/fesm2022/hsuite-native-connect-angular.mjs.map +1 -1
- package/dist/index.d.ts +33 -3
- package/package.json +4 -4
- package/src/lib/components/wallet-connect-button/wallet-connect-button.component.spec.ts +89 -0
- package/src/lib/components/wallet-connect-button/wallet-connect-button.component.ts +8 -0
- package/src/lib/components/wallet-connection-modal/wallet-connection-modal.component.html +1 -6
- package/src/lib/components/wallet-connection-modal/wallet-connection-modal.component.spec.ts +173 -0
- package/src/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts +84 -19
- package/src/lib/services/transaction.service.ts +0 -1
- package/src/lib/services/unified-wallet.service.ts +0 -1
- package/src/lib/services/wallet-providers.service.ts +0 -1
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>0/364</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/1</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>0/1</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>0/364</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line low'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -427,266 +427,13 @@
|
|
|
427
427
|
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
428
|
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
429
|
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
-
<a name='L365'></a><a href='#L365'>365</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
431
|
-
<span class="cline-any cline-yes">1x</span>
|
|
432
|
-
<span class="cline-any cline-yes">1x</span>
|
|
433
|
-
<span class="cline-any cline-yes">1x</span>
|
|
434
|
-
<span class="cline-any cline-yes">1x</span>
|
|
435
|
-
<span class="cline-any cline-yes">1x</span>
|
|
436
|
-
<span class="cline-any cline-yes">1x</span>
|
|
437
|
-
<span class="cline-any cline-yes">1x</span>
|
|
438
|
-
<span class="cline-any cline-yes">1x</span>
|
|
439
|
-
<span class="cline-any cline-yes">1x</span>
|
|
440
|
-
<span class="cline-any cline-yes">1x</span>
|
|
441
|
-
<span class="cline-any cline-yes">1x</span>
|
|
442
|
-
<span class="cline-any cline-yes">1x</span>
|
|
443
|
-
<span class="cline-any cline-yes">1x</span>
|
|
444
|
-
<span class="cline-any cline-yes">1x</span>
|
|
445
|
-
<span class="cline-any cline-yes">1x</span>
|
|
446
|
-
<span class="cline-any cline-yes">1x</span>
|
|
447
|
-
<span class="cline-any cline-yes">1x</span>
|
|
448
|
-
<span class="cline-any cline-yes">1x</span>
|
|
449
|
-
<span class="cline-any cline-yes">1x</span>
|
|
450
|
-
<span class="cline-any cline-yes">1x</span>
|
|
451
|
-
<span class="cline-any cline-yes">1x</span>
|
|
452
|
-
<span class="cline-any cline-yes">1x</span>
|
|
453
|
-
<span class="cline-any cline-yes">1x</span>
|
|
454
|
-
<span class="cline-any cline-yes">1x</span>
|
|
455
|
-
<span class="cline-any cline-yes">1x</span>
|
|
456
|
-
<span class="cline-any cline-yes">1x</span>
|
|
457
|
-
<span class="cline-any cline-yes">1x</span>
|
|
458
|
-
<span class="cline-any cline-yes">1x</span>
|
|
459
|
-
<span class="cline-any cline-yes">1x</span>
|
|
460
|
-
<span class="cline-any cline-yes">1x</span>
|
|
461
|
-
<span class="cline-any cline-yes">1x</span>
|
|
462
|
-
<span class="cline-any cline-yes">1x</span>
|
|
463
|
-
<span class="cline-any cline-yes">1x</span>
|
|
464
|
-
<span class="cline-any cline-yes">1x</span>
|
|
465
|
-
<span class="cline-any cline-yes">1x</span>
|
|
466
|
-
<span class="cline-any cline-yes">1x</span>
|
|
467
|
-
<span class="cline-any cline-yes">1x</span>
|
|
468
|
-
<span class="cline-any cline-yes">1x</span>
|
|
469
|
-
<span class="cline-any cline-yes">1x</span>
|
|
470
|
-
<span class="cline-any cline-yes">1x</span>
|
|
471
|
-
<span class="cline-any cline-yes">1x</span>
|
|
472
|
-
<span class="cline-any cline-yes">1x</span>
|
|
473
|
-
<span class="cline-any cline-yes">1x</span>
|
|
474
|
-
<span class="cline-any cline-yes">1x</span>
|
|
475
|
-
<span class="cline-any cline-yes">1x</span>
|
|
476
|
-
<span class="cline-any cline-yes">1x</span>
|
|
477
|
-
<span class="cline-any cline-yes">1x</span>
|
|
478
|
-
<span class="cline-any cline-yes">1x</span>
|
|
479
|
-
<span class="cline-any cline-yes">1x</span>
|
|
480
|
-
<span class="cline-any cline-yes">1x</span>
|
|
481
|
-
<span class="cline-any cline-yes">1x</span>
|
|
482
|
-
<span class="cline-any cline-yes">1x</span>
|
|
483
|
-
<span class="cline-any cline-yes">16x</span>
|
|
484
|
-
<span class="cline-any cline-yes">16x</span>
|
|
485
|
-
<span class="cline-any cline-yes">16x</span>
|
|
486
|
-
<span class="cline-any cline-yes">16x</span>
|
|
487
|
-
<span class="cline-any cline-yes">16x</span>
|
|
488
|
-
<span class="cline-any cline-yes">16x</span>
|
|
489
|
-
<span class="cline-any cline-yes">16x</span>
|
|
490
|
-
<span class="cline-any cline-yes">16x</span>
|
|
491
|
-
<span class="cline-any cline-yes">16x</span>
|
|
492
|
-
<span class="cline-any cline-yes">16x</span>
|
|
493
|
-
<span class="cline-any cline-yes">16x</span>
|
|
494
|
-
<span class="cline-any cline-yes">16x</span>
|
|
495
|
-
<span class="cline-any cline-yes">16x</span>
|
|
496
|
-
<span class="cline-any cline-yes">13x</span>
|
|
497
|
-
<span class="cline-any cline-no"> </span>
|
|
498
|
-
<span class="cline-any cline-no"> </span>
|
|
499
|
-
<span class="cline-any cline-yes">13x</span>
|
|
500
|
-
<span class="cline-any cline-yes">13x</span>
|
|
501
|
-
<span class="cline-any cline-yes">13x</span>
|
|
502
|
-
<span class="cline-any cline-yes">13x</span>
|
|
503
|
-
<span class="cline-any cline-yes">13x</span>
|
|
504
|
-
<span class="cline-any cline-yes">13x</span>
|
|
505
|
-
<span class="cline-any cline-yes">13x</span>
|
|
506
|
-
<span class="cline-any cline-yes">13x</span>
|
|
507
|
-
<span class="cline-any cline-yes">13x</span>
|
|
508
|
-
<span class="cline-any cline-yes">13x</span>
|
|
509
|
-
<span class="cline-any cline-yes">13x</span>
|
|
510
|
-
<span class="cline-any cline-yes">13x</span>
|
|
511
|
-
<span class="cline-any cline-yes">13x</span>
|
|
512
|
-
<span class="cline-any cline-yes">12x</span>
|
|
513
|
-
<span class="cline-any cline-yes">12x</span>
|
|
514
|
-
<span class="cline-any cline-yes">12x</span>
|
|
515
|
-
<span class="cline-any cline-yes">12x</span>
|
|
516
|
-
<span class="cline-any cline-yes">12x</span>
|
|
517
|
-
<span class="cline-any cline-yes">12x</span>
|
|
518
|
-
<span class="cline-any cline-yes">13x</span>
|
|
519
|
-
<span class="cline-any cline-yes">16x</span>
|
|
520
|
-
<span class="cline-any cline-yes">16x</span>
|
|
521
|
-
<span class="cline-any cline-yes">16x</span>
|
|
522
|
-
<span class="cline-any cline-yes">16x</span>
|
|
523
|
-
<span class="cline-any cline-yes">16x</span>
|
|
524
|
-
<span class="cline-any cline-yes">16x</span>
|
|
525
|
-
<span class="cline-any cline-no"> </span>
|
|
526
|
-
<span class="cline-any cline-no"> </span>
|
|
527
|
-
<span class="cline-any cline-no"> </span>
|
|
528
|
-
<span class="cline-any cline-no"> </span>
|
|
529
|
-
<span class="cline-any cline-no"> </span>
|
|
530
|
-
<span class="cline-any cline-yes">16x</span>
|
|
531
|
-
<span class="cline-any cline-yes">16x</span>
|
|
532
|
-
<span class="cline-any cline-yes">16x</span>
|
|
533
|
-
<span class="cline-any cline-yes">16x</span>
|
|
534
|
-
<span class="cline-any cline-yes">16x</span>
|
|
535
|
-
<span class="cline-any cline-yes">32x</span>
|
|
536
|
-
<span class="cline-any cline-yes">32x</span>
|
|
537
|
-
<span class="cline-any cline-yes">16x</span>
|
|
538
|
-
<span class="cline-any cline-yes">16x</span>
|
|
539
|
-
<span class="cline-any cline-yes">16x</span>
|
|
540
|
-
<span class="cline-any cline-yes">16x</span>
|
|
541
|
-
<span class="cline-any cline-yes">16x</span>
|
|
542
|
-
<span class="cline-any cline-yes">16x</span>
|
|
543
|
-
<span class="cline-any cline-yes">16x</span>
|
|
544
|
-
<span class="cline-any cline-yes">16x</span>
|
|
545
|
-
<span class="cline-any cline-yes">16x</span>
|
|
546
|
-
<span class="cline-any cline-yes">16x</span>
|
|
547
|
-
<span class="cline-any cline-yes">16x</span>
|
|
548
|
-
<span class="cline-any cline-yes">16x</span>
|
|
549
|
-
<span class="cline-any cline-yes">16x</span>
|
|
550
|
-
<span class="cline-any cline-yes">16x</span>
|
|
551
|
-
<span class="cline-any cline-no"> </span>
|
|
552
|
-
<span class="cline-any cline-no"> </span>
|
|
553
|
-
<span class="cline-any cline-no"> </span>
|
|
554
|
-
<span class="cline-any cline-no"> </span>
|
|
555
|
-
<span class="cline-any cline-no"> </span>
|
|
556
|
-
<span class="cline-any cline-no"> </span>
|
|
557
|
-
<span class="cline-any cline-no"> </span>
|
|
558
|
-
<span class="cline-any cline-no"> </span>
|
|
559
|
-
<span class="cline-any cline-no"> </span>
|
|
560
|
-
<span class="cline-any cline-yes">16x</span>
|
|
561
|
-
<span class="cline-any cline-yes">16x</span>
|
|
562
|
-
<span class="cline-any cline-yes">16x</span>
|
|
563
|
-
<span class="cline-any cline-yes">16x</span>
|
|
564
|
-
<span class="cline-any cline-yes">16x</span>
|
|
565
|
-
<span class="cline-any cline-yes">16x</span>
|
|
566
|
-
<span class="cline-any cline-no"> </span>
|
|
567
|
-
<span class="cline-any cline-no"> </span>
|
|
568
|
-
<span class="cline-any cline-no"> </span>
|
|
569
|
-
<span class="cline-any cline-no"> </span>
|
|
570
|
-
<span class="cline-any cline-no"> </span>
|
|
571
|
-
<span class="cline-any cline-yes">16x</span>
|
|
572
|
-
<span class="cline-any cline-yes">16x</span>
|
|
573
|
-
<span class="cline-any cline-yes">16x</span>
|
|
574
|
-
<span class="cline-any cline-yes">16x</span>
|
|
575
|
-
<span class="cline-any cline-yes">16x</span>
|
|
576
|
-
<span class="cline-any cline-yes">16x</span>
|
|
577
|
-
<span class="cline-any cline-yes">12x</span>
|
|
578
|
-
<span class="cline-any cline-no"> </span>
|
|
579
|
-
<span class="cline-any cline-no"> </span>
|
|
580
|
-
<span class="cline-any cline-yes">12x</span>
|
|
581
|
-
<span class="cline-any cline-yes">12x</span>
|
|
582
|
-
<span class="cline-any cline-yes">12x</span>
|
|
583
|
-
<span class="cline-any cline-yes">12x</span>
|
|
584
|
-
<span class="cline-any cline-yes">12x</span>
|
|
585
|
-
<span class="cline-any cline-yes">12x</span>
|
|
586
|
-
<span class="cline-any cline-yes">16x</span>
|
|
587
|
-
<span class="cline-any cline-yes">16x</span>
|
|
588
|
-
<span class="cline-any cline-yes">16x</span>
|
|
589
|
-
<span class="cline-any cline-yes">16x</span>
|
|
590
|
-
<span class="cline-any cline-yes">16x</span>
|
|
591
|
-
<span class="cline-any cline-yes">16x</span>
|
|
592
|
-
<span class="cline-any cline-yes">16x</span>
|
|
593
|
-
<span class="cline-any cline-yes">12x</span>
|
|
594
|
-
<span class="cline-any cline-yes">12x</span>
|
|
595
|
-
<span class="cline-any cline-yes">12x</span>
|
|
596
|
-
<span class="cline-any cline-yes">12x</span>
|
|
597
|
-
<span class="cline-any cline-yes">12x</span>
|
|
598
|
-
<span class="cline-any cline-yes">12x</span>
|
|
599
|
-
<span class="cline-any cline-yes">16x</span>
|
|
600
|
-
<span class="cline-any cline-yes">16x</span>
|
|
601
|
-
<span class="cline-any cline-yes">16x</span>
|
|
602
|
-
<span class="cline-any cline-yes">16x</span>
|
|
603
|
-
<span class="cline-any cline-yes">16x</span>
|
|
604
|
-
<span class="cline-any cline-yes">17x</span>
|
|
605
|
-
<span class="cline-any cline-yes">16x</span>
|
|
606
|
-
<span class="cline-any cline-yes">16x</span>
|
|
607
|
-
<span class="cline-any cline-yes">17x</span>
|
|
608
|
-
<span class="cline-any cline-yes">16x</span>
|
|
609
|
-
<span class="cline-any cline-yes">16x</span>
|
|
610
|
-
<span class="cline-any cline-yes">16x</span>
|
|
611
|
-
<span class="cline-any cline-yes">16x</span>
|
|
612
|
-
<span class="cline-any cline-yes">16x</span>
|
|
613
|
-
<span class="cline-any cline-yes">16x</span>
|
|
614
|
-
<span class="cline-any cline-yes">16x</span>
|
|
615
|
-
<span class="cline-any cline-yes">16x</span>
|
|
616
|
-
<span class="cline-any cline-yes">16x</span>
|
|
617
|
-
<span class="cline-any cline-yes">12x</span>
|
|
618
|
-
<span class="cline-any cline-yes">12x</span>
|
|
619
|
-
<span class="cline-any cline-yes">12x</span>
|
|
620
|
-
<span class="cline-any cline-yes">12x</span>
|
|
621
|
-
<span class="cline-any cline-yes">12x</span>
|
|
622
|
-
<span class="cline-any cline-yes">12x</span>
|
|
623
|
-
<span class="cline-any cline-yes">12x</span>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
624
431
|
<span class="cline-any cline-no"> </span>
|
|
625
432
|
<span class="cline-any cline-no"> </span>
|
|
626
|
-
<span class="cline-any cline-yes">12x</span>
|
|
627
|
-
<span class="cline-any cline-yes">12x</span>
|
|
628
|
-
<span class="cline-any cline-yes">12x</span>
|
|
629
|
-
<span class="cline-any cline-yes">12x</span>
|
|
630
|
-
<span class="cline-any cline-yes">12x</span>
|
|
631
|
-
<span class="cline-any cline-yes">12x</span>
|
|
632
|
-
<span class="cline-any cline-yes">12x</span>
|
|
633
|
-
<span class="cline-any cline-yes">12x</span>
|
|
634
|
-
<span class="cline-any cline-yes">12x</span>
|
|
635
|
-
<span class="cline-any cline-yes">12x</span>
|
|
636
|
-
<span class="cline-any cline-yes">12x</span>
|
|
637
|
-
<span class="cline-any cline-yes">12x</span>
|
|
638
|
-
<span class="cline-any cline-yes">12x</span>
|
|
639
|
-
<span class="cline-any cline-yes">12x</span>
|
|
640
|
-
<span class="cline-any cline-yes">12x</span>
|
|
641
|
-
<span class="cline-any cline-yes">12x</span>
|
|
642
|
-
<span class="cline-any cline-yes">16x</span>
|
|
643
|
-
<span class="cline-any cline-yes">16x</span>
|
|
644
|
-
<span class="cline-any cline-yes">16x</span>
|
|
645
|
-
<span class="cline-any cline-yes">16x</span>
|
|
646
|
-
<span class="cline-any cline-yes">16x</span>
|
|
647
|
-
<span class="cline-any cline-yes">16x</span>
|
|
648
|
-
<span class="cline-any cline-yes">16x</span>
|
|
649
|
-
<span class="cline-any cline-yes">16x</span>
|
|
650
|
-
<span class="cline-any cline-yes">16x</span>
|
|
651
|
-
<span class="cline-any cline-yes">4x</span>
|
|
652
433
|
<span class="cline-any cline-no"> </span>
|
|
653
434
|
<span class="cline-any cline-no"> </span>
|
|
654
|
-
<span class="cline-any cline-yes">4x</span>
|
|
655
|
-
<span class="cline-any cline-yes">4x</span>
|
|
656
|
-
<span class="cline-any cline-yes">4x</span>
|
|
657
|
-
<span class="cline-any cline-yes">4x</span>
|
|
658
|
-
<span class="cline-any cline-yes">4x</span>
|
|
659
|
-
<span class="cline-any cline-yes">16x</span>
|
|
660
|
-
<span class="cline-any cline-yes">16x</span>
|
|
661
|
-
<span class="cline-any cline-yes">16x</span>
|
|
662
|
-
<span class="cline-any cline-yes">16x</span>
|
|
663
|
-
<span class="cline-any cline-yes">16x</span>
|
|
664
|
-
<span class="cline-any cline-yes">16x</span>
|
|
665
|
-
<span class="cline-any cline-yes">16x</span>
|
|
666
|
-
<span class="cline-any cline-yes">12x</span>
|
|
667
435
|
<span class="cline-any cline-no"> </span>
|
|
668
436
|
<span class="cline-any cline-no"> </span>
|
|
669
|
-
<span class="cline-any cline-yes">12x</span>
|
|
670
|
-
<span class="cline-any cline-yes">12x</span>
|
|
671
|
-
<span class="cline-any cline-yes">16x</span>
|
|
672
|
-
<span class="cline-any cline-yes">16x</span>
|
|
673
|
-
<span class="cline-any cline-yes">16x</span>
|
|
674
|
-
<span class="cline-any cline-yes">16x</span>
|
|
675
|
-
<span class="cline-any cline-yes">16x</span>
|
|
676
|
-
<span class="cline-any cline-yes">16x</span>
|
|
677
|
-
<span class="cline-any cline-yes">16x</span>
|
|
678
|
-
<span class="cline-any cline-yes">16x</span>
|
|
679
|
-
<span class="cline-any cline-yes">16x</span>
|
|
680
|
-
<span class="cline-any cline-yes">16x</span>
|
|
681
|
-
<span class="cline-any cline-yes">16x</span>
|
|
682
|
-
<span class="cline-any cline-yes">16x</span>
|
|
683
|
-
<span class="cline-any cline-yes">16x</span>
|
|
684
|
-
<span class="cline-any cline-yes">16x</span>
|
|
685
|
-
<span class="cline-any cline-yes">16x</span>
|
|
686
|
-
<span class="cline-any cline-yes">16x</span>
|
|
687
|
-
<span class="cline-any cline-yes">16x</span>
|
|
688
|
-
<span class="cline-any cline-yes">16x</span>
|
|
689
|
-
<span class="cline-any cline-yes">16x</span>
|
|
690
437
|
<span class="cline-any cline-no"> </span>
|
|
691
438
|
<span class="cline-any cline-no"> </span>
|
|
692
439
|
<span class="cline-any cline-no"> </span>
|
|
@@ -747,171 +494,424 @@
|
|
|
747
494
|
<span class="cline-any cline-no"> </span>
|
|
748
495
|
<span class="cline-any cline-no"> </span>
|
|
749
496
|
<span class="cline-any cline-no"> </span>
|
|
750
|
-
<span class="cline-any cline-yes">16x</span>
|
|
751
|
-
<span class="cline-any cline-yes">16x</span>
|
|
752
|
-
<span class="cline-any cline-yes">16x</span>
|
|
753
|
-
<span class="cline-any cline-yes">16x</span>
|
|
754
|
-
<span class="cline-any cline-yes">16x</span>
|
|
755
|
-
<span class="cline-any cline-yes">16x</span>
|
|
756
|
-
<span class="cline-any cline-yes">16x</span>
|
|
757
|
-
<span class="cline-any cline-yes">16x</span>
|
|
758
|
-
<span class="cline-any cline-yes">16x</span>
|
|
759
|
-
<span class="cline-any cline-yes">16x</span>
|
|
760
|
-
<span class="cline-any cline-yes">16x</span>
|
|
761
|
-
<span class="cline-any cline-yes">16x</span>
|
|
762
497
|
<span class="cline-any cline-no"> </span>
|
|
763
498
|
<span class="cline-any cline-no"> </span>
|
|
764
|
-
<span class="cline-any cline-yes">16x</span>
|
|
765
|
-
<span class="cline-any cline-yes">16x</span>
|
|
766
|
-
<span class="cline-any cline-yes">16x</span>
|
|
767
|
-
<span class="cline-any cline-yes">16x</span>
|
|
768
|
-
<span class="cline-any cline-yes">13x</span>
|
|
769
|
-
<span class="cline-any cline-yes">13x</span>
|
|
770
|
-
<span class="cline-any cline-yes">13x</span>
|
|
771
499
|
<span class="cline-any cline-no"> </span>
|
|
772
500
|
<span class="cline-any cline-no"> </span>
|
|
773
|
-
<span class="cline-any cline-yes">13x</span>
|
|
774
|
-
<span class="cline-any cline-yes">16x</span>
|
|
775
|
-
<span class="cline-any cline-yes">16x</span>
|
|
776
|
-
<span class="cline-any cline-yes">16x</span>
|
|
777
|
-
<span class="cline-any cline-yes">16x</span>
|
|
778
|
-
<span class="cline-any cline-yes">16x</span>
|
|
779
501
|
<span class="cline-any cline-no"> </span>
|
|
780
502
|
<span class="cline-any cline-no"> </span>
|
|
781
|
-
<span class="cline-any cline-yes">16x</span>
|
|
782
|
-
<span class="cline-any cline-yes">16x</span>
|
|
783
|
-
<span class="cline-any cline-yes">16x</span>
|
|
784
|
-
<span class="cline-any cline-yes">16x</span>
|
|
785
|
-
<span class="cline-any cline-yes">16x</span>
|
|
786
|
-
<span class="cline-any cline-yes">16x</span>
|
|
787
503
|
<span class="cline-any cline-no"> </span>
|
|
788
504
|
<span class="cline-any cline-no"> </span>
|
|
789
505
|
<span class="cline-any cline-no"> </span>
|
|
790
506
|
<span class="cline-any cline-no"> </span>
|
|
791
507
|
<span class="cline-any cline-no"> </span>
|
|
792
508
|
<span class="cline-any cline-no"> </span>
|
|
793
|
-
<span class="cline-any cline-
|
|
794
|
-
<span class="cline-any cline-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
509
|
+
<span class="cline-any cline-no"> </span>
|
|
510
|
+
<span class="cline-any cline-no"> </span>
|
|
511
|
+
<span class="cline-any cline-no"> </span>
|
|
512
|
+
<span class="cline-any cline-no"> </span>
|
|
513
|
+
<span class="cline-any cline-no"> </span>
|
|
514
|
+
<span class="cline-any cline-no"> </span>
|
|
515
|
+
<span class="cline-any cline-no"> </span>
|
|
516
|
+
<span class="cline-any cline-no"> </span>
|
|
517
|
+
<span class="cline-any cline-no"> </span>
|
|
518
|
+
<span class="cline-any cline-no"> </span>
|
|
519
|
+
<span class="cline-any cline-no"> </span>
|
|
520
|
+
<span class="cline-any cline-no"> </span>
|
|
521
|
+
<span class="cline-any cline-no"> </span>
|
|
522
|
+
<span class="cline-any cline-no"> </span>
|
|
523
|
+
<span class="cline-any cline-no"> </span>
|
|
524
|
+
<span class="cline-any cline-no"> </span>
|
|
525
|
+
<span class="cline-any cline-no"> </span>
|
|
526
|
+
<span class="cline-any cline-no"> </span>
|
|
527
|
+
<span class="cline-any cline-no"> </span>
|
|
528
|
+
<span class="cline-any cline-no"> </span>
|
|
529
|
+
<span class="cline-any cline-no"> </span>
|
|
530
|
+
<span class="cline-any cline-no"> </span>
|
|
531
|
+
<span class="cline-any cline-no"> </span>
|
|
532
|
+
<span class="cline-any cline-no"> </span>
|
|
533
|
+
<span class="cline-any cline-no"> </span>
|
|
534
|
+
<span class="cline-any cline-no"> </span>
|
|
535
|
+
<span class="cline-any cline-no"> </span>
|
|
536
|
+
<span class="cline-any cline-no"> </span>
|
|
537
|
+
<span class="cline-any cline-no"> </span>
|
|
538
|
+
<span class="cline-any cline-no"> </span>
|
|
539
|
+
<span class="cline-any cline-no"> </span>
|
|
540
|
+
<span class="cline-any cline-no"> </span>
|
|
541
|
+
<span class="cline-any cline-no"> </span>
|
|
542
|
+
<span class="cline-any cline-no"> </span>
|
|
543
|
+
<span class="cline-any cline-no"> </span>
|
|
544
|
+
<span class="cline-any cline-no"> </span>
|
|
545
|
+
<span class="cline-any cline-no"> </span>
|
|
546
|
+
<span class="cline-any cline-no"> </span>
|
|
547
|
+
<span class="cline-any cline-no"> </span>
|
|
548
|
+
<span class="cline-any cline-no"> </span>
|
|
549
|
+
<span class="cline-any cline-no"> </span>
|
|
550
|
+
<span class="cline-any cline-no"> </span>
|
|
551
|
+
<span class="cline-any cline-no"> </span>
|
|
552
|
+
<span class="cline-any cline-no"> </span>
|
|
553
|
+
<span class="cline-any cline-no"> </span>
|
|
554
|
+
<span class="cline-any cline-no"> </span>
|
|
555
|
+
<span class="cline-any cline-no"> </span>
|
|
556
|
+
<span class="cline-any cline-no"> </span>
|
|
557
|
+
<span class="cline-any cline-no"> </span>
|
|
558
|
+
<span class="cline-any cline-no"> </span>
|
|
559
|
+
<span class="cline-any cline-no"> </span>
|
|
560
|
+
<span class="cline-any cline-no"> </span>
|
|
561
|
+
<span class="cline-any cline-no"> </span>
|
|
562
|
+
<span class="cline-any cline-no"> </span>
|
|
563
|
+
<span class="cline-any cline-no"> </span>
|
|
564
|
+
<span class="cline-any cline-no"> </span>
|
|
565
|
+
<span class="cline-any cline-no"> </span>
|
|
566
|
+
<span class="cline-any cline-no"> </span>
|
|
567
|
+
<span class="cline-any cline-no"> </span>
|
|
568
|
+
<span class="cline-any cline-no"> </span>
|
|
569
|
+
<span class="cline-any cline-no"> </span>
|
|
570
|
+
<span class="cline-any cline-no"> </span>
|
|
571
|
+
<span class="cline-any cline-no"> </span>
|
|
572
|
+
<span class="cline-any cline-no"> </span>
|
|
573
|
+
<span class="cline-any cline-no"> </span>
|
|
574
|
+
<span class="cline-any cline-no"> </span>
|
|
575
|
+
<span class="cline-any cline-no"> </span>
|
|
576
|
+
<span class="cline-any cline-no"> </span>
|
|
577
|
+
<span class="cline-any cline-no"> </span>
|
|
578
|
+
<span class="cline-any cline-no"> </span>
|
|
579
|
+
<span class="cline-any cline-no"> </span>
|
|
580
|
+
<span class="cline-any cline-no"> </span>
|
|
581
|
+
<span class="cline-any cline-no"> </span>
|
|
582
|
+
<span class="cline-any cline-no"> </span>
|
|
583
|
+
<span class="cline-any cline-no"> </span>
|
|
584
|
+
<span class="cline-any cline-no"> </span>
|
|
585
|
+
<span class="cline-any cline-no"> </span>
|
|
586
|
+
<span class="cline-any cline-no"> </span>
|
|
587
|
+
<span class="cline-any cline-no"> </span>
|
|
588
|
+
<span class="cline-any cline-no"> </span>
|
|
589
|
+
<span class="cline-any cline-no"> </span>
|
|
590
|
+
<span class="cline-any cline-no"> </span>
|
|
591
|
+
<span class="cline-any cline-no"> </span>
|
|
592
|
+
<span class="cline-any cline-no"> </span>
|
|
593
|
+
<span class="cline-any cline-no"> </span>
|
|
594
|
+
<span class="cline-any cline-no"> </span>
|
|
595
|
+
<span class="cline-any cline-no"> </span>
|
|
596
|
+
<span class="cline-any cline-no"> </span>
|
|
597
|
+
<span class="cline-any cline-no"> </span>
|
|
598
|
+
<span class="cline-any cline-no"> </span>
|
|
599
|
+
<span class="cline-any cline-no"> </span>
|
|
600
|
+
<span class="cline-any cline-no"> </span>
|
|
601
|
+
<span class="cline-any cline-no"> </span>
|
|
602
|
+
<span class="cline-any cline-no"> </span>
|
|
603
|
+
<span class="cline-any cline-no"> </span>
|
|
604
|
+
<span class="cline-any cline-no"> </span>
|
|
605
|
+
<span class="cline-any cline-no"> </span>
|
|
606
|
+
<span class="cline-any cline-no"> </span>
|
|
607
|
+
<span class="cline-any cline-no"> </span>
|
|
608
|
+
<span class="cline-any cline-no"> </span>
|
|
609
|
+
<span class="cline-any cline-no"> </span>
|
|
610
|
+
<span class="cline-any cline-no"> </span>
|
|
611
|
+
<span class="cline-any cline-no"> </span>
|
|
612
|
+
<span class="cline-any cline-no"> </span>
|
|
613
|
+
<span class="cline-any cline-no"> </span>
|
|
614
|
+
<span class="cline-any cline-no"> </span>
|
|
615
|
+
<span class="cline-any cline-no"> </span>
|
|
616
|
+
<span class="cline-any cline-no"> </span>
|
|
617
|
+
<span class="cline-any cline-no"> </span>
|
|
618
|
+
<span class="cline-any cline-no"> </span>
|
|
619
|
+
<span class="cline-any cline-no"> </span>
|
|
620
|
+
<span class="cline-any cline-no"> </span>
|
|
621
|
+
<span class="cline-any cline-no"> </span>
|
|
622
|
+
<span class="cline-any cline-no"> </span>
|
|
623
|
+
<span class="cline-any cline-no"> </span>
|
|
624
|
+
<span class="cline-any cline-no"> </span>
|
|
625
|
+
<span class="cline-any cline-no"> </span>
|
|
626
|
+
<span class="cline-any cline-no"> </span>
|
|
627
|
+
<span class="cline-any cline-no"> </span>
|
|
628
|
+
<span class="cline-any cline-no"> </span>
|
|
629
|
+
<span class="cline-any cline-no"> </span>
|
|
630
|
+
<span class="cline-any cline-no"> </span>
|
|
631
|
+
<span class="cline-any cline-no"> </span>
|
|
632
|
+
<span class="cline-any cline-no"> </span>
|
|
633
|
+
<span class="cline-any cline-no"> </span>
|
|
634
|
+
<span class="cline-any cline-no"> </span>
|
|
635
|
+
<span class="cline-any cline-no"> </span>
|
|
636
|
+
<span class="cline-any cline-no"> </span>
|
|
637
|
+
<span class="cline-any cline-no"> </span>
|
|
638
|
+
<span class="cline-any cline-no"> </span>
|
|
639
|
+
<span class="cline-any cline-no"> </span>
|
|
640
|
+
<span class="cline-any cline-no"> </span>
|
|
641
|
+
<span class="cline-any cline-no"> </span>
|
|
642
|
+
<span class="cline-any cline-no"> </span>
|
|
643
|
+
<span class="cline-any cline-no"> </span>
|
|
644
|
+
<span class="cline-any cline-no"> </span>
|
|
645
|
+
<span class="cline-any cline-no"> </span>
|
|
646
|
+
<span class="cline-any cline-no"> </span>
|
|
647
|
+
<span class="cline-any cline-no"> </span>
|
|
648
|
+
<span class="cline-any cline-no"> </span>
|
|
649
|
+
<span class="cline-any cline-no"> </span>
|
|
650
|
+
<span class="cline-any cline-no"> </span>
|
|
651
|
+
<span class="cline-any cline-no"> </span>
|
|
652
|
+
<span class="cline-any cline-no"> </span>
|
|
653
|
+
<span class="cline-any cline-no"> </span>
|
|
654
|
+
<span class="cline-any cline-no"> </span>
|
|
655
|
+
<span class="cline-any cline-no"> </span>
|
|
656
|
+
<span class="cline-any cline-no"> </span>
|
|
657
|
+
<span class="cline-any cline-no"> </span>
|
|
658
|
+
<span class="cline-any cline-no"> </span>
|
|
659
|
+
<span class="cline-any cline-no"> </span>
|
|
660
|
+
<span class="cline-any cline-no"> </span>
|
|
661
|
+
<span class="cline-any cline-no"> </span>
|
|
662
|
+
<span class="cline-any cline-no"> </span>
|
|
663
|
+
<span class="cline-any cline-no"> </span>
|
|
664
|
+
<span class="cline-any cline-no"> </span>
|
|
665
|
+
<span class="cline-any cline-no"> </span>
|
|
666
|
+
<span class="cline-any cline-no"> </span>
|
|
667
|
+
<span class="cline-any cline-no"> </span>
|
|
668
|
+
<span class="cline-any cline-no"> </span>
|
|
669
|
+
<span class="cline-any cline-no"> </span>
|
|
670
|
+
<span class="cline-any cline-no"> </span>
|
|
671
|
+
<span class="cline-any cline-no"> </span>
|
|
672
|
+
<span class="cline-any cline-no"> </span>
|
|
673
|
+
<span class="cline-any cline-no"> </span>
|
|
674
|
+
<span class="cline-any cline-no"> </span>
|
|
675
|
+
<span class="cline-any cline-no"> </span>
|
|
676
|
+
<span class="cline-any cline-no"> </span>
|
|
677
|
+
<span class="cline-any cline-no"> </span>
|
|
678
|
+
<span class="cline-any cline-no"> </span>
|
|
679
|
+
<span class="cline-any cline-no"> </span>
|
|
680
|
+
<span class="cline-any cline-no"> </span>
|
|
681
|
+
<span class="cline-any cline-no"> </span>
|
|
682
|
+
<span class="cline-any cline-no"> </span>
|
|
683
|
+
<span class="cline-any cline-no"> </span>
|
|
684
|
+
<span class="cline-any cline-no"> </span>
|
|
685
|
+
<span class="cline-any cline-no"> </span>
|
|
686
|
+
<span class="cline-any cline-no"> </span>
|
|
687
|
+
<span class="cline-any cline-no"> </span>
|
|
688
|
+
<span class="cline-any cline-no"> </span>
|
|
689
|
+
<span class="cline-any cline-no"> </span>
|
|
690
|
+
<span class="cline-any cline-no"> </span>
|
|
691
|
+
<span class="cline-any cline-no"> </span>
|
|
692
|
+
<span class="cline-any cline-no"> </span>
|
|
693
|
+
<span class="cline-any cline-no"> </span>
|
|
694
|
+
<span class="cline-any cline-no"> </span>
|
|
695
|
+
<span class="cline-any cline-no"> </span>
|
|
696
|
+
<span class="cline-any cline-no"> </span>
|
|
697
|
+
<span class="cline-any cline-no"> </span>
|
|
698
|
+
<span class="cline-any cline-no"> </span>
|
|
699
|
+
<span class="cline-any cline-no"> </span>
|
|
700
|
+
<span class="cline-any cline-no"> </span>
|
|
701
|
+
<span class="cline-any cline-no"> </span>
|
|
702
|
+
<span class="cline-any cline-no"> </span>
|
|
703
|
+
<span class="cline-any cline-no"> </span>
|
|
704
|
+
<span class="cline-any cline-no"> </span>
|
|
705
|
+
<span class="cline-any cline-no"> </span>
|
|
706
|
+
<span class="cline-any cline-no"> </span>
|
|
707
|
+
<span class="cline-any cline-no"> </span>
|
|
708
|
+
<span class="cline-any cline-no"> </span>
|
|
709
|
+
<span class="cline-any cline-no"> </span>
|
|
710
|
+
<span class="cline-any cline-no"> </span>
|
|
711
|
+
<span class="cline-any cline-no"> </span>
|
|
712
|
+
<span class="cline-any cline-no"> </span>
|
|
713
|
+
<span class="cline-any cline-no"> </span>
|
|
714
|
+
<span class="cline-any cline-no"> </span>
|
|
715
|
+
<span class="cline-any cline-no"> </span>
|
|
716
|
+
<span class="cline-any cline-no"> </span>
|
|
717
|
+
<span class="cline-any cline-no"> </span>
|
|
718
|
+
<span class="cline-any cline-no"> </span>
|
|
719
|
+
<span class="cline-any cline-no"> </span>
|
|
720
|
+
<span class="cline-any cline-no"> </span>
|
|
721
|
+
<span class="cline-any cline-no"> </span>
|
|
722
|
+
<span class="cline-any cline-no"> </span>
|
|
723
|
+
<span class="cline-any cline-no"> </span>
|
|
724
|
+
<span class="cline-any cline-no"> </span>
|
|
725
|
+
<span class="cline-any cline-no"> </span>
|
|
726
|
+
<span class="cline-any cline-no"> </span>
|
|
727
|
+
<span class="cline-any cline-no"> </span>
|
|
728
|
+
<span class="cline-any cline-no"> </span>
|
|
729
|
+
<span class="cline-any cline-no"> </span>
|
|
730
|
+
<span class="cline-any cline-no"> </span>
|
|
731
|
+
<span class="cline-any cline-no"> </span>
|
|
732
|
+
<span class="cline-any cline-no"> </span>
|
|
733
|
+
<span class="cline-any cline-no"> </span>
|
|
734
|
+
<span class="cline-any cline-no"> </span>
|
|
735
|
+
<span class="cline-any cline-no"> </span>
|
|
736
|
+
<span class="cline-any cline-no"> </span>
|
|
737
|
+
<span class="cline-any cline-no"> </span>
|
|
738
|
+
<span class="cline-any cline-no"> </span>
|
|
739
|
+
<span class="cline-any cline-no"> </span>
|
|
740
|
+
<span class="cline-any cline-no"> </span>
|
|
741
|
+
<span class="cline-any cline-no"> </span>
|
|
742
|
+
<span class="cline-any cline-no"> </span>
|
|
743
|
+
<span class="cline-any cline-no"> </span>
|
|
744
|
+
<span class="cline-any cline-no"> </span>
|
|
745
|
+
<span class="cline-any cline-no"> </span>
|
|
746
|
+
<span class="cline-any cline-no"> </span>
|
|
747
|
+
<span class="cline-any cline-no"> </span>
|
|
748
|
+
<span class="cline-any cline-no"> </span>
|
|
749
|
+
<span class="cline-any cline-no"> </span>
|
|
750
|
+
<span class="cline-any cline-no"> </span>
|
|
751
|
+
<span class="cline-any cline-no"> </span>
|
|
752
|
+
<span class="cline-any cline-no"> </span>
|
|
753
|
+
<span class="cline-any cline-no"> </span>
|
|
754
|
+
<span class="cline-any cline-no"> </span>
|
|
755
|
+
<span class="cline-any cline-no"> </span>
|
|
756
|
+
<span class="cline-any cline-no"> </span>
|
|
757
|
+
<span class="cline-any cline-no"> </span>
|
|
758
|
+
<span class="cline-any cline-no"> </span>
|
|
759
|
+
<span class="cline-any cline-no"> </span>
|
|
760
|
+
<span class="cline-any cline-no"> </span>
|
|
761
|
+
<span class="cline-any cline-no"> </span>
|
|
762
|
+
<span class="cline-any cline-no"> </span>
|
|
763
|
+
<span class="cline-any cline-no"> </span>
|
|
764
|
+
<span class="cline-any cline-no"> </span>
|
|
765
|
+
<span class="cline-any cline-no"> </span>
|
|
766
|
+
<span class="cline-any cline-no"> </span>
|
|
767
|
+
<span class="cline-any cline-no"> </span>
|
|
768
|
+
<span class="cline-any cline-no"> </span>
|
|
769
|
+
<span class="cline-any cline-no"> </span>
|
|
770
|
+
<span class="cline-any cline-no"> </span>
|
|
771
|
+
<span class="cline-any cline-no"> </span>
|
|
772
|
+
<span class="cline-any cline-no"> </span>
|
|
773
|
+
<span class="cline-any cline-no"> </span>
|
|
774
|
+
<span class="cline-any cline-no"> </span>
|
|
775
|
+
<span class="cline-any cline-no"> </span>
|
|
776
|
+
<span class="cline-any cline-no"> </span>
|
|
777
|
+
<span class="cline-any cline-no"> </span>
|
|
778
|
+
<span class="cline-any cline-no"> </span>
|
|
779
|
+
<span class="cline-any cline-no"> </span>
|
|
780
|
+
<span class="cline-any cline-no"> </span>
|
|
781
|
+
<span class="cline-any cline-no"> </span>
|
|
782
|
+
<span class="cline-any cline-no"> </span>
|
|
783
|
+
<span class="cline-any cline-no"> </span>
|
|
784
|
+
<span class="cline-any cline-no"> </span>
|
|
785
|
+
<span class="cline-any cline-no"> </span>
|
|
786
|
+
<span class="cline-any cline-no"> </span>
|
|
787
|
+
<span class="cline-any cline-no"> </span>
|
|
788
|
+
<span class="cline-any cline-no"> </span>
|
|
789
|
+
<span class="cline-any cline-no"> </span>
|
|
790
|
+
<span class="cline-any cline-no"> </span>
|
|
791
|
+
<span class="cline-any cline-no"> </span>
|
|
792
|
+
<span class="cline-any cline-no"> </span>
|
|
793
|
+
<span class="cline-any cline-no"> </span>
|
|
794
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >/**<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
|
|
795
|
+
<span class="cstat-no" title="statement not covered" > * HSuite Native Connect</span>
|
|
796
|
+
<span class="cstat-no" title="statement not covered" > * Copyright 2024-2025 HSuite (https://hsuite.finance)</span>
|
|
797
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
798
|
+
<span class="cstat-no" title="statement not covered" > * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0</span>
|
|
799
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
800
|
+
<span class="cstat-no" title="statement not covered" > * This file is part of HSuite Native Connect. For commercial licensing,</span>
|
|
801
|
+
<span class="cstat-no" title="statement not covered" > * visit https://hsuite.finance/licensing</span>
|
|
802
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
803
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
804
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
805
|
+
<span class="cstat-no" title="statement not covered" > * @file walletconnect-client-manager.ts</span>
|
|
806
|
+
<span class="cstat-no" title="statement not covered" > * @description WalletConnect SignClient lifecycle management</span>
|
|
807
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
808
|
+
<span class="cstat-no" title="statement not covered" > * Handles:</span>
|
|
809
|
+
<span class="cstat-no" title="statement not covered" > * - SignClient initialization with projectId</span>
|
|
810
|
+
<span class="cstat-no" title="statement not covered" > * - Client reuse across multiple connections</span>
|
|
811
|
+
<span class="cstat-no" title="statement not covered" > * - Session restoration from IndexedDB</span>
|
|
812
|
+
<span class="cstat-no" title="statement not covered" > * - Event listener registration</span>
|
|
813
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
814
|
+
<span class="cstat-no" title="statement not covered" > * Extracted from WalletConnectV2Provider to reduce file size.</span>
|
|
815
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
816
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
817
|
+
<span class="cstat-no" title="statement not covered" >import { getLogger } from '@hsuite/native-connect-sdk';</span>
|
|
818
|
+
<span class="cstat-no" title="statement not covered" >import { WalletConnectModal } from '@walletconnect/modal';</span>
|
|
819
|
+
<span class="cstat-no" title="statement not covered" >import SignClient from '@walletconnect/sign-client';</span>
|
|
820
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
821
|
+
<span class="cstat-no" title="statement not covered" >import { SessionHealthManager } from './session-health';</span>
|
|
822
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
823
|
+
<span class="cstat-no" title="statement not covered" >const logger = getLogger().scoped?.('WCClientManager') ?? getLogger();</span>
|
|
824
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
825
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
826
|
+
<span class="cstat-no" title="statement not covered" > * Storage key for persisted projectId</span>
|
|
827
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
828
|
+
<span class="cstat-no" title="statement not covered" >const STORAGE_KEY_PROJECT_ID = 'hsuite.walletconnect.projectId';</span>
|
|
829
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
830
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
831
|
+
<span class="cstat-no" title="statement not covered" > * WalletConnect app metadata</span>
|
|
832
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
833
|
+
<span class="cstat-no" title="statement not covered" >export interface WCAppMetadata {</span>
|
|
834
|
+
<span class="cstat-no" title="statement not covered" > name: string;</span>
|
|
835
|
+
<span class="cstat-no" title="statement not covered" > description: string;</span>
|
|
836
|
+
<span class="cstat-no" title="statement not covered" > url: string;</span>
|
|
837
|
+
<span class="cstat-no" title="statement not covered" > icons: string[];</span>
|
|
838
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
839
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
840
|
+
<span class="cstat-no" title="statement not covered" >/**</span>
|
|
841
|
+
<span class="cstat-no" title="statement not covered" > * WalletConnect Client Manager</span>
|
|
842
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
843
|
+
<span class="cstat-no" title="statement not covered" > * Manages the SignClient instance lifecycle.</span>
|
|
844
|
+
<span class="cstat-no" title="statement not covered" > * Handles initialization, session restoration, and cleanup.</span>
|
|
845
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
846
|
+
<span class="cstat-no" title="statement not covered" >export class WalletConnectClientManager {</span>
|
|
847
|
+
<span class="cstat-no" title="statement not covered" > private client?: SignClient;</span>
|
|
848
|
+
<span class="cstat-no" title="statement not covered" > private modal?: WalletConnectModal;</span>
|
|
849
|
+
<span class="cstat-no" title="statement not covered" > private projectId?: string;</span>
|
|
850
|
+
<span class="cstat-no" title="statement not covered" > private sessionHealth?: SessionHealthManager;</span>
|
|
851
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
852
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
853
|
+
<span class="cstat-no" title="statement not covered" > * Initialize or return existing SignClient.</span>
|
|
854
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
855
|
+
<span class="cstat-no" title="statement not covered" > * @param projectId - WalletConnect Cloud project ID</span>
|
|
856
|
+
<span class="cstat-no" title="statement not covered" > * @param metadata - App metadata for wallet display</span>
|
|
857
|
+
<span class="cstat-no" title="statement not covered" > * @returns Initialized SignClient instance</span>
|
|
858
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
859
|
+
<span class="cstat-no" title="statement not covered" > async initialize(projectId: string, metadata: WCAppMetadata): Promise<SignClient> {</span>
|
|
860
|
+
<span class="cstat-no" title="statement not covered" > if (this.client && this.projectId === projectId) {</span>
|
|
861
861
|
<span class="cstat-no" title="statement not covered" > return this.client;</span>
|
|
862
862
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
863
|
-
|
|
864
|
-
logger.debug('Initializing SignClient', { projectId: projectId.substring(0, 8) })
|
|
865
|
-
|
|
866
|
-
// Store projectId for session restoration
|
|
867
|
-
this.projectId = projectId
|
|
868
|
-
this.persistProjectId(projectId)
|
|
869
|
-
|
|
870
|
-
// Use 'fatal' logger to suppress pino noise from WalletConnect SDK
|
|
871
|
-
this.client = await SignClient.init({
|
|
872
|
-
projectId
|
|
873
|
-
logger: 'fatal'
|
|
874
|
-
metadata
|
|
875
|
-
})
|
|
876
|
-
|
|
877
|
-
// Initialize session health manager for relay subscription management
|
|
878
|
-
this.sessionHealth = new SessionHealthManager(this.client)
|
|
879
|
-
|
|
880
|
-
logger.info('SignClient initialized with session health manager')
|
|
881
|
-
return this.client
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
* Get the current client instance
|
|
886
|
-
* @throws Error if not initialized
|
|
887
|
-
|
|
888
|
-
<span class="
|
|
863
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
864
|
+
<span class="cstat-no" title="statement not covered" > logger.debug('Initializing SignClient', { projectId: projectId.substring(0, 8) });</span>
|
|
865
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
866
|
+
<span class="cstat-no" title="statement not covered" > // Store projectId for session restoration</span>
|
|
867
|
+
<span class="cstat-no" title="statement not covered" > this.projectId = projectId;</span>
|
|
868
|
+
<span class="cstat-no" title="statement not covered" > this.persistProjectId(projectId);</span>
|
|
869
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
870
|
+
<span class="cstat-no" title="statement not covered" > // Use 'fatal' logger to suppress pino noise from WalletConnect SDK</span>
|
|
871
|
+
<span class="cstat-no" title="statement not covered" > this.client = await SignClient.init({</span>
|
|
872
|
+
<span class="cstat-no" title="statement not covered" > projectId,</span>
|
|
873
|
+
<span class="cstat-no" title="statement not covered" > logger: 'fatal',</span>
|
|
874
|
+
<span class="cstat-no" title="statement not covered" > metadata,</span>
|
|
875
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
876
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
877
|
+
<span class="cstat-no" title="statement not covered" > // Initialize session health manager for relay subscription management</span>
|
|
878
|
+
<span class="cstat-no" title="statement not covered" > this.sessionHealth = new SessionHealthManager(this.client);</span>
|
|
879
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
880
|
+
<span class="cstat-no" title="statement not covered" > logger.info('SignClient initialized with session health manager');</span>
|
|
881
|
+
<span class="cstat-no" title="statement not covered" > return this.client;</span>
|
|
882
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
883
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
884
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
885
|
+
<span class="cstat-no" title="statement not covered" > * Get the current client instance.</span>
|
|
886
|
+
<span class="cstat-no" title="statement not covered" > * @throws Error if not initialized</span>
|
|
887
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
888
|
+
<span class="cstat-no" title="statement not covered" > getClient(): SignClient {</span>
|
|
889
889
|
<span class="cstat-no" title="statement not covered" > if (!this.client) {</span>
|
|
890
890
|
<span class="cstat-no" title="statement not covered" > throw new Error('WalletConnect client not initialized');</span>
|
|
891
891
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
892
892
|
<span class="cstat-no" title="statement not covered" > return this.client;</span>
|
|
893
893
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
* Check if client is initialized
|
|
897
|
-
|
|
898
|
-
isInitialized(): boolean {
|
|
899
|
-
return !!this.client
|
|
900
|
-
}
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
* Restore client from stored projectId
|
|
904
|
-
* Used for session restoration on page reload
|
|
905
|
-
|
|
906
|
-
* @param metadata - App metadata
|
|
907
|
-
* @returns Client if restoration succeeded, undefined otherwise
|
|
908
|
-
|
|
909
|
-
async restoreClient(metadata: WCAppMetadata): Promise<SignClient | undefined> {
|
|
910
|
-
const storedProjectId = this.getStoredProjectId()
|
|
911
|
-
if (!storedProjectId) {
|
|
912
|
-
logger.debug('No stored projectId, skipping client restoration')
|
|
913
|
-
return undefined
|
|
914
|
-
<span class="
|
|
894
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
895
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
896
|
+
<span class="cstat-no" title="statement not covered" > * Check if client is initialized.</span>
|
|
897
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
898
|
+
<span class="cstat-no" title="statement not covered" > isInitialized(): boolean {</span>
|
|
899
|
+
<span class="cstat-no" title="statement not covered" > return !!this.client;</span>
|
|
900
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
901
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
902
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
903
|
+
<span class="cstat-no" title="statement not covered" > * Restore client from stored projectId.</span>
|
|
904
|
+
<span class="cstat-no" title="statement not covered" > * Used for session restoration on page reload.</span>
|
|
905
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
906
|
+
<span class="cstat-no" title="statement not covered" > * @param metadata - App metadata</span>
|
|
907
|
+
<span class="cstat-no" title="statement not covered" > * @returns Client if restoration succeeded, undefined otherwise</span>
|
|
908
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
909
|
+
<span class="cstat-no" title="statement not covered" > async restoreClient(metadata: WCAppMetadata): Promise<SignClient | undefined> {</span>
|
|
910
|
+
<span class="cstat-no" title="statement not covered" > const storedProjectId = this.getStoredProjectId();</span>
|
|
911
|
+
<span class="cstat-no" title="statement not covered" > if (!storedProjectId) {</span>
|
|
912
|
+
<span class="cstat-no" title="statement not covered" > logger.debug('No stored projectId, skipping client restoration');</span>
|
|
913
|
+
<span class="cstat-no" title="statement not covered" > return undefined;</span>
|
|
914
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
915
915
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
916
916
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
917
917
|
<span class="cstat-no" title="statement not covered" > return await this.initialize(storedProjectId, metadata);</span>
|
|
@@ -921,136 +921,136 @@ export class WalletConnectClientManager {
|
|
|
921
921
|
<span class="cstat-no" title="statement not covered" > });</span>
|
|
922
922
|
<span class="cstat-no" title="statement not covered" > return undefined;</span>
|
|
923
923
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
924
|
-
}
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
* Get all active sessions from the client
|
|
928
|
-
|
|
929
|
-
<span class="
|
|
924
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
925
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
926
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
927
|
+
<span class="cstat-no" title="statement not covered" > * Get all active sessions from the client.</span>
|
|
928
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
929
|
+
<span class="cstat-no" title="statement not covered" > getActiveSessions(): any[] {</span>
|
|
930
930
|
<span class="cstat-no" title="statement not covered" > if (!this.client) {</span>
|
|
931
931
|
<span class="cstat-no" title="statement not covered" > return [];</span>
|
|
932
932
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
933
933
|
<span class="cstat-no" title="statement not covered" > return this.client.session.getAll();</span>
|
|
934
934
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
* Get a specific session by topic
|
|
938
|
-
* @param topic
|
|
939
|
-
|
|
940
|
-
getSession(topic: string): any | undefined {
|
|
941
|
-
|
|
935
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
936
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
937
|
+
<span class="cstat-no" title="statement not covered" > * Get a specific session by topic.</span>
|
|
938
|
+
<span class="cstat-no" title="statement not covered" > * @param topic</span>
|
|
939
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
940
|
+
<span class="cstat-no" title="statement not covered" > getSession(topic: string): any | undefined {</span>
|
|
941
|
+
<span class="cstat-no" title="statement not covered" > if (!this.client) {</span>
|
|
942
|
+
<span class="cstat-no" title="statement not covered" > return undefined;</span>
|
|
943
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
944
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
945
|
+
<span class="cstat-no" title="statement not covered" > return this.client.session.get(topic);</span>
|
|
946
|
+
<span class="cstat-no" title="statement not covered" > } catch {</span>
|
|
942
947
|
<span class="cstat-no" title="statement not covered" > return undefined;</span>
|
|
943
948
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
): Promise<{
|
|
984
|
-
uri?: string;
|
|
985
|
-
approval: () => Promise<any>;
|
|
986
|
-
}> {
|
|
987
|
-
if (!this.client) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
949
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
950
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
951
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
952
|
+
<span class="cstat-no" title="statement not covered" > * Create and return a modal for QR code display.</span>
|
|
953
|
+
<span class="cstat-no" title="statement not covered" > * @param projectId</span>
|
|
954
|
+
<span class="cstat-no" title="statement not covered" > * @param chains</span>
|
|
955
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
956
|
+
<span class="cstat-no" title="statement not covered" > createModal(projectId: string, chains: string[]): WalletConnectModal {</span>
|
|
957
|
+
<span class="cstat-no" title="statement not covered" > this.modal = new WalletConnectModal({</span>
|
|
958
|
+
<span class="cstat-no" title="statement not covered" > projectId,</span>
|
|
959
|
+
<span class="cstat-no" title="statement not covered" > chains,</span>
|
|
960
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
961
|
+
<span class="cstat-no" title="statement not covered" > return this.modal;</span>
|
|
962
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
963
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
964
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
965
|
+
<span class="cstat-no" title="statement not covered" > * Close the modal if open.</span>
|
|
966
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
967
|
+
<span class="cstat-no" title="statement not covered" > closeModal(): void {</span>
|
|
968
|
+
<span class="cstat-no" title="statement not covered" > if (this.modal) {</span>
|
|
969
|
+
<span class="cstat-no" title="statement not covered" > this.modal.closeModal();</span>
|
|
970
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
971
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
972
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
973
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
974
|
+
<span class="cstat-no" title="statement not covered" > * Connect to wallet and get session.</span>
|
|
975
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
976
|
+
<span class="cstat-no" title="statement not covered" > * @param optionalNamespaces - Namespace configuration</span>
|
|
977
|
+
<span class="cstat-no" title="statement not covered" > * @param sessionProperties - Optional session properties (e.g., preferredNetwork)</span>
|
|
978
|
+
<span class="cstat-no" title="statement not covered" > * @returns URI and approval promise</span>
|
|
979
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
980
|
+
<span class="cstat-no" title="statement not covered" > async connect(</span>
|
|
981
|
+
<span class="cstat-no" title="statement not covered" > optionalNamespaces: Record<string, any>,</span>
|
|
982
|
+
<span class="cstat-no" title="statement not covered" > sessionProperties?: Record<string, string>,</span>
|
|
983
|
+
<span class="cstat-no" title="statement not covered" > ): Promise<{</span>
|
|
984
|
+
<span class="cstat-no" title="statement not covered" > uri?: string;</span>
|
|
985
|
+
<span class="cstat-no" title="statement not covered" > approval: () => Promise<any>;</span>
|
|
986
|
+
<span class="cstat-no" title="statement not covered" > }> {</span>
|
|
987
|
+
<span class="cstat-no" title="statement not covered" > if (!this.client) {</span>
|
|
988
988
|
<span class="cstat-no" title="statement not covered" > throw new Error('Client not initialized');</span>
|
|
989
989
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
990
|
-
|
|
991
|
-
const connectParams: any = { optionalNamespaces }
|
|
992
|
-
|
|
993
|
-
// Add session properties if provided
|
|
994
|
-
// This allows passing metadata like preferredNetwork to the wallet
|
|
995
|
-
if (sessionProperties) {
|
|
996
|
-
connectParams.sessionProperties = sessionProperties
|
|
997
|
-
}
|
|
998
|
-
|
|
999
|
-
logger.debug('Connecting with params', {
|
|
1000
|
-
namespaces: Object.keys(optionalNamespaces)
|
|
1001
|
-
hasSessionProperties: !!sessionProperties
|
|
1002
|
-
})
|
|
1003
|
-
|
|
1004
|
-
return this.client.connect(connectParams)
|
|
1005
|
-
}
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
* Disconnect a session
|
|
1009
|
-
* @param topic
|
|
1010
|
-
* @param reason
|
|
1011
|
-
* @param reason.code
|
|
1012
|
-
* @param reason.message
|
|
1013
|
-
|
|
1014
|
-
async disconnect(topic: string, reason?: { code: number; message: string }): Promise<void> {
|
|
1015
|
-
|
|
990
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
991
|
+
<span class="cstat-no" title="statement not covered" > const connectParams: any = { optionalNamespaces };</span>
|
|
992
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
993
|
+
<span class="cstat-no" title="statement not covered" > // Add session properties if provided</span>
|
|
994
|
+
<span class="cstat-no" title="statement not covered" > // This allows passing metadata like preferredNetwork to the wallet</span>
|
|
995
|
+
<span class="cstat-no" title="statement not covered" > if (sessionProperties) {</span>
|
|
996
|
+
<span class="cstat-no" title="statement not covered" > connectParams.sessionProperties = sessionProperties;</span>
|
|
997
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
998
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
999
|
+
<span class="cstat-no" title="statement not covered" > logger.debug('Connecting with params', {</span>
|
|
1000
|
+
<span class="cstat-no" title="statement not covered" > namespaces: Object.keys(optionalNamespaces),</span>
|
|
1001
|
+
<span class="cstat-no" title="statement not covered" > hasSessionProperties: !!sessionProperties,</span>
|
|
1002
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1003
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1004
|
+
<span class="cstat-no" title="statement not covered" > return this.client.connect(connectParams);</span>
|
|
1005
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1006
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1007
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
1008
|
+
<span class="cstat-no" title="statement not covered" > * Disconnect a session.</span>
|
|
1009
|
+
<span class="cstat-no" title="statement not covered" > * @param topic</span>
|
|
1010
|
+
<span class="cstat-no" title="statement not covered" > * @param reason</span>
|
|
1011
|
+
<span class="cstat-no" title="statement not covered" > * @param reason.code</span>
|
|
1012
|
+
<span class="cstat-no" title="statement not covered" > * @param reason.message</span>
|
|
1013
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1014
|
+
<span class="cstat-no" title="statement not covered" > async disconnect(topic: string, reason?: { code: number; message: string }): Promise<void> {</span>
|
|
1015
|
+
<span class="cstat-no" title="statement not covered" > if (!this.client) {</span>
|
|
1016
1016
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1017
1017
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1018
|
-
await this.client.disconnect({
|
|
1019
|
-
topic
|
|
1020
|
-
|
|
1021
|
-
})
|
|
1022
|
-
}
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
* Register event listener on the client
|
|
1026
|
-
* @param event
|
|
1027
|
-
* @param handler
|
|
1028
|
-
|
|
1029
|
-
on(event: string, handler: (event: any) => void): void {
|
|
1030
|
-
|
|
1018
|
+
<span class="cstat-no" title="statement not covered" > await this.client.disconnect({</span>
|
|
1019
|
+
<span class="cstat-no" title="statement not covered" > topic,</span>
|
|
1020
|
+
<span class="cstat-no" title="statement not covered" > reason: reason || { code: 6000, message: 'User disconnected' },</span>
|
|
1021
|
+
<span class="cstat-no" title="statement not covered" > });</span>
|
|
1022
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1023
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1024
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
1025
|
+
<span class="cstat-no" title="statement not covered" > * Register event listener on the client.</span>
|
|
1026
|
+
<span class="cstat-no" title="statement not covered" > * @param event</span>
|
|
1027
|
+
<span class="cstat-no" title="statement not covered" > * @param handler</span>
|
|
1028
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1029
|
+
<span class="cstat-no" title="statement not covered" > on(event: string, handler: (event: any) => void): void {</span>
|
|
1030
|
+
<span class="cstat-no" title="statement not covered" > if (!this.client) {</span>
|
|
1031
1031
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1032
1032
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1033
|
-
(this.client as any).on(event, handler)
|
|
1034
|
-
}
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
* Send a request to a session
|
|
1038
|
-
|
|
1039
|
-
* Features
|
|
1040
|
-
* - Automatically ensures session health by pinging before the request
|
|
1041
|
-
* - Runs keep-alive pings during long-running requests (e.g., transaction approval)
|
|
1042
|
-
* - Prevents stale relay subscription issues that cause empty error objects
|
|
1043
|
-
|
|
1044
|
-
* @param params - Request parameters including topic, chainId, and request data
|
|
1045
|
-
* @param params.expiry - Optional expiry time in seconds (default: 300)
|
|
1046
|
-
* @param params.topic
|
|
1047
|
-
* @param params.chainId
|
|
1048
|
-
* @param params.request
|
|
1049
|
-
* @param params.request.method
|
|
1050
|
-
* @param params.request.params
|
|
1051
|
-
* @returns Promise resolving to the request result
|
|
1052
|
-
|
|
1053
|
-
<span class="
|
|
1033
|
+
<span class="cstat-no" title="statement not covered" > (this.client as any).on(event, handler);</span>
|
|
1034
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1035
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1036
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
1037
|
+
<span class="cstat-no" title="statement not covered" > * Send a request to a session.</span>
|
|
1038
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
1039
|
+
<span class="cstat-no" title="statement not covered" > * Features:</span>
|
|
1040
|
+
<span class="cstat-no" title="statement not covered" > * - Automatically ensures session health by pinging before the request</span>
|
|
1041
|
+
<span class="cstat-no" title="statement not covered" > * - Runs keep-alive pings during long-running requests (e.g., transaction approval)</span>
|
|
1042
|
+
<span class="cstat-no" title="statement not covered" > * - Prevents stale relay subscription issues that cause empty error objects</span>
|
|
1043
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
1044
|
+
<span class="cstat-no" title="statement not covered" > * @param params - Request parameters including topic, chainId, and request data</span>
|
|
1045
|
+
<span class="cstat-no" title="statement not covered" > * @param params.expiry - Optional expiry time in seconds (default: 300)</span>
|
|
1046
|
+
<span class="cstat-no" title="statement not covered" > * @param params.topic</span>
|
|
1047
|
+
<span class="cstat-no" title="statement not covered" > * @param params.chainId</span>
|
|
1048
|
+
<span class="cstat-no" title="statement not covered" > * @param params.request</span>
|
|
1049
|
+
<span class="cstat-no" title="statement not covered" > * @param params.request.method</span>
|
|
1050
|
+
<span class="cstat-no" title="statement not covered" > * @param params.request.params</span>
|
|
1051
|
+
<span class="cstat-no" title="statement not covered" > * @returns Promise resolving to the request result</span>
|
|
1052
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1053
|
+
<span class="cstat-no" title="statement not covered" > async request<T = unknown>(params: {</span>
|
|
1054
1054
|
<span class="cstat-no" title="statement not covered" > topic: string;</span>
|
|
1055
1055
|
<span class="cstat-no" title="statement not covered" > chainId: string;</span>
|
|
1056
1056
|
<span class="cstat-no" title="statement not covered" > request: { method: string; params: unknown };</span>
|
|
@@ -1111,50 +1111,50 @@ export class WalletConnectClientManager {
|
|
|
1111
1111
|
<span class="cstat-no" title="statement not covered" > stopKeepAlive();</span>
|
|
1112
1112
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1113
1113
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
* Get the session health manager for advanced operations
|
|
1117
|
-
|
|
1118
|
-
* Use this if you need to
|
|
1119
|
-
* - Force refresh a subscription
|
|
1120
|
-
* - Clear ping cache
|
|
1121
|
-
* - Access health manager directly
|
|
1122
|
-
|
|
1123
|
-
* @returns SessionHealthManager instance or undefined if not initialized
|
|
1124
|
-
|
|
1125
|
-
<span class="
|
|
1114
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1115
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
1116
|
+
<span class="cstat-no" title="statement not covered" > * Get the session health manager for advanced operations.</span>
|
|
1117
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
1118
|
+
<span class="cstat-no" title="statement not covered" > * Use this if you need to:</span>
|
|
1119
|
+
<span class="cstat-no" title="statement not covered" > * - Force refresh a subscription</span>
|
|
1120
|
+
<span class="cstat-no" title="statement not covered" > * - Clear ping cache</span>
|
|
1121
|
+
<span class="cstat-no" title="statement not covered" > * - Access health manager directly</span>
|
|
1122
|
+
<span class="cstat-no" title="statement not covered" > *</span>
|
|
1123
|
+
<span class="cstat-no" title="statement not covered" > * @returns SessionHealthManager instance or undefined if not initialized</span>
|
|
1124
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1125
|
+
<span class="cstat-no" title="statement not covered" > getSessionHealthManager(): SessionHealthManager | undefined {</span>
|
|
1126
1126
|
<span class="cstat-no" title="statement not covered" > return this.sessionHealth;</span>
|
|
1127
1127
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1128
|
-
|
|
1129
|
-
// ========== STORAGE
|
|
1130
|
-
|
|
1131
|
-
private persistProjectId(projectId: string): void {
|
|
1132
|
-
try {
|
|
1133
|
-
window.localStorage?.setItem(STORAGE_KEY_PROJECT_ID, projectId)
|
|
1134
|
-
<span class="
|
|
1128
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1129
|
+
<span class="cstat-no" title="statement not covered" > // ========== STORAGE ==========</span>
|
|
1130
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1131
|
+
<span class="cstat-no" title="statement not covered" > private persistProjectId(projectId: string): void {</span>
|
|
1132
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1133
|
+
<span class="cstat-no" title="statement not covered" > window.localStorage?.setItem(STORAGE_KEY_PROJECT_ID, projectId);</span>
|
|
1134
|
+
<span class="cstat-no" title="statement not covered" > } catch {</span>
|
|
1135
1135
|
<span class="cstat-no" title="statement not covered" > logger.warn('Failed to persist projectId');</span>
|
|
1136
1136
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1137
|
-
}
|
|
1138
|
-
|
|
1139
|
-
private getStoredProjectId(): string | null {
|
|
1140
|
-
try {
|
|
1141
|
-
return window.localStorage?.getItem(STORAGE_KEY_PROJECT_ID) ?? null
|
|
1142
|
-
<span class="
|
|
1137
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1138
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1139
|
+
<span class="cstat-no" title="statement not covered" > private getStoredProjectId(): string | null {</span>
|
|
1140
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1141
|
+
<span class="cstat-no" title="statement not covered" > return window.localStorage?.getItem(STORAGE_KEY_PROJECT_ID) ?? null;</span>
|
|
1142
|
+
<span class="cstat-no" title="statement not covered" > } catch {</span>
|
|
1143
1143
|
<span class="cstat-no" title="statement not covered" > return null;</span>
|
|
1144
1144
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1145
|
-
}
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
* Clear stored projectId
|
|
1149
|
-
|
|
1150
|
-
<span class="
|
|
1145
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1146
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
1147
|
+
<span class="cstat-no" title="statement not covered" > /**</span>
|
|
1148
|
+
<span class="cstat-no" title="statement not covered" > * Clear stored projectId.</span>
|
|
1149
|
+
<span class="cstat-no" title="statement not covered" > */</span>
|
|
1150
|
+
<span class="cstat-no" title="statement not covered" > clearStoredProjectId(): void {</span>
|
|
1151
1151
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1152
1152
|
<span class="cstat-no" title="statement not covered" > window.localStorage?.removeItem(STORAGE_KEY_PROJECT_ID);</span>
|
|
1153
1153
|
<span class="cstat-no" title="statement not covered" > } catch {</span>
|
|
1154
1154
|
<span class="cstat-no" title="statement not covered" > // Ignore</span>
|
|
1155
1155
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1156
1156
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1157
|
-
}
|
|
1157
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1158
1158
|
</pre></td></tr></table></pre>
|
|
1159
1159
|
|
|
1160
1160
|
<div class='push'></div><!-- for sticky footer -->
|
|
@@ -1162,7 +1162,7 @@ export class WalletConnectClientManager {
|
|
|
1162
1162
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1163
1163
|
Code coverage generated by
|
|
1164
1164
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1165
|
-
at 2026-06-
|
|
1165
|
+
at 2026-06-10T09:00:36.812Z
|
|
1166
1166
|
</div>
|
|
1167
1167
|
<script src="../../../../prettify.js"></script>
|
|
1168
1168
|
<script>
|