@ledgerhq/live-common 34.35.0-nightly.3 → 34.35.0-nightly.5

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 (155) hide show
  1. package/lib/apps/support.d.ts +1 -0
  2. package/lib/apps/support.d.ts.map +1 -1
  3. package/lib/apps/support.js +10 -1
  4. package/lib/apps/support.js.map +1 -1
  5. package/lib/e2e/enum/Account.js +5 -5
  6. package/lib/e2e/enum/Account.js.map +1 -1
  7. package/lib/e2e/index.d.ts +2 -0
  8. package/lib/e2e/index.d.ts.map +1 -1
  9. package/lib/e2e/speculos.d.ts +4 -1
  10. package/lib/e2e/speculos.d.ts.map +1 -1
  11. package/lib/e2e/speculos.js +24 -8
  12. package/lib/e2e/speculos.js.map +1 -1
  13. package/lib/e2e/speculosCI.d.ts +5 -0
  14. package/lib/e2e/speculosCI.d.ts.map +1 -0
  15. package/lib/e2e/speculosCI.js +129 -0
  16. package/lib/e2e/speculosCI.js.map +1 -0
  17. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
  18. package/lib/featureFlags/defaultFeatures.js +1 -0
  19. package/lib/featureFlags/defaultFeatures.js.map +1 -1
  20. package/lib/featureFlags/useFeature.d.ts +1 -1
  21. package/lib/featureFlags/useFeature.d.ts.map +1 -1
  22. package/lib/hw/actions/manager.d.ts +1 -1
  23. package/lib/hw/actions/manager.d.ts.map +1 -1
  24. package/lib/hw/connectApp.d.ts.map +1 -1
  25. package/lib/hw/connectApp.js +56 -5
  26. package/lib/hw/connectApp.js.map +1 -1
  27. package/lib/hw/connectAppEventMapper.d.ts +29 -0
  28. package/lib/hw/connectAppEventMapper.d.ts.map +1 -0
  29. package/lib/hw/connectAppEventMapper.js +300 -0
  30. package/lib/hw/connectAppEventMapper.js.map +1 -0
  31. package/lib/hw/connectManager.d.ts +3 -2
  32. package/lib/hw/connectManager.d.ts.map +1 -1
  33. package/lib/hw/connectManager.js +34 -3
  34. package/lib/hw/connectManager.js.map +1 -1
  35. package/lib/hw/connectManagerEventMapper.d.ts +16 -0
  36. package/lib/hw/connectManagerEventMapper.d.ts.map +1 -0
  37. package/lib/hw/connectManagerEventMapper.js +78 -0
  38. package/lib/hw/connectManagerEventMapper.js.map +1 -0
  39. package/lib/notifications/AnnouncementProvider/index.d.ts.map +1 -1
  40. package/lib/notifications/AnnouncementProvider/index.js +12 -10
  41. package/lib/notifications/AnnouncementProvider/index.js.map +1 -1
  42. package/lib/notifications/AnnouncementProvider/machine.d.ts +1 -4
  43. package/lib/notifications/AnnouncementProvider/machine.d.ts.map +1 -1
  44. package/lib/notifications/AnnouncementProvider/machine.js +9 -8
  45. package/lib/notifications/AnnouncementProvider/machine.js.map +1 -1
  46. package/lib/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  47. package/lib/notifications/ServiceStatusProvider/index.js +5 -4
  48. package/lib/notifications/ServiceStatusProvider/index.js.map +1 -1
  49. package/lib/notifications/ServiceStatusProvider/machine.d.ts +1 -4
  50. package/lib/notifications/ServiceStatusProvider/machine.d.ts.map +1 -1
  51. package/lib/notifications/ServiceStatusProvider/machine.js +4 -4
  52. package/lib/notifications/ServiceStatusProvider/machine.js.map +1 -1
  53. package/lib/wallet-api/ModularDrawer/types.d.ts +63 -0
  54. package/lib/wallet-api/ModularDrawer/types.d.ts.map +1 -0
  55. package/lib/wallet-api/ModularDrawer/types.js +25 -0
  56. package/lib/wallet-api/ModularDrawer/types.js.map +1 -0
  57. package/lib/wallet-api/ModularDrawer/utils.d.ts +5 -0
  58. package/lib/wallet-api/ModularDrawer/utils.d.ts.map +1 -0
  59. package/lib/wallet-api/ModularDrawer/utils.js +30 -0
  60. package/lib/wallet-api/ModularDrawer/utils.js.map +1 -0
  61. package/lib/wallet-api/react.d.ts +2 -0
  62. package/lib/wallet-api/react.d.ts.map +1 -1
  63. package/lib/wallet-api/react.js +2 -1
  64. package/lib/wallet-api/react.js.map +1 -1
  65. package/lib-es/apps/support.d.ts +1 -0
  66. package/lib-es/apps/support.d.ts.map +1 -1
  67. package/lib-es/apps/support.js +8 -0
  68. package/lib-es/apps/support.js.map +1 -1
  69. package/lib-es/e2e/enum/Account.js +5 -5
  70. package/lib-es/e2e/enum/Account.js.map +1 -1
  71. package/lib-es/e2e/index.d.ts +2 -0
  72. package/lib-es/e2e/index.d.ts.map +1 -1
  73. package/lib-es/e2e/speculos.d.ts +4 -1
  74. package/lib-es/e2e/speculos.d.ts.map +1 -1
  75. package/lib-es/e2e/speculos.js +24 -8
  76. package/lib-es/e2e/speculos.js.map +1 -1
  77. package/lib-es/e2e/speculosCI.d.ts +5 -0
  78. package/lib-es/e2e/speculosCI.d.ts.map +1 -0
  79. package/lib-es/e2e/speculosCI.js +121 -0
  80. package/lib-es/e2e/speculosCI.js.map +1 -0
  81. package/lib-es/featureFlags/defaultFeatures.d.ts.map +1 -1
  82. package/lib-es/featureFlags/defaultFeatures.js +1 -0
  83. package/lib-es/featureFlags/defaultFeatures.js.map +1 -1
  84. package/lib-es/featureFlags/useFeature.d.ts +1 -1
  85. package/lib-es/featureFlags/useFeature.d.ts.map +1 -1
  86. package/lib-es/hw/actions/manager.d.ts +1 -1
  87. package/lib-es/hw/actions/manager.d.ts.map +1 -1
  88. package/lib-es/hw/connectApp.d.ts.map +1 -1
  89. package/lib-es/hw/connectApp.js +57 -6
  90. package/lib-es/hw/connectApp.js.map +1 -1
  91. package/lib-es/hw/connectAppEventMapper.d.ts +29 -0
  92. package/lib-es/hw/connectAppEventMapper.d.ts.map +1 -0
  93. package/lib-es/hw/connectAppEventMapper.js +296 -0
  94. package/lib-es/hw/connectAppEventMapper.js.map +1 -0
  95. package/lib-es/hw/connectManager.d.ts +3 -2
  96. package/lib-es/hw/connectManager.d.ts.map +1 -1
  97. package/lib-es/hw/connectManager.js +34 -4
  98. package/lib-es/hw/connectManager.js.map +1 -1
  99. package/lib-es/hw/connectManagerEventMapper.d.ts +16 -0
  100. package/lib-es/hw/connectManagerEventMapper.d.ts.map +1 -0
  101. package/lib-es/hw/connectManagerEventMapper.js +74 -0
  102. package/lib-es/hw/connectManagerEventMapper.js.map +1 -0
  103. package/lib-es/notifications/AnnouncementProvider/index.d.ts.map +1 -1
  104. package/lib-es/notifications/AnnouncementProvider/index.js +12 -10
  105. package/lib-es/notifications/AnnouncementProvider/index.js.map +1 -1
  106. package/lib-es/notifications/AnnouncementProvider/machine.d.ts +1 -4
  107. package/lib-es/notifications/AnnouncementProvider/machine.d.ts.map +1 -1
  108. package/lib-es/notifications/AnnouncementProvider/machine.js +9 -8
  109. package/lib-es/notifications/AnnouncementProvider/machine.js.map +1 -1
  110. package/lib-es/notifications/ServiceStatusProvider/index.d.ts.map +1 -1
  111. package/lib-es/notifications/ServiceStatusProvider/index.js +5 -4
  112. package/lib-es/notifications/ServiceStatusProvider/index.js.map +1 -1
  113. package/lib-es/notifications/ServiceStatusProvider/machine.d.ts +1 -4
  114. package/lib-es/notifications/ServiceStatusProvider/machine.d.ts.map +1 -1
  115. package/lib-es/notifications/ServiceStatusProvider/machine.js +4 -4
  116. package/lib-es/notifications/ServiceStatusProvider/machine.js.map +1 -1
  117. package/lib-es/wallet-api/ModularDrawer/types.d.ts +63 -0
  118. package/lib-es/wallet-api/ModularDrawer/types.d.ts.map +1 -0
  119. package/lib-es/wallet-api/ModularDrawer/types.js +22 -0
  120. package/lib-es/wallet-api/ModularDrawer/types.js.map +1 -0
  121. package/lib-es/wallet-api/ModularDrawer/utils.d.ts +5 -0
  122. package/lib-es/wallet-api/ModularDrawer/utils.d.ts.map +1 -0
  123. package/lib-es/wallet-api/ModularDrawer/utils.js +25 -0
  124. package/lib-es/wallet-api/ModularDrawer/utils.js.map +1 -0
  125. package/lib-es/wallet-api/react.d.ts +2 -0
  126. package/lib-es/wallet-api/react.d.ts.map +1 -1
  127. package/lib-es/wallet-api/react.js +2 -1
  128. package/lib-es/wallet-api/react.js.map +1 -1
  129. package/package.json +50 -49
  130. package/src/apps/support.ts +11 -0
  131. package/src/e2e/enum/Account.ts +5 -5
  132. package/src/e2e/speculos.ts +29 -10
  133. package/src/e2e/speculosCI.ts +161 -0
  134. package/src/featureFlags/defaultFeatures.ts +1 -0
  135. package/src/hw/actions/manager.ts +1 -1
  136. package/src/hw/connectApp.ts +245 -178
  137. package/src/hw/connectAppEventMapper.ts +364 -0
  138. package/src/hw/connectManager.ts +116 -74
  139. package/src/hw/connectManagerEventMapper.ts +109 -0
  140. package/src/notifications/AnnouncementProvider/index.tsx +21 -17
  141. package/src/notifications/AnnouncementProvider/machine.ts +9 -8
  142. package/src/notifications/ServiceStatusProvider/index.tsx +11 -8
  143. package/src/notifications/ServiceStatusProvider/machine.ts +4 -4
  144. package/src/wallet-api/ModularDrawer/types.ts +45 -0
  145. package/src/wallet-api/ModularDrawer/utils.ts +37 -0
  146. package/src/wallet-api/react.ts +37 -31
  147. package/lib/index.d.ts +0 -2
  148. package/lib/index.d.ts.map +0 -1
  149. package/lib/index.js +0 -3
  150. package/lib/index.js.map +0 -1
  151. package/lib-es/index.d.ts +0 -1
  152. package/lib-es/index.d.ts.map +0 -1
  153. package/lib-es/index.js +0 -2
  154. package/lib-es/index.js.map +0 -1
  155. package/src/index.ts +0 -0
