@warptoad/skinny-fat-imt-js 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CREATE2.md +218 -0
  2. package/README.md +47 -3
  3. package/create2-artifacts/FatIMTPoseidon2Read.create2.json +268 -0
  4. package/create2-artifacts/FatIMTPoseidon2WriteEvent.create2.json +320 -0
  5. package/create2-artifacts/FatIMTPoseidon2WriteStorage.create2.json +320 -0
  6. package/create2-artifacts/SkinnyIMTPoseidon2Read.create2.json +258 -0
  7. package/create2-artifacts/SkinnyIMTPoseidon2WriteEvent.create2.json +301 -0
  8. package/create2-artifacts/SkinnyIMTPoseidon2WriteStorage.create2.json +301 -0
  9. package/create2-artifacts/create2-salts.json +26 -0
  10. package/dist/Trees.d.ts +5 -68
  11. package/dist/Trees.d.ts.map +1 -1
  12. package/dist/Trees.js +78 -41
  13. package/dist/Trees.js.map +1 -1
  14. package/dist/abis.js +1 -1
  15. package/dist/abis.js.map +1 -1
  16. package/dist/create2/create2.d.ts +144 -0
  17. package/dist/create2/create2.d.ts.map +1 -0
  18. package/dist/create2/create2.js +436 -0
  19. package/dist/create2/create2.js.map +1 -0
  20. package/dist/create2/index.d.ts +4 -0
  21. package/dist/create2/index.d.ts.map +1 -0
  22. package/dist/create2/index.js +4 -0
  23. package/dist/create2/index.js.map +1 -0
  24. package/dist/create2/interfaces.d.ts +79 -0
  25. package/dist/create2/interfaces.d.ts.map +1 -0
  26. package/dist/create2/interfaces.js +6 -0
  27. package/dist/create2/interfaces.js.map +1 -0
  28. package/dist/create2/types.d.ts +73 -0
  29. package/dist/create2/types.d.ts.map +1 -0
  30. package/dist/create2/types.js +4 -0
  31. package/dist/create2/types.js.map +1 -0
  32. package/dist/eventScanning.d.ts.map +1 -1
  33. package/dist/eventScanning.js +2 -2
  34. package/dist/eventScanning.js.map +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/types.d.ts +71 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +12 -0
  42. package/dist/types.js.map +1 -0
  43. package/package.json +9 -2
  44. package/src/Trees.ts +101 -99
  45. package/src/abis.ts +1 -1
  46. package/src/create2/create2.ts +643 -0
  47. package/src/create2/index.ts +3 -0
  48. package/src/create2/interfaces.ts +69 -0
  49. package/src/create2/types.ts +88 -0
  50. package/src/eventScanning.ts +31 -28
  51. package/src/index.ts +1 -0
  52. package/src/types.ts +71 -0
@@ -0,0 +1,26 @@
1
+ {
2
+ "SkinnyIMTPoseidon2WriteStorage": [
3
+ "0x3ce127adf55183c743373137b151460fc2f05087529d8c70d6a5f5110011df28",
4
+ "0x00000066C760D24272a9E8A424EF7233A0F0da83"
5
+ ],
6
+ "SkinnyIMTPoseidon2WriteEvent": [
7
+ "0xcbbf4b0df8125207a652617004b506a9ab4430f34bd11e7814d3289f0001e0a2",
8
+ "0x000000D74387530f88b9Cf1A23CDf16fdDC01bf6"
9
+ ],
10
+ "SkinnyIMTPoseidon2Read": [
11
+ "0x304ec0c111fe357db1ed267c936c4dd83ea6c7dd3eebf4ddfd0ce78500254d34",
12
+ "0x000000A3a94867DD396753dEFABF989246211329"
13
+ ],
14
+ "FatIMTPoseidon2WriteStorage": [
15
+ "0x32733a2cb6028c9735f6ccf4b1b42091c8d3ad2a7fdad1314bdda3bd000a608b",
16
+ "0x000000F35EFB6F537d3663CF263c04f467f48c73"
17
+ ],
18
+ "FatIMTPoseidon2WriteEvent": [
19
+ "0x2efdf181e7bc92ea2f1b7e1dac5d5c8976d08ab8a6be054b7b67700f0015bc6a",
20
+ "0x00000012de70B336818C26517A4B2d7c0B949C7b"
21
+ ],
22
+ "FatIMTPoseidon2Read": [
23
+ "0xae36f85b3a0030ff07fdae9541ddf1d5bd9314981328761b9d2c66d00021ba73",
24
+ "0x000000FF3329863F1Eb55773aDEF018637913709"
25
+ ]
26
+ }
package/dist/Trees.d.ts CHANGED
@@ -1,31 +1,11 @@
1
1
  import { LeanIMT, type LeanIMTHashFunction } from "@zk-kit/lean-imt";
