@ledgerhq/cryptoassets 13.33.0-nightly.20251125074637 → 13.34.0-nightly.20251126023856

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.
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/cal-client/state-manager/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEnG,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;mCAJ9B;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAC6D,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,8BAA8B;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iBAAS,uBAAuB,CAC9B,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,IAAI,CAAC,EAAE,kBAAkB,GACxB,wBAAwB,CAY1B;AAED,iBAAS,gCAAgC,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAe5F;AAED,iBAAS,uCAAuC,CAAC,QAAQ,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAmB7F;AAED,eAAO,MAAM,eAAe;;;;;kKAuJ1B,CAAC;AAEH,eAAO,MACL,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAC7B,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GACrB,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GACpC,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GACzB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACQ,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAGrD,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,uCAAuC,GACxC,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/cal-client/state-manager/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,kBAAkB,EAAS,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEnG,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAAkC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,8BAA8B;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iBAAS,uBAAuB,CAC9B,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,IAAI,CAAC,EAAE,kBAAkB,GACxB,wBAAwB,CAY1B;AAED,iBAAS,gCAAgC,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAe5F;AAED,iBAAS,uCAAuC,CAAC,QAAQ,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAmB7F;AAgBD,eAAO,MAAM,eAAe;;;;;kKAgK1B,CAAC;AAEH,eAAO,MACL,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAC7B,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GACrB,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GACpC,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GACzB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACQ,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAGrD,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,uCAAuC,GACxC,CAAC"}
@@ -7,6 +7,7 @@ const live_env_1 = require("@ledgerhq/live-env");
7
7
  const types_1 = require("./types");
8
8
  const fields_1 = require("./fields");
9
9
  const api_token_converter_1 = require("../../api-token-converter");
10
+ const logs_1 = require("@ledgerhq/logs");
10
11
  const zod_1 = require("zod");
11
12
  /**
12
13
  * Zod schema for API response (array of tokens)
@@ -62,16 +63,19 @@ function validateAndTransformSingleTokenResponse(response) {
62
63
  return result;
63
64
  }
64
65
  exports.validateAndTransformSingleTokenResponse = validateAndTransformSingleTokenResponse;
66
+ const baseQueryWithRetry = (0, react_1.retry)((0, react_1.fetchBaseQuery)({
67
+ baseUrl: "",
68
+ prepareHeaders: headers => {
69
+ headers.set("Content-Type", "application/json");
70
+ headers.set("X-Ledger-Client-Version", (0, live_env_1.getEnv)("LEDGER_CLIENT_VERSION"));
71
+ return headers;
72
+ },
73
+ }), {
74
+ maxRetries: 3,
75
+ });
65
76
  exports.cryptoAssetsApi = (0, react_1.createApi)({
66
77
  reducerPath: "cryptoAssetsApi",
67
- baseQuery: (0, react_1.fetchBaseQuery)({
68
- baseUrl: "",
69
- prepareHeaders: headers => {
70
- headers.set("Content-Type", "application/json");
71
- headers.set("X-Ledger-Client-Version", (0, live_env_1.getEnv)("LEDGER_CLIENT_VERSION"));
72
- return headers;
73
- },
74
- }),
78
+ baseQuery: baseQueryWithRetry,
75
79
  tagTypes: [types_1.TokensDataTags.Tokens],
76
80
  endpoints: build => ({
77
81
  findTokenById: build.query({
@@ -164,6 +168,19 @@ exports.cryptoAssetsApi = (0, react_1.createApi)({
164
168
  };
165
169
  }
166
170
  },
171
+ async onQueryStarted(currencyId, { dispatch, queryFulfilled, getCacheEntry }) {
172
+ try {
173
+ const previousHash = getCacheEntry()?.data;
174
+ const { data: newHash } = await queryFulfilled;
175
+ if (previousHash && newHash && previousHash !== newHash) {
176
+ (0, logs_1.log)("cryptoassets", `Hash changed for currencyId ${currencyId}: ${previousHash} -> ${newHash}, evicting token cache`);
177
+ dispatch(exports.cryptoAssetsApi.util.invalidateTags([types_1.TokensDataTags.Tokens]));
178
+ }
179
+ }
180
+ catch {
181
+ // Query failed, skip eviction
182
+ }
183
+ },
167
184
  }),
168
185
  getTokensData: build.infiniteQuery({
169
186
  query: ({ pageParam, queryArg = {} }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cal-client/state-manager/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cal-client/state-manager/api.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@ export declare function useTokensData(params: GetTokensDataParams): {
3
3
  data: TokensDataWithPagination | undefined;
4
4
  isLoading: boolean;
5
5
  error: import("@reduxjs/toolkit").SerializedError | undefined;
6
- loadNext: (() => import("@reduxjs/toolkit/query").InfiniteQueryActionCreatorResult<import("@reduxjs/toolkit/query").InfiniteQueryDefinition<GetTokensDataParams, import("../state-manager/types").PageParam, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, import("../state-manager/types").TokensDataTags, TokensDataWithPagination, "cryptoAssetsApi", unknown>>) | undefined;
6
+ loadNext: (() => import("@reduxjs/toolkit/query").InfiniteQueryActionCreatorResult<import("@reduxjs/toolkit/query").InfiniteQueryDefinition<GetTokensDataParams, import("../state-manager/types").PageParam, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {} & import("@reduxjs/toolkit/query").RetryOptions, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, import("../state-manager/types").TokensDataTags, TokensDataWithPagination, "cryptoAssetsApi", unknown>>) | undefined;
7
7
  isSuccess: boolean;
8
8
  isError: boolean;
9
- refetch: () => import("@reduxjs/toolkit/query").InfiniteQueryActionCreatorResult<import("@reduxjs/toolkit/query").InfiniteQueryDefinition<GetTokensDataParams, import("../state-manager/types").PageParam, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, import("../state-manager/types").TokensDataTags, TokensDataWithPagination, "cryptoAssetsApi", unknown>>;
9
+ refetch: () => import("@reduxjs/toolkit/query").InfiniteQueryActionCreatorResult<import("@reduxjs/toolkit/query").InfiniteQueryDefinition<GetTokensDataParams, import("../state-manager/types").PageParam, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {} & import("@reduxjs/toolkit/query").RetryOptions, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, import("../state-manager/types").TokensDataTags, TokensDataWithPagination, "cryptoAssetsApi", unknown>>;
10
10
  };
11
11
  //# sourceMappingURL=useTokensData.d.ts.map
@@ -9,7 +9,7 @@ import type { ThunkDispatch } from "@reduxjs/toolkit";
9
9
  * Current version of the persistence format
10
10
  * Increment this when making breaking changes to the format
11
11
  */
