@hsuite/native-connect-angular 1.0.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 (188) hide show
  1. package/coverage/coverage-summary.json +53 -49
  2. package/coverage/index.html +100 -100
  3. package/coverage/lcov-report/index.html +100 -100
  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 +21 -21
  18. package/coverage/lcov-report/lib/components/wallet-connect-button/wallet-connect-button.component.ts.html +475 -451
  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 +148 -148
  24. package/coverage/lcov-report/lib/components/wallet-connection-modal/connection-method-step/index.html +17 -17
  25. package/coverage/lcov-report/lib/components/wallet-connection-modal/index.html +21 -21
  26. package/coverage/lcov-report/lib/components/wallet-connection-modal/qr-pairing-step/index.html +17 -17
  27. package/coverage/lcov-report/lib/components/wallet-connection-modal/qr-pairing-step/qr-pairing-step.component.ts.html +838 -838
  28. package/coverage/lcov-report/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts.html +1230 -987
  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 +1 -1
  43. package/coverage/lcov-report/lib/providers/hsuite-native/channel-client.service.ts.html +9 -6
  44. package/coverage/lcov-report/lib/providers/hsuite-native/index.html +10 -10
  45. package/coverage/lcov-report/lib/providers/hsuite-native-provider.ts.html +1 -1
  46. package/coverage/lcov-report/lib/providers/index.html +1 -1
  47. package/coverage/lcov-report/lib/providers/p2p-native/index.html +7 -7
  48. package/coverage/lcov-report/lib/providers/p2p-native/p2p-native.provider.ts.html +1 -1
  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 +10 -10
  52. package/coverage/lcov-report/lib/providers/walletconnect/core/session-health.ts.html +1 -1
  53. package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-client-manager.ts.html +1 -1
  54. package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-provider.ts.html +10 -7
  55. package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-session-store.ts.html +1 -1
  56. package/coverage/lcov-report/lib/providers/walletconnect/core/walletconnect-signing-orchestrator.ts.html +1 -1
  57. package/coverage/lcov-report/lib/providers/walletconnect/signers/hedera-signer.ts.html +1 -1
  58. package/coverage/lcov-report/lib/providers/walletconnect/signers/index.html +1 -1
  59. package/coverage/lcov-report/lib/providers/walletconnect/signers/signer-factory.ts.html +49 -49
  60. package/coverage/lcov-report/lib/providers/walletconnect/signers/xrpl-signer.ts.html +1 -1
  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 +4 -4
  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 +1 -1
  68. package/coverage/lcov-report/lib/services/transaction-builders/hedera-transaction-builder.service.ts.html +318 -318
  69. package/coverage/lcov-report/lib/services/transaction-builders/index.html +24 -9
  70. package/coverage/lcov-report/lib/services/transaction-builders/xrpl-transaction-builder.service.ts.html +1 -1
  71. package/coverage/lcov-report/lib/services/transaction.service.ts.html +7 -10
  72. package/coverage/lcov-report/lib/services/unified-wallet.service.ts.html +9 -12
  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 +1 -1
  75. package/coverage/lcov-report/lib/services/wallet-providers.service.ts.html +4 -7
  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 +3236 -2122
  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 +21 -21
  96. package/coverage/lib/components/wallet-connect-button/wallet-connect-button.component.ts.html +475 -451
  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 +148 -148
  102. package/coverage/lib/components/wallet-connection-modal/connection-method-step/index.html +17 -17
  103. package/coverage/lib/components/wallet-connection-modal/index.html +21 -21
  104. package/coverage/lib/components/wallet-connection-modal/qr-pairing-step/index.html +17 -17
  105. package/coverage/lib/components/wallet-connection-modal/qr-pairing-step/qr-pairing-step.component.ts.html +838 -838
  106. package/coverage/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts.html +1230 -987
  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 +1 -1
  121. package/coverage/lib/providers/hsuite-native/channel-client.service.ts.html +9 -6
  122. package/coverage/lib/providers/hsuite-native/index.html +10 -10
  123. package/coverage/lib/providers/hsuite-native-provider.ts.html +1 -1
  124. package/coverage/lib/providers/index.html +1 -1
  125. package/coverage/lib/providers/p2p-native/index.html +7 -7
  126. package/coverage/lib/providers/p2p-native/p2p-native.provider.ts.html +1 -1
  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 +10 -10
  130. package/coverage/lib/providers/walletconnect/core/session-health.ts.html +1 -1
  131. package/coverage/lib/providers/walletconnect/core/walletconnect-client-manager.ts.html +1 -1
  132. package/coverage/lib/providers/walletconnect/core/walletconnect-provider.ts.html +10 -7
  133. package/coverage/lib/providers/walletconnect/core/walletconnect-session-store.ts.html +1 -1
  134. package/coverage/lib/providers/walletconnect/core/walletconnect-signing-orchestrator.ts.html +1 -1
  135. package/coverage/lib/providers/walletconnect/signers/hedera-signer.ts.html +1 -1
  136. package/coverage/lib/providers/walletconnect/signers/index.html +1 -1
  137. package/coverage/lib/providers/walletconnect/signers/signer-factory.ts.html +49 -49
  138. package/coverage/lib/providers/walletconnect/signers/xrpl-signer.ts.html +1 -1
  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 +4 -4
  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 +1 -1
  146. package/coverage/lib/services/transaction-builders/hedera-transaction-builder.service.ts.html +318 -318
  147. package/coverage/lib/services/transaction-builders/index.html +24 -9
  148. package/coverage/lib/services/transaction-builders/xrpl-transaction-builder.service.ts.html +1 -1
  149. package/coverage/lib/services/transaction.service.ts.html +7 -10
  150. package/coverage/lib/services/unified-wallet.service.ts.html +9 -12
  151. package/coverage/lib/services/wallet-context.service.ts.html +1 -1
  152. package/coverage/lib/services/wallet-event-bus.service.ts.html +1 -1
  153. package/coverage/lib/services/wallet-providers.service.ts.html +4 -7
  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 +939 -328
  160. package/dist/fesm2022/hsuite-native-connect-angular.mjs.map +1 -1
  161. package/dist/index.d.ts +489 -33
  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-connect-button/wallet-connect-button.component.spec.ts +89 -0
  167. package/src/lib/components/wallet-connect-button/wallet-connect-button.component.ts +8 -0
  168. package/src/lib/components/wallet-connection-modal/wallet-connection-modal.component.html +1 -6
  169. package/src/lib/components/wallet-connection-modal/wallet-connection-modal.component.spec.ts +173 -0
  170. package/src/lib/components/wallet-connection-modal/wallet-connection-modal.component.ts +118 -37
  171. package/src/lib/models/provider-types.ts +3 -1
  172. package/src/lib/models/unified-account.model.ts +4 -1
  173. package/src/lib/providers/hsuite-native/channel-client.service.ts +1 -0
  174. package/src/lib/providers/p2p-native/p2p-session-manager.ts +1 -0
  175. package/src/lib/providers/walletconnect/core/walletconnect-provider.ts +2 -1
  176. package/src/lib/services/hsuite-auth.interceptor.ts +159 -0
  177. package/src/lib/services/smart-session.service.ts +378 -0
  178. package/src/lib/services/transaction-builders/active-account-source.spec.ts +75 -0
  179. package/src/lib/services/transaction-builders/active-account-source.ts +55 -0
  180. package/src/lib/services/transaction-builders/hedera-transaction-builder.service.ts +4 -4
  181. package/src/lib/services/transaction-builders/index.ts +1 -0
  182. package/src/lib/services/transaction.service.ts +7 -4
  183. package/src/lib/services/unified-wallet.service.spec.ts +1 -1
  184. package/src/lib/services/unified-wallet.service.ts +2 -3
  185. package/src/lib/services/wallet-providers.service.ts +0 -1
  186. package/src/lib/utils/index.ts +1 -0
  187. package/src/lib/utils/ledger-icons.util.ts +61 -30
  188. package/src/lib/utils/ledger-ui-registry.ts +197 -0
