@hsuite/native-connect-angular 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/coverage/coverage-summary.json +25 -21
  2. package/coverage/index.html +108 -108
  3. package/coverage/lcov-report/index.html +108 -108
  4. package/coverage/lcov-report/lib/components/account-selector/account-actions/account-actions.component.ts.html +1 -1
  5. package/coverage/lcov-report/lib/components/account-selector/account-actions/index.html +1 -1
  6. package/coverage/lcov-report/lib/components/account-selector/account-filter/account-filter.component.ts.html +1 -1
  7. package/coverage/lcov-report/lib/components/account-selector/account-filter/index.html +1 -1
  8. package/coverage/lcov-report/lib/components/account-selector/account-formatting.service.ts.html +13 -19
  9. package/coverage/lcov-report/lib/components/account-selector/account-grouping.service.ts.html +1 -1
  10. package/coverage/lcov-report/lib/components/account-selector/account-list/account-list.component.ts.html +1 -1
  11. package/coverage/lcov-report/lib/components/account-selector/account-list/index.html +1 -1
  12. package/coverage/lcov-report/lib/components/account-selector/account-selector.component.ts.html +1 -1
  13. package/coverage/lcov-report/lib/components/account-selector/account-selector.service.ts.html +1 -1
  14. package/coverage/lcov-report/lib/components/account-selector/index.html +5 -5
  15. package/coverage/lcov-report/lib/components/wallet-account-display/index.html +1 -1
  16. package/coverage/lcov-report/lib/components/wallet-account-display/wallet-account-display.component.ts.html +10 -10
  17. package/coverage/lcov-report/lib/components/wallet-connect-button/index.html +1 -1
  18. package/coverage/lcov-report/lib/components/wallet-connect-button/wallet-connect-button.component.ts.html +1 -1
  19. package/coverage/lcov-report/lib/components/wallet-connect-prompt/index.html +1 -1
  20. package/coverage/lcov-report/lib/components/wallet-connect-prompt/wallet-connect-prompt.component.ts.html +1 -1
  21. package/coverage/lcov-report/lib/components/wallet-connected-guard/index.html +1 -1
  22. package/coverage/lcov-report/lib/components/wallet-connected-guard/wallet-connected-guard.component.ts.html +1 -1
  23. package/coverage/lcov-report/lib/components/wallet-connection-modal/connection-method-step/connection-method-step.component.ts.html +1 -1
  24. package/coverage/lcov-report/lib/components/wallet-connection-modal/connection-method-step/index.html +1 -1
  25. package/coverage/lcov-report/lib/components/wallet-connection-modal/index.html +15 -15
  26. package/coverage/lcov-report/lib/components/wallet-connection-modal/qr-pairing-step/index.html +1 -1
  27. package/coverage/lcov-report/lib/components/wallet-connection-modal/qr-pairing-step/qr-pairing-step.component.ts.html +1 -1
  28. package/coverage/lcov-report/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts.html +84 -36
  29. package/coverage/lcov-report/lib/components/wallet-session-display/index.html +1 -1
  30. package/coverage/lcov-report/lib/components/wallet-session-display/wallet-session-display.component.ts.html +1 -1
  31. package/coverage/lcov-report/lib/components/wallet-transaction-status/index.html +1 -1
  32. package/coverage/lcov-report/lib/components/wallet-transaction-status/wallet-transaction-status.component.ts.html +1 -1
  33. package/coverage/lcov-report/lib/directives/index.html +1 -1
  34. package/coverage/lcov-report/lib/directives/wallet-connected.directive.ts.html +1 -1
  35. package/coverage/lcov-report/lib/directives/wallet-context.directive.ts.html +1 -1
  36. package/coverage/lcov-report/lib/directives/wallet-events.directive.ts.html +1 -1
  37. package/coverage/lcov-report/lib/hsuite-wallet.module.ts.html +1 -1
  38. package/coverage/lcov-report/lib/index.html +1 -1
  39. package/coverage/lcov-report/lib/models/connection-config.model.ts.html +1 -1
  40. package/coverage/lcov-report/lib/models/index.html +7 -7
  41. package/coverage/lcov-report/lib/models/provider-types.ts.html +11 -5
  42. package/coverage/lcov-report/lib/providers/base-wallet-provider.ts.html +20 -20
  43. package/coverage/lcov-report/lib/providers/hsuite-native/channel-client.service.ts.html +639 -636
  44. package/coverage/lcov-report/lib/providers/hsuite-native/index.html +19 -19
  45. package/coverage/lcov-report/lib/providers/hsuite-native-provider.ts.html +1 -1
  46. package/coverage/lcov-report/lib/providers/index.html +18 -18
  47. package/coverage/lcov-report/lib/providers/p2p-native/index.html +22 -22
  48. package/coverage/lcov-report/lib/providers/p2p-native/p2p-native.provider.ts.html +993 -993
  49. package/coverage/lcov-report/lib/providers/p2p-native/p2p-session-manager.ts.html +7 -4
  50. package/coverage/lcov-report/lib/providers/wallet-error-handler.ts.html +1 -1
  51. package/coverage/lcov-report/lib/providers/walletconnect/core/index.html +65 -65
  52. package/coverage/lcov-report/lib/providers/walletconnect/core/session-health.ts.html +240 -240
  53. package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-client-manager.ts.html +559 -559
  54. package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-provider.ts.html +1108 -1105
  55. package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-session-store.ts.html +493 -493
  56. package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-signing-orchestrator.ts.html +366 -366
  57. package/coverage/lcov-report/lib/providers/walletconnect/signers/hedera-signer.ts.html +730 -730
  58. package/coverage/lcov-report/lib/providers/walletconnect/signers/index.html +43 -43
  59. package/coverage/lcov-report/lib/providers/walletconnect/signers/signer-factory.ts.html +234 -234
  60. package/coverage/lcov-report/lib/providers/walletconnect/signers/xrpl-signer.ts.html +650 -650
  61. package/coverage/lcov-report/lib/services/hsuite-auth.interceptor.ts.html +568 -0
  62. package/coverage/lcov-report/lib/services/index.html +50 -20
  63. package/coverage/lcov-report/lib/services/logger.service.ts.html +1 -1
  64. package/coverage/lcov-report/lib/services/smart-session.service.ts.html +1264 -0
  65. package/coverage/lcov-report/lib/services/transaction-builders/active-account-source.ts.html +250 -0
  66. package/coverage/lcov-report/lib/services/transaction-builders/base-transaction-builder.service.ts.html +1 -1
  67. package/coverage/lcov-report/lib/services/transaction-builders/hedera-amount-utils.ts.html +155 -155
  68. package/coverage/lcov-report/lib/services/transaction-builders/hedera-transaction-builder.service.ts.html +2156 -2156
  69. package/coverage/lcov-report/lib/services/transaction-builders/index.html +58 -43
  70. package/coverage/lcov-report/lib/services/transaction-builders/xrpl-transaction-builder.service.ts.html +1674 -1674
  71. package/coverage/lcov-report/lib/services/transaction.service.ts.html +4 -4
  72. package/coverage/lcov-report/lib/services/unified-wallet.service.ts.html +3 -3
  73. package/coverage/lcov-report/lib/services/wallet-context.service.ts.html +1 -1
  74. package/coverage/lcov-report/lib/services/wallet-event-bus.service.ts.html +249 -249
  75. package/coverage/lcov-report/lib/services/wallet-providers.service.ts.html +1 -1
  76. package/coverage/lcov-report/lib/transports/chrome-extension-transport.ts.html +1 -1
  77. package/coverage/lcov-report/lib/transports/index.html +1 -1
  78. package/coverage/lcov-report/lib/utils/index.html +36 -21
  79. package/coverage/lcov-report/lib/utils/ledger-icons.util.ts.html +254 -161
  80. package/coverage/lcov-report/lib/utils/ledger-ui-registry.ts.html +676 -0
  81. package/coverage/lcov.info +8567 -6896
  82. package/coverage/lib/components/account-selector/account-actions/account-actions.component.ts.html +1 -1
  83. package/coverage/lib/components/account-selector/account-actions/index.html +1 -1
  84. package/coverage/lib/components/account-selector/account-filter/account-filter.component.ts.html +1 -1
  85. package/coverage/lib/components/account-selector/account-filter/index.html +1 -1
  86. package/coverage/lib/components/account-selector/account-formatting.service.ts.html +13 -19
  87. package/coverage/lib/components/account-selector/account-grouping.service.ts.html +1 -1
  88. package/coverage/lib/components/account-selector/account-list/account-list.component.ts.html +1 -1
  89. package/coverage/lib/components/account-selector/account-list/index.html +1 -1
  90. package/coverage/lib/components/account-selector/account-selector.component.ts.html +1 -1
  91. package/coverage/lib/components/account-selector/account-selector.service.ts.html +1 -1
  92. package/coverage/lib/components/account-selector/index.html +5 -5
  93. package/coverage/lib/components/wallet-account-display/index.html +1 -1
  94. package/coverage/lib/components/wallet-account-display/wallet-account-display.component.ts.html +10 -10
  95. package/coverage/lib/components/wallet-connect-button/index.html +1 -1
  96. package/coverage/lib/components/wallet-connect-button/wallet-connect-button.component.ts.html +1 -1
  97. package/coverage/lib/components/wallet-connect-prompt/index.html +1 -1
  98. package/coverage/lib/components/wallet-connect-prompt/wallet-connect-prompt.component.ts.html +1 -1
  99. package/coverage/lib/components/wallet-connected-guard/index.html +1 -1
  100. package/coverage/lib/components/wallet-connected-guard/wallet-connected-guard.component.ts.html +1 -1
  101. package/coverage/lib/components/wallet-connection-modal/connection-method-step/connection-method-step.component.ts.html +1 -1
  102. package/coverage/lib/components/wallet-connection-modal/connection-method-step/index.html +1 -1
  103. package/coverage/lib/components/wallet-connection-modal/index.html +15 -15
  104. package/coverage/lib/components/wallet-connection-modal/qr-pairing-step/index.html +1 -1
  105. package/coverage/lib/components/wallet-connection-modal/qr-pairing-step/qr-pairing-step.component.ts.html +1 -1
  106. package/coverage/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts.html +84 -36
  107. package/coverage/lib/components/wallet-session-display/index.html +1 -1
  108. package/coverage/lib/components/wallet-session-display/wallet-session-display.component.ts.html +1 -1
  109. package/coverage/lib/components/wallet-transaction-status/index.html +1 -1
  110. package/coverage/lib/components/wallet-transaction-status/wallet-transaction-status.component.ts.html +1 -1
  111. package/coverage/lib/directives/index.html +1 -1
  112. package/coverage/lib/directives/wallet-connected.directive.ts.html +1 -1
  113. package/coverage/lib/directives/wallet-context.directive.ts.html +1 -1
  114. package/coverage/lib/directives/wallet-events.directive.ts.html +1 -1
  115. package/coverage/lib/hsuite-wallet.module.ts.html +1 -1
  116. package/coverage/lib/index.html +1 -1
  117. package/coverage/lib/models/connection-config.model.ts.html +1 -1
  118. package/coverage/lib/models/index.html +7 -7
  119. package/coverage/lib/models/provider-types.ts.html +11 -5
  120. package/coverage/lib/providers/base-wallet-provider.ts.html +20 -20
  121. package/coverage/lib/providers/hsuite-native/channel-client.service.ts.html +639 -636
  122. package/coverage/lib/providers/hsuite-native/index.html +19 -19
  123. package/coverage/lib/providers/hsuite-native-provider.ts.html +1 -1
  124. package/coverage/lib/providers/index.html +18 -18
  125. package/coverage/lib/providers/p2p-native/index.html +22 -22
  126. package/coverage/lib/providers/p2p-native/p2p-native.provider.ts.html +993 -993
  127. package/coverage/lib/providers/p2p-native/p2p-session-manager.ts.html +7 -4
  128. package/coverage/lib/providers/wallet-error-handler.ts.html +1 -1
  129. package/coverage/lib/providers/walletconnect/core/index.html +65 -65
  130. package/coverage/lib/providers/walletconnect/core/session-health.ts.html +240 -240
  131. package/coverage/lib/providers/walletconnect/core/walletconnect-client-manager.ts.html +559 -559
  132. package/coverage/lib/providers/walletconnect/core/walletconnect-provider.ts.html +1108 -1105
  133. package/coverage/lib/providers/walletconnect/core/walletconnect-session-store.ts.html +493 -493
  134. package/coverage/lib/providers/walletconnect/core/walletconnect-signing-orchestrator.ts.html +366 -366
  135. package/coverage/lib/providers/walletconnect/signers/hedera-signer.ts.html +730 -730
  136. package/coverage/lib/providers/walletconnect/signers/index.html +43 -43
  137. package/coverage/lib/providers/walletconnect/signers/signer-factory.ts.html +234 -234
  138. package/coverage/lib/providers/walletconnect/signers/xrpl-signer.ts.html +650 -650
  139. package/coverage/lib/services/hsuite-auth.interceptor.ts.html +568 -0
  140. package/coverage/lib/services/index.html +50 -20
  141. package/coverage/lib/services/logger.service.ts.html +1 -1
  142. package/coverage/lib/services/smart-session.service.ts.html +1264 -0
  143. package/coverage/lib/services/transaction-builders/active-account-source.ts.html +250 -0
  144. package/coverage/lib/services/transaction-builders/base-transaction-builder.service.ts.html +1 -1
  145. package/coverage/lib/services/transaction-builders/hedera-amount-utils.ts.html +155 -155
  146. package/coverage/lib/services/transaction-builders/hedera-transaction-builder.service.ts.html +2156 -2156
  147. package/coverage/lib/services/transaction-builders/index.html +58 -43
  148. package/coverage/lib/services/transaction-builders/xrpl-transaction-builder.service.ts.html +1674 -1674
  149. package/coverage/lib/services/transaction.service.ts.html +4 -4
  150. package/coverage/lib/services/unified-wallet.service.ts.html +3 -3
  151. package/coverage/lib/services/wallet-context.service.ts.html +1 -1
  152. package/coverage/lib/services/wallet-event-bus.service.ts.html +249 -249
  153. package/coverage/lib/services/wallet-providers.service.ts.html +1 -1
  154. package/coverage/lib/transports/chrome-extension-transport.ts.html +1 -1
  155. package/coverage/lib/transports/index.html +1 -1
  156. package/coverage/lib/utils/index.html +36 -21
  157. package/coverage/lib/utils/ledger-icons.util.ts.html +254 -161
  158. package/coverage/lib/utils/ledger-ui-registry.ts.html +676 -0
  159. package/dist/fesm2022/hsuite-native-connect-angular.mjs +854 -308
  160. package/dist/fesm2022/hsuite-native-connect-angular.mjs.map +1 -1
  161. package/dist/index.d.ts +456 -30
  162. package/package.json +4 -4
  163. package/src/index.ts +26 -0
  164. package/src/lib/components/account-selector/account-formatting.service.ts +8 -10
  165. package/src/lib/components/wallet-account-display/wallet-account-display.component.ts +9 -9
  166. package/src/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts +34 -18
  167. package/src/lib/models/provider-types.ts +3 -1
  168. package/src/lib/models/unified-account.model.ts +4 -1
  169. package/src/lib/providers/hsuite-native/channel-client.service.ts +1 -0
  170. package/src/lib/providers/p2p-native/p2p-session-manager.ts +1 -0
  171. package/src/lib/providers/walletconnect/core/walletconnect-provider.ts +2 -1
  172. package/src/lib/services/hsuite-auth.interceptor.ts +159 -0
  173. package/src/lib/services/smart-session.service.ts +378 -0
  174. package/src/lib/services/transaction-builders/active-account-source.spec.ts +75 -0
  175. package/src/lib/services/transaction-builders/active-account-source.ts +55 -0
  176. package/src/lib/services/transaction-builders/hedera-transaction-builder.service.ts +4 -4
  177. package/src/lib/services/transaction-builders/index.ts +1 -0
  178. package/src/lib/services/transaction.service.ts +7 -3
  179. package/src/lib/services/unified-wallet.service.spec.ts +1 -1
  180. package/src/lib/services/unified-wallet.service.ts +2 -2
  181. package/src/lib/utils/index.ts +1 -0
  182. package/src/lib/utils/ledger-icons.util.ts +61 -30
  183. package/src/lib/utils/ledger-ui-registry.ts +197 -0
