@ledgerhq/live-common 34.49.0-nightly.4 → 34.49.0-nightly.6

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 (167) hide show
  1. package/lib/apps/config.js +1 -1
  2. package/lib/bridge/react/BridgeSync.d.ts.map +1 -1
  3. package/lib/bridge/react/BridgeSync.js +17 -4
  4. package/lib/bridge/react/BridgeSync.js.map +1 -1
  5. package/lib/bridge/syncSessionManager/index.d.ts +18 -0
  6. package/lib/bridge/syncSessionManager/index.d.ts.map +1 -0
  7. package/lib/bridge/syncSessionManager/index.js +75 -0
  8. package/lib/bridge/syncSessionManager/index.js.map +1 -0
  9. package/lib/bridge/syncSessionManager/index.test.d.ts +2 -0
  10. package/lib/bridge/syncSessionManager/index.test.d.ts.map +1 -0
  11. package/lib/bridge/syncSessionManager/index.test.js +118 -0
  12. package/lib/bridge/syncSessionManager/index.test.js.map +1 -0
  13. package/lib/e2e/data/deviceLabelsData.js +2 -2
  14. package/lib/e2e/data/deviceLabelsData.js.map +1 -1
  15. package/lib/e2e/enum/Account.d.ts +1 -0
  16. package/lib/e2e/enum/Account.d.ts.map +1 -1
  17. package/lib/e2e/enum/Account.js +1 -0
  18. package/lib/e2e/enum/Account.js.map +1 -1
  19. package/lib/e2e/enum/DeviceLabels.d.ts +1 -9
  20. package/lib/e2e/enum/DeviceLabels.d.ts.map +1 -1
  21. package/lib/e2e/enum/DeviceLabels.js +0 -8
  22. package/lib/e2e/enum/DeviceLabels.js.map +1 -1
  23. package/lib/e2e/families/tezos.d.ts.map +1 -1
  24. package/lib/e2e/families/tezos.js +5 -3
  25. package/lib/e2e/families/tezos.js.map +1 -1
  26. package/lib/e2e/index.d.ts +4 -2
  27. package/lib/e2e/index.d.ts.map +1 -1
  28. package/lib/e2e/models/Swap.d.ts +2 -0
  29. package/lib/e2e/models/Swap.d.ts.map +1 -1
  30. package/lib/e2e/models/Swap.js +6 -0
  31. package/lib/e2e/models/Swap.js.map +1 -1
  32. package/lib/e2e/speculos.d.ts +8 -0
  33. package/lib/e2e/speculos.d.ts.map +1 -1
  34. package/lib/e2e/speculos.js +17 -31
  35. package/lib/e2e/speculos.js.map +1 -1
  36. package/lib/exchange/providers/swap.js +2 -2
  37. package/lib/exchange/providers/swap.js.map +1 -1
  38. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  39. package/lib/featureFlags/defaultFeatures.js +2 -1
  40. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  41. package/lib/featureFlags/useFeature.d.ts +1 -1
  42. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  43. package/lib/modularDrawer/hooks/modules/useLeftApyModule.d.ts +1 -0
  44. package/lib/modularDrawer/hooks/modules/useLeftApyModule.d.ts.map +1 -1
  45. package/lib/modularDrawer/hooks/modules/useLeftMarketTrendModule.d.ts +1 -0
  46. package/lib/modularDrawer/hooks/modules/useLeftMarketTrendModule.d.ts.map +1 -1
  47. package/lib/modularDrawer/hooks/modules/useRightMarketTrendModule.d.ts +1 -0
  48. package/lib/modularDrawer/hooks/modules/useRightMarketTrendModule.d.ts.map +1 -1
  49. package/lib/modularDrawer/hooks/useRightBalanceAsset.d.ts +1 -0
  50. package/lib/modularDrawer/hooks/useRightBalanceAsset.d.ts.map +1 -1
  51. package/lib/modularDrawer/hooks/useRightBalanceNetwork.d.ts +1 -0
  52. package/lib/modularDrawer/hooks/useRightBalanceNetwork.d.ts.map +1 -1
  53. package/lib/notifications/ServiceStatusProvider/entry-points.d.ts +3 -0
  54. package/lib/notifications/ServiceStatusProvider/entry-points.d.ts.map +1 -0
  55. package/lib/notifications/ServiceStatusProvider/entry-points.js +3 -0
  56. package/lib/notifications/ServiceStatusProvider/entry-points.js.map +1 -0
  57. package/lib/notifications/ServiceStatusProvider/index.d.ts +18 -1
  58. package/lib/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  59. package/lib/notifications/ServiceStatusProvider/index.js +47 -9
  60. package/lib/notifications/ServiceStatusProvider/index.js.map +1 -1
  61. package/lib/notifications/ServiceStatusProvider/index.test.d.ts +2 -0
  62. package/lib/notifications/ServiceStatusProvider/index.test.d.ts.map +1 -0
  63. package/lib/notifications/ServiceStatusProvider/index.test.js +88 -0
  64. package/lib/notifications/ServiceStatusProvider/index.test.js.map +1 -0
  65. package/lib/notifications/ServiceStatusProvider/ledger-components.d.ts +2 -0
  66. package/lib/notifications/ServiceStatusProvider/ledger-components.d.ts.map +1 -0
  67. package/lib/notifications/ServiceStatusProvider/ledger-components.js +17 -0
  68. package/lib/notifications/ServiceStatusProvider/ledger-components.js.map +1 -0
  69. package/lib/notifications/ServiceStatusProvider/mocks/ledgerStatus.d.ts +154 -0
  70. package/lib/notifications/ServiceStatusProvider/mocks/ledgerStatus.d.ts.map +1 -0
  71. package/lib/notifications/ServiceStatusProvider/mocks/ledgerStatus.js +1192 -0
  72. package/lib/notifications/ServiceStatusProvider/mocks/ledgerStatus.js.map +1 -0
  73. package/lib/notifications/ServiceStatusProvider/types.d.ts +3 -1
  74. package/lib/notifications/ServiceStatusProvider/types.d.ts.map +1 -1
  75. package/lib-es/apps/config.js +1 -1
  76. package/lib-es/bridge/react/BridgeSync.d.ts.map +1 -1
  77. package/lib-es/bridge/react/BridgeSync.js +17 -4
  78. package/lib-es/bridge/react/BridgeSync.js.map +1 -1
  79. package/lib-es/bridge/syncSessionManager/index.d.ts +18 -0
  80. package/lib-es/bridge/syncSessionManager/index.d.ts.map +1 -0
  81. package/lib-es/bridge/syncSessionManager/index.js +68 -0
  82. package/lib-es/bridge/syncSessionManager/index.js.map +1 -0
  83. package/lib-es/bridge/syncSessionManager/index.test.d.ts +2 -0
  84. package/lib-es/bridge/syncSessionManager/index.test.d.ts.map +1 -0
  85. package/lib-es/bridge/syncSessionManager/index.test.js +116 -0
  86. package/lib-es/bridge/syncSessionManager/index.test.js.map +1 -0
  87. package/lib-es/e2e/data/deviceLabelsData.js +2 -2
  88. package/lib-es/e2e/data/deviceLabelsData.js.map +1 -1
  89. package/lib-es/e2e/enum/Account.d.ts +1 -0
  90. package/lib-es/e2e/enum/Account.d.ts.map +1 -1
  91. package/lib-es/e2e/enum/Account.js +1 -0
  92. package/lib-es/e2e/enum/Account.js.map +1 -1
  93. package/lib-es/e2e/enum/DeviceLabels.d.ts +1 -9
  94. package/lib-es/e2e/enum/DeviceLabels.d.ts.map +1 -1
  95. package/lib-es/e2e/enum/DeviceLabels.js +0 -8
  96. package/lib-es/e2e/enum/DeviceLabels.js.map +1 -1
  97. package/lib-es/e2e/families/tezos.d.ts.map +1 -1
  98. package/lib-es/e2e/families/tezos.js +6 -4
  99. package/lib-es/e2e/families/tezos.js.map +1 -1
  100. package/lib-es/e2e/index.d.ts +4 -2
  101. package/lib-es/e2e/index.d.ts.map +1 -1
  102. package/lib-es/e2e/models/Swap.d.ts +2 -0
  103. package/lib-es/e2e/models/Swap.d.ts.map +1 -1
  104. package/lib-es/e2e/models/Swap.js +6 -0
  105. package/lib-es/e2e/models/Swap.js.map +1 -1
  106. package/lib-es/e2e/speculos.d.ts +8 -0
  107. package/lib-es/e2e/speculos.d.ts.map +1 -1
  108. package/lib-es/e2e/speculos.js +16 -31
  109. package/lib-es/e2e/speculos.js.map +1 -1
  110. package/lib-es/exchange/providers/swap.js +2 -2
  111. package/lib-es/exchange/providers/swap.js.map +1 -1
  112. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  113. package/lib-es/featureFlags/defaultFeatures.js +2 -1
  114. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  115. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  116. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  117. package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.d.ts +1 -0
  118. package/lib-es/modularDrawer/hooks/modules/useLeftApyModule.d.ts.map +1 -1
  119. package/lib-es/modularDrawer/hooks/modules/useLeftMarketTrendModule.d.ts +1 -0
  120. package/lib-es/modularDrawer/hooks/modules/useLeftMarketTrendModule.d.ts.map +1 -1
  121. package/lib-es/modularDrawer/hooks/modules/useRightMarketTrendModule.d.ts +1 -0
  122. package/lib-es/modularDrawer/hooks/modules/useRightMarketTrendModule.d.ts.map +1 -1
  123. package/lib-es/modularDrawer/hooks/useRightBalanceAsset.d.ts +1 -0
  124. package/lib-es/modularDrawer/hooks/useRightBalanceAsset.d.ts.map +1 -1
  125. package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.d.ts +1 -0
  126. package/lib-es/modularDrawer/hooks/useRightBalanceNetwork.d.ts.map +1 -1
  127. package/lib-es/notifications/ServiceStatusProvider/entry-points.d.ts +3 -0
  128. package/lib-es/notifications/ServiceStatusProvider/entry-points.d.ts.map +1 -0
  129. package/lib-es/notifications/ServiceStatusProvider/entry-points.js +2 -0
  130. package/lib-es/notifications/ServiceStatusProvider/entry-points.js.map +1 -0
  131. package/lib-es/notifications/ServiceStatusProvider/index.d.ts +18 -1
  132. package/lib-es/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  133. package/lib-es/notifications/ServiceStatusProvider/index.js +47 -9
  134. package/lib-es/notifications/ServiceStatusProvider/index.js.map +1 -1
  135. package/lib-es/notifications/ServiceStatusProvider/index.test.d.ts +2 -0
  136. package/lib-es/notifications/ServiceStatusProvider/index.test.d.ts.map +1 -0
  137. package/lib-es/notifications/ServiceStatusProvider/index.test.js +86 -0
  138. package/lib-es/notifications/ServiceStatusProvider/index.test.js.map +1 -0
  139. package/lib-es/notifications/ServiceStatusProvider/ledger-components.d.ts +2 -0
  140. package/lib-es/notifications/ServiceStatusProvider/ledger-components.d.ts.map +1 -0
  141. package/lib-es/notifications/ServiceStatusProvider/ledger-components.js +14 -0
  142. package/lib-es/notifications/ServiceStatusProvider/ledger-components.js.map +1 -0
  143. package/lib-es/notifications/ServiceStatusProvider/mocks/ledgerStatus.d.ts +154 -0
  144. package/lib-es/notifications/ServiceStatusProvider/mocks/ledgerStatus.d.ts.map +1 -0
  145. package/lib-es/notifications/ServiceStatusProvider/mocks/ledgerStatus.js +1189 -0
  146. package/lib-es/notifications/ServiceStatusProvider/mocks/ledgerStatus.js.map +1 -0
  147. package/lib-es/notifications/ServiceStatusProvider/types.d.ts +3 -1
  148. package/lib-es/notifications/ServiceStatusProvider/types.d.ts.map +1 -1
  149. package/package.json +67 -67
  150. package/src/apps/config.ts +1 -1
  151. package/src/bridge/react/BridgeSync.tsx +17 -3
  152. package/src/bridge/syncSessionManager/index.test.ts +151 -0
  153. package/src/bridge/syncSessionManager/index.ts +93 -0
  154. package/src/e2e/data/deviceLabelsData.ts +2 -2
  155. package/src/e2e/enum/Account.ts +6 -0
  156. package/src/e2e/enum/DeviceLabels.ts +0 -8
  157. package/src/e2e/families/tezos.ts +13 -4
  158. package/src/e2e/models/Swap.ts +8 -0
  159. package/src/e2e/speculos.ts +19 -34
  160. package/src/exchange/providers/swap.ts +2 -2
  161. package/src/featureFlags/defaultFeatures.ts +2 -1
  162. package/src/notifications/ServiceStatusProvider/entry-points.ts +3 -0
  163. package/src/notifications/ServiceStatusProvider/index.test.ts +102 -0
  164. package/src/notifications/ServiceStatusProvider/index.tsx +61 -13
  165. package/src/notifications/ServiceStatusProvider/ledger-components.ts +13 -0
  166. package/src/notifications/ServiceStatusProvider/mocks/ledgerStatus.ts +1188 -0
  167. package/src/notifications/ServiceStatusProvider/types.ts +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledgerStatus.js","sourceRoot":"","sources":["../../../../src/notifications/ServiceStatusProvider/mocks/ledgerStatus.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EntryPoint } from "./entry-points";