@@ -853,7 +853,7 @@
853
853
  <div class='footer quiet pad2 space-top1 center small'>
854
854
  Code coverage generated by
855
855
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
856
- at 2026-06-02T14:30:38.372Z
856
+ at 2026-06-27T21:00:37.209Z
857
857
  </div>
858
858
  <script src="../../../../prettify.js"></script>
859
859
  <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-02T14:30:38.372Z
104
+ at 2026-06-27T21:00:37.209Z
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <script>
@@ -1273,7 +1273,7 @@
1273
1273
  <div class='footer quiet pad2 space-top1 center small'>
1274
1274
  Code coverage generated by
1275
1275
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1276
- at 2026-06-02T14:30:38.372Z
1276
+ at 2026-06-27T21:00:37.209Z
1277
1277
  </div>
1278
1278
  <script src="../../../../prettify.js"></script>
1279
1279
  <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-02T14:30:38.372Z
104
+ at 2026-06-27T21:00:37.209Z
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/200</span>
28
+ <span class='fraction'>0/198</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/200</span>
49
+ <span class='fraction'>0/198</span>
50
50
  </div>
51
51
 
52
52
 
@@ -261,9 +261,7 @@
261
261
  <a name='L196'></a><a href='#L196'>196</a>
262
262
  <a name='L197'></a><a href='#L197'>197</a>
263
263
  <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