@@ -361,12 +361,14 @@
361
361
  <span class="cstat-no" title="statement not covered" > * and responsive styling. Eliminates repetitive account display boilerplate.</span>
362
362
  <span class="cstat-no" title="statement not covered" > */</span>
363
363
  <span class="cstat-no" title="statement not covered" ></span>
364
- <span class="cstat-no" title="statement not covered" >import { Component, Input, computed, inject } from '@angular/core';</span>
365
364
  <span class="cstat-no" title="statement not covered" >import { CommonModule } from '@angular/common';</span>
365
+ <span class="cstat-no" title="statement not covered" >import { Component, Input, computed, inject } from '@angular/core';</span>
366
366
  <span class="cstat-no" title="statement not covered" >import { IonText, IonBadge, IonIcon } from '@ionic/angular/standalone';</span>
367
367
  <span class="cstat-no" title="statement not covered" >import { addIcons } from 'ionicons';</span>
368
368
  <span class="cstat-no" title="statement not covered" >import { walletOutline, personOutline, peopleOutline } from 'ionicons/icons';</span>
369
+ <span class="cstat-no" title="statement not covered" ></span>
369
370
  <span class="cstat-no" title="statement not covered" >import { WalletContextService } from '../../services/wallet-context.service';</span>
371
+ <span class="cstat-no" title="statement not covered" >import { LedgerUIRegistry } from '../../utils/ledger-ui-registry';</span>
370
372
  <span class="cstat-no" title="statement not covered" ></span>
