@aztec/pxe 0.84.0-nightly.20250410 → 0.84.0-nightly.20250412
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/config/index.d.ts +2 -0
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +5 -0
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +2 -1
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +1 -0
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +2 -1
- package/dest/synchronizer/synchronizer.d.ts +2 -2
- package/dest/synchronizer/synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.js +5 -1
- package/package.json +16 -16
- package/src/config/index.ts +7 -0
- package/src/entrypoints/client/bundle/utils.ts +1 -0
- package/src/entrypoints/client/lazy/utils.ts +1 -0
- package/src/entrypoints/server/utils.ts +1 -0
- package/src/synchronizer/synchronizer.ts +6 -2
package/dest/config/index.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export interface KernelProverConfig {
|
|
|
24
24
|
export interface PXEConfig {
|
|
25
25
|
/** L2 block to start scanning from for new accounts */
|
|
26
26
|
l2StartingBlock: number;
|
|
27
|
+
/** Maximum amount of blocks to pull from the stream in one request when synchronizing */
|
|
28
|
+
l2BlockBatchSize: number;
|
|
27
29
|
}
|
|
28
30
|
export type PXEServiceConfig = PXEConfig & KernelProverConfig & BBProverConfig & DataStoreConfig & ChainConfig;
|
|
29
31
|
export type CliPXEOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,kBAAkB,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,CAAC;AAE/G,MAAM,MAAM,aAAa,GAAG;IAC1B,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,gBAAgB,CA+BlE,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,aAAa,CAclE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAAkB,CAAC,aAAa,GAAG,gBAAgB,CAWrF,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,gBAAgB,CAQnE"}
|
package/dest/config/index.js
CHANGED
|
@@ -11,6 +11,11 @@ export const pxeConfigMappings = {
|
|
|
11
11
|
...numberConfigHelper(INITIAL_L2_BLOCK_NUM),
|
|
12
12
|
description: 'L2 block to start scanning from for new accounts'
|
|
13
13
|
},
|
|
14
|
+
l2BlockBatchSize: {
|
|
15
|
+
env: 'PXE_L2_BLOCK_BATCH_SIZE',
|
|
16
|
+
...numberConfigHelper(200),
|
|
17
|
+
description: 'Maximum amount of blocks to pull from the stream in one request when synchronizing'
|
|
18
|
+
},
|
|
14
19
|
bbBinaryPath: {
|
|
15
20
|
env: 'BB_BINARY_PATH',
|
|
16
21
|
description: 'Path to the BB binary'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/client/bundle/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,kBAAoC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/client/bundle/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,kBAAoC,uBAkC9C"}
|
|
@@ -19,7 +19,8 @@ import { PXEService } from '../../../pxe_service/pxe_service.js';
|
|
|
19
19
|
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
20
20
|
const configWithContracts = {
|
|
21
21
|
...config,
|
|
22
|
-
l1Contracts
|
|
22
|
+
l1Contracts,
|
|
23
|
+
l2BlockBatchSize: 200
|
|
23
24
|
};
|
|
24
25
|
const store = await createStore('pxe_data', configWithContracts, options.loggers.store ?? createLogger('pxe:data:indexeddb'));
|
|
25
26
|
const simulationProvider = new WASMSimulator();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/client/lazy/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,kBAAoC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/client/lazy/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,kBAAoC,uBA8B9C"}
|
|
@@ -18,6 +18,7 @@ import { PXEService } from '../../../pxe_service/pxe_service.js';
|
|
|
18
18
|
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
19
19
|
const configWithContracts = {
|
|
20
20
|
...config,
|
|
21
|
+
l2BlockBatchSize: 200,
|
|
21
22
|
l1Contracts
|
|
22
23
|
};
|
|
23
24
|
const store = await createStore('pxe_data', configWithContracts, options.loggers.store ?? createLogger('pxe:data:indexeddb'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,yBAAyB,CAAC;AAEjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAG9D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,EACxB,YAAY,GAAE,MAAM,GAAG,OAAO,GAAG,SAAqB,uBAKvD;AAED;;;;;;;;GAQG;AACH,wBAAsB,sCAAsC,CAC1D,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,gBAAgB,EACxB,YAAY,GAAE,MAAM,GAAG,OAAO,GAAG,SAAqB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,yBAAyB,CAAC;AAEjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAG9D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,EACxB,YAAY,GAAE,MAAM,GAAG,OAAO,GAAG,SAAqB,uBAKvD;AAED;;;;;;;;GAQG;AACH,wBAAsB,sCAAsC,CAC1D,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,gBAAgB,EACxB,YAAY,GAAE,MAAM,GAAG,OAAO,GAAG,SAAqB,uBA+BvD"}
|
|
@@ -33,7 +33,8 @@ import { PXE_DATA_SCHEMA_VERSION } from '../../storage/index.js';
|
|
|
33
33
|
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
34
34
|
const configWithContracts = {
|
|
35
35
|
...config,
|
|
36
|
-
l1Contracts
|
|
36
|
+
l1Contracts,
|
|
37
|
+
l2BlockBatchSize: 200
|
|
37
38
|
};
|
|
38
39
|
const store = await createStore('pxe_data', PXE_DATA_SCHEMA_VERSION, configWithContracts, createLogger('pxe:data:lmdb'));
|
|
39
40
|
const prover = await createProver(config, simulationProvider, logSuffix);
|
|
@@ -20,8 +20,8 @@ export declare class Synchronizer implements L2BlockStreamEventHandler {
|
|
|
20
20
|
private log;
|
|
21
21
|
private isSyncing;
|
|
22
22
|
protected readonly blockStream: L2BlockStream;
|
|
23
|
-
constructor(node: AztecNode, syncDataProvider: SyncDataProvider, noteDataProvider: NoteDataProvider, taggingDataProvider: TaggingDataProvider, l2TipsStore: L2TipsKVStore, config?: Partial<Pick<PXEConfig, 'l2StartingBlock'>>, loggerOrSuffix?: string | Logger);
|
|
24
|
-
protected createBlockStream(config: Partial<Pick<PXEConfig, 'l2StartingBlock'>>): L2BlockStream;
|
|
23
|
+
constructor(node: AztecNode, syncDataProvider: SyncDataProvider, noteDataProvider: NoteDataProvider, taggingDataProvider: TaggingDataProvider, l2TipsStore: L2TipsKVStore, config?: Partial<Pick<PXEConfig, 'l2StartingBlock' | 'l2BlockBatchSize'>>, loggerOrSuffix?: string | Logger);
|
|
24
|
+
protected createBlockStream(config: Partial<Pick<PXEConfig, 'l2StartingBlock' | 'l2BlockBatchSize'>>): L2BlockStream;
|
|
25
25
|
/** Handle events emitted by the block stream. */
|
|
26
26
|
handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
|
|
27
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/synchronizer/synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAErG;;;;GAIG;AACH,qBAAa,YAAa,YAAW,yBAAyB;IAM1D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,WAAW;IATrB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;gBAGpC,IAAI,EAAE,SAAS,EACf,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,aAAa,EAClC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAM,
|
|
1
|
+
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/synchronizer/synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAErG;;;;GAIG;AACH,qBAAa,YAAa,YAAW,yBAAyB;IAM1D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,WAAW;IATrB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;gBAGpC,IAAI,EAAE,SAAS,EACf,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,aAAa,EAClC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,CAAM,EAC7E,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IASlC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,CAAC;IAUpG,iDAAiD;IACpC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7E;;;OAGG;IACU,IAAI;YAiBH,MAAM;IAeb,qBAAqB;CAG7B"}
|
|
@@ -24,7 +24,11 @@ import { L2BlockStream } from '@aztec/stdlib/block';
|
|
|
24
24
|
}
|
|
25
25
|
createBlockStream(config) {
|
|
26
26
|
return new L2BlockStream(this.node, this.l2TipsStore, this, createLogger('pxe:block_stream'), {
|
|
27
|
-
startingBlock: config.l2StartingBlock
|
|
27
|
+
startingBlock: config.l2StartingBlock,
|
|
28
|
+
batchSize: config.l2BlockBatchSize,
|
|
29
|
+
// Skipping finalized blocks makes us sync much faster - we only need to download blocks other than the latest one
|
|
30
|
+
// in order to detect reorgs, and there can be no reorgs on finalized block, making this safe.
|
|
31
|
+
skipFinalized: true
|
|
28
32
|
});
|
|
29
33
|
}
|
|
30
34
|
/** Handle events emitted by the block stream. */ async handleBlockStreamEvent(event) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/pxe",
|
|
3
|
-
"version": "0.84.0-nightly.
|
|
3
|
+
"version": "0.84.0-nightly.20250412",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./server": "./dest/entrypoints/server/index.js",
|
|
@@ -59,21 +59,21 @@
|
|
|
59
59
|
]
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@aztec/bb-prover": "0.84.0-nightly.
|
|
63
|
-
"@aztec/bb.js": "0.84.0-nightly.
|
|
64
|
-
"@aztec/builder": "0.84.0-nightly.
|
|
65
|
-
"@aztec/constants": "0.84.0-nightly.
|
|
66
|
-
"@aztec/ethereum": "0.84.0-nightly.
|
|
67
|
-
"@aztec/foundation": "0.84.0-nightly.
|
|
68
|
-
"@aztec/key-store": "0.84.0-nightly.
|
|
69
|
-
"@aztec/kv-store": "0.84.0-nightly.
|
|
70
|
-
"@aztec/noir-protocol-circuits-types": "0.84.0-nightly.
|
|
71
|
-
"@aztec/noir-types": "0.84.0-nightly.
|
|
72
|
-
"@aztec/protocol-contracts": "0.84.0-nightly.
|
|
73
|
-
"@aztec/simulator": "0.84.0-nightly.
|
|
74
|
-
"@aztec/stdlib": "0.84.0-nightly.
|
|
62
|
+
"@aztec/bb-prover": "0.84.0-nightly.20250412",
|
|
63
|
+
"@aztec/bb.js": "0.84.0-nightly.20250412",
|
|
64
|
+
"@aztec/builder": "0.84.0-nightly.20250412",
|
|
65
|
+
"@aztec/constants": "0.84.0-nightly.20250412",
|
|
66
|
+
"@aztec/ethereum": "0.84.0-nightly.20250412",
|
|
67
|
+
"@aztec/foundation": "0.84.0-nightly.20250412",
|
|
68
|
+
"@aztec/key-store": "0.84.0-nightly.20250412",
|
|
69
|
+
"@aztec/kv-store": "0.84.0-nightly.20250412",
|
|
70
|
+
"@aztec/noir-protocol-circuits-types": "0.84.0-nightly.20250412",
|
|
71
|
+
"@aztec/noir-types": "0.84.0-nightly.20250412",
|
|
72
|
+
"@aztec/protocol-contracts": "0.84.0-nightly.20250412",
|
|
73
|
+
"@aztec/simulator": "0.84.0-nightly.20250412",
|
|
74
|
+
"@aztec/stdlib": "0.84.0-nightly.20250412",
|
|
75
75
|
"@msgpack/msgpack": "^3.0.0-beta2",
|
|
76
|
-
"koa": "^2.
|
|
76
|
+
"koa": "^2.16.1",
|
|
77
77
|
"koa-router": "^12.0.0",
|
|
78
78
|
"lodash.omit": "^4.5.0",
|
|
79
79
|
"sha3": "^2.1.4",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"viem": "2.23.7"
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
|
-
"@aztec/noir-contracts.js": "0.84.0-nightly.
|
|
84
|
+
"@aztec/noir-contracts.js": "0.84.0-nightly.20250412",
|
|
85
85
|
"@jest/globals": "^29.5.0",
|
|
86
86
|
"@types/jest": "^29.5.0",
|
|
87
87
|
"@types/lodash.omit": "^4.5.7",
|
package/src/config/index.ts
CHANGED
|
@@ -34,6 +34,8 @@ export interface KernelProverConfig {
|
|
|
34
34
|
export interface PXEConfig {
|
|
35
35
|
/** L2 block to start scanning from for new accounts */
|
|
36
36
|
l2StartingBlock: number;
|
|
37
|
+
/** Maximum amount of blocks to pull from the stream in one request when synchronizing */
|
|
38
|
+
l2BlockBatchSize: number;
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
export type PXEServiceConfig = PXEConfig & KernelProverConfig & BBProverConfig & DataStoreConfig & ChainConfig;
|
|
@@ -55,6 +57,11 @@ export const pxeConfigMappings: ConfigMappingsType<PXEServiceConfig> = {
|
|
|
55
57
|
...numberConfigHelper(INITIAL_L2_BLOCK_NUM),
|
|
56
58
|
description: 'L2 block to start scanning from for new accounts',
|
|
57
59
|
},
|
|
60
|
+
l2BlockBatchSize: {
|
|
61
|
+
env: 'PXE_L2_BLOCK_BATCH_SIZE',
|
|
62
|
+
...numberConfigHelper(200),
|
|
63
|
+
description: 'Maximum amount of blocks to pull from the stream in one request when synchronizing',
|
|
64
|
+
},
|
|
58
65
|
bbBinaryPath: {
|
|
59
66
|
env: 'BB_BINARY_PATH',
|
|
60
67
|
description: 'Path to the BB binary',
|
|
@@ -24,7 +24,7 @@ export class Synchronizer implements L2BlockStreamEventHandler {
|
|
|
24
24
|
private noteDataProvider: NoteDataProvider,
|
|
25
25
|
private taggingDataProvider: TaggingDataProvider,
|
|
26
26
|
private l2TipsStore: L2TipsKVStore,
|
|
27
|
-
config: Partial<Pick<PXEConfig, 'l2StartingBlock'>> = {},
|
|
27
|
+
config: Partial<Pick<PXEConfig, 'l2StartingBlock' | 'l2BlockBatchSize'>> = {},
|
|
28
28
|
loggerOrSuffix?: string | Logger,
|
|
29
29
|
) {
|
|
30
30
|
this.log =
|
|
@@ -34,9 +34,13 @@ export class Synchronizer implements L2BlockStreamEventHandler {
|
|
|
34
34
|
this.blockStream = this.createBlockStream(config);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
protected createBlockStream(config: Partial<Pick<PXEConfig, 'l2StartingBlock'>>) {
|
|
37
|
+
protected createBlockStream(config: Partial<Pick<PXEConfig, 'l2StartingBlock' | 'l2BlockBatchSize'>>) {
|
|
38
38
|
return new L2BlockStream(this.node, this.l2TipsStore, this, createLogger('pxe:block_stream'), {
|
|
39
39
|
startingBlock: config.l2StartingBlock,
|
|
40
|
+
batchSize: config.l2BlockBatchSize,
|
|
41
|
+
// Skipping finalized blocks makes us sync much faster - we only need to download blocks other than the latest one
|
|
42
|
+
// in order to detect reorgs, and there can be no reorgs on finalized block, making this safe.
|
|
43
|
+
skipFinalized: true,
|
|
40
44
|
});
|
|
41
45
|
}
|
|
42
46
|
|