264
+ <a name='L199'></a><a href='#L199'>199</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
267
265
  <span class="cline-any cline-no">&nbsp;</span>
268
266
  <span class="cline-any cline-no">&nbsp;</span>
269
267
  <span class="cline-any cline-no">&nbsp;</span>
@@ -461,9 +459,7 @@
461
459
  <span class="cline-any cline-no">&nbsp;</span>
462
460
  <span class="cline-any cline-no">&nbsp;</span>
463
461
  <span class="cline-any cline-no">&nbsp;</span>
464
- <span class="cline-any cline-no">&nbsp;</span>
465
- <span class="cline-any cline-no">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</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>
462
+ <span class="cline-any cline-neutral">&nbsp;</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>
467
463
  <span class="cstat-no" title="statement not covered" > * HSuite Native Connect</span>
468
464
  <span class="cstat-no" title="statement not covered" > * Copyright 2024-2025 HSuite (https://hsuite.finance)</span>
469
465
  <span class="cstat-no" title="statement not covered" > *</span>
@@ -483,6 +479,8 @@
483
479
  <span class="cstat-no" title="statement not covered" ></span>
484
480
  <span class="cstat-no" title="statement not covered" >import { Injectable } from '@angular/core';</span>
485
481
  <span class="cstat-no" title="statement not covered" ></span>
482
+ <span class="cstat-no" title="statement not covered" >import { LedgerUIRegistry } from '../../utils/ledger-ui-registry';</span>
483
+ <span class="cstat-no" title="statement not covered" ></span>
486
484
  <span class="cstat-no" title="statement not covered" >/**</span>
487
485
  <span class="cstat-no" title="statement not covered" > * Account formatting service.</span>
488
486
  <span class="cstat-no" title="statement not covered" > *</span>
@@ -511,11 +509,11 @@
511
509
  <span class="cstat-no" title="statement not covered" > * @returns Display name</span>
512
510
  <span class="cstat-no" title="statement not covered" > */</span>
513
511
  <span class="cstat-no" title="statement not covered" > getLedgerName(ledgerId: string): string {</span>
514
- <span class="cstat-no" title="statement not covered" > const names: Record&lt;string, string&gt; = {</span>
515
- <span class="cstat-no" title="statement not covered" > hedera: 'Hedera',</span>
516
- <span class="cstat-no" title="statement not covered" > xrpl: 'XRPL',</span>
517
- <span class="cstat-no" title="statement not covered" > };</span>
518
- <span class="cstat-no" title="statement not covered" > return names[ledgerId?.toLowerCase()] || ledgerId?.toUpperCase() || 'Unknown';</span>
512
+ <span class="cstat-no" title="statement not covered" > return (</span>
513
+ <span class="cstat-no" title="statement not covered" > LedgerUIRegistry.get(ledgerId?.toLowerCase())?.shortName ||</span>
514
+ <span class="cstat-no" title="statement not covered" > ledgerId?.toUpperCase() ||</span>
515
+ <span class="cstat-no" title="statement not covered" > 'Unknown'</span>
516
+ <span class="cstat-no" title="statement not covered" > );</span>
519
517
  <span class="cstat-no" title="statement not covered" > }</span>
520
518
  <span class="cstat-no" title="statement not covered" ></span>
521
519
  <span class="cstat-no" title="statement not covered" > /**</span>
@@ -525,11 +523,7 @@
525
523
  <span class="cstat-no" title="statement not covered" > * @returns Ionic color name</span>
526
524
  <span class="cstat-no" title="statement not covered" > */</span>
527
525
  <span class="cstat-no" title="statement not covered" > getLedgerColor(ledgerId: string): string {</span>
528
- <span class="cstat-no" title="statement not covered" > const colors: Record&lt;string, string&gt; = {</span>
529
- <span class="cstat-no" title="statement not covered" > hedera: 'success',</span>
530
- <span class="cstat-no" title="statement not covered" > xrpl: 'tertiary',</span>
531
- <span class="cstat-no" title="statement not covered" > };</span>
532
- <span class="cstat-no" title="statement not covered" > return colors[ledgerId?.toLowerCase()] || 'medium';</span>
526
+ <span class="cstat-no" title="statement not covered" > return LedgerUIRegistry.get(ledgerId?.toLowerCase())?.badgeColor || 'medium';</span>
533
527
  <span class="cstat-no" title="statement not covered" > }</span>
534
528
  <span class="cstat-no" title="statement not covered" ></span>
535
529
  <span class="cstat-no" title="statement not covered" > /**</span>
@@ -670,7 +664,7 @@
670
664
  <div class='footer quiet pad2 space-top1 center small'>
671
665
  Code coverage generated by
672
666
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
673
- at 2026-06-02T14:30:38.372Z
667
+ at 2026-06-27T21:00:37.209Z
674
668
  </div>
675
669
  <script src="../../../prettify.js"></script>
676
670
  <script>
@@ -751,7 +751,7 @@
751
751
  <div class='footer quiet pad2 space-top1 center small'>
752
752
  Code coverage generated by
753
753
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
754
- at 2026-06-02T14:30:38.372Z
754
+ at 2026-06-27T21:00:37.209Z
755
755
  </div>
756
756
  <script src="../../../prettify.js"></script>
757
757
  <script>
@@ -1480,7 +1480,7 @@
1480
1480
  <div class='footer quiet pad2 space-top1 center small'>
1481
1481
  Code coverage generated by
1482
1482
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1483
- at 2026-06-02T14:30:38.372Z
1483
+ at 2026-06-27T21:00:37.209Z
1484
1484
  </div>
1485
1485
  <script src="../../../../prettify.js"></script>
1486
1486
  <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-02T14:30:38.372Z
104
+ at 2026-06-27T21:00:37.209Z
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <script>
@@ -1480,7 +1480,7 @@
1480
1480
  <div class='footer quiet pad2 space-top1 center small'>
1481
1481
  Code coverage generated by
1482
1482
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1483
- at 2026-06-02T14:30:38.372Z
1483
+ at 2026-06-27T21:00:37.209Z
1484
1484
  </div>
1485
1485
  <script src="../../../prettify.js"></script>
1486
1486
  <script>
@@ -1573,7 +1573,7 @@
1573
1573
  <div class='footer quiet pad2 space-top1 center small'>
1574
1574
  Code coverage generated by
1575
1575
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1576
- at 2026-06-02T14:30:38.372Z
1576
+ at 2026-06-27T21:00:37.209Z
1577
1577
  </div>
1578
1578
  <script src="../../../prettify.js"></script>
1579
1579
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/1398</span>
28
+ <span class='fraction'>0/1396</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/1398</span>
49
+ <span class='fraction'>0/1396</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
85
  </td>
86
86
  <td data-value="0" class="pct low">0%</td>
87
- <td data-value="200" class="abs low">0/200</td>
87
+ <td data-value="198" class="abs low">0/198</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
89
  <td data-value="1" class="abs low">0/1</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
91
  <td data-value="1" class="abs low">0/1</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="200" class="abs low">0/200</td>
93
+ <td data-value="198" class="abs low">0/198</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2026-06-02T14:30:38.372Z
149
+ at 2026-06-27T21:00:37.209Z
150
150
  </div>
151
151
  <script src="../../../prettify.js"></script>
152
152
  <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-02T14:30:38.372Z
104
+ at 2026-06-27T21:00:37.209Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -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-02T14:30:38.372Z
493
+ at 2026-06-27T21:00:37.209Z
494
494
  </div>
495
495
  <script src="../../../prettify.js"></script>
496
496
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">84.27% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/240</span>
28
+ <span class='fraction'>209/248</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">50% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/1</span>
35
+ <span class='fraction'>4/8</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">40% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/1</span>
42
+ <span class='fraction'>4/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">84.27% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/240</span>
49
+ <span class='fraction'>209/248</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 low'></div>
64
+ <div class='status-line high'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -79,18 +79,18 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file low" data-value="wallet-connect-button.component.ts"><a href="wallet-connect-button.component.ts.html">wallet-connect-button.component.ts</a></td>
83
- <td data-value="0" class="pic low">
84
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
82
+ <td class="file high" data-value="wallet-connect-button.component.ts"><a href="wallet-connect-button.component.ts.html">wallet-connect-button.component.ts</a></td>
83
+ <td data-value="84.27" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
85
85
  </td>
86
- <td data-value="0" class="pct low">0%</td>
87
- <td data-value="240" class="abs low">0/240</td>
88
- <td data-value="0" class="pct low">0%</td>
89
- <td data-value="1" class="abs low">0/1</td>
90
- <td data-value="0" class="pct low">0%</td>
91
- <td data-value="1" class="abs low">0/1</td>
92
- <td data-value="0" class="pct low">0%</td>
93
- <td data-value="240" class="abs low">0/240</td>
86
+ <td data-value="84.27" class="pct high">84.27%</td>
87
+ <td data-value="248" class="abs high">209/248</td>
88
+ <td data-value="50" class="pct medium">50%</td>
89
+ <td data-value="8" class="abs medium">4/8</td>
90
+ <td data-value="40" class="pct low">40%</td>
91
+ <td data-value="10" class="abs low">4/10</td>
92
+ <td data-value="84.27" class="pct high">84.27%</td>
93
+ <td data-value="248" class="abs high">209/248</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-02T14:30:38.372Z
104
+ at 2026-06-27T21:00:37.209Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>