@aztec/kv-store 0.84.0-nightly.20250410 → 0.84.0-nightly.20250413

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,5 +1,3 @@
1
- import type { L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from '@aztec/stdlib/block';
2
1
  export * from './l2_tips_store.js';
3
- export * from './l2_tips_memory_store.js';
4
- export type L2TipsStore = L2BlockStreamEventHandler & L2BlockStreamLocalDataProvider;
2
+ export { L2TipsMemoryStore, type L2TipsStore } from '@aztec/stdlib/block';
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErG,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG,yBAAyB,GAAG,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export * from './l2_tips_store.js';
2
- export * from './l2_tips_memory_store.js';
2
+ export { L2TipsMemoryStore } from '@aztec/stdlib/block';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/kv-store",
3
- "version": "0.84.0-nightly.20250410",
3
+ "version": "0.84.0-nightly.20250413",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/interfaces/index.js",
@@ -25,10 +25,10 @@
25
25
  "./package.local.json"
26
26
  ],
27
27
  "dependencies": {
28
- "@aztec/ethereum": "0.84.0-nightly.20250410",
29
- "@aztec/foundation": "0.84.0-nightly.20250410",
30
- "@aztec/native": "0.84.0-nightly.20250410",
31
- "@aztec/stdlib": "0.84.0-nightly.20250410",
28
+ "@aztec/ethereum": "0.84.0-nightly.20250413",
29
+ "@aztec/foundation": "0.84.0-nightly.20250413",
30
+ "@aztec/native": "0.84.0-nightly.20250413",
31
+ "@aztec/stdlib": "0.84.0-nightly.20250413",
32
32
  "idb": "^8.0.0",
33
33
  "lmdb": "^3.2.0",
34
34
  "msgpackr": "^1.11.2",
@@ -1,6 +1,3 @@
1
- import type { L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from '@aztec/stdlib/block';
2
-
3
1
  export * from './l2_tips_store.js';
4
- export * from './l2_tips_memory_store.js';
5
2
 
6
- export type L2TipsStore = L2BlockStreamEventHandler & L2BlockStreamLocalDataProvider;
3
+ export { L2TipsMemoryStore, type L2TipsStore } from '@aztec/stdlib/block';
@@ -1,3 +0,0 @@
1
- import type { L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from '@aztec/stdlib/block';
2
- export type L2TipsStore = L2BlockStreamEventHandler & L2BlockStreamLocalDataProvider;
3
- //# sourceMappingURL=interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/stores/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErG,MAAM,MAAM,WAAW,GAAG,yBAAyB,GAAG,8BAA8B,CAAC"}
@@ -1 +0,0 @@
1
- export { };
@@ -1,12 +0,0 @@
1
- import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider, L2Tips } from '@aztec/stdlib/block';
2
- /** Stores currently synced L2 tips and unfinalized block hashes. */
3
- export declare class L2TipsMemoryStore implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
4
- private readonly l2TipsStore;
5
- private readonly l2BlockHashesStore;
6
- getL2BlockHash(number: number): Promise<string | undefined>;
7
- getL2Tips(): Promise<L2Tips>;
8
- private getL2Tip;
9
- handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
10
- private saveTag;
11
- }
12
- //# sourceMappingURL=l2_tips_memory_store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"l2_tips_memory_store.d.ts","sourceRoot":"","sources":["../../src/stores/l2_tips_memory_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAE9B,MAAM,EACP,MAAM,qBAAqB,CAAC;AAE7B,oEAAoE;AACpE,qBAAa,iBAAkB,YAAW,yBAAyB,EAAE,8BAA8B;IACjG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkC;IAE9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI3D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAQnC,OAAO,CAAC,QAAQ;IAaH,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7E,OAAO,CAAC,OAAO;CAMhB"}
@@ -1,64 +0,0 @@
1
- /** Stores currently synced L2 tips and unfinalized block hashes. */ export class L2TipsMemoryStore {
2
- l2TipsStore = new Map();
3
- l2BlockHashesStore = new Map();
4
- getL2BlockHash(number) {
5
- return Promise.resolve(this.l2BlockHashesStore.get(number));
6
- }
7
- getL2Tips() {
8
- return Promise.resolve({
9
- latest: this.getL2Tip('latest'),
10
- finalized: this.getL2Tip('finalized'),
11
- proven: this.getL2Tip('proven')
12
- });
13
- }
14
- getL2Tip(tag) {
15
- const blockNumber = this.l2TipsStore.get(tag);
16
- if (blockNumber === undefined || blockNumber === 0) {
17
- return {
18
- number: 0,
19
- hash: undefined
20
- };
21
- }
22
- const blockHash = this.l2BlockHashesStore.get(blockNumber);
23
- if (!blockHash) {
24
- throw new Error(`Block hash not found for block number ${blockNumber}`);
25
- }
26
- return {
27
- number: blockNumber,
28
- hash: blockHash
29
- };
30
- }
31
- async handleBlockStreamEvent(event) {
32
- switch(event.type){
33
- case 'blocks-added':
34
- {
35
- const blocks = event.blocks.map((b)=>b.block);
36
- for (const block of blocks){
37
- this.l2BlockHashesStore.set(block.number, (await block.header.hash()).toString());
38
- }
39
- this.l2TipsStore.set('latest', blocks.at(-1).number);
40
- break;
41
- }
42
- case 'chain-pruned':
43
- this.saveTag('latest', event.block);
44
- break;
45
- case 'chain-proven':
46
- this.saveTag('proven', event.block);
47
- break;
48
- case 'chain-finalized':
49
- this.saveTag('finalized', event.block);
50
- for (const key of this.l2BlockHashesStore.keys()){
51
- if (key < event.block.number) {
52
- this.l2BlockHashesStore.delete(key);
53
- }
54
- }
55
- break;
56
- }
57
- }
58
- saveTag(name, block) {
59
- this.l2TipsStore.set(name, block.number);
60
- if (block.hash) {
61
- this.l2BlockHashesStore.set(block.number, block.hash);
62
- }
63
- }
64
- }
@@ -1,3 +0,0 @@
1
- import type { L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from '@aztec/stdlib/block';
2
-
3
- export type L2TipsStore = L2BlockStreamEventHandler & L2BlockStreamLocalDataProvider;
@@ -1,73 +0,0 @@
1
- import type {
2
- L2BlockId,
3
- L2BlockStreamEvent,
4
- L2BlockStreamEventHandler,
5
- L2BlockStreamLocalDataProvider,
6
- L2BlockTag,
7
- L2Tips,
8
- } from '@aztec/stdlib/block';
9
-
10
- /** Stores currently synced L2 tips and unfinalized block hashes. */
11
- export class L2TipsMemoryStore implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
12
- private readonly l2TipsStore: Map<L2BlockTag, number> = new Map();
13
- private readonly l2BlockHashesStore: Map<number, string> = new Map();
14
-
15
- public getL2BlockHash(number: number): Promise<string | undefined> {
16
- return Promise.resolve(this.l2BlockHashesStore.get(number));
17
- }
18
-
19
- public getL2Tips(): Promise<L2Tips> {
20
- return Promise.resolve({
21
- latest: this.getL2Tip('latest'),
22
- finalized: this.getL2Tip('finalized'),
23
- proven: this.getL2Tip('proven'),
24
- });
25
- }
26
-
27
- private getL2Tip(tag: L2BlockTag): L2BlockId {
28
- const blockNumber = this.l2TipsStore.get(tag);
29
- if (blockNumber === undefined || blockNumber === 0) {
30
- return { number: 0, hash: undefined };
31
- }
32
- const blockHash = this.l2BlockHashesStore.get(blockNumber);
33
- if (!blockHash) {
34
- throw new Error(`Block hash not found for block number ${blockNumber}`);
35
- }
36
-
37
- return { number: blockNumber, hash: blockHash };
38
- }
39
-
40
- public async handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void> {
41
- switch (event.type) {
42
- case 'blocks-added': {
43
- const blocks = event.blocks.map(b => b.block);
44
- for (const block of blocks) {
45
- this.l2BlockHashesStore.set(block.number, (await block.header.hash()).toString());
46
- }
47
- this.l2TipsStore.set('latest', blocks.at(-1)!.number);
48
- break;
49
- }
50
- case 'chain-pruned':
51
- this.saveTag('latest', event.block);
52
- break;
53
- case 'chain-proven':
54
- this.saveTag('proven', event.block);
55
- break;
56
- case 'chain-finalized':
57
- this.saveTag('finalized', event.block);
58
- for (const key of this.l2BlockHashesStore.keys()) {
59
- if (key < event.block.number) {
60
- this.l2BlockHashesStore.delete(key);
61
- }
62
- }
63
- break;
64
- }
65
- }
66
-
67
- private saveTag(name: L2BlockTag, block: L2BlockId) {
68
- this.l2TipsStore.set(name, block.number);
69
- if (block.hash) {
70
- this.l2BlockHashesStore.set(block.number, block.hash);
71
- }
72
- }
73
- }