371
373
  <span class="cstat-no" title="statement not covered" >/**</span>
372
374
  <span class="cstat-no" title="statement not covered" > * Pre-built component for displaying active account</span>
@@ -457,26 +459,24 @@
457
459
  <span class="cstat-no" title="statement not covered" > return null;</span>
458
460
  <span class="cstat-no" title="statement not covered" > });</span>
459
461
  <span class="cstat-no" title="statement not covered" ></span>
462
+ <span class="cstat-no" title="statement not covered" > /**</span>
463
+ <span class="cstat-no" title="statement not covered" > *</span>
464
+ <span class="cstat-no" title="statement not covered" > */</span>
460
465
  <span class="cstat-no" title="statement not covered" > constructor() {</span>
461
466
  <span class="cstat-no" title="statement not covered" > addIcons({ walletOutline, personOutline, peopleOutline });</span>
462
467
  <span class="cstat-no" title="statement not covered" > }</span>
463
468
  <span class="cstat-no" title="statement not covered" ></span>
464
469
  <span class="cstat-no" title="statement not covered" > /**</span>
465
470
  <span class="cstat-no" title="statement not covered" > * Get color for ledger badge</span>
471
+ <span class="cstat-no" title="statement not covered" > * @param ledgerId</span>
466
472
  <span class="cstat-no" title="statement not covered" > */</span>