1
2
  type Component = {
2
3
  id: string;
3
4
  name: string;
@@ -40,7 +41,8 @@ export type ServiceStatusApi = {
40
41
  fetchStatusSummary: () => Promise<ServiceStatusSummary>;
41
42
  };
42
43
  export type ServiceStatusUserSettings = {
43
- tickers: string[];
44
+ tickers?: string[];
45
+ entryPoint?: EntryPoint;
44
46
  };
45
47
  export {};
46
48
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/types.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtD,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1C,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,KAAK,SAAS,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IACtD,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1C,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ledgerhq/live-common",
3
3
  "description": "Common ground for the Ledger Live apps",
4
- "version": "34.49.0-nightly.4",
4
+ "version": "34.49.0-nightly.6",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/LedgerHQ/ledger-live.git"
@@ -166,75 +166,75 @@
166
166
  "xstate": "^5.19.2",
167
167
  "yargs": "^17.0.0",
168
168
  "zod": "^3.22.4",
169
- "@ledgerhq/coin-algorand": "^0.10.2-nightly.2",
170
- "@ledgerhq/coin-aptos": "^3.3.1-nightly.2",
171
- "@ledgerhq/coin-bitcoin": "^0.22.1-nightly.2",
172
- "@ledgerhq/coin-canton": "^0.5.1-nightly.2",
173
- "@ledgerhq/coin-cardano": "^0.12.2-nightly.2",
174
- "@ledgerhq/coin-casper": "^2.1.2-nightly.2",
175
- "@ledgerhq/coin-celo": "^1.4.1-nightly.3",
176
- "@ledgerhq/coin-cosmos": "^0.17.2-nightly.2",
177
- "@ledgerhq/coin-evm": "^2.31.0-nightly.3",
178
- "@ledgerhq/coin-filecoin": "^1.12.1-nightly.2",
179
- "@ledgerhq/coin-framework": "^6.4.1-nightly.2",
180
- "@ledgerhq/coin-hedera": "^1.11.2-nightly.2",
181
- "@ledgerhq/coin-icon": "^0.12.2-nightly.2",
182
- "@ledgerhq/coin-internet_computer": "^1.8.2-nightly.2",
183
- "@ledgerhq/coin-kaspa": "^1.1.1-nightly.2",
184
- "@ledgerhq/coin-mina": "^1.2.2-nightly.2",
185
- "@ledgerhq/coin-multiversx": "^0.5.2-nightly.2",
186
- "@ledgerhq/coin-near": "^0.13.2-nightly.2",
187
- "@ledgerhq/coin-polkadot": "^6.10.1-nightly.2",
188
- "@ledgerhq/coin-solana": "^0.33.1-nightly.2",
189
- "@ledgerhq/coin-stacks": "^0.9.2-nightly.2",
190
- "@ledgerhq/coin-stellar": "^6.4.1-nightly.2",
191
- "@ledgerhq/coin-sui": "^0.13.1-nightly.3",
192
- "@ledgerhq/coin-tezos": "^6.5.0-nightly.2",
193
- "@ledgerhq/coin-ton": "^0.14.2-nightly.2",
194
- "@ledgerhq/coin-tron": "^5.4.1-nightly.2",
195
- "@ledgerhq/coin-vechain": "^2.9.2-nightly.2",
196
- "@ledgerhq/coin-xrp": "^7.4.1-nightly.2",
169
+ "@ledgerhq/coin-algorand": "^0.10.2-nightly.4",
170
+ "@ledgerhq/coin-aptos": "^3.3.1-nightly.4",
171
+ "@ledgerhq/coin-bitcoin": "^0.22.1-nightly.4",
172
+ "@ledgerhq/coin-canton": "^0.5.1-nightly.4",
173
+ "@ledgerhq/coin-cardano": "^0.12.2-nightly.4",
174
+ "@ledgerhq/coin-casper": "^2.1.2-nightly.4",
175
+ "@ledgerhq/coin-celo": "^1.5.0-nightly.5",
176
+ "@ledgerhq/coin-cosmos": "^0.17.2-nightly.4",
177
+ "@ledgerhq/coin-evm": "^2.31.0-nightly.5",
178
+ "@ledgerhq/coin-filecoin": "^1.12.1-nightly.4",
179
+ "@ledgerhq/coin-framework": "^6.4.1-nightly.4",
180
+ "@ledgerhq/coin-hedera": "^1.11.2-nightly.4",
181
+ "@ledgerhq/coin-icon": "^0.12.2-nightly.4",
182
+ "@ledgerhq/coin-internet_computer": "^1.8.2-nightly.4",
183
+ "@ledgerhq/coin-kaspa": "^1.1.1-nightly.4",
184
+ "@ledgerhq/coin-mina": "^1.2.2-nightly.4",
185
+ "@ledgerhq/coin-multiversx": "^0.5.2-nightly.4",
186
+ "@ledgerhq/coin-near": "^0.13.2-nightly.4",
187
+ "@ledgerhq/coin-polkadot": "^6.10.1-nightly.4",
188
+ "@ledgerhq/coin-solana": "^0.33.1-nightly.4",
189
+ "@ledgerhq/coin-stacks": "^0.9.2-nightly.4",
190
+ "@ledgerhq/coin-stellar": "^6.4.1-nightly.4",
191
+ "@ledgerhq/coin-sui": "^0.13.1-nightly.5",
192
+ "@ledgerhq/coin-tezos": "^6.5.0-nightly.4",
193
+ "@ledgerhq/coin-ton": "^0.14.2-nightly.4",
194
+ "@ledgerhq/coin-tron": "^5.4.1-nightly.4",
195
+ "@ledgerhq/coin-vechain": "^2.9.2-nightly.4",
196
+ "@ledgerhq/coin-xrp": "^7.4.1-nightly.4",
197
197
  "@ledgerhq/crypto-icons-ui": "^1.19.0-nightly.1",
198
- "@ledgerhq/cryptoassets": "^13.28.1-nightly.2",
199
- "@ledgerhq/device-core": "^0.6.4-nightly.2",
200
- "@ledgerhq/devices": "8.5.2-nightly.0",
201
- "@ledgerhq/errors": "^6.25.0",
202
- "@ledgerhq/hw-app-algorand": "^6.31.7-nightly.0",
203
- "@ledgerhq/hw-app-aptos": "^6.34.7-nightly.0",
204
- "@ledgerhq/hw-app-btc": "^10.11.1-nightly.0",
205
- "@ledgerhq/hw-app-celo": "^6.34.4-nightly.2",
206
- "@ledgerhq/hw-app-cosmos": "^6.32.7-nightly.0",
207
- "@ledgerhq/hw-app-eth": "^6.45.19-nightly.2",
208
- "@ledgerhq/hw-app-exchange": "^0.13.3-nightly.1",
209
- "@ledgerhq/hw-app-hedera": "^1.2.7-nightly.0",
210
- "@ledgerhq/hw-app-icon": "^1.3.7-nightly.0",
211
- "@ledgerhq/hw-app-kaspa": "^1.3.0-nightly.2",
212
- "@ledgerhq/hw-app-multiversx": "^6.25.2-nightly.0",
213
- "@ledgerhq/hw-app-near": "^6.31.7-nightly.0",
214
- "@ledgerhq/hw-app-polkadot": "^6.34.7-nightly.0",
215
- "@ledgerhq/hw-app-str": "^7.2.7-nightly.0",
198
+ "@ledgerhq/cryptoassets": "^13.29.0-nightly.3",
199
+ "@ledgerhq/device-core": "^0.6.4-nightly.4",
200
+ "@ledgerhq/devices": "8.5.2-nightly.1",
201
+ "@ledgerhq/errors": "^6.26.0-nightly.0",
202
+ "@ledgerhq/hw-app-algorand": "^6.31.7-nightly.1",
203
+ "@ledgerhq/hw-app-aptos": "^6.34.7-nightly.1",
204
+ "@ledgerhq/hw-app-btc": "^10.11.1-nightly.1",
205
+ "@ledgerhq/hw-app-celo": "^6.35.0-nightly.4",
206
+ "@ledgerhq/hw-app-cosmos": "^6.32.7-nightly.1",
207
+ "@ledgerhq/hw-app-eth": "^6.46.0-nightly.4",
208
+ "@ledgerhq/hw-app-exchange": "^0.14.0-nightly.2",
209
+ "@ledgerhq/hw-app-hedera": "^1.2.7-nightly.1",
210
+ "@ledgerhq/hw-app-icon": "^1.3.7-nightly.1",
211
+ "@ledgerhq/hw-app-kaspa": "^1.3.0-nightly.3",
212
+ "@ledgerhq/hw-app-multiversx": "^6.25.2-nightly.1",
213
+ "@ledgerhq/hw-app-near": "^6.31.7-nightly.1",
214
+ "@ledgerhq/hw-app-polkadot": "^6.34.7-nightly.1",
215
+ "@ledgerhq/hw-app-str": "^7.2.7-nightly.1",
216
216
  "@ledgerhq/hw-app-sui": "^1.4.0",
217
- "@ledgerhq/hw-app-tezos": "^6.31.7-nightly.0",
218
- "@ledgerhq/hw-app-trx": "^6.31.7-nightly.0",
219
- "@ledgerhq/hw-app-vet": "^0.5.17-nightly.2",
220
- "@ledgerhq/hw-app-xrp": "^6.32.5-nightly.0",
221
- "@ledgerhq/hw-transport": "^6.31.11-nightly.0",
222
- "@ledgerhq/hw-transport-mocker": "^6.29.11-nightly.0",
223
- "@ledgerhq/ledger-cal-service": "^1.5.0-nightly.1",
217
+ "@ledgerhq/hw-app-tezos": "^6.31.7-nightly.1",
218
+ "@ledgerhq/hw-app-trx": "^6.31.7-nightly.1",
219
+ "@ledgerhq/hw-app-vet": "^0.5.17-nightly.3",
220
+ "@ledgerhq/hw-app-xrp": "^6.32.5-nightly.1",
221
+ "@ledgerhq/hw-transport": "^6.31.11-nightly.1",
222
+ "@ledgerhq/hw-transport-mocker": "^6.29.11-nightly.1",
223
+ "@ledgerhq/ledger-cal-service": "^1.5.0-nightly.2",
224
224
  "@ledgerhq/live-config": "^3.2.0",
225
- "@ledgerhq/live-countervalues": "^0.7.2-nightly.2",
226
- "@ledgerhq/live-countervalues-react": "^0.6.1-nightly.2",
227
- "@ledgerhq/live-dmk-shared": "^0.12.4-nightly.1",
228
- "@ledgerhq/live-env": "^2.17.0-nightly.1",
225
+ "@ledgerhq/live-countervalues": "^0.7.2-nightly.4",
226
+ "@ledgerhq/live-countervalues-react": "^0.6.1-nightly.4",
227
+ "@ledgerhq/live-dmk-shared": "^0.12.4-nightly.2",
228
+ "@ledgerhq/live-env": "^2.17.0-nightly.2",
229
229
  "@ledgerhq/live-hooks": "0.1.0",
230
- "@ledgerhq/live-network": "^2.0.18-nightly.1",
230
+ "@ledgerhq/live-network": "^2.0.18-nightly.2",
231
231
  "@ledgerhq/live-promise": "^0.1.1",
232
- "@ledgerhq/live-signer-canton": "^0.3.1-nightly.2",
233
- "@ledgerhq/live-signer-evm": "^0.7.6-nightly.3",
234
- "@ledgerhq/live-signer-solana": "^0.5.6-nightly.2",
235
- "@ledgerhq/live-wallet": "^0.14.1-nightly.2",
232
+ "@ledgerhq/live-signer-canton": "^0.3.1-nightly.4",
233
+ "@ledgerhq/live-signer-evm": "^0.7.6-nightly.5",
234
+ "@ledgerhq/live-signer-solana": "^0.5.6-nightly.4",
235
+ "@ledgerhq/live-wallet": "^0.14.1-nightly.4",
236
236
  "@ledgerhq/logs": "^6.13.0",
237
- "@ledgerhq/speculos-transport": "^0.2.11-nightly.1",
237
+ "@ledgerhq/speculos-transport": "^0.2.11-nightly.2",
238
238
  "@ledgerhq/wallet-api-acre-module": "^0.7.0-nightly.0",
239
239
  "@ledgerhq/wallet-api-exchange-module": "^0.16.0"
240
240
  },