12
- export declare const PERSISTENCE_VERSION = 1;
12
+ export declare const PERSISTENCE_VERSION = 2;
13
13
  /**
14
14
  * Serializable token format
15
15
  * This is TokenCurrency without the parentCurrency object (replaced by parentCurrencyId)
@@ -42,11 +42,13 @@ export interface PersistedTokenEntry {
42
42
  /**
43
43
  * Root persistence format with versioning
44
44
  */
45
- export interface PersistedTokens {
45
+ export interface PersistedCAL {
46
46
  /** Format version for migration handling */
47
47
  version: number;
48
48
  /** Array of persisted tokens */
49
49
  tokens: PersistedTokenEntry[];
50
+ /** Mapping of currencyId to X-Ledger-Commit hash */
51
+ hashes?: Record<string, string>;
50
52
  }
51
53
  /**
52
54
  * Converts TokenCurrency to serializable Raw format
@@ -69,18 +71,23 @@ export interface StateWithCryptoAssets {
69
71
  * Converts tokens to serializable format
70
72
  */
71
73
  export declare function extractTokensFromState(state: StateWithCryptoAssets): PersistedTokenEntry[];
74
+ /**
75
+ * Extracts hashes from getTokensSyncHash queries in RTK Query state
76
+ * Returns a mapping of currencyId to hash
77
+ */
78
+ export declare function extractHashesFromState(state: StateWithCryptoAssets): Record<string, string>;
79
+ /**
80
+ * Extracts all persisted data (tokens and hashes) from RTK Query state
81
+ * Returns a complete PersistedCAL object ready for serialization
82
+ */
83
+ export declare function extractPersistedCALFromState(state: StateWithCryptoAssets): PersistedCAL;
72
84
  /**
73
85
  * Filters out expired tokens based on TTL
74
86
  */
75
87
  export declare function filterExpiredTokens(tokens: PersistedTokenEntry[], ttl: number): PersistedTokenEntry[];
76
88
  /**
77
- * Restores tokens from persisted data to RTK Query cache
78
- * Uses upsertQueryEntries to insert final TokenCurrency values (no transformResponse)
79
- * Implements cross-caching: stores tokens by both ID and address
80
- *
81
- * @param dispatch - Redux dispatch function
82
- * @param tokens - Array of persisted token entries
83
- * @param ttl - Time-to-live in milliseconds (tokens older than this are skipped)
89
+ * Restores tokens from persisted data to RTK Query cache.
90
+ * Validates persisted hashes against current hashes and evicts cache if they differ.
84
91
  */
85
- export declare function restoreTokensToCache(dispatch: ThunkDispatch<any, any, any>, tokens: PersistedTokenEntry[], ttl: number): void;
92
+ export declare function restoreTokensToCache(dispatch: ThunkDispatch<any, any, any>, persistedData: PersistedCAL, ttl: number): Promise<void>;
86
93
  //# sourceMappingURL=persistence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/cal-client/persistence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,IAAI,EAAE,gBAAgB,CAAC;IACvB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CAazE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAoBrF;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;CAC3E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,EAAE,CAmC1F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,GAAG,EAAE,MAAM,GACV,mBAAmB,EAAE,CAavB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAElC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,GAAG,EAAE,MAAM,GACV,IAAI,CA8DN"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/cal-client/persistence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,IAAI,EAAE,gBAAgB,CAAC;IACvB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CAazE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,GAAG,SAAS,CAoBrF;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;CAC3E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,EAAE,CAoC1F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2B3F;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,CASvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,GAAG,EAAE,MAAM,GACV,mBAAmB,EAAE,CAavB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAExC,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtC,aAAa,EAAE,YAAY,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAgGf"}
@@ -9,7 +9,7 @@ import { cryptoAssetsApi } from "./state-manager/api";
9
9
  * Current version of the persistence format
10
10
  * Increment this when making breaking changes to the format
11
11
  */
12
- export const PERSISTENCE_VERSION = 1;
12
+ export const PERSISTENCE_VERSION = 2;
13
13
  /**
14
14
  * Converts TokenCurrency to serializable Raw format
15
15
  */
@@ -65,9 +65,9 @@ export function extractTokensFromState(state) {
65
65
  const tokens = [];
66
66
  const seenIds = new Set();
67
67
  // Extract tokens from fulfilled queries
68
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
68
  for (const [_queryKey, query] of Object.entries(rtkState.queries)) {
70
- if (query.status === "fulfilled" &&
69
+ if (query &&
70
+ query.status === "fulfilled" &&
71
71
  query.data &&
72
72
  (query.endpointName === "findTokenById" ||
73
73
  query.endpointName === "findTokenByAddressInCurrency")) {
@@ -85,6 +85,45 @@ export function extractTokensFromState(state) {
85
85
  log("persistence", `Extracted ${tokens.length} tokens from cache`);
86
86
  return tokens;
87
87
  }
88
+ /**
89
+ * Extracts hashes from getTokensSyncHash queries in RTK Query state
90
+ * Returns a mapping of currencyId to hash
91
+ */
92
+ export function extractHashesFromState(state) {
93
+ const rtkState = state[cryptoAssetsApi.reducerPath];
94
+ if (!rtkState || !rtkState.queries) {
95
+ return {};
96
+ }
97
+ const hashes = {};
98
+ // Extract hashes from fulfilled getTokensSyncHash queries
99
+ for (const [queryKey, query] of Object.entries(rtkState.queries)) {
100
+ if (query &&
101
+ query.status === "fulfilled" &&
102
+ query.endpointName === "getTokensSyncHash" &&
103
+ query.data &&
104
+ typeof query.data === "string") {
105
+ // Extract currencyId from query key (format: 'getTokensSyncHash("ethereum")')
106
+ const match = queryKey.match(/getTokensSyncHash\("([^"]+)"\)/);
107
+ if (match && match[1]) {
108
+ hashes[match[1]] = query.data;
109
+ }
110
+ }
111
+ }
112
+ return hashes;
113
+ }
114
+ /**
115
+ * Extracts all persisted data (tokens and hashes) from RTK Query state
116
+ * Returns a complete PersistedCAL object ready for serialization
117
+ */
118
+ export function extractPersistedCALFromState(state) {
119
+ const tokens = extractTokensFromState(state);
120
+ const hashes = extractHashesFromState(state);
121
+ return {
122
+ version: PERSISTENCE_VERSION,
123
+ tokens,
124
+ ...(Object.keys(hashes).length > 0 && { hashes }),
125
+ };
126
+ }
88
127
  /**
89
128
  * Filters out expired tokens based on TTL
90
129
  */
@@ -101,41 +140,62 @@ export function filterExpiredTokens(tokens, ttl) {
101
140
  return validTokens;
102
141
  }
103
142
  /**
104
- * Restores tokens from persisted data to RTK Query cache
105
- * Uses upsertQueryEntries to insert final TokenCurrency values (no transformResponse)
106
- * Implements cross-caching: stores tokens by both ID and address
107
- *
108
- * @param dispatch - Redux dispatch function
109
- * @param tokens - Array of persisted token entries
110
- * @param ttl - Time-to-live in milliseconds (tokens older than this are skipped)
143
+ * Restores tokens from persisted data to RTK Query cache.
144
+ * Validates persisted hashes against current hashes and evicts cache if they differ.
111
145
  */
112
- export function restoreTokensToCache(
146
+ export async function restoreTokensToCache(
113
147
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
- dispatch, tokens, ttl) {
115
- const validTokens = filterExpiredTokens(tokens, ttl);
148
+ dispatch, persistedData, ttl) {
149
+ const validTokens = filterExpiredTokens(persistedData.tokens, ttl);
116
150
  if (validTokens.length === 0) {
117
151
  log("persistence", "No valid tokens to restore");
118
152
  return;
119
153
  }
120
- // Build entries for upsertQueryEntries
121
- // Each token needs to be cached under both ID and address lookups
154
+ const tokensByCurrency = new Map();
155
+ for (const entry of validTokens) {
156
+ const currencyId = entry.data.parentCurrencyId;
157
+ if (!tokensByCurrency.has(currencyId)) {
158
+ tokensByCurrency.set(currencyId, []);
159
+ }
160
+ tokensByCurrency.get(currencyId).push(entry);
161
+ }
162
+ const currencyIdsToEvict = new Set();
163
+ const hashes = persistedData.hashes || {};
164
+ for (const currencyId of tokensByCurrency.keys()) {
165
+ const storedHash = hashes[currencyId];
166
+ if (!storedHash)
167
+ continue;
168
+ try {
169
+ const currentHashResult = await dispatch(cryptoAssetsApi.endpoints.getTokensSyncHash.initiate(currencyId, { forceRefetch: false }));
170
+ const currentHash = currentHashResult.data;
171
+ if (currentHash && currentHash !== storedHash) {
172
+ log("persistence", `Hash changed for currencyId ${currencyId}: ${storedHash} -> ${currentHash}, skipping restore`);
173
+ currencyIdsToEvict.add(currencyId);
174
+ }
175
+ }
176
+ catch (error) {
177
+ log("persistence", `Failed to validate hash for currencyId ${currencyId}, skipping restore`, error);
178
+ currencyIdsToEvict.add(currencyId);
179
+ }
180
+ }
181
+ const tokensToRestore = validTokens.filter(entry => !currencyIdsToEvict.has(entry.data.parentCurrencyId));
182
+ if (tokensToRestore.length === 0) {
183
+ log("persistence", "No tokens to restore after hash validation");
184
+ return;
185
+ }
122
186
  const entries = [];
123
187
  let skipped = 0;
124
- for (const entry of validTokens) {
125
- // Convert Raw format back to TokenCurrency
188
+ for (const entry of tokensToRestore) {
126
189
  const token = fromTokenCurrencyRaw(entry.data);
127
190
  if (!token) {
128
- // Conversion failed (e.g., parent currency not found), skip this token
129
191
  skipped++;
130
192
  continue;
131
193
  }
132
- // Cache by ID
133
194
  entries.push({
134
195
  endpointName: "findTokenById",
135
196
  arg: { id: token.id },
136
197
  value: token,
137
198
  });
138
- // Cross-cache by address (for findTokenByAddressInCurrency queries)
139
199
  entries.push({
140
200
  endpointName: "findTokenByAddressInCurrency",
141
201
  arg: {
@@ -145,10 +205,9 @@ dispatch, tokens, ttl) {
145
205
  value: token,
146
206
  });
147
207
  }
148
- // Dispatch single upsertQueryEntries action with all entries
149
208
  if (entries.length > 0) {
150
209
  dispatch(cryptoAssetsApi.util.upsertQueryEntries(entries));
151
210
  }
152
- log("persistence", `Restored ${validTokens.length - skipped} tokens to cache (${entries.length} entries, ${skipped} skipped)`);
211
+ log("persistence", `Restored ${tokensToRestore.length - skipped} tokens (${entries.length} entries, ${skipped} skipped, ${currencyIdsToEvict.size} currencies evicted)`);
153
212
  }
154
213
  //# sourceMappingURL=persistence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/cal-client/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/cal-client/persistence.ts"],"names":[],"mappings":"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"}