@@ -1,6 +1,7 @@
1
- import { Observable, concat, from, of, throwError } from "rxjs";
1
+ import { Observable, concat, concatWith, from, of, throwError } from "rxjs";
2
2
  import { concatMap, catchError, delay } from "rxjs/operators";
3
3
  import { TransportStatusError, DeviceOnDashboardExpected, StatusCodes, LockedDeviceError, } from "@ledgerhq/errors";
4
+ import { PrepareConnectManagerDeviceAction } from "@ledgerhq/live-dmk-shared";
4
5
  import { listAppsUseCase } from "../device/use-cases/listAppsUseCase";
5
6
  import { withDevice } from "./deviceAccess";
6
7
  import getDeviceInfo from "./getDeviceInfo";
@@ -8,7 +9,8 @@ import getAppAndVersion from "./getAppAndVersion";
8
9
  import { isDashboardName } from "./isDashboardName";
9
10
  import { DeviceNotOnboarded } from "../errors";
10
11
  import attemptToQuitApp from "./attemptToQuitApp";
11
- const cmd = ({ deviceId, request }) => withDevice(deviceId)(transport => new Observable(o => {
12
+ import { PrepareConnectManagerEventMapper } from "./connectManagerEventMapper";
13
+ const cmd = (transport, { request }) => new Observable(o => {
12
14
  const timeoutSub = of({
13
15
  type: "unresponsiveDevice",
14
16
  })
@@ -67,6 +69,34 @@ const cmd = ({ deviceId, request }) => withDevice(deviceId)(transport => new Obs
67
69
  timeoutSub.unsubscribe();
68
70
  sub.unsubscribe();
69
71
  };
70
- }));
71
- export default cmd;
72
+ });
73
+ const isDmkTransport = (transport) => {
74
+ return ("dmk" in transport &&
75
+ transport.dmk !== undefined &&
76
+ "sessionId" in transport &&
77
+ transport.sessionId !== undefined);
78
+ };
79
+ export default function connectManagerFactory({ isLdmkConnectAppEnabled, } = { isLdmkConnectAppEnabled: false }) {
80
+ if (!isLdmkConnectAppEnabled) {
81
+ return ({ deviceId, request }) => withDevice(deviceId)(transport => cmd(transport, { deviceId, request }));
82
+ }
83
+ return ({ deviceId, request }) => withDevice(deviceId)(transport => {
84
+ if (!isDmkTransport(transport)) {
85
+ return cmd(transport, { deviceId, request });
86
+ }
87
+ const { dmk, sessionId } = transport;
88
+ const deviceAction = new PrepareConnectManagerDeviceAction({
89
+ input: {
90
+ unlockTimeout: 0, // Expect to fail immediately when device is locked
91
+ },
92
+ });
93
+ const observable = dmk.executeDeviceAction({
94
+ sessionId,
95
+ deviceAction,
96
+ });
97
+ return new PrepareConnectManagerEventMapper(observable)
98
+ .map()
99
+ .pipe(concatWith(cmd(transport, { deviceId, request })));
100
+ });
101
+ }
72
102
  //# sourceMappingURL=connectManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectManager.js","sourceRoot":"","sources":["../../src/hw/connectManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectManager.js","sourceRoot":"","sources":["../../src/hw/connectManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Observable } from "rxjs";