@@ -284,10 +284,10 @@
284
284
  "undici": "6.19.2",
285
285
  "uuid": "^8.3.2",
286
286
  "ws": "7",
287
- "@ledgerhq/device-react": "^0.2.45-nightly.2",
288
- "@ledgerhq/types-cryptoassets": "^7.27.0-nightly.0",
287
+ "@ledgerhq/device-react": "^0.2.45-nightly.4",
288
+ "@ledgerhq/types-cryptoassets": "^7.27.0-nightly.1",
289
289
  "@ledgerhq/types-devices": "^6.27.0",
290
- "@ledgerhq/types-live": "^6.85.0-nightly.2"
290
+ "@ledgerhq/types-live": "^6.85.0-nightly.4"
291
291
  },
292
292
  "scripts": {
293
293
  "build": "zx ./scripts/build-ts.mjs",
@@ -41,7 +41,7 @@ const appConfig: Record<string, ConfigInfo> = {
41
41
  config_nanoapp_celo: {
42
42
  type: "object",
43
43
  default: {
44
- minVersion: "1.1.8",
44
+ minVersion: "1.4.0",
45
45
  },
46
46
  },
47
47
  config_nanoapp_cardano_ada: {
@@ -12,6 +12,7 @@ import type { SyncAction, SyncState, BridgeSyncState } from "./types";
12
12
  import { BridgeSyncContext, BridgeSyncStateContext } from "./context";
13
13
  import type { Account, TokenAccount } from "@ledgerhq/types-live";
14
14
  import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
15
+ import { createSyncSessionManager } from "../syncSessionManager";
15
16
 
16
17
  export type Props = {
17
18
  // this is a wrapping component that you need to put in your tree
@@ -52,6 +53,7 @@ export const BridgeSync = ({
52
53
  accounts,
53
54
  hydrateCurrency,
54
55
  });
56
+ const sessionManager = useRef(createSyncSessionManager(trackAnalytics)).current;
55
57
  const [syncQueue, syncState] = useSyncQueue({
56
58
  accounts,
57
59
  prepareCurrency,
@@ -59,10 +61,12 @@ export const BridgeSync = ({
59
61
  trackAnalytics,
60
62
  updateAccountWithUpdater,
61
63
  blacklistedTokenIds,
64
+ sessionManager,
62
65
  });
63
66
  const sync = useSync({
64
67
  syncQueue,
65
68
  accounts,
69
+ sessionManager,
66
70
  });
67
71
  useSyncBackground({
68
72
  sync,
@@ -111,6 +115,7 @@ function useSyncQueue({
111
115
  trackAnalytics,
112
116
  updateAccountWithUpdater,
113
117
  blacklistedTokenIds,
118
+ sessionManager,
114
119
  }) {
115
120
  const [bridgeSyncState, setBridgeSyncState]: [BridgeSyncState, any] = useState({});
116
121
  const setAccountSyncState = useCallback((accountId: string, s: SyncState) => {
@@ -204,6 +209,7 @@ function useSyncQueue({
204
209
  pending: false,
205
210
  error: null,
206
211
  });
212
+ sessionManager.onAccountSyncDone(accountId, accounts);
207
213
  next();
208
214
  },
209
215
  error: (raw: Error) => {
@@ -215,6 +221,7 @@ function useSyncQueue({
215
221
  pending: false,
216
222
  error: null,
217
223
  });
224
+ sessionManager.onAccountSyncDone(accountId, accounts);
218
225
  next();
219
226
  return;
220
227
  }
@@ -223,6 +230,7 @@ function useSyncQueue({
223
230
  pending: false,
224
231
  error,
225
232
  });
233
+ sessionManager.onAccountSyncDone(accountId, accounts, true);
226
234
  next();
227
235
  },
228
236
  });
@@ -231,6 +239,7 @@ function useSyncQueue({
231
239
  pending: false,
232
240
  error,
233
241
  });
242
+ sessionManager.onAccountSyncDone(accountId, accounts, true);
234
243
  next();
235
244
  }
236
245
  },
@@ -243,6 +252,7 @@ function useSyncQueue({
243
252
  trackAnalytics,
244
253
  updateAccountWithUpdater,
245
254
  blacklistedTokenIds,
255
+ sessionManager,
246
256
  ],
247
257
  );
248
258
  const synchronizeRef = useRef(synchronize);
@@ -259,7 +269,7 @@ function useSyncQueue({
259
269
  }
260
270
 
261
271
  // useSync: returns a sync function with the syncQueue
262
- function useSync({ syncQueue, accounts }) {
272
+ function useSync({ syncQueue, accounts, sessionManager }) {
263
273
  const skipUnderPriority = useRef(-1);
264
274
  const sync = useMemo(() => {
265
275
  const schedule = (ids: string[], priority: number, reason: string) => {
@@ -267,6 +277,10 @@ function useSync({ syncQueue, accounts }) {
267
277
  // by convention we remove concurrent tasks with same priority
268
278
  // FIXME this is somehow a hack. ideally we should just dedup the account ids in the pending queue...
269
279
  syncQueue.remove(o => priority === o.priority);
280
+ // start a global session only if initial + all accounts
281
+ if (reason === "initial" && ids.length === accounts.length) {
282
+ sessionManager.start(ids, reason);
283
+ }
270
284
  log("bridge", "schedule " + ids.join(", "));
271
285
  syncQueue.push(
272
286
  ids.map(accountId => ({
@@ -289,7 +303,7 @@ function useSync({ syncQueue, accounts }) {
289
303
  SET_SKIP_UNDER_PRIORITY: ({ priority }: { priority: number }) => {
290
304
  if (priority === skipUnderPriority.current) return;
291
305
  skipUnderPriority.current = priority;
292
- syncQueue.remove(({ priority }) => priority < skipUnderPriority);
306
+ syncQueue.remove(({ priority }) => priority < skipUnderPriority.current);
293
307
 
294
308
  if (priority === -1 && !accounts.every(isUpToDateAccount)) {
295
309
  // going back to -1 priority => retriggering a background sync if it is "Paused"
@@ -338,7 +352,7 @@ function useSync({ syncQueue, accounts }) {
338
352
  });
339
353
  }
340
354
  };
341
- }, [accounts, syncQueue]);
355
+ }, [accounts, syncQueue, sessionManager]);
342
356
  const ref = useRef(sync);
343
357
  useEffect(() => {
344
358
  ref.current = sync;
@@ -0,0 +1,151 @@
1
+ import { createSyncSessionManager } from ".";
2
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets";
3
+ import { setSupportedCurrencies } from "../../currencies";
4
+ import { genAccount } from "../../mock/account";
5
+
6
+ jest.mock("@ledgerhq/logs", () => ({
7
+ log: jest.fn(),
8
+ }));
9
+
10
+ setSupportedCurrencies(["bitcoin", "ethereum"]);
11
+
12
+ describe("syncSessionManager", () => {
13
+ afterEach(() => {
14
+ jest.clearAllMocks();
15
+ jest.useRealTimers();
16
+ });
17
+
18
+ test("tracks SyncSuccessAllAccounts with correct aggregates when all accounts complete", () => {
19
+ const trackAnalytics = jest.fn();
20
+ const session = createSyncSessionManager(trackAnalytics);
21
+
22
+ const BTC = getCryptoCurrencyById("bitcoin");
23
+ const ETH = getCryptoCurrencyById("ethereum");
24
+ const a1 = genAccount("a1", { currency: BTC, operationsSize: 3 });
25
+ const a2 = genAccount("a2", { currency: BTC, operationsSize: 5 });
26
+ const a3 = genAccount("a3", { currency: ETH, operationsSize: 7 });
27
+ const accounts = [a1, a2, a3];
28
+
29
+ const nowSpy = jest
30
+ .spyOn(Date, "now")
31
+ // start time
32
+ .mockReturnValueOnce(1_000)
33
+ // end time (when last account completes)
34
+ .mockReturnValueOnce(5_000);
35
+
36
+ session.start(["a1", "a2", "a3"], "initial");
37
+
38
+ // Completing accounts one by one should only trigger analytics on last one
39
+ session.onAccountSyncDone("a1", accounts);
40
+ expect(trackAnalytics).not.toHaveBeenCalled();
41
+
42
+ session.onAccountSyncDone("a2", accounts);
43
+ expect(trackAnalytics).not.toHaveBeenCalled();
44
+
45
+ session.onAccountSyncDone("a3", accounts);
46
+
47
+ expect(trackAnalytics).toHaveBeenCalledTimes(1);
48
+ expect(trackAnalytics).toHaveBeenCalledWith(
49
+ "SyncSuccessAllAccounts",
50
+ expect.objectContaining({
51
+ duration: 4, // (5000 - 1000) / 1000
52
+ accountsCount: accounts.length,
53
+ operationsCount: a1.operationsCount + a2.operationsCount + a3.operationsCount,
54
+ chains: ["Bitcoin", "Ethereum"],
55
+ reason: "initial",
56
+ }),
57
+ );
58
+
59
+ nowSpy.mockRestore();
60
+ });
61
+
62
+ test("ignores subsequent 'initial' sessions after the first completion", () => {
63
+ const trackAnalytics = jest.fn();
64
+ const session = createSyncSessionManager(trackAnalytics);
65
+
66
+ const BTC = getCryptoCurrencyById("bitcoin");
67
+ const ETH = getCryptoCurrencyById("ethereum");
68
+ const a1 = genAccount("a1", { currency: BTC });
69
+ const a2 = genAccount("a2", { currency: ETH });
70
+ a1.operationsCount = 2;
71
+ a2.operationsCount = 1;
72
+ const accounts = [a1, a2];
73
+
74
+ const nowSpy = jest
75
+ .spyOn(Date, "now")
76
+ .mockReturnValueOnce(10_000) // first start
77
+ .mockReturnValueOnce(14_000); // first completion
78
+
79
+ // First initial session completes => tracked once
80
+ session.start(["a1", "a2"], "initial");
81
+ session.onAccountSyncDone("a1", accounts);
82
+ session.onAccountSyncDone("a2", accounts);
83
+
84
+ expect(trackAnalytics).toHaveBeenCalledTimes(1);
85
+ expect(trackAnalytics.mock.calls[0][0]).toBe("SyncSuccessAllAccounts");
86
+
87
+ // Next initial session should be ignored entirely
88
+ session.start(["a1"], "initial");
89
+ session.onAccountSyncDone("a1", accounts);
90
+
91
+ expect(trackAnalytics).toHaveBeenCalledTimes(1);
92
+
93
+ nowSpy.mockRestore();
94
+ });
95
+
96
+ test("does nothing if onAccountSyncDone is called without a started session", () => {
97
+ const trackAnalytics = jest.fn();
98
+ const session = createSyncSessionManager(trackAnalytics);
99
+ const BTC = getCryptoCurrencyById("bitcoin");
100
+ const acc = genAccount("x1", { currency: BTC });
101
+ acc.operationsCount = 1;
102
+ const accounts = [acc];
103
+
104
+ session.onAccountSyncDone("x1", accounts);
105
+ expect(trackAnalytics).not.toHaveBeenCalled();
106
+ });
107
+ test("tracks SyncSuccessAllAccounts with correct aggregates when all accounts complete and errors", () => {
108
+ const trackAnalytics = jest.fn();
109
+ const session = createSyncSessionManager(trackAnalytics);
110
+
111
+ const BTC = getCryptoCurrencyById("bitcoin");
112
+ const ETH = getCryptoCurrencyById("ethereum");
113
+ const a1 = genAccount("a1", { currency: BTC, operationsSize: 3 });
114
+ const a2 = genAccount("a2", { currency: BTC, operationsSize: 5 });
115
+ const a3 = genAccount("a3", { currency: ETH, operationsSize: 7 });
116
+ const accounts = [a1, a2, a3];
117
+
118
+ const nowSpy = jest
119
+ .spyOn(Date, "now")
120
+ // start time
121
+ .mockReturnValueOnce(1_000)
122
+ // end time (when last account completes)
123
+ .mockReturnValueOnce(5_000);
124
+
125
+ session.start(["a1", "a2", "a3"], "initial");
126
+
127
+ // Completing accounts one by one should only trigger analytics on last one
128
+ session.onAccountSyncDone("a1", accounts);
129
+ expect(trackAnalytics).not.toHaveBeenCalled();
130
+
131
+ session.onAccountSyncDone("a2", accounts, true);
132
+ expect(trackAnalytics).not.toHaveBeenCalled();
133
+
134
+ session.onAccountSyncDone("a3", accounts, true);
135
+
136
+ expect(trackAnalytics).toHaveBeenCalledTimes(1);
137
+ expect(trackAnalytics).toHaveBeenCalledWith(
138
+ "SyncSuccessAllAccounts",
139
+ expect.objectContaining({
140
+ duration: 4, // (5000 - 1000) / 1000
141
+ accountsCount: accounts.length,
142
+ operationsCount: a1.operationsCount + a2.operationsCount + a3.operationsCount,
143
+ chains: ["Bitcoin", "Ethereum"],
144
+ reason: "initial",
145
+ syncWithErrors: 2,
146
+ }),
147
+ );
148
+
149
+ nowSpy.mockRestore();
150
+ });
151
+ });
@@ -0,0 +1,93 @@
1
+ import { log } from "@ledgerhq/logs";
2
+ import { Account } from "@ledgerhq/types-live";
3
+ import { Props } from "../react/BridgeSync";
4
+
5
+ type Session = {
6
+ reason: string;
7
+ startTime: number;
8
+ accountIds: string[];
9
+ remaining: Set<string>;
10
+ errorsCount: number;
11
+ };
12
+
13
+ // Session manager factory to track global sync sessions (Accounts)
14
+ export function createSyncSessionManager(trackAnalytics: Props["trackAnalytics"]) {
15
+ let current: Session | null = null;
16
+
17
+ let hasTrackedInitial = false;
18
+
19
+ const start = (ids: string[], reason: string) => {
20
+ if (reason === "initial" && hasTrackedInitial) return;
21
+ current = {
22
+ reason,
23
+ startTime: Date.now(),
24
+ accountIds: ids,
25
+ remaining: new Set(ids),
26
+ errorsCount: 0,
27
+ };
28
+ logSyncSession("started", { reason, accounts: ids.length });
29
+ };
30
+
31
+ /**
32
+ *
33
+ * @param accountId - the account id that has completed sync
34
+ * @param accounts - the accounts that will be synced
35
+ * @param hadError - whether the account sync had an error
36
+ *
37
+ */
38
+ const onAccountSyncDone = (accountId: string, accounts: Account[], hadError = false) => {
39
+ if (!current) return;
40
+
41
+ current.remaining.delete(accountId);
42
+ if (hadError) {
43
+ current.errorsCount += 1;
44
+ }
45
+
46
+ if (current.remaining.size === 0) {
47
+ trackSessionAnalytics(trackAnalytics, current, accounts);
48
+
49
+ if (current.reason === "initial") {
50
+ hasTrackedInitial = true;
51
+ }
52
+ current = null;
53
+ }
54
+ };
55
+
56
+ return { start, onAccountSyncDone } as const;
57
+ }
58
+
59
+ export function getTotalOperations(accounts: Account[]): number {
60
+ return accounts.reduce((sum, acc) => sum + acc.operationsCount, 0);
61
+ }
62
+
63
+ export function getUniqueChains(accounts: Account[]): string[] {
64
+ return [...new Set(accounts.map(acc => acc.currency.name))];
65
+ }
66
+
67
+ export function trackSessionAnalytics(
68
+ trackAnalytics: Props["trackAnalytics"],
69
+ session: Session,
70
+ accounts: Account[],
71
+ ) {
72
+ const duration = (Date.now() - session.startTime) / 1000;
73
+ const totalOps = getTotalOperations(accounts);
74
+ const chains = getUniqueChains(accounts);
75
+
76
+ trackAnalytics("SyncSuccessAllAccounts", {
77
+ duration,
78
+ accountsCount: accounts.length,
79
+ operationsCount: totalOps,
80
+ chains,
81
+ reason: session.reason,
82
+ syncWithErrors: session.errorsCount,
83
+ });
84
+
85
+ logSyncSession("finished", { reason: session.reason, duration: `${duration}s` });
86
+ }
87
+
88
+ function logSyncSession(event: "started" | "finished", data: Record<string, string | number>) {
89
+ const serialized = Object.entries(data)
90
+ .map(([key, value]) => `${key}=${value}`)
91
+ .join(", ");
92
+ log("bridge", `SyncSession ${event} ${serialized}`);
93
+ }
@@ -54,7 +54,7 @@ export const DEVICE_LABELS_CONFIG: DeviceLabelsConfig = {
54
54
  [AppInfos.MULTIVERS_X.name]: DeviceLabels.SIGN,
55
55
  [AppInfos.NEAR.name]: DeviceLabels.CONTINUE_TO_ACTION,
56
56
  [AppInfos.SOLANA.name]: DeviceLabels.APPROVE,
57
- [AppInfos.TEZOS.name]: DeviceLabels.ACCEPT_AND_SEND,
57
+ [AppInfos.TEZOS.name]: DeviceLabels.ACCEPT_RISK,
58
58
  default: DeviceLabels.CAPS_APPROVE,
59
59
  },
60
60
  },
@@ -87,12 +87,12 @@ export const DEVICE_LABELS_CONFIG: DeviceLabelsConfig = {
87
87
  },
88
88
  delegateConfirm: {
89
89
  [AppInfos.CELO.name]: DeviceLabels.ACCEPT,
90
+ [AppInfos.TEZOS.name]: DeviceLabels.ACCEPT_AND_SEND,
90
91
  [AppInfos.COSMOS.name]: DeviceLabels.CAPS_APPROVE,
91
92
  [AppInfos.INJECTIVE.name]: DeviceLabels.CAPS_APPROVE,
92
93
  [AppInfos.MULTIVERS_X.name]: DeviceLabels.SIGN,
93
94
  [AppInfos.NEAR.name]: DeviceLabels.CONTINUE_TO_ACTION,
94
95
  [AppInfos.SOLANA.name]: DeviceLabels.SIGN_TRANSACTION,
95
- [AppInfos.TEZOS.name]: DeviceLabels.ACCEPT_RISK,
96
96
  [AppInfos.OSMOSIS.name]: DeviceLabels.CAPS_APPROVE,
97
97
  default: DeviceLabels.APPROVE,
98
98
  },
@@ -392,6 +392,12 @@ export class Account {
392
392
  "JC2dR4QRMt68r2h7Sjs5wshx1RdmDVrSbdL2jWBuVf2t",
393
393
  2,
394
394
  );
395
+ static readonly SOL_4 = new Account(
396
+ Currency.SOL,
397
+ "Solana 4",
398
+ "FKFMRmTEJ6wHMWviuDocuhsZoTi3DnypoPQXBUjCCTXM",
399
+ 3,
400
+ );
395
401
 
396
402
  static readonly tBTC_1 = new Account(
397
403
  Currency.tBTC,