@aztec/archiver 0.85.0-alpha-testnet.2 → 0.85.0-nightly.20250418
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/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +13 -4
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +6 -2
- package/dest/archiver/data_retrieval.js +1 -1
- package/package.json +12 -14
- package/src/archiver/archiver.ts +14 -2
- package/src/archiver/config.ts +5 -0
- package/src/archiver/data_retrieval.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAkB,KAAK,gBAAgB,EAAuB,MAAM,iBAAiB,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { RollupContract, createEthereumChain } from '@aztec/ethereum';
|
|
|
8
8
|
import { Fr } from '@aztec/foundation/fields';
|
|
9
9
|
import { createLogger } from '@aztec/foundation/log';
|
|
10
10
|
import { RunningPromise, makeLoggingErrorHandler } from '@aztec/foundation/running-promise';
|
|
11
|
+
import { sleep } from '@aztec/foundation/sleep';
|
|
11
12
|
import { count } from '@aztec/foundation/string';
|
|
12
13
|
import { elapsed } from '@aztec/foundation/timer';
|
|
13
14
|
import { InboxAbi } from '@aztec/l1-artifacts';
|
|
@@ -106,8 +107,12 @@ import { ArchiverInstrumentation } from './instrumentation.js';
|
|
|
106
107
|
if (this.runningPromise) {
|
|
107
108
|
throw new Error('Archiver is already running');
|
|
108
109
|
}
|
|
110
|
+
await this.blobSinkClient.testSources();
|
|
109
111
|
if (blockUntilSynced) {
|
|
110
|
-
await this.syncSafe(
|
|
112
|
+
while(!await this.syncSafe(true)){
|
|
113
|
+
this.log.info(`Retrying initial archiver sync in ${this.config.pollingIntervalMs}ms`);
|
|
114
|
+
await sleep(this.config.pollingIntervalMs);
|
|
115
|
+
}
|
|
111
116
|
}
|
|
112
117
|
this.runningPromise = new RunningPromise(()=>this.sync(false), this.log, this.config.pollingIntervalMs, makeLoggingErrorHandler(this.log, // Ignored errors will not log to the console
|
|
113
118
|
// We ignore NoBlobBodiesFound as the message may not have been passed to the blob sink yet
|
|
@@ -123,10 +128,14 @@ import { ArchiverInstrumentation } from './instrumentation.js';
|
|
|
123
128
|
async syncSafe(initialRun) {
|
|
124
129
|
try {
|
|
125
130
|
await this.sync(initialRun);
|
|
131
|
+
return true;
|
|
126
132
|
} catch (error) {
|
|
127
|
-
|
|
128
|
-
error
|
|
129
|
-
}
|
|
133
|
+
if (error instanceof NoBlobBodiesFoundError) {
|
|
134
|
+
this.log.error(`Error syncing archiver: ${error.message}`);
|
|
135
|
+
} else {
|
|
136
|
+
this.log.error('Error during archiver sync', error);
|
|
137
|
+
}
|
|
138
|
+
return false;
|
|
130
139
|
}
|
|
131
140
|
}
|
|
132
141
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/archiver/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/archiver/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAIpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,0BAA0B,CAAC;AAC9G,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAE7E;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,4GAA4G;IAC5G,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B,kFAAkF;IAClF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yCAAyC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IAEjC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qGAAqG;IACrG,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG,cAAc,GAChB,iBAAiB,GACjB,cAAc,GACd,WAAW,CAAC;AAEd,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CA4CrE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}
|
package/dest/archiver/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { blobSinkConfigMapping } from '@aztec/blob-sink/client';
|
|
2
|
-
import { l1ContractsConfigMappings, l1ReaderConfigMappings } from '@aztec/ethereum';
|
|
2
|
+
import { l1ContractAddressesMapping, l1ContractsConfigMappings, l1ReaderConfigMappings } from '@aztec/ethereum';
|
|
3
3
|
import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
4
4
|
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
5
5
|
export const archiverConfigMappings = {
|
|
@@ -40,7 +40,11 @@ export const archiverConfigMappings = {
|
|
|
40
40
|
description: 'The polling interval viem uses in ms',
|
|
41
41
|
...numberConfigHelper(1000)
|
|
42
42
|
},
|
|
43
|
-
...l1ContractsConfigMappings
|
|
43
|
+
...l1ContractsConfigMappings,
|
|
44
|
+
l1Contracts: {
|
|
45
|
+
description: 'The deployed L1 contract addresses',
|
|
46
|
+
nested: l1ContractAddressesMapping
|
|
47
|
+
}
|
|
44
48
|
};
|
|
45
49
|
/**
|
|
46
50
|
* Returns the archiver configuration from the environment variables.
|
|
@@ -159,7 +159,7 @@ export async function getL1BlockTime(publicClient, blockNumber) {
|
|
|
159
159
|
}
|
|
160
160
|
let blockFields;
|
|
161
161
|
try {
|
|
162
|
-
blockFields = Blob.toEncodedFields(blobBodies);
|
|
162
|
+
blockFields = Blob.toEncodedFields(blobBodies.map((b)=>b.blob));
|
|
163
163
|
} catch (err) {
|
|
164
164
|
if (err instanceof BlobDeserializationError) {
|
|
165
165
|
logger.fatal(err.message);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/archiver",
|
|
3
|
-
"version": "0.85.0-
|
|
3
|
+
"version": "0.85.0-nightly.20250418",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -20,8 +20,6 @@
|
|
|
20
20
|
"build": "yarn clean && tsc -b",
|
|
21
21
|
"build:dev": "tsc -b --watch",
|
|
22
22
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
23
|
-
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
24
|
-
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
25
23
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
|
|
26
24
|
"test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
|
|
27
25
|
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
|
|
@@ -64,17 +62,17 @@
|
|
|
64
62
|
]
|
|
65
63
|
},
|
|
66
64
|
"dependencies": {
|
|
67
|
-
"@aztec/blob-lib": "0.85.0-
|
|
68
|
-
"@aztec/blob-sink": "0.85.0-
|
|
69
|
-
"@aztec/constants": "0.85.0-
|
|
70
|
-
"@aztec/ethereum": "0.85.0-
|
|
71
|
-
"@aztec/foundation": "0.85.0-
|
|
72
|
-
"@aztec/kv-store": "0.85.0-
|
|
73
|
-
"@aztec/l1-artifacts": "0.85.0-
|
|
74
|
-
"@aztec/noir-protocol-circuits-types": "0.85.0-
|
|
75
|
-
"@aztec/protocol-contracts": "0.85.0-
|
|
76
|
-
"@aztec/stdlib": "0.85.0-
|
|
77
|
-
"@aztec/telemetry-client": "0.85.0-
|
|
65
|
+
"@aztec/blob-lib": "0.85.0-nightly.20250418",
|
|
66
|
+
"@aztec/blob-sink": "0.85.0-nightly.20250418",
|
|
67
|
+
"@aztec/constants": "0.85.0-nightly.20250418",
|
|
68
|
+
"@aztec/ethereum": "0.85.0-nightly.20250418",
|
|
69
|
+
"@aztec/foundation": "0.85.0-nightly.20250418",
|
|
70
|
+
"@aztec/kv-store": "0.85.0-nightly.20250418",
|
|
71
|
+
"@aztec/l1-artifacts": "0.85.0-nightly.20250418",
|
|
72
|
+
"@aztec/noir-protocol-circuits-types": "0.85.0-nightly.20250418",
|
|
73
|
+
"@aztec/protocol-contracts": "0.85.0-nightly.20250418",
|
|
74
|
+
"@aztec/stdlib": "0.85.0-nightly.20250418",
|
|
75
|
+
"@aztec/telemetry-client": "0.85.0-nightly.20250418",
|
|
78
76
|
"debug": "^4.3.4",
|
|
79
77
|
"lodash.groupby": "^4.6.0",
|
|
80
78
|
"lodash.omit": "^4.5.0",
|
package/src/archiver/archiver.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
6
6
|
import { RunningPromise, makeLoggingErrorHandler } from '@aztec/foundation/running-promise';
|
|
7
|
+
import { sleep } from '@aztec/foundation/sleep';
|
|
7
8
|
import { count } from '@aztec/foundation/string';
|
|
8
9
|
import { elapsed } from '@aztec/foundation/timer';
|
|
9
10
|
import { InboxAbi } from '@aztec/l1-artifacts';
|
|
@@ -182,8 +183,13 @@ export class Archiver extends EventEmitter implements ArchiveSource, Traceable {
|
|
|
182
183
|
throw new Error('Archiver is already running');
|
|
183
184
|
}
|
|
184
185
|
|
|
186
|
+
await this.blobSinkClient.testSources();
|
|
187
|
+
|
|
185
188
|
if (blockUntilSynced) {
|
|
186
|
-
await this.syncSafe(
|
|
189
|
+
while (!(await this.syncSafe(true))) {
|
|
190
|
+
this.log.info(`Retrying initial archiver sync in ${this.config.pollingIntervalMs}ms`);
|
|
191
|
+
await sleep(this.config.pollingIntervalMs);
|
|
192
|
+
}
|
|
187
193
|
}
|
|
188
194
|
|
|
189
195
|
this.runningPromise = new RunningPromise(
|
|
@@ -211,8 +217,14 @@ export class Archiver extends EventEmitter implements ArchiveSource, Traceable {
|
|
|
211
217
|
private async syncSafe(initialRun: boolean) {
|
|
212
218
|
try {
|
|
213
219
|
await this.sync(initialRun);
|
|
220
|
+
return true;
|
|
214
221
|
} catch (error) {
|
|
215
|
-
|
|
222
|
+
if (error instanceof NoBlobBodiesFoundError) {
|
|
223
|
+
this.log.error(`Error syncing archiver: ${error.message}`);
|
|
224
|
+
} else {
|
|
225
|
+
this.log.error('Error during archiver sync', error);
|
|
226
|
+
}
|
|
227
|
+
return false;
|
|
216
228
|
}
|
|
217
229
|
}
|
|
218
230
|
|
package/src/archiver/config.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
type L1ContractAddresses,
|
|
4
4
|
type L1ContractsConfig,
|
|
5
5
|
type L1ReaderConfig,
|
|
6
|
+
l1ContractAddressesMapping,
|
|
6
7
|
l1ContractsConfigMappings,
|
|
7
8
|
l1ReaderConfigMappings,
|
|
8
9
|
} from '@aztec/ethereum';
|
|
@@ -88,6 +89,10 @@ export const archiverConfigMappings: ConfigMappingsType<ArchiverConfig> = {
|
|
|
88
89
|
...numberConfigHelper(1000),
|
|
89
90
|
},
|
|
90
91
|
...l1ContractsConfigMappings,
|
|
92
|
+
l1Contracts: {
|
|
93
|
+
description: 'The deployed L1 contract addresses',
|
|
94
|
+
nested: l1ContractAddressesMapping,
|
|
95
|
+
},
|
|
91
96
|
};
|
|
92
97
|
|
|
93
98
|
/**
|
|
@@ -248,7 +248,7 @@ async function getBlockFromRollupTx(
|
|
|
248
248
|
|
|
249
249
|
let blockFields: Fr[];
|
|
250
250
|
try {
|
|
251
|
-
blockFields = Blob.toEncodedFields(blobBodies);
|
|
251
|
+
blockFields = Blob.toEncodedFields(blobBodies.map(b => b.blob));
|
|
252
252
|
} catch (err: any) {
|
|
253
253
|
if (err instanceof BlobDeserializationError) {
|
|
254
254
|
logger.fatal(err.message);
|