@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.
- package/dest/stores/index.d.ts +1 -3
- package/dest/stores/index.d.ts.map +1 -1
- package/dest/stores/index.js +1 -1
- package/package.json +5 -5
- package/src/stores/index.ts +1 -4
- package/dest/stores/interface.d.ts +0 -3
- package/dest/stores/interface.d.ts.map +0 -1
- package/dest/stores/interface.js +0 -1
- package/dest/stores/l2_tips_memory_store.d.ts +0 -12
- package/dest/stores/l2_tips_memory_store.d.ts.map +0 -1
- package/dest/stores/l2_tips_memory_store.js +0 -64
- package/src/stores/interface.ts +0 -3
- package/src/stores/l2_tips_memory_store.ts +0 -73
package/dest/stores/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from '@aztec/stdlib/block';
|
|
2
1
|
export * from './l2_tips_store.js';
|
|
3
|
-
export
|
|
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,
|
|
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"}
|
package/dest/stores/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './l2_tips_store.js';
|
|
2
|
-
export
|
|
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.
|
|
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.
|
|
29
|
-
"@aztec/foundation": "0.84.0-nightly.
|
|
30
|
-
"@aztec/native": "0.84.0-nightly.
|
|
31
|
-
"@aztec/stdlib": "0.84.0-nightly.
|
|
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",
|
package/src/stores/index.ts
CHANGED
|
@@ -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
|
|
3
|
+
export { L2TipsMemoryStore, type L2TipsStore } from '@aztec/stdlib/block';
|
|
@@ -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"}
|
package/dest/stores/interface.js
DELETED
|
@@ -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
|
-
}
|
package/src/stores/interface.ts
DELETED
|
@@ -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
|
-
}
|