@ledgerhq/live-wallet 0.16.1-nightly.20251129023709 → 0.16.1-nightly.20251203101856

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 (45) hide show
  1. package/CHANGELOG.md +8 -8
  2. package/lib/store.d.ts +15 -2
  3. package/lib/store.d.ts.map +1 -1
  4. package/lib/store.js +14 -2
  5. package/lib/store.js.map +1 -1
  6. package/lib/walletsync/__mocks__/index.d.ts +1 -1
  7. package/lib/walletsync/__mocks__/index.d.ts.map +1 -1
  8. package/lib/walletsync/__mocks__/modules/recentAddresses.d.ts +8 -0
  9. package/lib/walletsync/__mocks__/modules/recentAddresses.d.ts.map +1 -0
  10. package/lib/walletsync/__mocks__/modules/recentAddresses.js +32 -0
  11. package/lib/walletsync/__mocks__/modules/recentAddresses.js.map +1 -0
  12. package/lib/walletsync/modules/recentAddresses.d.ts +47 -0
  13. package/lib/walletsync/modules/recentAddresses.d.ts.map +1 -0
  14. package/lib/walletsync/modules/recentAddresses.js +92 -0
  15. package/lib/walletsync/modules/recentAddresses.js.map +1 -0
  16. package/lib/walletsync/root.d.ts +24 -0
  17. package/lib/walletsync/root.d.ts.map +1 -1
  18. package/lib/walletsync/root.js +2 -0
  19. package/lib/walletsync/root.js.map +1 -1
  20. package/lib-es/store.d.ts +15 -2
  21. package/lib-es/store.d.ts.map +1 -1
  22. package/lib-es/store.js +12 -1
  23. package/lib-es/store.js.map +1 -1
  24. package/lib-es/walletsync/__mocks__/index.d.ts +1 -1
  25. package/lib-es/walletsync/__mocks__/index.d.ts.map +1 -1
  26. package/lib-es/walletsync/__mocks__/modules/recentAddresses.d.ts +8 -0
  27. package/lib-es/walletsync/__mocks__/modules/recentAddresses.d.ts.map +1 -0
  28. package/lib-es/walletsync/__mocks__/modules/recentAddresses.js +25 -0
  29. package/lib-es/walletsync/__mocks__/modules/recentAddresses.js.map +1 -0
  30. package/lib-es/walletsync/modules/recentAddresses.d.ts +47 -0
  31. package/lib-es/walletsync/modules/recentAddresses.d.ts.map +1 -0
  32. package/lib-es/walletsync/modules/recentAddresses.js +87 -0
  33. package/lib-es/walletsync/modules/recentAddresses.js.map +1 -0
  34. package/lib-es/walletsync/root.d.ts +24 -0
  35. package/lib-es/walletsync/root.d.ts.map +1 -1
  36. package/lib-es/walletsync/root.js +2 -0
  37. package/lib-es/walletsync/root.js.map +1 -1
  38. package/package.json +7 -7
  39. package/src/ordering.test.ts +1 -0
  40. package/src/store.test.ts +2 -0
  41. package/src/store.ts +23 -2
  42. package/src/walletsync/__mocks__/modules/recentAddresses.ts +45 -0
  43. package/src/walletsync/__tests__/modules/recentAddresses.test.ts +487 -0
  44. package/src/walletsync/modules/recentAddresses.ts +125 -0
  45. package/src/walletsync/root.ts +2 -0
package/CHANGELOG.md CHANGED
@@ -1,16 +1,16 @@
1
1
  # @ledgerhq/live-wallet
2
2
 