2
- import { type Abi, type AbiEvent, type Address, type GetContractReturnType, type Hex, type PublicClient } from "viem";
2
+ import { type Address, type Hex, type PublicClient } from "viem";
3
3
  import { type PostQueryEventFilter } from "./eventScanning.js";
4
4
  import { skinnyStorageAbi, skinnyEventAbi, fatStorageAbi, fatEventAbi, iimtEventsAbi } from "./abis.js";
5
+ import { TREE_TYPE } from "./types.js";
6
+ import type { AnyContract, CachedTree, ReadableContract, ReadableEvent, ReadonlyCachedTree, SyncState } from "./types.js";
5
7
  export { skinnyStorageAbi, skinnyEventAbi, fatStorageAbi, fatEventAbi, iimtEventsAbi };
6
- export type AnyContract = {
7
- address: Address;
8
- abi: Abi;
9
- read: Record<string, (...args: any[]) => Promise<any>>;
10
- };
11
- type ReadableStorageAbi = readonly [
12
- ...typeof skinnyStorageAbi,
13
- ...typeof fatStorageAbi
14
- ];
15
- type ReadableEventAbi = readonly [
16
- ...typeof skinnyEventAbi,
17
- ...typeof fatEventAbi,
18
- ...typeof iimtEventsAbi
19
- ];
20
- type ReadableAbi = readonly [...ReadableStorageAbi, ...ReadableEventAbi];
21
- /**
22
- * A single event *entry* of the contract abi, by name. `EventLog`/`PostQueryEventFilter` want one
23
- * AbiEvent, not a whole abi, and this is the exact same thing `queryEventInChunks` infers for
24
- * `eventName`, so filters typed with it line up with the query they're passed to.
25
- */
26
- export type ReadableEvent<TName extends string> = Extract<ReadableAbi[number], AbiEvent & {
27
- name: TName;
28
- }>;
8
+ export * from "./types.js";
29
9
  export declare const readableStorageAbi: [{
30
10
  readonly inputs: readonly [];
31
11
  readonly name: "NotInitialized";
@@ -574,39 +554,13 @@ export declare const readableEventAbi: [{
574
554
  readonly name: "UpdatedLeaf";
575
555
  readonly type: "event";
576
556
  }];
577
- export type ReadableContract = GetContractReturnType<ReadableAbi, PublicClient>;
578
- export type ReadableContractStorage = GetContractReturnType<ReadableStorageAbi, PublicClient>;
579
- export type ReadableContractEvent = GetContractReturnType<ReadableEventAbi, PublicClient>;
580
- export type ReadableContractSkinnyEvent = GetContractReturnType<typeof skinnyEventAbi, PublicClient>;
581
- export type ReadableContractSkinnyStorage = GetContractReturnType<typeof skinnyStorageAbi, PublicClient>;
582
- export type ReadableContractFatEvent = GetContractReturnType<typeof fatEventAbi, PublicClient>;
583
- export type ReadableContractFatStorage = GetContractReturnType<typeof fatStorageAbi, PublicClient>;
584
557
  export declare const ERC165_IDS: {
585
558
  readonly skinnyEvent: `0x${string}`;
586
559
  readonly skinnyStorage: `0x${string}`;
587
560
  readonly fatEvent: `0x${string}`;
588
561
  readonly fatStorage: `0x${string}`;
589
562
  };
590
- export declare enum TREE_TYPE {
591
- UNKNOWN = 0,
592
- FAT_STORAGE = 1,
593
- FAT_EVENT = 2,
594
- SKINNY_STORAGE = 3,
595
- SKINNY_EVENT = 4,
596
- NO_INTERFACE = 5
597
- }
598
563
  export declare const LeanIMTHashFuncPoseidon2: LeanIMTHashFunction;
599
- export type CachedTree = {
600
- tree: LeanIMT<bigint>;
601
- type: TREE_TYPE;
602
- lastSynced: bigint;
603
- insertOnlyTree?: boolean;
604
- };
605
- /** A {@link LeanIMT} without the four methods that mutate it. `leaves` already hands back a copy. */
606
- export type ReadonlyLeanIMT = Omit<LeanIMT<bigint>, "insert" | "insertMany" | "update" | "updateMany">;
607
- export type ReadonlyCachedTree = Readonly<Omit<CachedTree, "tree"> & {
608
- tree: ReadonlyLeanIMT;
609
- }>;
610
564
  /**
611
565
  * A detached LeanIMT holding the same leaves *and* internal nodes as `tree`, so it can be grown
612
566
  * without touching the original. Copies the nodes rather than replaying the leaves on purpose:
@@ -681,7 +635,7 @@ export declare class Trees {
681
635
  }>;
682
636
  getContract(): Promise<ReadableContract>;
683
637
  getOldestSyncTreeId(treeIds: Hex[]): Hex;
684
- getOldestSyncBlock(treeIds: bigint[]): bigint;
638
+ getOldestSyncBlock(treeIds: bigint[], chainId: number): bigint;
685
639
  getTreeType(treeId: Hex, chainId: number): Promise<TREE_TYPE>;
686
640
  getLeavesStorage(treeId: Hex, chainId: number, startIndex: bigint, endIndex: bigint, blockNumber: bigint): Promise<readonly bigint[]>;
687
641
  getTreeSizeStorage(treeId: Hex, chainId: number, blockNumber: bigint): Promise<bigint>;
@@ -690,23 +644,6 @@ export declare class Trees {
690
644
  private initTreeCached;
691
645
  }
692
646
  export declare function identifyTree(treeId: bigint, contract: AnyContract): Promise<TREE_TYPE>;
693
- type SyncState = {
694
- lastBlockSynced: bigint;
695
- unsyncedIds: Set<Hex>;
696
- treeCache: {
697
- [treeId: Hex]: CachedTree;
698
- };
699
- treeState: {
700
- [treeId: Hex]: {
701
- expectedRoot: bigint;
702
- tree?: LeanIMT<bigint>;
703
- leaves: bigint[];
704
- count: bigint;
705
- targetSize: bigint;
706
- lastSynced: bigint;
707
- };
708
- };
709
- };
710
647
  type IMTEventFilter = PostQueryEventFilter<ReadableEvent<"NewRoot" | "NewLeaf" | "UpdatedLeaf" | "RepeatedLeafs">>;
711
648
  export declare function getEventFilter(firstBlock: bigint, syncState: SyncState, { autoDiscover, syncToRoot, attemptFastSizeMatch, hashFunc }?: {
712
649
  hashFunc?: LeanIMTHashFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"Trees.d.ts","sourceRoot":"","sources":["../src/Trees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Trees.d.ts","sourceRoot":"","sources":["../src/Trees.ts"],"names":[],"mappings":"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"}
package/dist/Trees.js CHANGED
@@ -3,7 +3,7 @@ import { poseidon2Hash } from "@zkpassport/poseidon2";
3
3
  import { getContract, toHex } from "viem";
4
4
  import { getInterfaceId, supportsInterface } from "./interfaceId.js";
5
5
  import { minBigInt, queryMultiEventsInChunks } from "./eventScanning.js";
6
- // ABIs baked out of the hardhat artifacts by `scripts/genAbis.mjs` — `as const` tuples, so viem
6
+ // ABIs baked out of the hardhat artifacts by `scripts/genAbis.ts` — `as const` tuples, so viem
7
7
  // infers exactly what the generated `*$Type["abi"]` used to give us, without the published
8
8
  // typings depending on hardhat. Regenerate with `pnpm compile`.
9
9
  //
@@ -11,7 +11,10 @@ import { minBigInt, queryMultiEventsInChunks } from "./eventScanning.js";
11
11
  // directly from each interface — no need to diff the full contract ABIs.
12
12
  import { skinnyStorageAbi, skinnyEventAbi, fatStorageAbi, fatEventAbi, iimtEventsAbi, iSkinnyEventAbi, iSkinnyStorageAbi, iFatEventAbi, iFatStorageAbi, } from "./abis.js";
13
13
  import { DEPLOY_BLOCK, getDeploymentBlock } from "./config.js";
14
+ import { TREE_TYPE } from "./types.js";
14
15
  export { skinnyStorageAbi, skinnyEventAbi, fatStorageAbi, fatEventAbi, iimtEventsAbi };
16
+ // Re-exported so `./Trees.js` stays a single import point for the tree API and its types.
17
+ export * from "./types.js";
15
18
  export const readableStorageAbi = [
16
19
  ...skinnyStorageAbi,
17
20
  ...fatStorageAbi,
@@ -27,15 +30,6 @@ export const ERC165_IDS = {
27
30
  fatEvent: getInterfaceId(iFatEventAbi),
28
31
  fatStorage: getInterfaceId(iFatStorageAbi, [iFatEventAbi]),
29
32
  };
30
- export var TREE_TYPE;
31
- (function (TREE_TYPE) {
32
- TREE_TYPE[TREE_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
33
- TREE_TYPE[TREE_TYPE["FAT_STORAGE"] = 1] = "FAT_STORAGE";
34
- TREE_TYPE[TREE_TYPE["FAT_EVENT"] = 2] = "FAT_EVENT";
35
- TREE_TYPE[TREE_TYPE["SKINNY_STORAGE"] = 3] = "SKINNY_STORAGE";
36
- TREE_TYPE[TREE_TYPE["SKINNY_EVENT"] = 4] = "SKINNY_EVENT";
37
- TREE_TYPE[TREE_TYPE["NO_INTERFACE"] = 5] = "NO_INTERFACE";
38
- })(TREE_TYPE || (TREE_TYPE = {}));
39
33
  export const LeanIMTHashFuncPoseidon2 = (a, b) => poseidon2Hash([a, b]);
40
34
  /**
41
35
  * A detached LeanIMT holding the same leaves *and* internal nodes as `tree`, so it can be grown
@@ -82,14 +76,24 @@ export class Trees {
82
76
  if (autoDiscovery && fullNodeMode) {
83
77
  throw new Error(`auto treeId discovery not supported in fullNodeMode, please provide treeIds to sync. Or turn off fullNodeMode: \`Trees.sync([],{fullNodeMode:false})\``);
84
78
  }
79
+ // TODO if fullNode mode is on but one treeType is event only, it breaks. But it should still try and only warn it is scanning more then 1 year of events if it actually needs to
85
80
  if (fullNodeMode) {
86
81
  syncedTrees = await this.syncTreesStorage(treeIds, { chunkSize: storageChunkSize, attemptFastSizeMatch, blockNumber });
87
82
  // syncing to a specific root is not possible with pure storage, so we sync with storage first
88
83
  // then syncTreesEvent will look for the root and try to trim off the leaves that happened after the root we want
89
84
  // in tree with only inserts this will work and will allows us to get any tree that is up to 1 year old
90
85
  // if there are updates or resets, currently syncTreesEvent will have to go down till it found all leaves
86
+ // TODO optimize the syncToRoot + fullNodeMode case. The storage read above already has every leaf
87
+ // at head, so the event pass only needs the update events between head and the NewRoot we want:
88
+ // replay those backwards onto the storage tree (and shrink it, which it already does) and stop at
89
+ // that NewRoot, instead of being free to walk all the way down to the deployment block.
90
+ // Until that lands, a caller after a specific root is better off with fullNodeMode: false.
91
+ // TODO
91
92
  if (syncToRoot !== undefined) {
92
- syncedTrees = await this.syncTreesEvent(treeIds, { blockNumber, attemptFastSizeMatch, syncToRoot, chunkSize: eventChunkSize, insertOnlyTree, autoDiscovery, hasRepeatedLeafs });
93
+ const someNotSynced = treeIds?.some((v) => syncedTrees[toHex(v)].tree.root !== syncToRoot);
94
+ if (someNotSynced) {
95
+ syncedTrees = await this.syncTreesEvent(treeIds, { blockNumber, attemptFastSizeMatch, syncToRoot, chunkSize: eventChunkSize, insertOnlyTree, autoDiscovery, hasRepeatedLeafs });
96
+ }
93
97
  }
94
98
  }
95
99
  else {
@@ -118,9 +122,9 @@ export class Trees {
118
122
  const treeIdsHex = treeIds.map((id) => toHex(id));
119
123
  const chainId = await this.publicClient.getChainId();
120
124
  const cachedTrees = treeIdsHex.filter((id) => this._cache[id] !== undefined && this._cache[id].tree.size > 0);
121
- if (attemptFastSizeMatch === false && cachedTrees.length > 0) {
122
- console.warn(`treeIds:${cachedTrees} where found in cache from a previous sync. But attemptFastSizeMatch=false so this cache is not tried and every leaf is read again. The attempt is checked against the onchain root, so it can't cache a wrong tree, it only costs a re-read when it doesn't hold.`);
123
- }
125
+ // if (attemptFastSizeMatch === false && cachedTrees.length > 0) {
126
+ // console.warn(`treeIds:${cachedTrees} where found in cache from a previous sync. But attemptFastSizeMatch=false so this cache is not tried and every leaf is read again. The attempt is checked against the onchain root, so it can't cache a wrong tree, it only costs a re-read when it doesn't hold.`)
127
+ // }
124
128
  const identifiedTreesEnt = await Promise.all(treeIdsHex.map(async (id) => [id, await this.getTreeType(id, chainId)]));
125
129
  const unsupportedTypes = [TREE_TYPE.NO_INTERFACE, TREE_TYPE.UNKNOWN, TREE_TYPE.SKINNY_EVENT];
126
130
  const unsupportedTrees = identifiedTreesEnt.filter(([id, type]) => unsupportedTypes.includes(type));
@@ -134,6 +138,8 @@ export class Trees {
134
138
  blockNumber ??= (await this.publicClient.getBlock({ blockTag: "safe" })).number;
135
139
  const syncedTrees = {};
136
140
  for (const treeId of treeIdsHex) {
141
+ // we could check early if cache.root === onchainRoot
142
+ // but not doing it yet because that only really saves one rpc call from the getTreeSizeStorage
137
143
  const targetSize = await this.getTreeSizeStorage(treeId, chainId, blockNumber);
138
144
  const onchainRoot = await this.getRootStorage(treeId, chainId, blockNumber);
139
145
  const cached = this._cache[treeId];
@@ -238,27 +244,51 @@ export class Trees {
238
244
  // in discovery we go all the way down, if treeIds are provided, we go down till all them are synced
239
245
  // if all of them are synced before, we don't sync all leaves, just those who happened after the most out of date tree was synced at
240
246
  // when looking for a specific root we need to also go down to the lowest block since the root might be older then the last sync
241
- const oldestBlock = discoverAllIds || syncToRoot !== undefined ? BigInt(getDeploymentBlock(chainId)) : this.getOldestSyncBlock(treeIds);
247
+ const oldestBlock = discoverAllIds || syncToRoot !== undefined ? BigInt(getDeploymentBlock(chainId)) : this.getOldestSyncBlock(treeIds, chainId);
242
248
  const syncState = { treeCache: this._cache, treeState: {}, lastBlockSynced: newestBlock, unsyncedIds: new Set(treeIds.map((id) => toHex(id))) };
249
+ // check if something is already synced in cache, so we don't waste time looking for a NewRoot tx
250
+ for (const id of syncState.unsyncedIds) {
251
+ const cachedTree = syncState.treeCache[id] && syncState.treeCache[id];
252
+ // TODO we can also support this if we instead look for that NewRoot event instead of eth_Call lookup, but then we need to store the block number of the last NewRoot event we found in the cached tree, so we can O(1) find `NewRoot event at block: X`
253
+ const hasGetRoot = cachedTree && [TREE_TYPE.UNKNOWN, TREE_TYPE.NO_INTERFACE].includes(cachedTree.type) === false;
254
+ if (hasGetRoot) {
255
+ const expectedRoot = syncToRoot ?? await this.getRootStorage(id, chainId, newestBlock);
256
+ if (syncState.treeCache[id] && syncState.treeCache[id].tree.root === expectedRoot) {
257
+ syncState.unsyncedIds.delete(id);
258
+ // not "syncingToRoot"? or lastSynced is more recent then "newestBlock". Keep lastSynced
259
+ cachedTree.lastSynced = syncToRoot !== undefined || cachedTree.lastSynced > newestBlock ? cachedTree.lastSynced : newestBlock;
260
+ syncState.treeState[id] = {
261
+ expectedRoot: expectedRoot,
262
+ tree: syncState.treeCache[id].tree,
263
+ leaves: [],
264
+ count: 0n,
265
+ targetSize: BigInt(syncState.treeCache[id].tree.size),
266
+ lastSynced: cachedTree.lastSynced
267
+ };
268
+ }
269
+ }
270
+ }
243
271
  const insertEvents = hasRepeatedLeafs ? ["NewLeaf", "RepeatedLeafs"] : ["NewLeaf"];
244
272
  const leafEvents = insertOnlyTree ? insertEvents : ["UpdatedLeaf", ...insertEvents];
245
- do {
246
- const foundAllRoots = syncState.unsyncedIds.size === 0 && syncToRoot === undefined && discoverAllIds == false;
247
- await queryMultiEventsInChunks({
248
- publicClient: this.publicClient,
249
- contract: await this.getContract(),
250
- eventNames: foundAllRoots ? leafEvents : ["NewRoot", ...leafEvents],
251
- // only our treeIds. treeId is the 1st indexed param of NewRoot, an array means "any of these"
252
- sharedEventFilterArgs: discoverAllIds ? undefined : { treeId: [...syncState.unsyncedIds].map((id) => BigInt(id)) },
253
- firstBlock: oldestBlock,
254
- lastBlock: syncState.lastBlockSynced,
255
- reverseOrder: true,
256
- maxEvents: Infinity,
257
- chunkSize: chunkSize,
258
- // if we need all treeIds?
259
- postQueryFilter: getEventFilter(oldestBlock, syncState, { hashFunc: this.hashFunc, attemptFastSizeMatch: attemptFastSizeMatch, autoDiscover: discoverAllIds, syncToRoot: syncToRoot })
260
- });
261
- } while (syncState.unsyncedIds.size > 0 && syncState.lastBlockSynced > oldestBlock);
273
+ if (discoverAllIds || syncState.unsyncedIds.size > 0) {
274
+ do {
275
+ const foundAllRoots = syncState.unsyncedIds.size === 0 && syncToRoot === undefined && discoverAllIds == false;
276
+ await queryMultiEventsInChunks({
277
+ publicClient: this.publicClient,
278
+ contract: await this.getContract(),
279
+ eventNames: foundAllRoots ? leafEvents : ["NewRoot", ...leafEvents],
280
+ // only our treeIds. treeId is the 1st indexed param of NewRoot, an array means "any of these"
281
+ sharedEventFilterArgs: discoverAllIds ? undefined : { treeId: [...syncState.unsyncedIds].map((id) => BigInt(id)) },
282
+ firstBlock: oldestBlock,
283
+ lastBlock: syncState.lastBlockSynced,
284
+ reverseOrder: true,
285
+ maxEvents: Infinity,
286
+ chunkSize: chunkSize,
287
+ // if we need all treeIds?
288
+ postQueryFilter: getEventFilter(oldestBlock, syncState, { hashFunc: this.hashFunc, attemptFastSizeMatch: attemptFastSizeMatch, autoDiscover: discoverAllIds, syncToRoot: syncToRoot })
289
+ });
290
+ } while (syncState.unsyncedIds.size > 0 && syncState.lastBlockSynced > oldestBlock);
291
+ }
262
292
  // cache the tree, or update the new/updated leafs of an existing cache tree.
263
293
  const syncedTrees = {};
264
294
  const allTreeIds = new Set([...treeIds.map((id) => toHex(id)), ...Object.keys(syncState.treeState)]);
@@ -304,8 +334,8 @@ export class Trees {
304
334
  };
305
335
  }
306
336
  else if (canMerge) {
307
- // @notice mutates the cached tree in place, so `synced` *is* the cache entry and the
308
- // isNotOld check below can no longer keep it out. See canMerge above.
337
+ // @notice merges into a copy, never cacheTree.tree itself. otherwise a throw at the root check below.
338
+ // can leave the cache with a invalid tree
309
339
  const updatedIndexes = [];
310
340
  const updatedLeaves = [];
311
341
  const newLeafs = [];
@@ -318,12 +348,19 @@ export class Trees {
318
348
  newLeafs.push(leaf);
319
349
  }
320
350
  });
321
- cacheTree.tree.updateMany(updatedIndexes, updatedLeaves);
351
+ const merged = copyTree(cacheTree.tree, this.hashFunc);
352
+ if (updatedIndexes.length > 0) {
353
+ merged.updateMany(updatedIndexes, updatedLeaves);
354
+ }
322
355
  if (newLeafs.length > 0) {
323
- cacheTree.tree.insertMany(newLeafs);
356
+ merged.insertMany(newLeafs);
324
357
  }
325
- cacheTree.lastSynced = newSyncState.lastSynced;
326
- synced = cacheTree;
358
+ synced = {
359
+ tree: merged,
360
+ type: cacheTree.type,
361
+ lastSynced: newSyncState.lastSynced,
362
+ insertOnlyTree: cacheTree.insertOnlyTree
363
+ };
327
364
  }
328
365
  else {
329
366
  // cached tree does not exist or synced tree is smaller and newSyncState.leaves is complete
@@ -399,9 +436,9 @@ export class Trees {
399
436
  }
400
437
  return oldest;
401
438
  }
402
- getOldestSyncBlock(treeIds) {
439
+ getOldestSyncBlock(treeIds, chainId) {
403
440
  const oldestTree = this._cache[this.getOldestSyncTreeId(treeIds.map((id) => toHex(id)))];
404
- return oldestTree ? oldestTree.lastSynced : 0n;
441
+ return oldestTree ? oldestTree.lastSynced : BigInt(DEPLOY_BLOCK[chainId]);
405
442
  }
406
443
  async getTreeType(treeId, chainId) {
407
444
  return (await this.initTreeCached(treeId, chainId)).type;
@@ -538,7 +575,7 @@ export function getEventFilter(firstBlock, syncState, { autoDiscover, syncToRoot
538
575
  const trimmedTree = new LeanIMT(hashFunc, trimmed);
539
576
  const endTime = performance.now();
540
577
  if (event.args.root === trimmedTree.root) {
541
- console.log(`success full trim on treeId: ${treeId}`);
578
+ //console.log(`success full trim on treeId: ${treeId}`)
542
579
  syncState.treeState[treeId] = {
543
580
  leaves: [],
544
581
  count: 0n,
package/dist/Trees.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Trees.js","sourceRoot":"","sources":["../src/Trees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Trees.js","sourceRoot":"","sources":["../src/Trees.ts"],"names":[],"mappings":"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"}
package/dist/abis.js CHANGED
@@ -1,4 +1,4 @@
1
- // AUTOGENERATED by scripts/genAbis.mjs — do not edit by hand.
1
+ // AUTOGENERATED by scripts/genAbis.ts — do not edit by hand.
2
2
  // Regenerate with `pnpm gen:abis` after changing the contracts.
3
3
  /** ABI of `SkinnyIMTReadableStorage`. */
4
4
  export const skinnyStorageAbi = [
package/dist/abis.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abis.js","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abis.js","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"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"}