467
473
  <span class="cstat-no" title="statement not covered" > protected getLedgerColor(ledgerId: string): string {</span>
468
- <span class="cstat-no" title="statement not covered" > switch (ledgerId.toLowerCase()) {</span>
469
- <span class="cstat-no" title="statement not covered" > case 'hedera':</span>
470
- <span class="cstat-no" title="statement not covered" > return 'success';</span>
471
- <span class="cstat-no" title="statement not covered" > case 'xrpl':</span>
472
- <span class="cstat-no" title="statement not covered" > return 'tertiary';</span>
473
- <span class="cstat-no" title="statement not covered" > default:</span>
474
- <span class="cstat-no" title="statement not covered" > return 'primary';</span>
475
- <span class="cstat-no" title="statement not covered" > }</span>
474
+ <span class="cstat-no" title="statement not covered" > return LedgerUIRegistry.get(ledgerId.toLowerCase())?.badgeColor ?? 'primary';</span>
476
475
  <span class="cstat-no" title="statement not covered" > }</span>
477
476
  <span class="cstat-no" title="statement not covered" ></span>
478
477
  <span class="cstat-no" title="statement not covered" > /**</span>
479
478
  <span class="cstat-no" title="statement not covered" > * Format network ID for display</span>
479
+ <span class="cstat-no" title="statement not covered" > * @param networkId</span>
480
480
  <span class="cstat-no" title="statement not covered" > */</span>