3
- ## 0.16.1-nightly.20251129023709
3
+ ## 0.16.1-nightly.20251203101856
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Updated dependencies [[`50aeea1`](https://github.com/LedgerHQ/ledger-live/commit/50aeea1233056e9abff9568eb928927f39e76cff), [`fd031d7`](https://github.com/LedgerHQ/ledger-live/commit/fd031d77ca7ed011ec492700fd4d7bc86c518907), [`a2ecb55`](https://github.com/LedgerHQ/ledger-live/commit/a2ecb55df9d383dc282f5fe489cb14386208215e), [`fe81926`](https://github.com/LedgerHQ/ledger-live/commit/fe81926afeb2df8e917e6bd1e4cbab13f09647fd), [`67137eb`](https://github.com/LedgerHQ/ledger-live/commit/67137eb5d7f04dd5f3610fdaa4e463d292654105), [`49ef24c`](https://github.com/LedgerHQ/ledger-live/commit/49ef24cbd1948bfd146af0b20f2128951b2dc170), [`b4a4e16`](https://github.com/LedgerHQ/ledger-live/commit/b4a4e160aae6fd64f944ab25633f6931dc4358d3), [`927ae64`](https://github.com/LedgerHQ/ledger-live/commit/927ae64db0bb04af54e25623655a001a68e0f2d3), [`903ea9c`](https://github.com/LedgerHQ/ledger-live/commit/903ea9cdacf704a0119de2803a4f409b775391a5), [`768718d`](https://github.com/LedgerHQ/ledger-live/commit/768718df029bc8799b88c0299925dc56302b0c53), [`9251b77`](https://github.com/LedgerHQ/ledger-live/commit/9251b77fcb01709723842f19220a2a41a6fc8f3b), [`02ef98f`](https://github.com/LedgerHQ/ledger-live/commit/02ef98faeb13c182ef255e06a43c39abeb55ecc7), [`6d0c6b2`](https://github.com/LedgerHQ/ledger-live/commit/6d0c6b2eda60049d8eebda5de2c54e8f0be7d009), [`38d5880`](https://github.com/LedgerHQ/ledger-live/commit/38d5880ca6c3cc8808182e9d0f046b204914d34a), [`0d33751`](https://github.com/LedgerHQ/ledger-live/commit/0d33751bb2ae599d0d26ce6a8efdbe01757f12fb), [`aadcec6`](https://github.com/LedgerHQ/ledger-live/commit/aadcec66847b800f79452ba1df09149e0a1cb9e8), [`b113920`](https://github.com/LedgerHQ/ledger-live/commit/b11392056bc334fc1813c473569ad3ae7be08045), [`53deeef`](https://github.com/LedgerHQ/ledger-live/commit/53deeef592b7d566b4e7a636fa34d7ad59dd43ad), [`ed8532b`](https://github.com/LedgerHQ/ledger-live/commit/ed8532bad754ca2b5f1788c6e92f4646b775ec79), [`88a5018`](https://github.com/LedgerHQ/ledger-live/commit/88a501871d58c980f18495b5b32012a3eaa9ab2c), [`9659a34`](https://github.com/LedgerHQ/ledger-live/commit/9659a34d9998d5c4dff8618bf6cef7d16403680d)]:
8
- - @ledgerhq/cryptoassets@13.34.0-nightly.20251129023709
9
- - @ledgerhq/types-live@6.90.0-nightly.20251129023709
10
- - @ledgerhq/coin-framework@6.10.0-nightly.20251129023709
11
- - @ledgerhq/live-env@2.22.0-nightly.20251129023709
12
- - @ledgerhq/ledger-key-ring-protocol@0.8.0-nightly.20251129023709
13
- - @ledgerhq/live-network@2.1.2-nightly.20251129023709
7
+ - Updated dependencies [[`50aeea1`](https://github.com/LedgerHQ/ledger-live/commit/50aeea1233056e9abff9568eb928927f39e76cff), [`fd031d7`](https://github.com/LedgerHQ/ledger-live/commit/fd031d77ca7ed011ec492700fd4d7bc86c518907), [`19a54fd`](https://github.com/LedgerHQ/ledger-live/commit/19a54fd89a2d3c7481aebc28817870875f9d44dc), [`a2ecb55`](https://github.com/LedgerHQ/ledger-live/commit/a2ecb55df9d383dc282f5fe489cb14386208215e), [`fe81926`](https://github.com/LedgerHQ/ledger-live/commit/fe81926afeb2df8e917e6bd1e4cbab13f09647fd), [`67137eb`](https://github.com/LedgerHQ/ledger-live/commit/67137eb5d7f04dd5f3610fdaa4e463d292654105), [`49ef24c`](https://github.com/LedgerHQ/ledger-live/commit/49ef24cbd1948bfd146af0b20f2128951b2dc170), [`b4a4e16`](https://github.com/LedgerHQ/ledger-live/commit/b4a4e160aae6fd64f944ab25633f6931dc4358d3), [`927ae64`](https://github.com/LedgerHQ/ledger-live/commit/927ae64db0bb04af54e25623655a001a68e0f2d3), [`903ea9c`](https://github.com/LedgerHQ/ledger-live/commit/903ea9cdacf704a0119de2803a4f409b775391a5), [`768718d`](https://github.com/LedgerHQ/ledger-live/commit/768718df029bc8799b88c0299925dc56302b0c53), [`9251b77`](https://github.com/LedgerHQ/ledger-live/commit/9251b77fcb01709723842f19220a2a41a6fc8f3b), [`a5ad7d4`](https://github.com/LedgerHQ/ledger-live/commit/a5ad7d4578c06db3e40f260451b644c27e20cb62), [`02ef98f`](https://github.com/LedgerHQ/ledger-live/commit/02ef98faeb13c182ef255e06a43c39abeb55ecc7), [`6d0c6b2`](https://github.com/LedgerHQ/ledger-live/commit/6d0c6b2eda60049d8eebda5de2c54e8f0be7d009), [`d4bad44`](https://github.com/LedgerHQ/ledger-live/commit/d4bad4433c3fb083d95820d2927a9e8beeaf244f), [`38d5880`](https://github.com/LedgerHQ/ledger-live/commit/38d5880ca6c3cc8808182e9d0f046b204914d34a), [`0d33751`](https://github.com/LedgerHQ/ledger-live/commit/0d33751bb2ae599d0d26ce6a8efdbe01757f12fb), [`aadcec6`](https://github.com/LedgerHQ/ledger-live/commit/aadcec66847b800f79452ba1df09149e0a1cb9e8), [`bce6610`](https://github.com/LedgerHQ/ledger-live/commit/bce6610ca8554a85f8f17b6014e921fdecd3fa4f), [`b113920`](https://github.com/LedgerHQ/ledger-live/commit/b11392056bc334fc1813c473569ad3ae7be08045), [`53deeef`](https://github.com/LedgerHQ/ledger-live/commit/53deeef592b7d566b4e7a636fa34d7ad59dd43ad), [`ed8532b`](https://github.com/LedgerHQ/ledger-live/commit/ed8532bad754ca2b5f1788c6e92f4646b775ec79), [`88a5018`](https://github.com/LedgerHQ/ledger-live/commit/88a501871d58c980f18495b5b32012a3eaa9ab2c), [`9659a34`](https://github.com/LedgerHQ/ledger-live/commit/9659a34d9998d5c4dff8618bf6cef7d16403680d)]:
8
+ - @ledgerhq/cryptoassets@13.34.0-nightly.20251203101856
9
+ - @ledgerhq/types-live@6.90.0-nightly.20251203101856
10
+ - @ledgerhq/coin-framework@6.10.0-nightly.20251203101856
11
+ - @ledgerhq/live-env@2.22.0-nightly.20251203101856
12
+ - @ledgerhq/ledger-key-ring-protocol@0.8.0-nightly.20251203101856
13
+ - @ledgerhq/live-network@2.1.2-nightly.20251203101856
14
14
 
15
15
  ## 0.16.0
16
16
 
package/lib/store.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * The Wallet store is a store that contains the user data related to accounts.
4
4
  * It essentially is the whole user's wallet.
5
5
  */
6
- import { Account, AccountLike, AccountRaw, AccountUserData } from "@ledgerhq/types-live";
6
+ import { Account, AccountLike, AccountRaw, AccountUserData, RecentAddressesState } from "@ledgerhq/types-live";
7
7
  import { AddAccountsAction } from "./addAccounts";
8
8
  import { DistantState } from "./walletsync";
9
9
  import { NonImportedAccountInfo } from "./walletsync/modules/accounts";
@@ -16,6 +16,7 @@ export type WalletState = {
16
16
  starredAccountIds: Set<string>;
17
17
  nonImportedAccountInfos: NonImportedAccountInfo[];
18
18
  walletSyncState: WSState;
19
+ recentAddresses: RecentAddressesState;
19
20
  };
20
21
  export type ExportedWalletState = {
21
22
  walletSyncState: WSState;
@@ -24,6 +25,7 @@ export type ExportedWalletState = {
24
25
  accountNames: Array<[string, string]>;
25
26
  starredAccountIds: string[];
26
27
  };
28
+ recentAddresses: RecentAddressesState;
27
29
  };
28
30
  export declare const initialState: WalletState;
29
31
  export declare enum WalletHandlerType {
@@ -34,7 +36,8 @@ export declare enum WalletHandlerType {
34
36
  ADD_ACCOUNTS = "ADD_ACCOUNTS",
35
37
  WALLET_SYNC_UPDATE = "WALLET_SYNC_UPDATE",
36
38
  IMPORT_WALLET_SYNC = "IMPORT_WALLET_SYNC",
37
- SET_NON_IMPORTED_ACCOUNTS = "SET_NON_IMPORTED_ACCOUNTS"
39
+ SET_NON_IMPORTED_ACCOUNTS = "SET_NON_IMPORTED_ACCOUNTS",
40
+ UPDATE_RECENT_ADDRESSES = "UPDATE_RECENT_ADDRESSES"
38
41
  }
39
42
  export type HandlersPayloads = {
40
43
  INIT_ACCOUNTS: {
@@ -59,6 +62,7 @@ export type HandlersPayloads = {
59
62
  };
60
63
  IMPORT_WALLET_SYNC: Partial<ExportedWalletState>;
61
64
  SET_NON_IMPORTED_ACCOUNTS: NonImportedAccountInfo[];
65
+ UPDATE_RECENT_ADDRESSES: RecentAddressesState;
62
66
  };
63
67
  type Handlers<State, Types, PreciseKey = true> = {
64
68
  [Key in keyof Types]: (state: State, body: {
@@ -108,6 +112,7 @@ export declare const importWalletState: (payload: Partial<ExportedWalletState>)
108
112
  accountNames: Array<[string, string]>;
109
113
  starredAccountIds: string[];
110
114
  } | undefined;
115
+ recentAddresses?: RecentAddressesState | undefined;
111
116
  };
112
117
  };
113
118
  export declare const walletSyncUpdate: (data: DistantState | null, version: number) => {
@@ -123,6 +128,10 @@ export declare const walletSyncUpdate: (data: DistantState | null, version: numb
123
128
  currencyId: string;
124
129
  }[] | undefined;
125
130
  accountNames?: Record<string, string> | undefined;
131
+ recentAddresses?: Record<string, {
132
+ index: number;
133
+ address: string;
134
+ }[]> | undefined;
126
135
  } | null;
127
136
  version: number;
128
137
  };
@@ -131,6 +140,10 @@ export declare const setNonImportedAccounts: (payload: NonImportedAccountInfo[])
131
140
  type: string;
132
141
  payload: NonImportedAccountInfo[];
133
142
  };
143
+ export declare const updateRecentAddresses: (payload: RecentAddressesState) => {
144
+ type: string;
145
+ payload: RecentAddressesState;
146
+ };
134
147
  export declare const accountNameSelector: (state: WalletState, { accountId }: {
135
148
  accountId: string;
136
149
  }) => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/lib/store.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.walletSyncStateSelector = exports.walletStateExportShouldDiffer = exports.exportWalletState = exports.accountRawToAccountUserData = exports.accountUserDataExportSelector = exports.isStarredAccountSelector = exports.accountNameWithDefaultSelector = exports.accountNameSelector = exports.setNonImportedAccounts = exports.walletSyncUpdate = exports.importWalletState = exports.initAccounts = exports.setAccountStarred = exports.setAccountNames = exports.setAccountName = exports.handlers = exports.WalletHandlerType = exports.initialState = void 0;
3
+ exports.walletSyncStateSelector = exports.walletStateExportShouldDiffer = exports.exportWalletState = exports.accountRawToAccountUserData = exports.accountUserDataExportSelector = exports.isStarredAccountSelector = exports.accountNameWithDefaultSelector = exports.accountNameSelector = exports.updateRecentAddresses = exports.setNonImportedAccounts = exports.walletSyncUpdate = exports.importWalletState = exports.initAccounts = exports.setAccountStarred = exports.setAccountNames = exports.setAccountName = exports.handlers = exports.WalletHandlerType = exports.initialState = void 0;
4
4
  const accountName_1 = require("./accountName");
5
5
  const currencies_1 = require("@ledgerhq/cryptoassets/currencies");
6
6
  exports.initialState = {
@@ -8,6 +8,7 @@ exports.initialState = {
8
8
  starredAccountIds: new Set(),
9
9
  nonImportedAccountInfos: [],
10
10
  walletSyncState: { data: null, version: 0 },
11
+ recentAddresses: {},
11
12
  };
12
13
  var WalletHandlerType;
13
14
  (function (WalletHandlerType) {
@@ -19,6 +20,7 @@ var WalletHandlerType;
19
20
  WalletHandlerType["WALLET_SYNC_UPDATE"] = "WALLET_SYNC_UPDATE";
20
21
  WalletHandlerType["IMPORT_WALLET_SYNC"] = "IMPORT_WALLET_SYNC";
21
22
  WalletHandlerType["SET_NON_IMPORTED_ACCOUNTS"] = "SET_NON_IMPORTED_ACCOUNTS";
23
+ WalletHandlerType["UPDATE_RECENT_ADDRESSES"] = "UPDATE_RECENT_ADDRESSES";
22
24
  })(WalletHandlerType || (exports.WalletHandlerType = WalletHandlerType = {}));
23
25
  exports.handlers = {
24
26
  INIT_ACCOUNTS: (state, { payload: { accountsUserData } }) => {
@@ -88,6 +90,9 @@ exports.handlers = {
88
90
  SET_NON_IMPORTED_ACCOUNTS: (state, { payload }) => {
89
91
  return { ...state, nonImportedAccountInfos: payload };
90
92
  },
93
+ UPDATE_RECENT_ADDRESSES: (state, { payload }) => {
94
+ return { ...state, recentAddresses: { ...payload } };
95
+ },
91
96
  };
92
97
  // actions
93
98
  const setAccountName = (accountId, name) => ({
@@ -136,6 +141,11 @@ const setNonImportedAccounts = (payload) => ({
136
141
  payload,
137
142
  });
138
143
  exports.setNonImportedAccounts = setNonImportedAccounts;
144
+ const updateRecentAddresses = (payload) => ({
145
+ type: "UPDATE_RECENT_ADDRESSES",
146
+ payload,
147
+ });
148
+ exports.updateRecentAddresses = updateRecentAddresses;
139
149
  // Local Selectors
140
150
  const accountNameSelector = (state, { accountId }) => state.accountNames.get(accountId);
141
151
  exports.accountNameSelector = accountNameSelector;
@@ -192,13 +202,15 @@ const exportWalletState = (state) => ({
192
202
  accountNames: Array.from(state.accountNames),
193
203
  starredAccountIds: Array.from(state.starredAccountIds),
194
204
  },
205
+ recentAddresses: state.recentAddresses,
195
206
  });
196
207
  exports.exportWalletState = exportWalletState;
197
208
  const walletStateExportShouldDiffer = (a, b) => {
198
209
  return (a.walletSyncState !== b.walletSyncState ||
199
210
  a.nonImportedAccountInfos !== b.nonImportedAccountInfos ||
200
211
  a.accountNames !== b.accountNames ||
201
- a.starredAccountIds !== b.starredAccountIds);
212
+ a.starredAccountIds !== b.starredAccountIds ||
213
+ a.recentAddresses !== b.recentAddresses);
202
214
  };
203
215
  exports.walletStateExportShouldDiffer = walletStateExportShouldDiffer;
204
216
  const walletSyncStateSelector = (state) => state.walletSyncState;
package/lib/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";;;AAYA,+CAA6F;AAE7F,kEAA0E;AAiC7D,QAAA,YAAY,GAAgB;IACvC,YAAY,EAAE,IAAI,GAAG,EAAE;IACvB,iBAAiB,EAAE,IAAI,GAAG,EAAE;IAC5B,uBAAuB,EAAE,EAAE;IAC3B,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;IAC3C,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,IAAY,iBAUX;AAVD,WAAY,iBAAiB;IAC3B,oDAA+B,CAAA;IAC/B,0DAAqC,CAAA;IACrC,gEAA2C,CAAA;IAC3C,sEAAiD,CAAA;IACjD,kDAA6B,CAAA;IAC7B,8DAAyC,CAAA;IACzC,8DAAyC,CAAA;IACzC,4EAAuD,CAAA;IACvD,wEAAmD,CAAA;AACrD,CAAC,EAVW,iBAAiB,iCAAjB,iBAAiB,QAU5B;AA0BY,QAAA,QAAQ,GAAmB;IACtC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAe,EAAE;QACvE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YACzC,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;gBACzB,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;gBACnD,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO;YACL,GAAG,KAAK;YACR,YAAY;YACZ,iBAAiB;SAClB,CAAC;IACJ,CAAC;IACD,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;QAC5D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;IACD,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE;QAC/D,qDAAqD;QACrD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7C,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;IACrD,CAAC;IACD,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QACzE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC3D,IAAI,KAAK,EAAE,CAAC;YACV,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,CAAC;IACzC,CAAC;IACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE;QACjE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,IAAI,IAAI,IAAI,KAAK,IAAA,mCAAqB,EAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;IACD,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACzC,OAAO,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;IAChD,CAAC;IACD,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACzC,OAAO;YACL,GAAG,KAAK;YACR,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IACD,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,EAAE,GAAG,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC;IACxD,CAAC;IACD,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC9C,OAAO,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC;IACvD,CAAC;CACF,CAAC;AAEF,UAAU;AAEH,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;CAC7B,CAAC,CAAC;AAHU,QAAA,cAAc,kBAGxB;AAEI,MAAM,eAAe,GAAG,CAAC,YAAiC,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,EAAE,YAAY,EAAE;CAC1B,CAAC,CAAC;AAHU,QAAA,eAAe,mBAGzB;AAEI,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,OAAgB,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;CAChC,CAAC,CAAC;AAHU,QAAA,iBAAiB,qBAG3B;AAEI,MAAM,YAAY,GAAG,CAAC,QAAmB,EAAE,gBAAmC,EAAE,EAAE,CAAC,CAAC;IACzF,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE;CACxC,CAAC,CAAC;AAHU,QAAA,YAAY,gBAGtB;AAEH;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,OAAqC,EAAE,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE;QACP,GAAG,OAAO;QACV,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY;YACrC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB;YAC1C,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE;YACxE,CAAC,CAAC,EAAE,CAAC;KACR;CACF,CAAC,CAAC;AAXU,QAAA,iBAAiB,qBAW3B;AAEI,MAAM,gBAAgB,GAAG,CAAC,IAAyB,EAAE,OAAe,EAAE,EAAE,CAAC,CAAC;IAC/E,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;CAC3B,CAAC,CAAC;AAHU,QAAA,gBAAgB,oBAG1B;AAEI,MAAM,sBAAsB,GAAG,CAAC,OAAiC,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAI,EAAE,2BAA2B;IACjC,OAAO;CACR,CAAC,CAAC;AAHU,QAAA,sBAAsB,0BAGhC;AAEI,MAAM,qBAAqB,GAAG,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,yBAAyB;IAC/B,OAAO;CACR,CAAC,CAAC;AAHU,QAAA,qBAAqB,yBAG/B;AAEH,kBAAkB;AAEX,MAAM,mBAAmB,GAAG,CACjC,KAAkB,EAClB,EAAE,SAAS,EAAyB,EAChB,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAH9C,QAAA,mBAAmB,uBAG2B;AAEpD,MAAM,8BAA8B,GAAG,CAAC,KAAkB,EAAE,OAAoB,EAAU,EAAE,CACjG,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAA,mCAAqB,EAAC,OAAO,CAAC,CAAC;AAD5D,QAAA,8BAA8B,kCAC8B;AAElE,MAAM,wBAAwB,GAAG,CACtC,KAAkB,EAClB,EAAE,SAAS,EAAyB,EAC3B,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAHxC,QAAA,wBAAwB,4BAGgB;AAErD;;;;GAIG;AACI,MAAM,6BAA6B,GAAG,CAC3C,KAAkB,EAClB,EAAE,OAAO,EAAwB,EAChB,EAAE;IACnB,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACtB,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAA,mCAAqB,EAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,IAAI,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACpC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC,CAAC;AAhBW,QAAA,6BAA6B,iCAgBxC;AAEK,MAAM,2BAA2B,GAAG,CAAC,GAAe,EAAmB,EAAE;IAC9E,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC;IACnB,MAAM,IAAI,GACR,GAAG,CAAC,IAAI;QACR,IAAA,mDAAqC,EAAC;YACpC,QAAQ,EAAE,IAAA,kCAAqB,EAAC,GAAG,CAAC,UAAU,CAAC;YAC/C,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC,CAAC;IACL,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC,CAAC;AAlBW,QAAA,2BAA2B,+BAkBtC;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,KAAkB,EAAuB,EAAE,CAAC,CAAC;IAC7E,eAAe,EAAE,KAAK,CAAC,eAAe;IACtC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;IACtD,YAAY,EAAE;QACZ,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5C,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;KACvD;IACD,eAAe,EAAE,KAAK,CAAC,eAAe;CACvC,CAAC,CAAC;AARU,QAAA,iBAAiB,qBAQ3B;AAEI,MAAM,6BAA6B,GAAG,CAAC,CAAc,EAAE,CAAc,EAAW,EAAE;IACvF,OAAO,CACL,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,eAAe;QACvC,CAAC,CAAC,uBAAuB,KAAK,CAAC,CAAC,uBAAuB;QACvD,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY;QACjC,CAAC,CAAC,iBAAiB,KAAK,CAAC,CAAC,iBAAiB;QAC3C,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,eAAe,CACxC,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,6BAA6B,iCAQxC;AAEK,MAAM,uBAAuB,GAAG,CAAC,KAAkB,EAAW,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;AAAjF,QAAA,uBAAuB,2BAA0D"}
@@ -1,7 +1,7 @@
1
1
  import type { DistantState, LocalState } from "..";
2
2
  export declare const emptyState: LocalState;
3
3
  export declare const genState: (index: number) => LocalState;
4
- export declare const genModuleState: <K extends "accounts" | "accountNames">(name: K, index: number) => LocalState[K];
4
+ export declare const genModuleState: <K extends "accounts" | "accountNames" | "recentAddresses">(name: K, index: number) => LocalState[K];
5
5
  export declare const convertLocalToDistantState: (localState: LocalState) => DistantState;
6
6
  export declare const convertDistantToLocalState: (distantState: DistantState) => LocalState;
7
7
  export declare const similarLocalState: (a: LocalState, b: LocalState) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/walletsync/__mocks__/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAuBnD,eAAO,MAAM,UAAU,EAAE,UAEV,CAAC;AAEhB,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,UAGxB,CAAC;AAElB,eAAO,MAAM,cAAc,gDAA+B,CAAC,SAAS,MAAM,KAAG,UAAU,CAAC,CAAC,CAIxF,CAAC;AAEF,eAAO,MAAM,0BAA0B,eAAgB,UAAU,KAAG,YASjD,CAAC;AAEpB,eAAO,MAAM,0BAA0B,iBAAkB,YAAY,KAAG,UASvD,CAAC;AAElB,eAAO,MAAM,iBAAiB,MAAO,UAAU,KAAK,UAAU,KAAG,OAI9D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/walletsync/__mocks__/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAuBnD,eAAO,MAAM,UAAU,EAAE,UAEV,CAAC;AAEhB,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,UAGxB,CAAC;AAElB,eAAO,MAAM,cAAc,oEAA+B,CAAC,SAAS,MAAM,KAAG,UAAU,CAAC,CAAC,CAIxF,CAAC;AAEF,eAAO,MAAM,0BAA0B,eAAgB,UAAU,KAAG,YASjD,CAAC;AAEpB,eAAO,MAAM,0BAA0B,iBAAkB,YAAY,KAAG,UASvD,CAAC;AAElB,eAAO,MAAM,iBAAiB,MAAO,UAAU,KAAK,UAAU,KAAG,OAI9D,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { RecentAddressesState } from "@ledgerhq/types-live";
2
+ import { DistantRecentAddressesState } from "../../modules/recentAddresses";
3
+ export declare const emptyState: {};
4
+ export declare const genState: (index: number) => RecentAddressesState;
5
+ export declare const convertLocalToDistantState: (localState: RecentAddressesState) => DistantRecentAddressesState;
6
+ export declare const convertDistantToLocalState: (distantState: DistantRecentAddressesState) => RecentAddressesState;
7
+ export declare const similarLocalState: (state: RecentAddressesState, otherState: RecentAddressesState) => boolean;
8
+ //# sourceMappingURL=recentAddresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recentAddresses.d.ts","sourceRoot":"","sources":["../../../../src/walletsync/__mocks__/modules/recentAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,2BAA2B,EAG5B,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,UAAU,IAAK,CAAC;AAE7B,eAAO,MAAM,QAAQ,UAAW,MAAM,yBAWrC,CAAC;AAEF,eAAO,MAAM,0BAA0B,eAAgB,oBAAoB,gCAC/C,CAAC;AAE7B,eAAO,MAAM,0BAA0B,iBAAkB,2BAA2B,yBAC7D,CAAC;AAExB,eAAO,MAAM,iBAAiB,UACrB,oBAAoB,cACf,oBAAoB,YAcjC,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.similarLocalState = exports.convertDistantToLocalState = exports.convertLocalToDistantState = exports.genState = exports.emptyState = void 0;
4
+ const recentAddresses_1 = require("../../modules/recentAddresses");
5
+ exports.emptyState = {};
6
+ const genState = (index) => {
7
+ const recentAddressesState = {};
8
+ for (let i = 0; i < index + 1; i++) {
9
+ recentAddressesState["currency-" + i.toString()] = [];
10
+ for (let j = 0; j < 12; j++) {
11
+ recentAddressesState["currency-" + i.toString()].push(`some random address at index ${j}`);
12
+ }
13
+ }
14
+ return recentAddressesState;
15
+ };
16
+ exports.genState = genState;
17
+ const convertLocalToDistantState = (localState) => (0, recentAddresses_1.toDistantState)(localState);
18
+ exports.convertLocalToDistantState = convertLocalToDistantState;
19
+ const convertDistantToLocalState = (distantState) => (0, recentAddresses_1.toState)(distantState);
20
+ exports.convertDistantToLocalState = convertDistantToLocalState;
21
+ const similarLocalState = (state, otherState) => {
22
+ const stateKeys = Object.keys(state);
23
+ const otherStateKeys = Object.keys(otherState);
24
+ return (stateKeys.length === otherStateKeys.length &&
25
+ otherStateKeys.every(key => {
26
+ return (state[key] &&
27
+ state[key].length === otherState[key].length &&
28
+ otherState[key].every(address => state[key].includes(address)));
29
+ }));
30
+ };
31
+ exports.similarLocalState = similarLocalState;
32
+ //# sourceMappingURL=recentAddresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recentAddresses.js","sourceRoot":"","sources":["../../../../src/walletsync/__mocks__/modules/recentAddresses.ts"],"names":[],"mappings":";;;AACA,mEAIuC;AAE1B,QAAA,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE;IACxC,MAAM,oBAAoB,GAAyB,EAAE,CAAC;IAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,oBAAoB,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,oBAAoB,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB;AAEK,MAAM,0BAA0B,GAAG,CAAC,UAAgC,EAAE,EAAE,CAC7E,IAAA,gCAAc,EAAC,UAAU,CAAC,CAAC;AADhB,QAAA,0BAA0B,8BACV;AAEtB,MAAM,0BAA0B,GAAG,CAAC,YAAyC,EAAE,EAAE,CACtF,IAAA,yBAAO,EAAC,YAAY,CAAC,CAAC;AADX,QAAA,0BAA0B,8BACf;AAEjB,MAAM,iBAAiB,GAAG,CAC/B,KAA2B,EAC3B,UAAgC,EAChC,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,CACL,SAAS,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAC1C,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACzB,OAAO,CACL,KAAK,CAAC,GAAG,CAAC;gBACV,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM;gBAC5C,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAC/D,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @module recentAddresses
3
+ *
4
+ * This module is responsible for synchronizing recent addresses across Wallet instances
5
+ * in the WalletSync system. It manages an ordered list of recently used addresses,
6
+ * ensuring that when a user accesses an address on one Live instance, that address
7
+ * (and its position in the recent list) is propagated to all other synchronized Live instances.
8
+ *
9
+ * Recent addresses are off-chain data (not stored on the blockchain), and therefore need to
10
+ * be synchronized through the WalletSync system to ensure consistency across all Live instances.
11
+ *
12
+ * Key responsibilities:
13
+ * - Tracks local recent address changes and prepares them for synchronization
14
+ * - Resolves incoming recent address updates from other Live instances
15
+ * - Maintains the order/index of addresses in the recent list
16
+ * - Handles conflict resolution by accepting incoming state changes (last-write-wins strategy)
17
+ * - Maintains consistency between local state (string[]) and distant state (RecentAddressesState[])
18
+ *
19
+ * The module preserves the index/position of each address, allowing the UI to maintain
20
+ * a consistent ordering of recently used addresses across all synchronized Live instances.
21
+ */
22
+ import { z } from "zod";
23
+ import { WalletSyncDataManager } from "../types";
24
+ import { RecentAddressesState } from "@ledgerhq/types-live";
25
+ /**
26
+ * We dont use the same data structure for remote state
27
+ * An index attribute has been added to keep the order (recomputed locally)
28
+ */
29
+ export type DistantRecentAddressesState = Record<string, {
30
+ address: string;
31
+ index: number;
32
+ }[]>;
33
+ export declare function toDistantState(addressesByCurrency: RecentAddressesState): DistantRecentAddressesState;
34
+ export declare function toState(addressesByCurrency: DistantRecentAddressesState): RecentAddressesState;
35
+ declare const schema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
36
+ address: z.ZodString;
37
+ index: z.ZodNumber;
38
+ }, "strip", z.ZodTypeAny, {
39
+ index: number;
40
+ address: string;
41
+ }, {
42
+ index: number;
43
+ address: string;
44
+ }>, "many">>;
45
+ declare const manager: WalletSyncDataManager<RecentAddressesState, RecentAddressesState, typeof schema>;
46
+ export default manager;
47
+ //# sourceMappingURL=recentAddresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recentAddresses.d.ts","sourceRoot":"","sources":["../../../src/walletsync/modules/recentAddresses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,EAAE,CACJ,CAAC;AAEF,wBAAgB,cAAc,CAC5B,mBAAmB,EAAE,oBAAoB,GACxC,2BAA2B,CAO7B;AAED,wBAAgB,OAAO,CAAC,mBAAmB,EAAE,2BAA2B,GAAG,oBAAoB,CAS9F;AA8BD,QAAA,MAAM,MAAM;;;;;;;;;YAAuD,CAAC;AAEpE,QAAA,MAAM,OAAO,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,OAAO,MAAM,CAgC7F,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ /**
3
+ * @module recentAddresses
4
+ *
5
+ * This module is responsible for synchronizing recent addresses across Wallet instances
6
+ * in the WalletSync system. It manages an ordered list of recently used addresses,
7
+ * ensuring that when a user accesses an address on one Live instance, that address
8
+ * (and its position in the recent list) is propagated to all other synchronized Live instances.
9
+ *
10
+ * Recent addresses are off-chain data (not stored on the blockchain), and therefore need to
11
+ * be synchronized through the WalletSync system to ensure consistency across all Live instances.
12
+ *
13
+ * Key responsibilities:
14
+ * - Tracks local recent address changes and prepares them for synchronization
15
+ * - Resolves incoming recent address updates from other Live instances
16
+ * - Maintains the order/index of addresses in the recent list
17
+ * - Handles conflict resolution by accepting incoming state changes (last-write-wins strategy)
18
+ * - Maintains consistency between local state (string[]) and distant state (RecentAddressesState[])
19
+ *
20
+ * The module preserves the index/position of each address, allowing the UI to maintain
21
+ * a consistent ordering of recently used addresses across all synchronized Live instances.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.toState = exports.toDistantState = void 0;
25
+ const zod_1 = require("zod");
26
+ function toDistantState(addressesByCurrency) {
27
+ const state = {};
28
+ Object.keys(addressesByCurrency).forEach(key => {
29
+ state[key] = addressesByCurrency[key].map((address, index) => ({ address, index }));
30
+ });
31
+ return state;
32
+ }
33
+ exports.toDistantState = toDistantState;
34
+ function toState(addressesByCurrency) {
35
+ const state = {};
36
+ Object.keys(addressesByCurrency).forEach(key => {
37
+ state[key] = addressesByCurrency[key]
38
+ .sort((current, other) => current.index - other.index)
39
+ .map(data => data.address);
40
+ });
41
+ return state;
42
+ }
43
+ exports.toState = toState;
44
+ function sameDistantState(localData, distantState) {
45
+ const localDataKeys = Object.keys(localData);
46
+ const distantStateKeys = Object.keys(distantState);
47
+ return (localDataKeys.length === distantStateKeys.length &&
48
+ distantStateKeys.every(key => {
49
+ return (localData[key] &&
50
+ localData[key].length === distantState[key].length &&
51
+ !distantState[key].some(data => data.index < 0 ||
52
+ data.index >= localData[key].length ||
53
+ localData[key][data.index] !== data.address));
54
+ }));
55
+ }
56
+ const recentAddressesSchema = zod_1.z.object({
57
+ address: zod_1.z.string(),
58
+ index: zod_1.z.number(),
59
+ });
60
+ const schema = zod_1.z.record(zod_1.z.string(), zod_1.z.array(recentAddressesSchema));
61
+ const manager = {
62
+ schema,
63
+ diffLocalToDistant(localData, latestState) {
64
+ if (!sameDistantState(localData, latestState ?? {})) {
65
+ return {
66
+ hasChanges: true,
67
+ nextState: toDistantState(localData),
68
+ };
69
+ }
70
+ return {
71
+ hasChanges: false,
72
+ nextState: latestState ?? {},
73
+ };
74
+ },
75
+ async resolveIncrementalUpdate(_ctx, localData, latestState, incomingState) {
76
+ if (!incomingState) {
77
+ return { hasChanges: false };
78
+ }
79
+ if (latestState === incomingState || sameDistantState(localData, incomingState)) {
80
+ return { hasChanges: false };
81
+ }
82
+ return {
83
+ hasChanges: true,
84
+ update: toState(incomingState),
85
+ };
86
+ },
87
+ applyUpdate(_localData, update) {
88
+ return update;
89
+ },
90
+ };
91
+ exports.default = manager;
92
+ //# sourceMappingURL=recentAddresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recentAddresses.js","sourceRoot":"","sources":["../../../src/walletsync/modules/recentAddresses.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ declare const root: import("./types").WalletSyncDataManager<{
11
11
  nonImportedAccountInfos: import("./modules/accounts").NonImportedAccountInfo[];
12
12
  };
13
13
  accountNames: Map<string, string>;
14
+ recentAddresses: import("@ledgerhq/types-live").RecentAddressesState;
14
15
  }, {
15
16
  accounts: import("./types").UpdateDiff<{
16
17
  removed: string[];
@@ -20,6 +21,7 @@ declare const root: import("./types").WalletSyncDataManager<{
20
21
  accountNames: import("./types").UpdateDiff<{
21
22
  replaceAllNames: Record<string, string>;
22
23
  }>;
24
+ recentAddresses: import("./types").UpdateDiff<import("@ledgerhq/types-live").RecentAddressesState>;
23
25
  }, z.ZodObject<{
24
26
  accounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
25
27
  id: z.ZodString;
@@ -44,6 +46,16 @@ declare const root: import("./types").WalletSyncDataManager<{
44
46
  currencyId: string;
45
47
  }>, "many">>;
46
48
  accountNames: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
49
+ recentAddresses: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
50
+ address: z.ZodString;
51
+ index: z.ZodNumber;
52
+ }, "strip", z.ZodTypeAny, {
53
+ index: number;
54
+ address: string;
55
+ }, {
56
+ index: number;
57
+ address: string;
58
+ }>, "many">>>;
47
59
  }, "strip", z.ZodTypeAny, {
48
60
  accounts?: {
49
61
  index: number;
@@ -54,6 +66,10 @@ declare const root: import("./types").WalletSyncDataManager<{
54
66
  currencyId: string;
55
67
  }[] | undefined;
56
68
  accountNames?: Record<string, string> | undefined;
69
+ recentAddresses?: Record<string, {
70
+ index: number;
71
+ address: string;
72
+ }[]> | undefined;
57
73
  }, {
58
74
  accounts?: {
59
75
  index: number;
@@ -64,6 +80,10 @@ declare const root: import("./types").WalletSyncDataManager<{
64
80
  currencyId: string;
65
81
  }[] | undefined;
66
82
  accountNames?: Record<string, string> | undefined;
83
+ recentAddresses?: Record<string, {
84
+ index: number;
85
+ address: string;
86
+ }[]> | undefined;
67
87
  }>, {
68
88
  accounts?: {
69
89
  index: number;
@@ -74,6 +94,10 @@ declare const root: import("./types").WalletSyncDataManager<{
74
94
  currencyId: string;
75
95
  }[] | undefined;
76
96
  accountNames?: Record<string, string> | undefined;
97
+ recentAddresses?: Record<string, {
98
+ index: number;
99
+ address: string;
100
+ }[]> | undefined;
77
101
  }>;
78
102
  type Root = typeof root;
79
103
  export type LocalState = ExtractLocalState<Root>;
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/walletsync/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAc/E;;;;GAIG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4B,CAAC;AAEvC,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;AACxB,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACnD,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAE3C,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/walletsync/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgB/E;;;;GAIG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4B,CAAC;AAEvC,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;AACxB,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACnD,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAE3C,eAAe,IAAI,CAAC"}
@@ -8,9 +8,11 @@ const aggregator_1 = require("./aggregator");
8
8
  // New modules can be added over time, it's also possible to remove modules but don't replace modules because the schema of a field must not change.
9
9
  const accounts_1 = __importDefault(require("./modules/accounts"));
10
10
  const accountNames_1 = __importDefault(require("./modules/accountNames"));
11
+ const recentAddresses_1 = __importDefault(require("./modules/recentAddresses"));
11
12
  const modules = {
12
13
  accounts: accounts_1.default,
13
14
  accountNames: accountNames_1.default,
15
+ recentAddresses: recentAddresses_1.default,
14
16
  };
15
17
  /**
16
18
  * This is the root WalletSyncDataManager that manage the data as a whole
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/walletsync/root.ts"],"names":[],"mappings":";;;;;AAEA,6CAAgD;AAEhD,qEAAqE;AACrE,oJAAoJ;AAEpJ,kEAA0C;AAC1C,0EAAkD;AAElD,MAAM,OAAO,GAAG;IACd,QAAQ,EAAR,kBAAQ;IACR,YAAY,EAAZ,sBAAY;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,IAAI,GAAG,IAAA,6BAAgB,EAAC,OAAO,CAAC,CAAC;AAQvC,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/walletsync/root.ts"],"names":[],"mappings":";;;;;AAEA,6CAAgD;AAEhD,qEAAqE;AACrE,oJAAoJ;AAEpJ,kEAA0C;AAC1C,0EAAkD;AAClD,gFAAwD;AAExD,MAAM,OAAO,GAAG;IACd,QAAQ,EAAR,kBAAQ;IACR,YAAY,EAAZ,sBAAY;IACZ,eAAe,EAAf,yBAAe;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,IAAI,GAAG,IAAA,6BAAgB,EAAC,OAAO,CAAC,CAAC;AAQvC,kBAAe,IAAI,CAAC"}
package/lib-es/store.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * The Wallet store is a store that contains the user data related to accounts.
4
4
  * It essentially is the whole user's wallet.
5
5
  */
6
- import { Account, AccountLike, AccountRaw, AccountUserData } from "@ledgerhq/types-live";
6
+ import { Account, AccountLike, AccountRaw, AccountUserData, RecentAddressesState } from "@ledgerhq/types-live";
7
7
  import { AddAccountsAction } from "./addAccounts";
8
8
  import { DistantState } from "./walletsync";
9
9
  import { NonImportedAccountInfo } from "./walletsync/modules/accounts";
@@ -16,6 +16,7 @@ export type WalletState = {
16
16
  starredAccountIds: Set<string>;
17
17
  nonImportedAccountInfos: NonImportedAccountInfo[];
18
18
  walletSyncState: WSState;
19
+ recentAddresses: RecentAddressesState;
19
20
  };
20
21
  export type ExportedWalletState = {
21
22
  walletSyncState: WSState;
@@ -24,6 +25,7 @@ export type ExportedWalletState = {
24
25
  accountNames: Array<[string, string]>;
25
26
  starredAccountIds: string[];
26
27
  };
28
+ recentAddresses: RecentAddressesState;
27
29
  };
28
30
  export declare const initialState: WalletState;
29
31
  export declare enum WalletHandlerType {
@@ -34,7 +36,8 @@ export declare enum WalletHandlerType {
34
36
  ADD_ACCOUNTS = "ADD_ACCOUNTS",
35
37
  WALLET_SYNC_UPDATE = "WALLET_SYNC_UPDATE",
36
38
  IMPORT_WALLET_SYNC = "IMPORT_WALLET_SYNC",
37
- SET_NON_IMPORTED_ACCOUNTS = "SET_NON_IMPORTED_ACCOUNTS"
39
+ SET_NON_IMPORTED_ACCOUNTS = "SET_NON_IMPORTED_ACCOUNTS",
40
+ UPDATE_RECENT_ADDRESSES = "UPDATE_RECENT_ADDRESSES"
38
41
  }
39
42
  export type HandlersPayloads = {
40
43
  INIT_ACCOUNTS: {
@@ -59,6 +62,7 @@ export type HandlersPayloads = {
59
62
  };
60
63
  IMPORT_WALLET_SYNC: Partial<ExportedWalletState>;
61
64
  SET_NON_IMPORTED_ACCOUNTS: NonImportedAccountInfo[];
65
+ UPDATE_RECENT_ADDRESSES: RecentAddressesState;
62
66
  };
63
67
  type Handlers<State, Types, PreciseKey = true> = {
64
68
  [Key in keyof Types]: (state: State, body: {
@@ -108,6 +112,7 @@ export declare const importWalletState: (payload: Partial<ExportedWalletState>)
108
112
  accountNames: Array<[string, string]>;
109
113
  starredAccountIds: string[];
110
114
  } | undefined;
115
+ recentAddresses?: RecentAddressesState | undefined;
111
116
  };
112
117
  };
113
118
  export declare const walletSyncUpdate: (data: DistantState | null, version: number) => {
@@ -123,6 +128,10 @@ export declare const walletSyncUpdate: (data: DistantState | null, version: numb
123
128
  currencyId: string;
124
129
  }[] | undefined;
125
130
  accountNames?: Record<string, string> | undefined;
131
+ recentAddresses?: Record<string, {
132
+ index: number;
133
+ address: string;
134
+ }[]> | undefined;
126
135
  } | null;
127
136
  version: number;
128
137
  };
@@ -131,6 +140,10 @@ export declare const setNonImportedAccounts: (payload: NonImportedAccountInfo[])
131
140
  type: string;
132
141
  payload: NonImportedAccountInfo[];
133
142
  };
143
+ export declare const updateRecentAddresses: (payload: RecentAddressesState) => {
144
+ type: string;
145
+ payload: RecentAddressesState;
146
+ };
134
147
  export declare const accountNameSelector: (state: WalletState, { accountId }: {
135
148
  accountId: string;
136
149
  }) => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAExB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGlC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE/B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;IAGlD,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,oBAAoB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;IAClD,YAAY,EAAE;QACZ,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,eAAe,EAAE,oBAAoB,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAM1B,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;CACpD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAC5E,gBAAgB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,sBAAsB,EAAE;QAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAC9D,mBAAmB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7D,YAAY,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3C,kBAAkB,EAAE;QAClB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,kBAAkB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjD,yBAAyB,EAAE,sBAAsB,EAAE,CAAC;IACpD,uBAAuB,EAAE,oBAAoB,CAAC;CAC/C,CAAC;AAEF,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,IAAI;KAC9C,GAAG,IAAI,MAAM,KAAK,GAAG,CACpB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,UAAU,SAAS,IAAI,GAAG,GAAG,GAAG,MAAM,KAAK,CAAC,CAAA;KAAE,KAClE,KAAK;CACX,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,UAAU,GAAG,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;AAEpG,eAAO,MAAM,QAAQ,EAAE,cAqEtB,CAAC;AAIF,eAAO,MAAM,cAAc,cAAe,MAAM,QAAQ,MAAM;;;;;;CAG5D,CAAC;AAEH,eAAO,MAAM,eAAe,iBAAkB,IAAI,MAAM,EAAE,MAAM,CAAC;;;;;CAG/D,CAAC;AAEH,eAAO,MAAM,iBAAiB,cAAe,MAAM,WAAW,OAAO;;;;;;CAGnE,CAAC;AAEH,eAAO,MAAM,YAAY,aAAc,OAAO,EAAE,oBAAoB,eAAe,EAAE;;;;;;CAGnF,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,YAAa,QAAQ,mBAAmB,CAAC;;;;;;;;0BAlJrD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;+BAClB,MAAM,EAAE;;;;CA4J7B,CAAC;AAEH,eAAO,MAAM,gBAAgB,SAAU,YAAY,GAAG,IAAI,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;CAGzE,CAAC;AAEH,eAAO,MAAM,sBAAsB,YAAa,sBAAsB,EAAE;;;CAGtE,CAAC;AAEH,eAAO,MAAM,qBAAqB,YAAa,oBAAoB;;;CAGjE,CAAC;AAIH,eAAO,MAAM,mBAAmB,UACvB,WAAW;eACU,MAAM;MACjC,MAAM,GAAG,SAA8C,CAAC;AAE3D,eAAO,MAAM,8BAA8B,UAAW,WAAW,WAAW,WAAW,KAAG,MAClB,CAAC;AAEzE,eAAO,MAAM,wBAAwB,UAC5B,WAAW;eACU,MAAM;MACjC,OAAiD,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,UACjC,WAAW;aACM,OAAO;MAC9B,eAaF,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAS,UAAU,KAAG,eAkB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAAW,WAAW,KAAG,mBAQrD,CAAC;AAEH,eAAO,MAAM,6BAA6B,MAAO,WAAW,KAAK,WAAW,KAAG,OAQ9E,CAAC;AAEF,eAAO,MAAM,uBAAuB,UAAW,WAAW,KAAG,OAAgC,CAAC"}