2
+ import type { ExecuteDeviceActionReturnType } from "@ledgerhq/device-management-kit";
3
+ import type { PrepareConnectManagerDAOutput, PrepareConnectManagerDAError, PrepareConnectManagerDAIntermediateValue } from "@ledgerhq/live-dmk-shared";
4
+ import { LockedDeviceEvent } from "./actions/types";
5
+ export declare class PrepareConnectManagerEventMapper {
6
+ private events;
7
+ private eventSubject;
8
+ constructor(events: ExecuteDeviceActionReturnType<PrepareConnectManagerDAOutput, PrepareConnectManagerDAError, PrepareConnectManagerDAIntermediateValue>);
9
+ map(): Observable<LockedDeviceEvent>;
10
+ private handleEvent;
11
+ private handlePendingEvent;
12
+ private handleCompletedEvent;
13
+ private handleErrorEvent;
14
+ private handleError;
15
+ }
16
+ //# sourceMappingURL=connectManagerEventMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectManagerEventMapper.d.ts","sourceRoot":"","sources":["../../src/hw/connectManagerEventMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,MAAM,CAAC;AAE1D,OAAO,KAAK,EAEV,6BAA6B,EAC9B,MAAM,iCAAiC,CAAC;AAMzC,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,wCAAwC,EACzC,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,qBAAa,gCAAgC;IAIzC,OAAO,CAAC,MAAM;IAHhB,OAAO,CAAC,YAAY,CAAoC;gBAG9C,MAAM,EAAE,6BAA6B,CAC3C,6BAA6B,EAC7B,4BAA4B,EAC5B,wCAAwC,CACzC;IAGH,GAAG,IAAI,UAAU,CAAC,iBAAiB,CAAC;IAuBpC,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,WAAW;CAIpB"}
@@ -0,0 +1,74 @@
1
+ import { Observable, Subject, of, takeUntil } from "rxjs";
2
+ import { catchError, tap } from "rxjs/operators";
3
+ import { DeviceActionStatus, DeviceLockedError, UserInteractionRequired, } from "@ledgerhq/device-management-kit";
4
+ import { DisconnectedDevice } from "@ledgerhq/errors";
5
+ export class PrepareConnectManagerEventMapper {
6
+ events;
7
+ eventSubject = new Subject();
8
+ constructor(events) {
9
+ this.events = events;
10
+ }
11
+ map() {
12
+ const cancelAction = this.events.cancel;
13
+ const unsubscribe = new Subject();
14
+ // Subscribe to device action events
15
+ this.events.observable
16
+ .pipe(tap(event => this.handleEvent(event)), takeUntil(unsubscribe), catchError(error => this.handleError(error)))
17
+ .subscribe();
18
+ return new Observable(observer => {
19
+ const sub = this.eventSubject.subscribe(observer);
20
+ return () => {
21
+ sub.unsubscribe();
22
+ cancelAction();
23
+ unsubscribe.next();
24
+ };
25
+ });
26
+ }
27
+ handleEvent(event) {
28
+ switch (event.status) {
29
+ case DeviceActionStatus.Pending:
30
+ this.handlePendingEvent(event.intermediateValue);
31
+ break;
32
+ case DeviceActionStatus.Completed:
33
+ this.handleCompletedEvent(event.output);
34
+ break;
35
+ case DeviceActionStatus.Error:
36
+ this.handleErrorEvent(event.error);
37
+ break;
38
+ case DeviceActionStatus.NotStarted:
39
+ case DeviceActionStatus.Stopped:
40
+ this.eventSubject.error(new Error("Unexpected device action status"));
41
+ break;
42
+ }
43
+ }
44
+ handlePendingEvent(intermediateValue) {
45
+ switch (intermediateValue.requiredUserInteraction) {
46
+ case UserInteractionRequired.UnlockDevice:
47
+ this.eventSubject.next({ type: "lockedDevice" });
48
+ break;
49
+ case UserInteractionRequired.None:
50
+ // Nothing to do
51
+ break;
52
+ }
53
+ }
54
+ handleCompletedEvent(_output) {
55
+ this.eventSubject.complete();
56
+ }
57
+ handleErrorEvent(error) {
58
+ if (error instanceof DeviceLockedError) {
59
+ this.eventSubject.next({ type: "lockedDevice" });
60
+ this.eventSubject.complete();
61
+ }
62
+ else if ("_tag" in error && error._tag === "WebHidSendReportError") {
63
+ this.eventSubject.error(new DisconnectedDevice());
64
+ }
65
+ else {
66
+ this.eventSubject.error(error);
67
+ }
68
+ }
69
+ handleError(error) {
70
+ this.eventSubject.error(error);
71
+ return of();
72
+ }
73
+ }
74
+ //# sourceMappingURL=connectManagerEventMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectManagerEventMapper.js","sourceRoot":"","sources":["../../src/hw/connectManagerEventMapper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notifications/AnnouncementProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmD,YAAY,EAAE,MAAM,OAAO,CAAC;AAG7F,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAOhG,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,OAAO,CAAC;QACxB,aAAa,EAAE,YAAY,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,UAAU,EAAE,CAAC,IAAI,EAAE;QACjB,aAAa,EAAE,YAAY,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,EAAE,yBAAyB,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AACF,KAAK,GAAG,GAAG;IACT,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,GAAG,CAAC;AAWlD,wBAAgB,gBAAgB,IAAI,uBAAuB,CAE1D;AACD,eAAO,MAAM,oBAAoB,qHAS9B,KAAK,KAAG,YAuFV,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notifications/AnnouncementProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmD,YAAY,EAAE,MAAM,OAAO,CAAC;AAI7F,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAOhG,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,OAAO,CAAC;QACxB,aAAa,EAAE,YAAY,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,UAAU,EAAE,CAAC,IAAI,EAAE;QACjB,aAAa,EAAE,YAAY,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,EAAE,yBAAyB,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AACF,KAAK,GAAG,GAAG;IACT,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,GAAG,CAAC;AAWlD,wBAAgB,gBAAgB,IAAI,uBAAuB,CAE1D;AACD,eAAO,MAAM,oBAAoB,qHAS9B,KAAK,KAAG,YA0FV,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import React, { createContext, useMemo, useCallback, useContext } from "react";
2
2
  import differenceBy from "lodash/differenceBy";
