@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
@@ -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.812Z
2506
+ at 2026-06-27T21:00:37.209Z
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.812Z
104
+ at 2026-06-27T21:00:37.209Z
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.812Z
664
+ at 2026-06-27T21:00:37.209Z
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.812Z
104
+ at 2026-06-27T21:00:37.209Z
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.812Z
691
+ at 2026-06-27T21:00:37.209Z
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.812Z
134
+ at 2026-06-27T21:00:37.209Z
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.812Z
658
+ at 2026-06-27T21:00:37.209Z
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.812Z
535
+ at 2026-06-27T21:00:37.209Z
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.812Z
769
+ at 2026-06-27T21:00:37.209Z
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.812Z
703
+ at 2026-06-27T21:00:37.209Z
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.812Z
104
+ at 2026-06-27T21:00:37.209Z
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.812Z
268
+ at 2026-06-27T21:00:37.209Z
269
269
  </div>
270
270
  <script src="../../prettify.js"></script>
271
271
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">71.61% </span>
26
+ <span class="strong">71.86% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>164/229</span>
28
+ <span class='fraction'>166/231</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">71.61% </span>
47
+ <span class="strong">71.86% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>164/229</span>
49
+ <span class='fraction'>166/231</span>
50
50
  </div>
51
51
 
52
52
 
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
101
  <td data-value="100" class="pct high">100%</td>
102
- <td data-value="164" class="abs high">164/164</td>
102
+ <td data-value="166" class="abs high">166/166</td>
103
103
  <td data-value="100" class="pct high">100%</td>
104
104
  <td data-value="0" class="abs high">0/0</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
106
  <td data-value="0" class="abs high">0/0</td>
107
107
  <td data-value="100" class="pct high">100%</td>
108
- <td data-value="164" class="abs high">164/164</td>
108
+ <td data-value="166" class="abs high">166/166</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-06-10T09:00:36.812Z
119
+ at 2026-06-27T21:00:37.209Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>164/164</span>
28
+ <span class='fraction'>166/166</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">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>164/164</span>
49
+ <span class='fraction'>166/166</span>
50
50
  </div>
51
51
 
52
52
 
@@ -227,7 +227,11 @@
227
227
  <a name='L162'></a><a href='#L162'>162</a>
228
228
  <a name='L163'></a><a href='#L163'>163</a>
229
229
  <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
233
+ <span class="cline-any cline-yes">1x</span>
234
+ <span class="cline-any cline-yes">1x</span>
231
235
  <span class="cline-any cline-yes">1x</span>
232
236
  <span class="cline-any cline-yes">1x</span>
233
237
  <span class="cline-any cline-yes">1x</span>