481
481
  <span class="cstat-no" title="statement not covered" > protected formatNetwork(networkId: string): string {</span>
482
482
  <span class="cstat-no" title="statement not covered" > const parts = networkId.split(':');</span>
@@ -490,7 +490,7 @@
490
490
  <div class='footer quiet pad2 space-top1 center small'>
491
491
  Code coverage generated by
492
492
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
493
- at 2026-06-10T09:00:36.727Z
493
+ at 2026-06-27T21:00:37.138Z
494
494
  </div>
495
495
  <script src="../../../prettify.js"></script>
496
496
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -814,7 +814,7 @@ export class WalletConnectButtonComponent {
814
814
  <div class='footer quiet pad2 space-top1 center small'>
815
815
  Code coverage generated by
816
816
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
817
- at 2026-06-10T09:00:36.727Z
817
+ at 2026-06-27T21:00:37.138Z
818
818
  </div>
819
819
  <script src="../../../prettify.js"></script>
820
820
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -394,7 +394,7 @@
394
394
  <div class='footer quiet pad2 space-top1 center small'>
395
395
  Code coverage generated by
396
396
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
397
- at 2026-06-10T09:00:36.727Z
397
+ at 2026-06-27T21:00:37.138Z
398
398
  </div>
399
399
  <script src="../../../prettify.js"></script>
400
400
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -289,7 +289,7 @@
289
289
  <div class='footer quiet pad2 space-top1 center small'>
290
290
  Code coverage generated by
291
291
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
292
- at 2026-06-10T09:00:36.727Z
292
+ at 2026-06-27T21:00:37.138Z
293
293
  </div>
294
294
  <script src="../../../prettify.js"></script>
295
295
  <script>
@@ -421,7 +421,7 @@ export class ConnectionMethodStepComponent <span class="fstat-no" title="functio
421
421
  <div class='footer quiet pad2 space-top1 center small'>
422
422
  Code coverage generated by
423
423
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
424
- at 2026-06-10T09:00:36.727Z
424
+ at 2026-06-27T21:00:37.138Z
425
425
  </div>
426
426
  <script src="../../../../prettify.js"></script>
427
427
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">68.55% </span>
26
+ <span class="strong">69.17% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>545/795</span>
28
+ <span class='fraction'>561/811</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">45.23% </span>
33
+ <span class="strong">44.44% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>19/42</span>
35
+ <span class='fraction'>20/45</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">68.55% </span>
47
+ <span class="strong">69.17% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>545/795</span>
49
+ <span class='fraction'>561/811</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="wallet-connection-modal.component.ts"><a href="wallet-connection-modal.component.ts.html">wallet-connection-modal.component.ts</a></td>
83
- <td data-value="68.55" class="pic medium">
84
- <div class="chart"><div class="cover-fill" style="width: 68%"></div><div class="cover-empty" style="width: 32%"></div></div>
83
+ <td data-value="69.17" class="pic medium">
84
+ <div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
85
85
  </td>
86
- <td data-value="68.55" class="pct medium">68.55%</td>
87
- <td data-value="795" class="abs medium">545/795</td>
88
- <td data-value="45.23" class="pct low">45.23%</td>
89
- <td data-value="42" class="abs low">19/42</td>
86
+ <td data-value="69.17" class="pct medium">69.17%</td>
87
+ <td data-value="811" class="abs medium">561/811</td>
88
+ <td data-value="44.44" class="pct low">44.44%</td>
89
+ <td data-value="45" class="abs low">20/45</td>
90
90
  <td data-value="54.54" class="pct medium">54.54%</td>
91
91
  <td data-value="22" class="abs medium">12/22</td>
92
- <td data-value="68.55" class="pct medium">68.55%</td>
93
- <td data-value="795" class="abs medium">545/795</td>
92
+ <td data-value="69.17" class="pct medium">69.17%</td>
93
+ <td data-value="811" class="abs medium">561/811</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <script>
@@ -2272,7 +2272,7 @@ export class QrPairingStepComponent implements AfterViewInit, OnChanges, OnDestr
2272
2272
  <div class='footer quiet pad2 space-top1 center small'>
2273
2273
  Code coverage generated by
2274
2274
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2275
- at 2026-06-10T09:00:36.727Z
2275
+ at 2026-06-27T21:00:37.138Z
2276
2276
  </div>
2277
2277
  <script src="../../../../prettify.js"></script>
2278
2278
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">68.55% </span>
26
+ <span class="strong">69.17% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>545/795</span>
28
+ <span class='fraction'>561/811</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">45.23% </span>
33
+ <span class="strong">44.44% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>19/42</span>
35
+ <span class='fraction'>20/45</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">68.55% </span>
47
+ <span class="strong">69.17% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>545/795</span>
49
+ <span class='fraction'>561/811</span>
50
50
  </div>
51
51
 
52
52
 
@@ -858,7 +858,26 @@
858
858
  <a name='L793'></a><a href='#L793'>793</a>
859
859
  <a name='L794'></a><a href='#L794'>794</a>
860
860
  <a name='L795'></a><a href='#L795'>795</a>
861
- <a name='L796'></a><a href='#L796'>796</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
861
+ <a name='L796'></a><a href='#L796'>796</a>
862
+ <a name='L797'></a><a href='#L797'>797</a>
863
+ <a name='L798'></a><a href='#L798'>798</a>
864
+ <a name='L799'></a><a href='#L799'>799</a>
865
+ <a name='L800'></a><a href='#L800'>800</a>
866
+ <a name='L801'></a><a href='#L801'>801</a>
867
+ <a name='L802'></a><a href='#L802'>802</a>
868
+ <a name='L803'></a><a href='#L803'>803</a>
869
+ <a name='L804'></a><a href='#L804'>804</a>
870
+ <a name='L805'></a><a href='#L805'>805</a>
871
+ <a name='L806'></a><a href='#L806'>806</a>
872
+ <a name='L807'></a><a href='#L807'>807</a>
873
+ <a name='L808'></a><a href='#L808'>808</a>
874
+ <a name='L809'></a><a href='#L809'>809</a>
875
+ <a name='L810'></a><a href='#L810'>810</a>
876
+ <a name='L811'></a><a href='#L811'>811</a>
877
+ <a name='L812'></a><a href='#L812'>812</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
878
+ <span class="cline-any cline-yes">1x</span>
879
+ <span class="cline-any cline-yes">1x</span>
880
+ <span class="cline-any cline-yes">1x</span>
862
881
  <span class="cline-any cline-yes">1x</span>
863
882
  <span class="cline-any cline-yes">1x</span>
864
883
  <span class="cline-any cline-yes">1x</span>
@@ -982,6 +1001,19 @@
982
1001
  <span class="cline-any cline-yes">1x</span>
983
1002
  <span class="cline-any cline-yes">1x</span>
984
1003
  <span class="cline-any cline-yes">1x</span>
1004
+ <span class="cline-any cline-yes">1x</span>
1005
+ <span class="cline-any cline-yes">1x</span>
1006
+ <span class="cline-any cline-yes">1x</span>
1007
+ <span class="cline-any cline-yes">1x</span>
1008
+ <span class="cline-any cline-yes">1x</span>
1009
+ <span class="cline-any cline-yes">1x</span>
1010
+ <span class="cline-any cline-yes">1x</span>
1011
+ <span class="cline-any cline-yes">1x</span>
1012
+ <span class="cline-any cline-yes">1x</span>
1013
+ <span class="cline-any cline-yes">1x</span>
1014
+ <span class="cline-any cline-yes">1x</span>
1015
+ <span class="cline-any cline-yes">1x</span>
1016
+ <span class="cline-any cline-yes">1x</span>
985
1017
  <span class="cline-any cline-yes">10x</span>
986
1018
  <span class="cline-any cline-yes">10x</span>
987
1019
  <span class="cline-any cline-yes">10x</span>
@@ -1110,16 +1142,13 @@
1110
1142
  <span class="cline-any cline-yes">10x</span>
1111
1143
  <span class="cline-any cline-yes">10x</span>
1112
1144
  <span class="cline-any cline-yes">10x</span>
1113
- <span class="cline-any cline-yes">10x</span>
1114
- <span class="cline-any cline-yes">10x</span>
1115
- <span class="cline-any cline-yes">10x</span>
1116
- <span class="cline-any cline-yes">10x</span>
1117
- <span class="cline-any cline-yes">10x</span>
1118
- <span class="cline-any cline-yes">10x</span>
1119
- <span class="cline-any cline-yes">10x</span>
1120
- <span class="cline-any cline-yes">10x</span>
1121
- <span class="cline-any cline-yes">10x</span>
1122
- <span class="cline-any cline-yes">10x</span>
1145
+ <span class="cline-any cline-yes">20x</span>
1146
+ <span class="cline-any cline-yes">20x</span>
1147
+ <span class="cline-any cline-yes">20x</span>
1148
+ <span class="cline-any cline-yes">20x</span>
1149
+ <span class="cline-any cline-yes">20x</span>
1150
+ <span class="cline-any cline-yes">20x</span>
1151
+ <span class="cline-any cline-yes">20x</span>
1123
1152
  <span class="cline-any cline-yes">10x</span>
1124
1153
  <span class="cline-any cline-yes">10x</span>
1125
1154
  <span class="cline-any cline-yes">10x</span>
@@ -1306,6 +1335,9 @@
1306
1335
  <span class="cline-any cline-yes">10x</span>
1307
1336
  <span class="cline-any cline-yes">10x</span>
1308
1337
  <span class="cline-any cline-yes">10x</span>
1338
+ <span class="cline-any cline-yes">10x</span>
1339
+ <span class="cline-any cline-yes">10x</span>
1340
+ <span class="cline-any cline-yes">10x</span>
1309
1341
  <span class="cline-any cline-yes">7x</span>
1310
1342
  <span class="cline-any cline-yes">7x</span>
1311
1343
  <span class="cline-any cline-yes">7x</span>
@@ -1688,12 +1720,15 @@ import {
1688
1720
  inject,
1689
1721
  } from '@angular/core';
1690
1722
  import { getLogger } from '@hsuite/native-connect-sdk';
1723
+ import type { SupportedLedger } from '@hsuite/native-connect-sdk';
1691
1724
  import { IonicModule, ModalController, Platform } from '@ionic/angular';
1692
1725
  &nbsp;
1693
1726
  import type { WalletConnectV2Config } from '../../models/provider-types';
1694
1727
  import { DEFAULT_WALLET_URL } from '../../models/provider-types';
1695
1728
  import { P2PNativeProvider } from '../../providers/p2p-native/p2p-native.provider';
1696
1729
  import { UnifiedWalletService } from '../../services/unified-wallet.service';
1730
+ import { registerLedgerIcons } from '../../utils/ledger-icons.util';
1731
+ import { LedgerUIRegistry } from '../../utils/ledger-ui-registry';
1697
1732
  &nbsp;
1698
1733
  import {
1699
1734
  ConnectionMethodStepComponent,
@@ -1748,12 +1783,25 @@ interface ProtocolOption {
1748
1783
  * Ledger configuration options
1749
1784
  */
1750
1785
  interface LedgerOption {
1751
- id: 'hedera' | 'xrpl';
1786
+ id: SupportedLedger;
1752
1787
  name: string;
1753
1788
  description: string;
1754
1789
  icon: string;
1755
1790
  }
1756
1791
  &nbsp;
1792
+ /**
1793
+ * Per-ledger copy for the WalletConnect "Choose Blockchain" step.
1794
+ *
1795
+ * Keyed by {@link SupportedLedger} (the closed set of ledgers the WalletConnect
1796
+ * provider brokers) via `satisfies`, so widening that union forces a description
1797
+ * here. Display name and icon come from {@link LedgerUIRegistry}; this map holds
1798
+ * only the connection-flow copy specific to this surface.
1799
+ */
1800
+ const LEDGER_DESCRIPTIONS = {
1801
+ hedera: 'Hedera Hashgraph network',
1802
+ xrpl: 'XRP Ledger network',
1803
+ } satisfies Record&lt;SupportedLedger, string&gt;;
1804
+ &nbsp;
1757
1805
  /**
1758
1806
  * Step configuration for dynamic step indicator.
1759
1807
  * Defines the total steps and labels based on selected protocol path.
@@ -1825,7 +1873,7 @@ export class WalletConnectionModalComponent implements OnInit {
1825
1873
  readonly selectedNetwork = signal&lt;string&gt;('testnet');
1826
1874
  readonly selectedProtocol = signal&lt;'hsuite-native' | 'walletconnect' | null&gt;(null);
1827
1875
  readonly selectedConnectionMethod = signal&lt;ConnectionMethod | null&gt;(null);
1828
- readonly selectedLedger = signal&lt;'hedera' | 'xrpl' | null&gt;(null);
1876
+ readonly selectedLedger = signal&lt;SupportedLedger | null&gt;(null);
1829
1877
  &nbsp;
1830
1878
  // Loading state
1831
1879
  readonly isConnecting = signal&lt;boolean&gt;(false);
@@ -1902,20 +1950,17 @@ export class WalletConnectionModalComponent implements OnInit {
1902
1950
  <span class="cstat-no" title="statement not covered" > return options;</span>
1903
1951
  });
1904
1952
  &nbsp;
1905
- readonly ledgerOptions: LedgerOption[] = [
1906
- {
1907
- id: 'hedera',
1908
- name: 'Hedera',
1909
- description: 'Hedera Hashgraph network',
1910
- icon: 'logo-bitcoin', // Placeholder, use actual Hedera icon
1911
- },
1912
- {
1913
- id: 'xrpl',
1914
- name: 'XRP Ledger',
1915
- description: 'XRP Ledger network',
1916
- icon: 'logo-usd', // Placeholder, use actual XRPL icon
1917
- },
1918
- ];
1953
+ readonly ledgerOptions: LedgerOption[] = (
1954
+ Object.keys(LEDGER_DESCRIPTIONS) as SupportedLedger[]
1955
+ ).map((id) =&gt; {
1956
+ const ui = LedgerUIRegistry.get(id);
1957
+ return {
1958
+ id,
1959
+ name: ui?.<span class="branch-0 cbranch-no" title="branch not covered" >displayName ?? id,</span>
1960
+ description: LEDGER_DESCRIPTIONS[id],
1961
+ icon: ui?.<span class="branch-0 cbranch-no" title="branch not covered" >iconName ?? '',</span>
1962
+ };
1963
+ });
1919
1964
  &nbsp;
1920
1965
  /**
1921
1966
  * Connection method options for HSuite Native.
@@ -2090,6 +2135,9 @@ export class WalletConnectionModalComponent implements OnInit {
2090
2135
  this.p2pNativeProvider.onPeerConnected(() =&gt; {
2091
2136
  <span class="cstat-no" title="statement not covered" > this.onMobileConnected();</span>
2092
2137
  });
2138
+ &nbsp;
2139
+ // Register the shared ledger brand logos so &lt;ion-icon&gt; can resolve them by name.
2140
+ registerLedgerIcons();
2093
2141
  }
2094
2142
  &nbsp;
2095
2143
  /**
@@ -2173,7 +2221,7 @@ export class WalletConnectionModalComponent implements OnInit {
2173
2221
  * Select a ledger option (internal, use selectLedgerAndConnect for UI)
2174
2222
  * @param ledgerId
2175
2223
  */
2176
- <span class="fstat-no" title="function not covered" > selectLedger(ledgerId: 'hedera' | 'xrpl'): void {</span>
2224
+ <span class="fstat-no" title="function not covered" > selectLedger(ledgerId: SupportedLedger): void {</span>
2177
2225
  <span class="cstat-no" title="statement not covered" > this.selectedLedger.set(ledgerId);</span>
2178
2226
  <span class="cstat-no" title="statement not covered" > }</span>
2179
2227
  &nbsp;
@@ -2182,7 +2230,7 @@ export class WalletConnectionModalComponent implements OnInit {
2182
2230
  * This enables direct selection behavior for WalletConnect ledger step.
2183
2231
  * @param ledgerId - The ledger ID to select ('hedera' or 'xrpl')
2184
2232
  */
2185
- <span class="fstat-no" title="function not covered" > selectLedgerAndConnect(ledgerId: 'hedera' | 'xrpl'): void {</span>
2233
+ <span class="fstat-no" title="function not covered" > selectLedgerAndConnect(ledgerId: SupportedLedger): void {</span>
2186
2234
  <span class="cstat-no" title="statement not covered" > this.selectedLedger.set(ledgerId);</span>
2187
2235
  <span class="cstat-no" title="statement not covered" > // Auto-connect with the selected ledger</span>
2188
2236
  <span class="cstat-no" title="statement not covered" > void this.connect();</span>
@@ -2455,7 +2503,7 @@ export class WalletConnectionModalComponent implements OnInit {
2455
2503
  <div class='footer quiet pad2 space-top1 center small'>
2456
2504
  Code coverage generated by
2457
2505
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2458
- at 2026-06-10T09:00:36.727Z
2506
+ at 2026-06-27T21:00:37.138Z
2459
2507
  </div>
2460
2508
  <script src="../../../prettify.js"></script>
2461
2509
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -661,7 +661,7 @@
661
661
  <div class='footer quiet pad2 space-top1 center small'>
662
662
  Code coverage generated by
663
663
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
664
- at 2026-06-10T09:00:36.727Z
664
+ at 2026-06-27T21:00:37.138Z
665
665
  </div>
666
666
  <script src="../../../prettify.js"></script>
667
667
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -688,7 +688,7 @@
688
688
  <div class='footer quiet pad2 space-top1 center small'>
689
689
  Code coverage generated by
690
690
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
691
- at 2026-06-10T09:00:36.727Z
691
+ at 2026-06-27T21:00:37.138Z
692
692
  </div>
693
693
  <script src="../../../prettify.js"></script>
694
694
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2026-06-10T09:00:36.727Z
134
+ at 2026-06-27T21:00:37.138Z
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>
@@ -655,7 +655,7 @@
655
655
  <div class='footer quiet pad2 space-top1 center small'>
656
656
  Code coverage generated by
657
657
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
658
- at 2026-06-10T09:00:36.727Z
658
+ at 2026-06-27T21:00:37.138Z
659
659
  </div>
660
660
  <script src="../../prettify.js"></script>
661
661
  <script>
@@ -532,7 +532,7 @@
532
532
  <div class='footer quiet pad2 space-top1 center small'>
533
533
  Code coverage generated by
534
534
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
535
- at 2026-06-10T09:00:36.727Z
535
+ at 2026-06-27T21:00:37.138Z
536
536
  </div>
537
537
  <script src="../../prettify.js"></script>
538
538
  <script>
@@ -766,7 +766,7 @@
766
766
  <div class='footer quiet pad2 space-top1 center small'>
767
767
  Code coverage generated by
768
768
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
769
- at 2026-06-10T09:00:36.727Z
769
+ at 2026-06-27T21:00:37.138Z
770
770
  </div>
771
771
  <script src="../../prettify.js"></script>
772
772
  <script>
@@ -700,7 +700,7 @@
700
700
  <div class='footer quiet pad2 space-top1 center small'>
701
701
  Code coverage generated by
702
702
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
703
- at 2026-06-10T09:00:36.727Z
703
+ at 2026-06-27T21:00:37.138Z
704
704
  </div>
705
705
  <script src="../prettify.js"></script>
706
706
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-10T09:00:36.727Z
104
+ at 2026-06-27T21:00:37.138Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -265,7 +265,7 @@
265
265
  <div class='footer quiet pad2 space-top1 center small'>
266
266
  Code coverage generated by
267
267
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
268
- at 2026-06-10T09:00:36.727Z
268
+ at 2026-06-27T21:00:37.138Z
269
269
  </div>
270
270
  <script src="../../prettify.js"></script>
271
271
  <script>