3
+ import { fromPromise } from "xstate";
3
4
  import { useMachine } from "@xstate/react";
4
5
  import { localizeAnnouncements, filterAnnouncements } from "./logic";
5
6
  import defaultFetchApi from "./api";
@@ -18,7 +19,8 @@ export function useAnnouncements() {
18
19
  return useContext(AnnouncementsContext);
19
20
  }
20
21
  export const AnnouncementProvider = ({ children, context, handleLoad, handleSave, autoUpdateDelay, onNewAnnouncement, onAnnouncementRead, fetchApi = defaultFetchApi, }) => {
21
- const fetchData = useCallback(async ({ allIds, cache }) => {
22
+ const fetchData = useCallback(async (arg0) => {
23
+ const { allIds, cache } = arg0.input;
22
24
  const rawAnnouncements = await fetchApi.fetchAnnouncements();
23
25
  const localizedAnnouncements = localizeAnnouncements(rawAnnouncements, context);
24
26
  const announcements = filterAnnouncements(localizedAnnouncements, context);
@@ -34,9 +36,9 @@ export const AnnouncementProvider = ({ children, context, handleLoad, handleSave
34
36
  updateTime: Date.now(),
35
37
  };
36
38
  }, [context, onNewAnnouncement, fetchApi]);
37
- const emitNewAnnouncement = useCallback(({ cache }, { seenId }) => {
39
+ const emitNewAnnouncement = useCallback(({ context }) => {
38
40
  if (onAnnouncementRead) {
39
- onAnnouncementRead(cache[seenId]);
41
+ onAnnouncementRead(context.cache[context.seenId]);
40
42
  }
41
43
  }, [onAnnouncementRead]);
42
44
  const loadData = useCallback(async () => {
@@ -47,7 +49,7 @@ export const AnnouncementProvider = ({ children, context, handleLoad, handleSave
47
49
  seenIds,
48
50
  };
49
51
  }, [handleLoad]);
50
- const saveData = useCallback(context => {
52
+ const saveData = useCallback(({ context }) => {
51
53
  const { cache, lastUpdateTime, seenIds, allIds } = context;
52
54
  const announcements = allIds.map((id) => cache[id]);
53
55
  handleSave({
@@ -56,19 +58,19 @@ export const AnnouncementProvider = ({ children, context, handleLoad, handleSave
56
58
  lastUpdateTime,
57
59
  });
58
60
  }, [handleSave]);
59
- const [state, send] = useMachine(announcementMachine, {
61
+ const [state, send] = useMachine(announcementMachine.provide({
60
62
  actions: {
61
63
  saveData,
62
- emitNewAnnouncement: emitNewAnnouncement,
64
+ emitNewAnnouncement,
63
65
  },
64
- services: {
65
- loadData,
66
- fetchData,
66
+ actors: {
67
+ loadData: fromPromise(loadData),
68
+ fetchData: fromPromise(fetchData),
67
69
  },
68
70
  delays: {
69
71
  AUTO_UPDATE_DELAY: autoUpdateDelay,
70
72
  },
71
- });
73
+ }));
72
74
  const api = useMemo(() => ({
73
75
  updateCache: async () => {
74
76
  send({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/notifications/AnnouncementProvider/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/notifications/AnnouncementProvider/index.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
1
  import type { State } from "./types";
2
- export declare const announcementMachine: import("xstate").StateMachine<State, any, import("xstate").AnyEventObject, {
3
- value: any;
4
- context: State;
5
- }, import("xstate").BaseActionObject, import("xstate").ServiceMap, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("xstate").AnyEventObject, import("xstate").BaseActionObject, import("xstate").ServiceMap>>;
2
+ export declare const announcementMachine: import("xstate").StateMachine<State, import("xstate").AnyEventObject, Record<string, import("xstate").AnyActorRef>, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, string, import("xstate").StateValue, string, unknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, any>;
6
3
  //# sourceMappingURL=machine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/notifications/AnnouncementProvider/machine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AASrC,eAAO,MAAM,mBAAmB;;;0OA4F/B,CAAC"}
1
+ {"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/notifications/AnnouncementProvider/machine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AASrC,eAAO,MAAM,mBAAmB,6XA6F/B,CAAC"}
@@ -18,8 +18,8 @@ export const announcementMachine = createMachine({
18
18
  src: "loadData",
19
19
  onDone: {
20
20
  target: "updating",
21
- actions: assign((_, { data }) => {
22
- const { announcements, seenIds, lastUpdateTime } = data;
21
+ actions: assign(({ event }) => {
22
+ const { announcements, seenIds, lastUpdateTime } = event.output;
23
23
  const cache = {};
24
24
  announcements.forEach(announcement => {
25
25
  cache[announcement.uuid] = announcement;
@@ -54,11 +54,12 @@ export const announcementMachine = createMachine({
54
54
  updating: {
55
55
  invoke: {
56
56
  src: "fetchData",
57
+ input: ({ context }) => ({ allIds: context.allIds, cache: context.cache }),
57
58
  onDone: {
58
59
  target: "idle",
59
60
  actions: [
60
- assign((context, { data }) => {
61
- const { announcements, updateTime } = data;
61
+ assign(({ context, event }) => {
62
+ const { announcements, updateTime } = event.output;
62
63
  const cache = {};
63
64
  announcements.forEach(announcement => {
64
65
  cache[announcement.uuid] = announcement;
@@ -78,8 +79,8 @@ export const announcementMachine = createMachine({
78
79
  },
79
80
  onError: {
80
81
  target: "idle",
81
- actions: assign((_, { data }) => ({
82
- error: data,
82
+ actions: assign(({ event }) => ({
83
+ error: event.error,
83
84
  })),
84
85
  },
85
86
  },
@@ -87,13 +88,13 @@ export const announcementMachine = createMachine({
87
88
  },
88
89
  on: {
89
90
  SET_AS_SEEN: {
90
- cond: (context, event) => !context.seenIds.includes(event.seenId),
91
+ guard: ({ context, event }) => !context.seenIds.includes(event.seenId),
91
92
  actions: ["setAsSeen", "saveData", "emitNewAnnouncement"],
92
93
  },
93
94
  },
94
95
  }, {
95
96
  actions: {
96
- setAsSeen: assign((context, event) => ({
97
+ setAsSeen: assign(({ context, event }) => ({
97
98
  seenIds: [...context.seenIds, event.seenId],
98
99
  })),
99
100
  },
@@ -1 +1 @@
1
- {"version":3,"file":"machine.js","sourceRoot":"","sources":["../../../src/notifications/AnnouncementProvider/machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machine.js","sourceRoot":"","sources":["../../../src/notifications/AnnouncementProvider/machine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmD,YAAY,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI5F,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,GAAG,CAAC;AAU5C,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAMD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,GAAE,MAAM,EAAO,GACrB,QAAQ,EAAE,CAYZ;AAGD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,iBAAiB,CAQ/F;AAED,eAAO,MAAM,qBAAqB,wDAK/B,KAAK,KAAG,YA6BV,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmD,YAAY,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK5F,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,GAAG,CAAC;AAU5C,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAMD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,GAAE,MAAM,EAAO,GACrB,QAAQ,EAAE,CAYZ;AAGD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,iBAAiB,CAQ/F;AAED,eAAO,MAAM,qBAAqB,wDAK/B,KAAK,KAAG,YA+BV,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import React, { createContext, useContext, useMemo, useCallback } from "react";
2
2
  import defaultNetworkApi from "./api";
3
+ import { fromPromise } from "xstate";
3
4
  import { useMachine } from "@xstate/react";
4
5
  import { serviceStatusMachine } from "./machine";
5
6
  const ServiceStatusContext = createContext({
@@ -42,14 +43,14 @@ export const ServiceStatusProvider = ({ children, autoUpdateDelay, networkApi =
42
43
  updateTime: Date.now(),
43
44
  };
44
45
  }, [networkApi]);
45
- const [state, send] = useMachine(serviceStatusMachine, {
46
- services: {
47
- fetchData,
46
+ const [state, send] = useMachine(serviceStatusMachine.provide({
47
+ actors: {
48
+ fetchData: fromPromise(fetchData),
48
49
  },
49
50
  delays: {
50
51
  AUTO_UPDATE_DELAY: autoUpdateDelay,
51
52
  },
52
- });
53
+ }));
53
54
  const api = useMemo(() => ({
54
55
  updateData: async () => {
55
56
  send({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/index.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
1
  import type { State } from "./types";
2
- export declare const serviceStatusMachine: import("xstate").StateMachine<State, any, import("xstate").AnyEventObject, {
3
- value: any;
4
- context: State;
5
- }, import("xstate").BaseActionObject, import("xstate").ServiceMap, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("xstate").AnyEventObject, import("xstate").BaseActionObject, import("xstate").ServiceMap>>;
2
+ export declare const serviceStatusMachine: import("xstate").StateMachine<State, import("xstate").AnyEventObject, Record<string, import("xstate").AnyActorRef>, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, string, import("xstate").StateValue, string, unknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, any>;
6
3
  //# sourceMappingURL=machine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/machine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAQrC,eAAO,MAAM,oBAAoB;;;0OA6C/B,CAAC"}
1
+ {"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/machine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAQrC,eAAO,MAAM,oBAAoB,6XA6C/B,CAAC"}
@@ -32,8 +32,8 @@ export const serviceStatusMachine = createMachine({
32
32
  src: "fetchData",
33
33
  onDone: {
34
34
  target: "idle",
35
- actions: assign((_context, { data }) => {
36
- const { incidents, updateTime } = data;
35
+ actions: assign(({ event }) => {
36
+ const { incidents, updateTime } = event.output;
37
37
  return {
38
38
  incidents,
39
39
  lastUpdateTime: updateTime,
@@ -44,8 +44,8 @@ export const serviceStatusMachine = createMachine({
44
44
  },
45
45
  onError: {
46
46
  target: "idle",
47
- actions: assign((_, { data }) => ({
48
- error: data,
47
+ actions: assign(({ event }) => ({
48
+ error: event.error,
49
49
  })),
50
50
  },
51
51
  },
@@ -1 +1 @@
1
- {"version":3,"file":"machine.js","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,YAAY,GAAU;IAC1B,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,IAAI;IACX,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;CACzB,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;IAChD,EAAE,EAAE,eAAe;IACnB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,iBAAiB,EAAE;oBACjB,MAAM,EAAE,UAAU;iBACnB;aACF;YACD,EAAE,EAAE;gBACF,WAAW,EAAE;oBACX,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,MAAM,CAAC;wBACd,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,IAAI;qBACZ,CAAC;iBACH;aACF;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM,CAAC,CAAC,QAAa,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE;wBAC/C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;wBACvC,OAAO;4BACL,SAAS;4BACT,cAAc,EAAE,UAAU;4BAC1B,SAAS,EAAE,KAAK;4BAChB,KAAK,EAAE,IAAI;yBACZ,CAAC;oBACJ,CAAC,CAAC;iBACH;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,IAAI,EAAO,EAAE,EAAE,CAAC,CAAC;wBAC1C,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;iBACJ;aACF;SACF;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"machine.js","sourceRoot":"","sources":["../../../src/notifications/ServiceStatusProvider/machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,YAAY,GAAU;IAC1B,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,IAAI;IACX,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;CACzB,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;IAChD,EAAE,EAAE,eAAe;IACnB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,iBAAiB,EAAE;oBACjB,MAAM,EAAE,UAAU;iBACnB;aACF;YACD,EAAE,EAAE;gBACF,WAAW,EAAE;oBACX,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,MAAM,CAAC;wBACd,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,IAAI;qBACZ,CAAC;iBACH;aACF;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;wBAC5B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;wBAC/C,OAAO;4BACL,SAAS;4BACT,cAAc,EAAE,UAAU;4BAC1B,SAAS,EAAE,KAAK;4BAChB,KAAK,EAAE,IAAI;yBACZ,CAAC;oBACJ,CAAC,CAAC;iBACH;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9B,KAAK,EAAE,KAAK,CAAC,KAAc;qBAC5B,CAAC,CAAC;iBACJ;aACF;SACF;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { z } from "zod";
2
+ export type ModularDrawerConfiguration = {
3
+ assets?: {
4
+ filter?: string;
5
+ leftElement?: string;
6
+ rightElement?: string;
7
+ };
8
+ networks?: {
9
+ rightElement?: string;
10
+ leftElement?: string;
11
+ };
12
+ };
13
+ export declare const EnhancedModularDrawerConfigurationSchema: z.ZodObject<{
14
+ assets: z.ZodOptional<z.ZodObject<{
15
+ filter: z.ZodOptional<z.ZodEnum<["topNetworks"]>>;
16
+ leftElement: z.ZodOptional<z.ZodEnum<["apy", "priceVariation"]>>;
17
+ rightElement: z.ZodOptional<z.ZodEnum<["balance", "marketTrend"]>>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ filter?: "topNetworks" | undefined;
20
+ leftElement?: "apy" | "priceVariation" | undefined;
21
+ rightElement?: "balance" | "marketTrend" | undefined;
22
+ }, {
23
+ filter?: "topNetworks" | undefined;
24
+ leftElement?: "apy" | "priceVariation" | undefined;
25
+ rightElement?: "balance" | "marketTrend" | undefined;
26
+ }>>;
27
+ networks: z.ZodOptional<z.ZodObject<{
28
+ leftElement: z.ZodOptional<z.ZodEnum<["numberOfAccounts", "numberOfAccountsAndApy"]>>;
29
+ rightElement: z.ZodOptional<z.ZodEnum<["balance"]>>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ leftElement?: "numberOfAccounts" | "numberOfAccountsAndApy" | undefined;
32
+ rightElement?: "balance" | undefined;
33
+ }, {
34
+ leftElement?: "numberOfAccounts" | "numberOfAccountsAndApy" | undefined;
35
+ rightElement?: "balance" | undefined;
36
+ }>>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ networks?: {
39
+ leftElement?: "numberOfAccounts" | "numberOfAccountsAndApy" | undefined;
40
+ rightElement?: "balance" | undefined;
41
+ } | undefined;
42
+ assets?: {
43
+ filter?: "topNetworks" | undefined;
44
+ leftElement?: "apy" | "priceVariation" | undefined;
45
+ rightElement?: "balance" | "marketTrend" | undefined;
46
+ } | undefined;
47
+ }, {
48
+ networks?: {
49
+ leftElement?: "numberOfAccounts" | "numberOfAccountsAndApy" | undefined;
50
+ rightElement?: "balance" | undefined;
51
+ } | undefined;
52
+ assets?: {
53
+ filter?: "topNetworks" | undefined;
54
+ leftElement?: "apy" | "priceVariation" | undefined;
55
+ rightElement?: "balance" | "marketTrend" | undefined;
56
+ } | undefined;
57
+ }>;
58
+ /**
59
+ * Enhanced configuration for the modular drawer.
60
+ * Extends the base configuration by allowing customization of `assets` and `networks` properties.
61
+ */
62
+ export type EnhancedModularDrawerConfiguration = Omit<ModularDrawerConfiguration, "assets" | "networks"> & z.infer<typeof EnhancedModularDrawerConfigurationSchema>;
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/ModularDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAQF,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcnD,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACnD,0BAA0B,EAC1B,QAAQ,GAAG,UAAU,CACtB,GACC,CAAC,CAAC,KAAK,CAAC,OAAO,wCAAwC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ const filterOptions = ["topNetworks"];
3
+ const assetsLeftElementOptions = ["apy", "priceVariation"];
4
+ const assetsRightElementOptions = ["balance", "marketTrend"];
5
+ const networksLeftElementOptions = ["numberOfAccounts", "numberOfAccountsAndApy"];
6
+ const networksRightElementOptions = ["balance"];
7
+ export const EnhancedModularDrawerConfigurationSchema = z.object({
8
+ assets: z
9
+ .object({
10
+ filter: z.enum(filterOptions).optional(),
11
+ leftElement: z.enum(assetsLeftElementOptions).optional(),
12
+ rightElement: z.enum(assetsRightElementOptions).optional(),
13
+ })
14
+ .optional(),
15
+ networks: z
16
+ .object({
17
+ leftElement: z.enum(networksLeftElementOptions).optional(),
18
+ rightElement: z.enum(networksRightElementOptions).optional(),
19
+ })
20
+ .optional(),
21
+ });
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/wallet-api/ModularDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,MAAM,aAAa,GAAG,CAAC,aAAa,CAAU,CAAC;AAC/C,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAU,CAAC;AACpE,MAAM,yBAAyB,GAAG,CAAC,SAAS,EAAE,aAAa,CAAU,CAAC;AACtE,MAAM,0BAA0B,GAAG,CAAC,kBAAkB,EAAE,wBAAwB,CAAU,CAAC;AAC3F,MAAM,2BAA2B,GAAG,CAAC,SAAS,CAAU,CAAC;AAEzD,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/D,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;QACxC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;QACxD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;KAC3D,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;QAC1D,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;KAC7D,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type EnhancedModularDrawerConfiguration, type ModularDrawerConfiguration } from "./types";
2
+ export declare const defaultDrawerConfiguration: EnhancedModularDrawerConfiguration;
3
+ export declare function validateAndTransformConfigurationWithZod(config?: ModularDrawerConfiguration | EnhancedModularDrawerConfiguration): EnhancedModularDrawerConfiguration;
4
+ export declare function createModularDrawerConfiguration(config?: ModularDrawerConfiguration | EnhancedModularDrawerConfiguration): EnhancedModularDrawerConfiguration;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/wallet-api/ModularDrawer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAEhC,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,0BAA0B,EAAE,kCAOxC,CAAC;AAEF,wBAAgB,wCAAwC,CACtD,MAAM,CAAC,EAAE,0BAA0B,GAAG,kCAAkC,GACvE,kCAAkC,CASpC;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,CAAC,EAAE,0BAA0B,GAAG,kCAAkC,GACvE,kCAAkC,CAMpC"}
@@ -0,0 +1,25 @@
1
+ import { EnhancedModularDrawerConfigurationSchema, } from "./types";
2
+ export const defaultDrawerConfiguration = {
3
+ assets: {
4
+ rightElement: "balance",
5
+ },
6
+ networks: {
7
+ leftElement: "numberOfAccounts",
8
+ },
9
+ };
10
+ export function validateAndTransformConfigurationWithZod(config) {
11
+ const result = EnhancedModularDrawerConfigurationSchema.safeParse(config);
12
+ if (!result.success) {
13
+ console.warn("Modulare Drawer invalid configuration received:", result.error);
14
+ return {};
15
+ }
16
+ return result.data;
17
+ }
18
+ export function createModularDrawerConfiguration(config) {
19
+ const validatedConfig = validateAndTransformConfigurationWithZod(config);
20
+ return {
21
+ ...defaultDrawerConfiguration,
22
+ ...validatedConfig,
23
+ };
24
+ }
25
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/wallet-api/ModularDrawer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,wCAAwC,GACzC,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,MAAM,0BAA0B,GAAuC;IAC5E,MAAM,EAAE;QACN,YAAY,EAAE,SAAS;KACxB;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,kBAAkB;KAChC;CACF,CAAC;AAEF,MAAM,UAAU,wCAAwC,CACtD,MAAwE;IAExE,MAAM,MAAM,GAAG,wCAAwC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE1E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACnB,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC;KACX;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,MAAwE;IAExE,MAAM,eAAe,GAAG,wCAAwC,CAAC,MAAM,CAAC,CAAC;IACzE,OAAO;QACL,GAAG,0BAA0B;QAC7B,GAAG,eAAe;KAC0B,CAAC;AACjD,CAAC"}
@@ -13,6 +13,7 @@ import { Transaction } from "../generated/types";
13
13
  import { DiscoverDB } from "./types";
14
14
  import { LiveAppManifest } from "../platform/types";
15
15
  import { WalletState } from "@ledgerhq/live-wallet/store";
16
+ import { ModularDrawerConfiguration } from "./ModularDrawer/types";
16
17
  export declare function safeGetRefValue<T>(ref: RefObject<T>): NonNullable<T>;
17
18
  export declare function useWalletAPIAccounts(walletState: WalletState, accounts: AccountLike[]): WalletAPIAccount[];
18
19
  export declare function useWalletAPICurrencies(): WalletAPICurrency[];
@@ -22,6 +23,7 @@ export interface UiHook {
22
23
  "account.request": (params: {
23
24
  accounts$?: Observable<WalletAPIAccount[]>;
24
25
  currencies: CryptoOrTokenCurrency[];
26
+ drawerConfiguration?: ModularDrawerConfiguration;
25
27
  onSuccess: (account: AccountLike, parentAccount: Account | undefined) => void;
26
28
  onCancel: () => void;
27
29
  }) => void;