@@ -413,6 +417,8 @@
413
417
  * ```
414
418
  */
415
419
  &nbsp;
420
+ import type { SupportedLedger } from '@hsuite/native-connect-sdk';
421
+ &nbsp;
416
422
  /**
417
423
  * Supported wallet connection protocol types.
418
424
  *
@@ -522,7 +528,7 @@ export interface HsuiteNativeConfig {
522
528
  export interface WalletConnectV2Config {
523
529
  type: 'walletconnect-v2';
524
530
  projectId: string; // WalletConnect Cloud project ID - REQUIRED
525
- ledgerId: 'hedera' | 'xrpl'; // Which ledger to connect to
531
+ ledgerId: SupportedLedger; // Which ledger to connect to
526
532
  networkId: string; // e.g., 'hedera:testnet' or 'xrpl:testnet'
527
533
  appName?: string;
528
534
  appDescription?: string;
@@ -562,7 +568,7 @@ export type ConnectionConfig = HsuiteNativeConfig | WalletConnectV2Config | Mobi
562
568
  <div class='footer quiet pad2 space-top1 center small'>
563
569
  Code coverage generated by
564
570
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
565
- at 2026-06-10T09:00:36.812Z
571
+ at 2026-06-27T21:00:37.209Z
566
572
  </div>
567
573
  <script src="../../prettify.js"></script>
568
574
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">98.57% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>346/351</span>
28
+ <span class='fraction'>351/351</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
35
+ <span class='fraction'>4/4</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">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/2</span>
42
+ <span class='fraction'>2/2</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">98.57% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>346/351</span>
49
+ <span class='fraction'>351/351</span>
50
50
  </div>
51
51
 
52
52
 
@@ -749,9 +749,9 @@
749
749
  <span class="cline-any cline-yes">1x</span>
750
750
  <span class="cline-any cline-yes">1x</span>
751
751
  <span class="cline-any cline-yes">1x</span>
752
- <span class="cline-any cline-no">&nbsp;</span>
753
- <span class="cline-any cline-no">&nbsp;</span>
754
- <span class="cline-any cline-no">&nbsp;</span>
752
+ <span class="cline-any cline-yes">2x</span>
753
+ <span class="cline-any cline-yes">2x</span>
754
+ <span class="cline-any cline-yes">2x</span>
755
755
  <span class="cline-any cline-yes">1x</span>
756
756
  <span class="cline-any cline-yes">1x</span>
757
757
  <span class="cline-any cline-yes">1x</span>
@@ -762,8 +762,8 @@
762
762
  <span class="cline-any cline-yes">1x</span>
763
763
  <span class="cline-any cline-yes">1x</span>
764
764
  <span class="cline-any cline-yes">1x</span>
765
- <span class="cline-any cline-no">&nbsp;</span>
766
- <span class="cline-any cline-no">&nbsp;</span>
765
+ <span class="cline-any cline-yes">3x</span>
766
+ <span class="cline-any cline-yes">3x</span>
767
767
  <span class="cline-any cline-yes">1x</span>
768
768
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
769
769
  * @file Abstract base class for wallet connection providers.
@@ -1099,10 +1099,10 @@ export abstract class BaseWalletProvider {
1099
1099
  *
1100
1100
  * @returns The first connected account, or null if none
1101
1101
  */
1102
- <span class="fstat-no" title="function not covered" > getPrimaryAccount(): UnifiedAccount | null {</span>
1103
- <span class="cstat-no" title="statement not covered" > const accts = this.accounts();</span>
1104
- <span class="cstat-no" title="statement not covered" > return accts.length &gt; 0 ? accts[0] : null;</span>
1105
- <span class="cstat-no" title="statement not covered" > }</span>
1102
+ getPrimaryAccount(): UnifiedAccount | null {
1103
+ const accts = this.accounts();
1104
+ return accts.length &gt; 0 ? accts[0] : null;
1105
+ }
1106
1106
  &nbsp;
1107
1107
  /**
1108
1108
  * Checks if the provider is currently connected.
@@ -1112,9 +1112,9 @@ export abstract class BaseWalletProvider {
1112
1112
  *
1113
1113
  * @returns true if provider is connected, false otherwise
1114
1114
  */
1115
- <span class="fstat-no" title="function not covered" > isConnected(): boolean {</span>
1116
- <span class="cstat-no" title="statement not covered" > return this.status() === 'connected';</span>
1117
- <span class="cstat-no" title="statement not covered" > }</span>
1115
+ isConnected(): boolean {
1116
+ return this.status() === 'connected';
1117
+ }
1118
1118
  }
1119
1119
  &nbsp;</pre></td></tr></table></pre>
1120
1120
 
@@ -1123,7 +1123,7 @@ export abstract class BaseWalletProvider {
1123
1123
  <div class='footer quiet pad2 space-top1 center small'>
1124
1124
  Code coverage generated by
1125
1125
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1126
- at 2026-06-10T09:00:36.812Z
1126
+ at 2026-06-27T21:00:37.209Z
1127
1127
  </div>
1128
1128
  <script src="../../prettify.js"></script>
1129
1129
  <script>