@aztec/archiver 4.0.0-nightly.20260113 → 4.0.0-nightly.20260115
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/README.md +139 -22
- package/dest/archiver.d.ts +134 -0
- package/dest/archiver.d.ts.map +1 -0
- package/dest/archiver.js +767 -0
- package/dest/{archiver/config.d.ts → config.d.ts} +9 -1
- package/dest/config.d.ts.map +1 -0
- package/dest/{archiver/config.js → config.js} +9 -0
- package/dest/{archiver/errors.d.ts → errors.d.ts} +1 -1
- package/dest/errors.d.ts.map +1 -0
- package/dest/factory.d.ts +5 -6
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +82 -5
- package/dest/index.d.ts +10 -4
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +8 -3
- package/dest/interfaces.d.ts +9 -0
- package/dest/interfaces.d.ts.map +1 -0
- package/dest/interfaces.js +3 -0
- package/dest/{archiver/l1 → l1}/bin/retrieve-calldata.d.ts +1 -1
- package/dest/l1/bin/retrieve-calldata.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/calldata_retriever.d.ts +2 -2
- package/dest/l1/calldata_retriever.d.ts.map +1 -0
- package/dest/l1/data_retrieval.d.ts +88 -0
- package/dest/l1/data_retrieval.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/data_retrieval.js +32 -51
- package/dest/{archiver/l1 → l1}/debug_tx.d.ts +1 -1
- package/dest/l1/debug_tx.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/spire_proposer.d.ts +1 -1
- package/dest/l1/spire_proposer.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/trace_tx.d.ts +1 -1
- package/dest/l1/trace_tx.d.ts.map +1 -0
- package/dest/l1/types.d.ts +12 -0
- package/dest/l1/types.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/validate_trace.d.ts +1 -1
- package/dest/l1/validate_trace.d.ts.map +1 -0
- package/dest/modules/data_source_base.d.ts +83 -0
- package/dest/modules/data_source_base.d.ts.map +1 -0
- package/dest/modules/data_source_base.js +301 -0
- package/dest/modules/data_store_updater.d.ts +46 -0
- package/dest/modules/data_store_updater.d.ts.map +1 -0
- package/dest/modules/data_store_updater.js +216 -0
- package/dest/modules/instrumentation.d.ts +37 -0
- package/dest/modules/instrumentation.d.ts.map +1 -0
- package/dest/modules/l1_synchronizer.d.ts +67 -0
- package/dest/modules/l1_synchronizer.d.ts.map +1 -0
- package/dest/modules/l1_synchronizer.js +1064 -0
- package/dest/{archiver → modules}/validation.d.ts +1 -1
- package/dest/modules/validation.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/block_store.d.ts +2 -2
- package/dest/store/block_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/block_store.js +1 -1
- package/dest/store/contract_class_store.d.ts +18 -0
- package/dest/store/contract_class_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/contract_class_store.js +1 -1
- package/dest/store/contract_instance_store.d.ts +24 -0
- package/dest/store/contract_instance_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/contract_instance_store.js +1 -1
- package/dest/{archiver/archiver_store.d.ts → store/kv_archiver_store.d.ts} +143 -139
- package/dest/store/kv_archiver_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/kv_archiver_store.js +157 -49
- package/dest/{archiver/kv_archiver_store → store}/log_store.d.ts +1 -1
- package/dest/store/log_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/message_store.d.ts +1 -1
- package/dest/store/message_store.d.ts.map +1 -0
- package/dest/{archiver/structs → structs}/data_retrieval.d.ts +1 -1
- package/dest/structs/data_retrieval.d.ts.map +1 -0
- package/dest/structs/inbox_message.d.ts +15 -0
- package/dest/structs/inbox_message.d.ts.map +1 -0
- package/dest/{archiver/structs → structs}/published.d.ts +1 -1
- package/dest/structs/published.d.ts.map +1 -0
- package/dest/test/fake_l1_state.d.ts +173 -0
- package/dest/test/fake_l1_state.d.ts.map +1 -0
- package/dest/test/fake_l1_state.js +364 -0
- package/dest/test/index.d.ts +2 -1
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +1 -0
- package/dest/test/mock_structs.d.ts +76 -2
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +133 -2
- package/package.json +15 -17
- package/src/archiver.ts +522 -0
- package/src/{archiver/config.ts → config.ts} +11 -0
- package/src/factory.ts +118 -6
- package/src/index.ts +10 -3
- package/src/interfaces.ts +9 -0
- package/src/{archiver/l1 → l1}/calldata_retriever.ts +1 -1
- package/src/{archiver/l1 → l1}/data_retrieval.ts +52 -69
- package/src/modules/data_source_base.ts +439 -0
- package/src/modules/data_store_updater.ts +318 -0
- package/src/modules/l1_synchronizer.ts +870 -0
- package/src/{archiver/kv_archiver_store → store}/block_store.ts +1 -1
- package/src/{archiver/kv_archiver_store → store}/contract_class_store.ts +1 -1
- package/src/{archiver/kv_archiver_store → store}/contract_instance_store.ts +1 -1
- package/src/{archiver/kv_archiver_store → store}/kv_archiver_store.ts +170 -8
- package/src/test/fake_l1_state.ts +561 -0
- package/src/test/index.ts +1 -0
- package/src/test/mock_structs.ts +247 -2
- package/dest/archiver/archiver.d.ts +0 -307
- package/dest/archiver/archiver.d.ts.map +0 -1
- package/dest/archiver/archiver.js +0 -2102
- package/dest/archiver/archiver_store.d.ts.map +0 -1
- package/dest/archiver/archiver_store.js +0 -4
- package/dest/archiver/archiver_store_test_suite.d.ts +0 -8
- package/dest/archiver/archiver_store_test_suite.d.ts.map +0 -1
- package/dest/archiver/archiver_store_test_suite.js +0 -2770
- package/dest/archiver/config.d.ts.map +0 -1
- package/dest/archiver/errors.d.ts.map +0 -1
- package/dest/archiver/index.d.ts +0 -7
- package/dest/archiver/index.d.ts.map +0 -1
- package/dest/archiver/index.js +0 -4
- package/dest/archiver/instrumentation.d.ts +0 -37
- package/dest/archiver/instrumentation.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +0 -18
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +0 -24
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +0 -159
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +0 -1
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +0 -1
- package/dest/archiver/l1/calldata_retriever.d.ts.map +0 -1
- package/dest/archiver/l1/data_retrieval.d.ts +0 -90
- package/dest/archiver/l1/data_retrieval.d.ts.map +0 -1
- package/dest/archiver/l1/debug_tx.d.ts.map +0 -1
- package/dest/archiver/l1/spire_proposer.d.ts.map +0 -1
- package/dest/archiver/l1/trace_tx.d.ts.map +0 -1
- package/dest/archiver/l1/types.d.ts +0 -12
- package/dest/archiver/l1/types.d.ts.map +0 -1
- package/dest/archiver/l1/validate_trace.d.ts.map +0 -1
- package/dest/archiver/structs/data_retrieval.d.ts.map +0 -1
- package/dest/archiver/structs/inbox_message.d.ts +0 -15
- package/dest/archiver/structs/inbox_message.d.ts.map +0 -1
- package/dest/archiver/structs/published.d.ts.map +0 -1
- package/dest/archiver/validation.d.ts.map +0 -1
- package/dest/rpc/index.d.ts +0 -9
- package/dest/rpc/index.d.ts.map +0 -1
- package/dest/rpc/index.js +0 -15
- package/src/archiver/archiver.ts +0 -2265
- package/src/archiver/archiver_store.ts +0 -380
- package/src/archiver/archiver_store_test_suite.ts +0 -2842
- package/src/archiver/index.ts +0 -6
- package/src/rpc/index.ts +0 -16
- /package/dest/{archiver/errors.js → errors.js} +0 -0
- /package/dest/{archiver/l1 → l1}/bin/retrieve-calldata.js +0 -0
- /package/dest/{archiver/l1 → l1}/calldata_retriever.js +0 -0
- /package/dest/{archiver/l1 → l1}/debug_tx.js +0 -0
- /package/dest/{archiver/l1 → l1}/spire_proposer.js +0 -0
- /package/dest/{archiver/l1 → l1}/trace_tx.js +0 -0
- /package/dest/{archiver/l1 → l1}/types.js +0 -0
- /package/dest/{archiver/l1 → l1}/validate_trace.js +0 -0
- /package/dest/{archiver → modules}/instrumentation.js +0 -0
- /package/dest/{archiver → modules}/validation.js +0 -0
- /package/dest/{archiver/kv_archiver_store → store}/log_store.js +0 -0
- /package/dest/{archiver/kv_archiver_store → store}/message_store.js +0 -0
- /package/dest/{archiver/structs → structs}/data_retrieval.js +0 -0
- /package/dest/{archiver/structs → structs}/inbox_message.js +0 -0
- /package/dest/{archiver/structs → structs}/published.js +0 -0
- /package/src/{archiver/errors.ts → errors.ts} +0 -0
- /package/src/{archiver/l1 → l1}/README.md +0 -0
- /package/src/{archiver/l1 → l1}/bin/retrieve-calldata.ts +0 -0
- /package/src/{archiver/l1 → l1}/debug_tx.ts +0 -0
- /package/src/{archiver/l1 → l1}/spire_proposer.ts +0 -0
- /package/src/{archiver/l1 → l1}/trace_tx.ts +0 -0
- /package/src/{archiver/l1 → l1}/types.ts +0 -0
- /package/src/{archiver/l1 → l1}/validate_trace.ts +0 -0
- /package/src/{archiver → modules}/instrumentation.ts +0 -0
- /package/src/{archiver → modules}/validation.ts +0 -0
- /package/src/{archiver/kv_archiver_store → store}/log_store.ts +0 -0
- /package/src/{archiver/kv_archiver_store → store}/message_store.ts +0 -0
- /package/src/{archiver/structs → structs}/data_retrieval.ts +0 -0
- /package/src/{archiver/structs → structs}/inbox_message.ts +0 -0
- /package/src/{archiver/structs → structs}/published.ts +0 -0
|
@@ -19,4 +19,12 @@ export declare const archiverConfigMappings: ConfigMappingsType<ArchiverConfig>;
|
|
|
19
19
|
* @returns The archiver configuration.
|
|
20
20
|
*/
|
|
21
21
|
export declare function getArchiverConfigFromEnv(): ArchiverConfig;
|
|
22
|
-
|
|
22
|
+
/** Extracts the archiver-specific configuration from the full ArchiverConfig */
|
|
23
|
+
export declare function mapArchiverConfig(config: Partial<ArchiverConfig>): {
|
|
24
|
+
pollingIntervalMs: number | undefined;
|
|
25
|
+
batchSize: number | undefined;
|
|
26
|
+
skipValidateCheckpointAttestations: boolean | undefined;
|
|
27
|
+
maxAllowedEthClientDriftSeconds: number | undefined;
|
|
28
|
+
ethereumAllowNoDebugHosts: boolean | undefined;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUEyQixNQUFNLGtDQUFrQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QixNQUFNLHdCQUF3QixDQUFDO0FBRTNGLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixHQUNqRCxjQUFjLEdBQ2QsaUJBQWlCLEdBQ2pCLGdCQUFnQixHQUNoQixXQUFXLENBQUM7QUFFZCxlQUFPLE1BQU0sc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxDQWdEckUsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLElBQUksY0FBYyxDQUV6RDtBQUVELGdGQUFnRjtBQUNoRix3QkFBZ0IsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUM7Ozs7OztFQVFoRSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,GACjD,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,CAAC;AAEd,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CAgDrE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;;;;;;EAQhE"}
|
|
@@ -60,3 +60,12 @@ export const archiverConfigMappings = {
|
|
|
60
60
|
*/ export function getArchiverConfigFromEnv() {
|
|
61
61
|
return getConfigFromMappings(archiverConfigMappings);
|
|
62
62
|
}
|
|
63
|
+
/** Extracts the archiver-specific configuration from the full ArchiverConfig */ export function mapArchiverConfig(config) {
|
|
64
|
+
return {
|
|
65
|
+
pollingIntervalMs: config.archiverPollingIntervalMS,
|
|
66
|
+
batchSize: config.archiverBatchSize,
|
|
67
|
+
skipValidateCheckpointAttestations: config.skipValidateCheckpointAttestations,
|
|
68
|
+
maxAllowedEthClientDriftSeconds: config.maxAllowedEthClientDriftSeconds,
|
|
69
|
+
ethereumAllowNoDebugHosts: config.ethereumAllowNoDebugHosts
|
|
70
|
+
};
|
|
71
|
+
}
|
|
@@ -33,4 +33,4 @@ export declare class CheckpointNotFoundError extends Error {
|
|
|
33
33
|
export declare class BlockNotFoundError extends Error {
|
|
34
34
|
constructor(blockNumber: number);
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBELHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQscUJBQWEsb0NBQXFDLFNBQVEsS0FBSzthQUUzQyxjQUFjLEVBQUUsTUFBTTthQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUztJQUZ6RCxZQUNrQixjQUFjLEVBQUUsTUFBTSxFQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQU94RDtDQUNGO0FBRUQscUJBQWEsNkJBQThCLFNBQVEsS0FBSztJQUN0RCxZQUFZLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBSS9EO0NBQ0Y7QUFFRCxxQkFBYSx5Q0FBMEMsU0FBUSxLQUFLO2FBRWhELG1CQUFtQixFQUFFLE1BQU07YUFDM0Isd0JBQXdCLEVBQUUsTUFBTSxHQUFHLFNBQVM7SUFGOUQsWUFDa0IsbUJBQW1CLEVBQUUsTUFBTSxFQUMzQix3QkFBd0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQU83RDtDQUNGO0FBRUQscUJBQWEsa0NBQW1DLFNBQVEsS0FBSztJQUMzRCxZQUFZLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFJcEU7Q0FDRjtBQUVELHFCQUFhLGtDQUFtQyxTQUFRLEtBQUs7SUFDM0QsWUFBWSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBSXBFO0NBQ0Y7QUFFRCxxQkFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksYUFBYSxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUl4RTtDQUNGO0FBRUQscUJBQWEsOEJBQStCLFNBQVEsS0FBSztJQUN2RCxZQUNFLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLG1CQUFtQixFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ3ZDLGVBQWUsRUFBRSxFQUFFLEVBQ25CLG9CQUFvQixFQUFFLEVBQUUsRUFLekI7Q0FDRjtBQUVELHFCQUFhLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBWSxnQkFBZ0IsRUFBRSxNQUFNLEVBRW5DO0NBQ0Y7QUFFRCxxQkFBYSxrQkFBbUIsU0FBUSxLQUFLO0lBQzNDLFlBQVksV0FBVyxFQUFFLE1BQU0sRUFFOUI7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAEpD,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED,qBAAa,oCAAqC,SAAQ,KAAK;aAE3C,cAAc,EAAE,MAAM;aACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS;IAFzD,YACkB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EAOxD;CACF;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,YAAY,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAI/D;CACF;AAED,qBAAa,yCAA0C,SAAQ,KAAK;aAEhD,mBAAmB,EAAE,MAAM;aAC3B,wBAAwB,EAAE,MAAM,GAAG,SAAS;IAF9D,YACkB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,EAAE,MAAM,GAAG,SAAS,EAO7D;CACF;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,YAAY,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAIpE;CACF;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,YAAY,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAIpE;CACF;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,EAIxE;CACF;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,YACE,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,eAAe,EAAE,EAAE,EACnB,oBAAoB,EAAE,EAAE,EAKzB;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,gBAAgB,EAAE,MAAM,EAEnC;CACF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAW,EAAE,MAAM,EAE9B;CACF"}
|
package/dest/factory.d.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
2
|
-
import { Archiver, type ArchiverDeps } from './archiver
|
|
3
|
-
import type
|
|
4
|
-
import { KVArchiverDataStore } from './
|
|
2
|
+
import { Archiver, type ArchiverDeps } from './archiver.js';
|
|
3
|
+
import { type ArchiverConfig } from './config.js';
|
|
4
|
+
import { KVArchiverDataStore } from './store/kv_archiver_store.js';
|
|
5
5
|
export declare const ARCHIVER_STORE_NAME = "archiver";
|
|
6
6
|
/** Creates an archiver store. */
|
|
7
7
|
export declare function createArchiverStore(userConfig: Pick<ArchiverConfig, 'archiverStoreMapSizeKb' | 'maxLogs'> & DataStoreConfig): Promise<KVArchiverDataStore>;
|
|
8
8
|
/**
|
|
9
9
|
* Creates a local archiver.
|
|
10
10
|
* @param config - The archiver configuration.
|
|
11
|
-
* @param
|
|
11
|
+
* @param deps - The archiver dependencies (blobClient, epochCache, dateProvider, telemetry).
|
|
12
12
|
* @param opts - The options.
|
|
13
|
-
* @param telemetry - The telemetry client.
|
|
14
13
|
* @returns The local archiver.
|
|
15
14
|
*/
|
|
16
15
|
export declare function createArchiver(config: ArchiverConfig & DataStoreConfig, deps: ArchiverDeps, opts?: {
|
|
17
16
|
blockUntilSync: boolean;
|
|
18
17
|
}): Promise<Archiver>;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFZOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQXFCLE1BQU0sYUFBYSxDQUFDO0FBR3JFLE9BQU8sRUFBdUIsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RixlQUFPLE1BQU0sbUJBQW1CLGFBQWEsQ0FBQztBQUU5QyxpQ0FBaUM7QUFDakMsd0JBQXNCLG1CQUFtQixDQUN2QyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSx3QkFBd0IsR0FBRyxTQUFTLENBQUMsR0FBRyxlQUFlLGdDQVF6RjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFzQixjQUFjLENBQ2xDLE1BQU0sRUFBRSxjQUFjLEdBQUcsZUFBZSxFQUN4QyxJQUFJLEVBQUUsWUFBWSxFQUNsQixJQUFJLEdBQUU7SUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFBO0NBQTZCLEdBQzNELE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FzR25CIn0=
|
package/dest/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAY9D,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,aAAa,CAAC;AAGrE,OAAO,EAAuB,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExF,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,iCAAiC;AACjC,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,wBAAwB,GAAG,SAAS,CAAC,GAAG,eAAe,gCAQzF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,IAAI,EAAE,YAAY,EAClB,IAAI,GAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAA6B,GAC3D,OAAO,CAAC,QAAQ,CAAC,CAsGnB"}
|
package/dest/factory.js
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
|
+
import { EpochCache } from '@aztec/epoch-cache';
|
|
2
|
+
import { createEthereumChain } from '@aztec/ethereum/chain';
|
|
3
|
+
import { InboxContract, RollupContract } from '@aztec/ethereum/contracts';
|
|
1
4
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
5
|
+
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
6
|
+
import { merge } from '@aztec/foundation/collection';
|
|
7
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
8
|
import { createLogger } from '@aztec/foundation/log';
|
|
9
|
+
import { DateProvider } from '@aztec/foundation/timer';
|
|
3
10
|
import { createStore } from '@aztec/kv-store/lmdb-v2';
|
|
4
11
|
import { protocolContractNames } from '@aztec/protocol-contracts';
|
|
5
12
|
import { BundledProtocolContractsProvider } from '@aztec/protocol-contracts/providers/bundle';
|
|
6
13
|
import { FunctionType, decodeFunctionSignature } from '@aztec/stdlib/abi';
|
|
7
14
|
import { computePublicBytecodeCommitment } from '@aztec/stdlib/contract';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
15
|
+
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
16
|
+
import { EventEmitter } from 'events';
|
|
17
|
+
import { createPublicClient, fallback, http } from 'viem';
|
|
18
|
+
import { Archiver } from './archiver.js';
|
|
19
|
+
import { mapArchiverConfig } from './config.js';
|
|
20
|
+
import { ArchiverInstrumentation } from './modules/instrumentation.js';
|
|
21
|
+
import { ArchiverL1Synchronizer } from './modules/l1_synchronizer.js';
|
|
22
|
+
import { ARCHIVER_DB_VERSION, KVArchiverDataStore } from './store/kv_archiver_store.js';
|
|
10
23
|
export const ARCHIVER_STORE_NAME = 'archiver';
|
|
11
24
|
/** Creates an archiver store. */ export async function createArchiverStore(userConfig) {
|
|
12
25
|
const config = {
|
|
@@ -19,16 +32,80 @@ export const ARCHIVER_STORE_NAME = 'archiver';
|
|
|
19
32
|
/**
|
|
20
33
|
* Creates a local archiver.
|
|
21
34
|
* @param config - The archiver configuration.
|
|
22
|
-
* @param
|
|
35
|
+
* @param deps - The archiver dependencies (blobClient, epochCache, dateProvider, telemetry).
|
|
23
36
|
* @param opts - The options.
|
|
24
|
-
* @param telemetry - The telemetry client.
|
|
25
37
|
* @returns The local archiver.
|
|
26
38
|
*/ export async function createArchiver(config, deps, opts = {
|
|
27
39
|
blockUntilSync: true
|
|
28
40
|
}) {
|
|
29
41
|
const archiverStore = await createArchiverStore(config);
|
|
30
42
|
await registerProtocolContracts(archiverStore);
|
|
31
|
-
|
|
43
|
+
// Create Ethereum clients
|
|
44
|
+
const chain = createEthereumChain(config.l1RpcUrls, config.l1ChainId);
|
|
45
|
+
const publicClient = createPublicClient({
|
|
46
|
+
chain: chain.chainInfo,
|
|
47
|
+
transport: fallback(config.l1RpcUrls.map((url)=>http(url, {
|
|
48
|
+
batch: false
|
|
49
|
+
}))),
|
|
50
|
+
pollingInterval: config.viemPollingIntervalMS
|
|
51
|
+
});
|
|
52
|
+
// Create debug client using debug RPC URLs if available, otherwise fall back to regular RPC URLs
|
|
53
|
+
const debugRpcUrls = config.l1DebugRpcUrls.length > 0 ? config.l1DebugRpcUrls : config.l1RpcUrls;
|
|
54
|
+
const debugClient = createPublicClient({
|
|
55
|
+
chain: chain.chainInfo,
|
|
56
|
+
transport: fallback(debugRpcUrls.map((url)=>http(url, {
|
|
57
|
+
batch: false
|
|
58
|
+
}))),
|
|
59
|
+
pollingInterval: config.viemPollingIntervalMS
|
|
60
|
+
});
|
|
61
|
+
// Create L1 contract instances
|
|
62
|
+
const rollup = new RollupContract(publicClient, config.l1Contracts.rollupAddress);
|
|
63
|
+
const inbox = new InboxContract(publicClient, config.l1Contracts.inboxAddress);
|
|
64
|
+
// Fetch L1 constants from rollup contract
|
|
65
|
+
const [l1StartBlock, l1GenesisTime, proofSubmissionEpochs, genesisArchiveRoot, slashingProposerAddress] = await Promise.all([
|
|
66
|
+
rollup.getL1StartBlock(),
|
|
67
|
+
rollup.getL1GenesisTime(),
|
|
68
|
+
rollup.getProofSubmissionEpochs(),
|
|
69
|
+
rollup.getGenesisArchiveTreeRoot(),
|
|
70
|
+
rollup.getSlashingProposerAddress()
|
|
71
|
+
]);
|
|
72
|
+
const l1StartBlockHash = await publicClient.getBlock({
|
|
73
|
+
blockNumber: l1StartBlock,
|
|
74
|
+
includeTransactions: false
|
|
75
|
+
}).then((block)=>Buffer32.fromString(block.hash));
|
|
76
|
+
const { aztecEpochDuration: epochDuration, aztecSlotDuration: slotDuration, ethereumSlotDuration } = config;
|
|
77
|
+
const l1Constants = {
|
|
78
|
+
l1StartBlockHash,
|
|
79
|
+
l1StartBlock,
|
|
80
|
+
l1GenesisTime,
|
|
81
|
+
epochDuration,
|
|
82
|
+
slotDuration,
|
|
83
|
+
ethereumSlotDuration,
|
|
84
|
+
proofSubmissionEpochs: Number(proofSubmissionEpochs),
|
|
85
|
+
genesisArchiveRoot: Fr.fromString(genesisArchiveRoot.toString())
|
|
86
|
+
};
|
|
87
|
+
const archiverConfig = merge({
|
|
88
|
+
pollingIntervalMs: 10_000,
|
|
89
|
+
batchSize: 100,
|
|
90
|
+
maxAllowedEthClientDriftSeconds: 300,
|
|
91
|
+
ethereumAllowNoDebugHosts: false
|
|
92
|
+
}, mapArchiverConfig(config));
|
|
93
|
+
const epochCache = deps.epochCache ?? await EpochCache.create(config.l1Contracts.rollupAddress, config, deps);
|
|
94
|
+
const telemetry = deps.telemetry ?? getTelemetryClient();
|
|
95
|
+
const instrumentation = await ArchiverInstrumentation.new(telemetry, ()=>archiverStore.estimateSize());
|
|
96
|
+
// Create the event emitter that will be shared by archiver and synchronizer
|
|
97
|
+
const events = new EventEmitter();
|
|
98
|
+
// Create the L1 synchronizer
|
|
99
|
+
const synchronizer = new ArchiverL1Synchronizer(publicClient, debugClient, rollup, inbox, {
|
|
100
|
+
...config.l1Contracts,
|
|
101
|
+
slashingProposerAddress
|
|
102
|
+
}, archiverStore, archiverConfig, deps.blobClient, epochCache, deps.dateProvider ?? new DateProvider(), instrumentation, l1Constants, events, instrumentation.tracer);
|
|
103
|
+
const archiver = new Archiver(publicClient, debugClient, rollup, {
|
|
104
|
+
...config.l1Contracts,
|
|
105
|
+
slashingProposerAddress
|
|
106
|
+
}, archiverStore, archiverConfig, deps.blobClient, instrumentation, l1Constants, synchronizer, events);
|
|
107
|
+
await archiver.start(opts.blockUntilSync);
|
|
108
|
+
return archiver;
|
|
32
109
|
}
|
|
33
110
|
async function registerProtocolContracts(store) {
|
|
34
111
|
const blockNumber = 0;
|
package/dest/index.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
export * from './archiver/index.js';
|
|
2
1
|
export * from './factory.js';
|
|
3
|
-
export * from './
|
|
4
|
-
export
|
|
5
|
-
|
|
2
|
+
export * from './interfaces.js';
|
|
3
|
+
export * from './archiver.js';
|
|
4
|
+
export * from './modules/data_source_base.js';
|
|
5
|
+
export * from './modules/data_store_updater.js';
|
|
6
|
+
export * from './config.js';
|
|
7
|
+
export { type L1PublishedData } from './structs/published.js';
|
|
8
|
+
export { KVArchiverDataStore, ARCHIVER_DB_VERSION } from './store/kv_archiver_store.js';
|
|
9
|
+
export { ContractInstanceStore } from './store/contract_instance_store.js';
|
|
10
|
+
export { retrieveCheckpointsFromRollup, retrieveL2ProofVerifiedEvents } from './l1/data_retrieval.js';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGFBQWEsQ0FBQztBQUU1QixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyJ9
|
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
export * from './archiver/index.js';
|
|
2
1
|
export * from './factory.js';
|
|
3
|
-
export * from './
|
|
4
|
-
export
|
|
2
|
+
export * from './interfaces.js';
|
|
3
|
+
export * from './archiver.js';
|
|
4
|
+
export * from './modules/data_source_base.js';
|
|
5
|
+
export * from './modules/data_store_updater.js';
|
|
6
|
+
export * from './config.js';
|
|
7
|
+
export { KVArchiverDataStore, ARCHIVER_DB_VERSION } from './store/kv_archiver_store.js';
|
|
8
|
+
export { ContractInstanceStore } from './store/contract_instance_store.js';
|
|
9
|
+
export { retrieveCheckpointsFromRollup, retrieveL2ProofVerifiedEvents } from './l1/data_retrieval.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
2
|
+
import type { ContractDataSource } from '@aztec/stdlib/contract';
|
|
3
|
+
import type { L2LogsSource } from '@aztec/stdlib/interfaces/server';
|
|
4
|
+
import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
5
|
+
/**
|
|
6
|
+
* Helper interface to combine all sources this archiver implementation provides.
|
|
7
|
+
*/
|
|
8
|
+
export type ArchiverDataSource = L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5FOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGtCQUFrQixHQUFHLGFBQWEsR0FBRyxZQUFZLEdBQUcsa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,YAAY,GAAG,kBAAkB,GAAG,mBAAmB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
export {};
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmlldmUtY2FsbGRhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sMS9iaW4vcmV0cmlldmUtY2FsbGRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieve-calldata.d.ts","sourceRoot":"","sources":["../../../src/l1/bin/retrieve-calldata.ts"],"names":[],"mappings":""}
|
|
@@ -6,7 +6,7 @@ import type { Logger } from '@aztec/foundation/log';
|
|
|
6
6
|
import { CommitteeAttestation } from '@aztec/stdlib/block';
|
|
7
7
|
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
8
8
|
import { type Hex, type Transaction } from 'viem';
|
|
9
|
-
import type { ArchiverInstrumentation } from '../instrumentation.js';
|
|
9
|
+
import type { ArchiverInstrumentation } from '../modules/instrumentation.js';
|
|
10
10
|
/**
|
|
11
11
|
* Extracts calldata to the `propose` method of the rollup contract from an L1 transaction
|
|
12
12
|
* in order to reconstruct an L2 block header.
|
|
@@ -109,4 +109,4 @@ export declare class CalldataRetriever {
|
|
|
109
109
|
blockHash: string;
|
|
110
110
|
};
|
|
111
111
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGRhdGFfcmV0cmlldmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbDEvY2FsbGRhdGFfcmV0cmlldmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVFwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBRUwsS0FBSyxHQUFHLEVBQ1IsS0FBSyxXQUFXLEVBT2pCLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU03RTs7O0dBR0c7QUFDSCxxQkFBYSxpQkFBaUI7SUFPMUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZO0lBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtJQUNwQyxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWU7SUFDaEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNO0lBVnpCLHVEQUF1RDtJQUN2RCxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFzQjtJQUV6RCxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBYTtJQUUzQyxZQUNtQixZQUFZLEVBQUUsZ0JBQWdCLEVBQzlCLFdBQVcsRUFBRSxxQkFB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calldata_retriever.d.ts","sourceRoot":"","sources":["../../src/l1/calldata_retriever.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { BlobClientInterface } from '@aztec/blob-client/client';
|
|
2
|
+
import { type CheckpointBlobData } from '@aztec/blob-lib';
|
|
3
|
+
import type { InboxContract, RollupContract } from '@aztec/ethereum/contracts';
|
|
4
|
+
import type { ViemPublicClient, ViemPublicDebugClient } from '@aztec/ethereum/types';
|
|
5
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
6
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
7
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
8
|
+
import { type Logger } from '@aztec/foundation/log';
|
|
9
|
+
import { CommitteeAttestation } from '@aztec/stdlib/block';
|
|
10
|
+
import { L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
11
|
+
import { Proof } from '@aztec/stdlib/proofs';
|
|
12
|
+
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
13
|
+
import { type Hex } from 'viem';
|
|
14
|
+
import type { ArchiverInstrumentation } from '../modules/instrumentation.js';
|
|
15
|
+
import type { DataRetrieval } from '../structs/data_retrieval.js';
|
|
16
|
+
import type { InboxMessage } from '../structs/inbox_message.js';
|
|
17
|
+
export type RetrievedCheckpoint = {
|
|
18
|
+
checkpointNumber: CheckpointNumber;
|
|
19
|
+
archiveRoot: Fr;
|
|
20
|
+
header: CheckpointHeader;
|
|
21
|
+
checkpointBlobData: CheckpointBlobData;
|
|
22
|
+
l1: L1PublishedData;
|
|
23
|
+
chainId: Fr;
|
|
24
|
+
version: Fr;
|
|
25
|
+
attestations: CommitteeAttestation[];
|
|
26
|
+
};
|
|
27
|
+
export declare function retrievedToPublishedCheckpoint({ checkpointNumber, archiveRoot, header: checkpointHeader, checkpointBlobData, l1, chainId, version, attestations }: RetrievedCheckpoint): Promise<PublishedCheckpoint>;
|
|
28
|
+
/**
|
|
29
|
+
* Fetches new checkpoints.
|
|
30
|
+
* @param rollup - The rollup contract wrapper.
|
|
31
|
+
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
32
|
+
* @param debugClient - The viem debug client to use for trace/debug RPC methods (optional).
|
|
33
|
+
* @param blobClient - The blob client client for fetching blob data.
|
|
34
|
+
* @param searchStartBlock - The block number to use for starting the search.
|
|
35
|
+
* @param searchEndBlock - The highest block number that we should search up to.
|
|
36
|
+
* @param contractAddresses - The contract addresses (governanceProposerAddress, slashFactoryAddress, slashingProposerAddress).
|
|
37
|
+
* @param instrumentation - The archiver instrumentation instance.
|
|
38
|
+
* @param logger - The logger instance.
|
|
39
|
+
* @param isHistoricalSync - Whether this is a historical sync.
|
|
40
|
+
* @returns An array of retrieved checkpoints.
|
|
41
|
+
*/
|
|
42
|
+
export declare function retrieveCheckpointsFromRollup(rollup: RollupContract, publicClient: ViemPublicClient, debugClient: ViemPublicDebugClient, blobClient: BlobClientInterface, searchStartBlock: bigint, searchEndBlock: bigint, contractAddresses: {
|
|
43
|
+
governanceProposerAddress: EthAddress;
|
|
44
|
+
slashFactoryAddress?: EthAddress;
|
|
45
|
+
slashingProposerAddress: EthAddress;
|
|
46
|
+
}, instrumentation: ArchiverInstrumentation, logger?: Logger, isHistoricalSync?: boolean): Promise<RetrievedCheckpoint[]>;
|
|
47
|
+
export declare function getL1BlockTime(publicClient: ViemPublicClient, blockNumber: bigint): Promise<bigint>;
|
|
48
|
+
export declare function getCheckpointBlobDataFromBlobs(blobClient: BlobClientInterface, blockHash: string, blobHashes: Buffer<ArrayBufferLike>[], checkpointNumber: CheckpointNumber, logger: Logger, isHistoricalSync: boolean): Promise<CheckpointBlobData>;
|
|
49
|
+
/** Given an L1 to L2 message, retrieves its corresponding event from the Inbox within a specific block range. */
|
|
50
|
+
export declare function retrieveL1ToL2Message(inbox: InboxContract, leaf: Fr, fromBlock: bigint, toBlock: bigint): Promise<InboxMessage | undefined>;
|
|
51
|
+
/**
|
|
52
|
+
* Fetch L1 to L2 messages.
|
|
53
|
+
* @param inbox - The inbox contract wrapper.
|
|
54
|
+
* @param searchStartBlock - The block number to use for starting the search.
|
|
55
|
+
* @param searchEndBlock - The highest block number that we should search up to.
|
|
56
|
+
* @returns An array of InboxLeaf and next eth block to search from.
|
|
57
|
+
*/
|
|
58
|
+
export declare function retrieveL1ToL2Messages(inbox: InboxContract, searchStartBlock: bigint, searchEndBlock: bigint): Promise<InboxMessage[]>;
|
|
59
|
+
/** Retrieves L2ProofVerified events from the rollup contract. */
|
|
60
|
+
export declare function retrieveL2ProofVerifiedEvents(publicClient: ViemPublicClient, rollupAddress: EthAddress, searchStartBlock: bigint, searchEndBlock?: bigint): Promise<{
|
|
61
|
+
l1BlockNumber: bigint;
|
|
62
|
+
checkpointNumber: CheckpointNumber;
|
|
63
|
+
proverId: Fr;
|
|
64
|
+
txHash: Hex;
|
|
65
|
+
}[]>;
|
|
66
|
+
/** Retrieve submitted proofs from the rollup contract */
|
|
67
|
+
export declare function retrieveL2ProofsFromRollup(publicClient: ViemPublicClient, rollupAddress: EthAddress, searchStartBlock: bigint, searchEndBlock?: bigint): Promise<DataRetrieval<{
|
|
68
|
+
proof: Proof;
|
|
69
|
+
proverId: Fr;
|
|
70
|
+
checkpointNumber: number;
|
|
71
|
+
txHash: `0x${string}`;
|
|
72
|
+
}>>;
|
|
73
|
+
export type SubmitEpochProof = {
|
|
74
|
+
archiveRoot: Fr;
|
|
75
|
+
proverId: Fr;
|
|
76
|
+
proof: Proof;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Gets epoch proof metadata (archive root and proof) from the calldata of an L1 transaction.
|
|
80
|
+
* Assumes that the block was published from an EOA.
|
|
81
|
+
* TODO: Add retries and error management.
|
|
82
|
+
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
83
|
+
* @param txHash - Hash of the tx that published it.
|
|
84
|
+
* @param expectedProverId - Expected prover ID.
|
|
85
|
+
* @returns Epoch proof metadata from the calldata, deserialized.
|
|
86
|
+
*/
|
|
87
|
+
export declare function getProofFromSubmitProofTx(publicClient: ViemPublicClient, txHash: `0x${string}`, expectedProverId: Fr): Promise<SubmitEpochProof>;
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9yZXRyaWV2YWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMS9kYXRhX3JldHJpZXZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFFTCxLQUFLLGtCQUFrQixFQUl4QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sS0FBSyxFQUdWLGFBQWEsRUFFYixjQUFjLEVBQ2YsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBUSxvQkFBb0IsRUFBYyxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sRUFBYyxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJeEQsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUE4QyxNQUFNLE1BQU0sQ0FBQztBQUc1RSxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_retrieval.d.ts","sourceRoot":"","sources":["../../src/l1/data_retrieval.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BlobDeserializationError, SpongeBlob, decodeCheckpointBlobDataFromBlobs, encodeBlockBlobData } from '@aztec/blob-lib';
|
|
2
2
|
import { asyncPool } from '@aztec/foundation/async-pool';
|
|
3
3
|
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
4
|
-
import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
|
|
5
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
6
|
import { createLogger } from '@aztec/foundation/log';
|
|
@@ -78,7 +77,7 @@ export async function retrievedToPublishedCheckpoint({ checkpointNumber, archive
|
|
|
78
77
|
}
|
|
79
78
|
/**
|
|
80
79
|
* Fetches new checkpoints.
|
|
81
|
-
* @param rollup - The rollup contract
|
|
80
|
+
* @param rollup - The rollup contract wrapper.
|
|
82
81
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
83
82
|
* @param debugClient - The viem debug client to use for trace/debug RPC methods (optional).
|
|
84
83
|
* @param blobClient - The blob client client for fetching blob data.
|
|
@@ -96,37 +95,34 @@ export async function retrievedToPublishedCheckpoint({ checkpointNumber, archive
|
|
|
96
95
|
if (searchStartBlock > searchEndBlock) {
|
|
97
96
|
break;
|
|
98
97
|
}
|
|
99
|
-
const checkpointProposedLogs =
|
|
100
|
-
fromBlock: searchStartBlock,
|
|
101
|
-
toBlock: searchEndBlock
|
|
102
|
-
})).filter((log)=>log.blockNumber >= searchStartBlock && log.blockNumber <= searchEndBlock);
|
|
98
|
+
const checkpointProposedLogs = await rollup.getCheckpointProposedEvents(searchStartBlock, searchEndBlock);
|
|
103
99
|
if (checkpointProposedLogs.length === 0) {
|
|
104
100
|
break;
|
|
105
101
|
}
|
|
106
102
|
const lastLog = checkpointProposedLogs.at(-1);
|
|
107
|
-
logger.debug(`Got ${checkpointProposedLogs.length} processed logs for checkpoints
|
|
103
|
+
logger.debug(`Got ${checkpointProposedLogs.length} processed logs for checkpoints ${checkpointProposedLogs[0].args.checkpointNumber}-${lastLog.args.checkpointNumber} between L1 blocks ${searchStartBlock}-${searchEndBlock}`);
|
|
108
104
|
if (rollupConstants === undefined) {
|
|
109
105
|
const [chainId, version, targetCommitteeSize] = await Promise.all([
|
|
110
106
|
publicClient.getChainId(),
|
|
111
|
-
rollup.
|
|
112
|
-
rollup.
|
|
107
|
+
rollup.getVersion(),
|
|
108
|
+
rollup.getTargetCommitteeSize()
|
|
113
109
|
]);
|
|
114
110
|
rollupConstants = {
|
|
115
111
|
chainId: new Fr(chainId),
|
|
116
112
|
version: new Fr(version),
|
|
117
|
-
targetCommitteeSize
|
|
113
|
+
targetCommitteeSize
|
|
118
114
|
};
|
|
119
115
|
}
|
|
120
116
|
const newCheckpoints = await processCheckpointProposedLogs(rollup, publicClient, debugClient, blobClient, checkpointProposedLogs, rollupConstants, contractAddresses, instrumentation, logger, isHistoricalSync);
|
|
121
117
|
retrievedCheckpoints.push(...newCheckpoints);
|
|
122
|
-
searchStartBlock = lastLog.
|
|
118
|
+
searchStartBlock = lastLog.l1BlockNumber + 1n;
|
|
123
119
|
}while (searchStartBlock <= searchEndBlock)
|
|
124
120
|
// The asyncPool from processCheckpointProposedLogs will not necessarily return the checkpoints in order, so we sort them before returning.
|
|
125
121
|
return retrievedCheckpoints.sort((a, b)=>Number(a.l1.blockNumber - b.l1.blockNumber));
|
|
126
122
|
}
|
|
127
123
|
/**
|
|
128
124
|
* Processes newly received CheckpointProposed logs.
|
|
129
|
-
* @param rollup - The rollup contract
|
|
125
|
+
* @param rollup - The rollup contract wrapper.
|
|
130
126
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
131
127
|
* @param debugClient - The viem debug client to use for trace/debug RPC methods (optional).
|
|
132
128
|
* @param blobClient - The blob client client for fetching blob data.
|
|
@@ -144,22 +140,20 @@ export async function retrievedToPublishedCheckpoint({ checkpointNumber, archive
|
|
|
144
140
|
rollupAddress: EthAddress.fromString(rollup.address)
|
|
145
141
|
});
|
|
146
142
|
await asyncPool(10, logs, async (log)=>{
|
|
147
|
-
const checkpointNumber =
|
|
143
|
+
const checkpointNumber = log.args.checkpointNumber;
|
|
148
144
|
const archive = log.args.archive;
|
|
149
|
-
const archiveFromChain = await rollup.
|
|
150
|
-
|
|
151
|
-
]);
|
|
152
|
-
const blobHashes = log.args.versionedBlobHashes.map((blobHash)=>Buffer.from(blobHash.slice(2), 'hex'));
|
|
145
|
+
const archiveFromChain = await rollup.archiveAt(checkpointNumber);
|
|
146
|
+
const blobHashes = log.args.versionedBlobHashes;
|
|
153
147
|
// The value from the event and contract will match only if the checkpoint is in the chain.
|
|
154
|
-
if (archive
|
|
148
|
+
if (archive.equals(archiveFromChain)) {
|
|
155
149
|
// Build expected hashes object (fields may be undefined for backwards compatibility with older events)
|
|
156
150
|
const expectedHashes = {
|
|
157
|
-
attestationsHash: log.args.attestationsHash,
|
|
158
|
-
payloadDigest: log.args.payloadDigest
|
|
151
|
+
attestationsHash: log.args.attestationsHash?.toString(),
|
|
152
|
+
payloadDigest: log.args.payloadDigest?.toString()
|
|
159
153
|
};
|
|
160
|
-
const checkpoint = await calldataRetriever.getCheckpointFromRollupTx(log.
|
|
154
|
+
const checkpoint = await calldataRetriever.getCheckpointFromRollupTx(log.l1TransactionHash, blobHashes, checkpointNumber, expectedHashes);
|
|
161
155
|
const checkpointBlobData = await getCheckpointBlobDataFromBlobs(blobClient, checkpoint.blockHash, blobHashes, checkpointNumber, logger, isHistoricalSync);
|
|
162
|
-
const l1 = new L1PublishedData(log.
|
|
156
|
+
const l1 = new L1PublishedData(log.l1BlockNumber, await getL1BlockTime(publicClient, log.l1BlockNumber), log.l1BlockHash.toString());
|
|
163
157
|
retrievedCheckpoints.push({
|
|
164
158
|
...checkpoint,
|
|
165
159
|
checkpointBlobData,
|
|
@@ -167,16 +161,16 @@ export async function retrievedToPublishedCheckpoint({ checkpointNumber, archive
|
|
|
167
161
|
chainId,
|
|
168
162
|
version
|
|
169
163
|
});
|
|
170
|
-
logger.trace(`Retrieved checkpoint ${checkpointNumber} from L1 tx ${log.
|
|
171
|
-
l1BlockNumber: log.
|
|
164
|
+
logger.trace(`Retrieved checkpoint ${checkpointNumber} from L1 tx ${log.l1TransactionHash}`, {
|
|
165
|
+
l1BlockNumber: log.l1BlockNumber,
|
|
172
166
|
checkpointNumber,
|
|
173
167
|
archive: archive.toString(),
|
|
174
168
|
attestations: checkpoint.attestations
|
|
175
169
|
});
|
|
176
170
|
} else {
|
|
177
171
|
logger.warn(`Ignoring checkpoint ${checkpointNumber} due to archive root mismatch`, {
|
|
178
|
-
actual: archive,
|
|
179
|
-
expected: archiveFromChain
|
|
172
|
+
actual: archive.toString(),
|
|
173
|
+
expected: archiveFromChain.toString()
|
|
180
174
|
});
|
|
181
175
|
}
|
|
182
176
|
});
|
|
@@ -212,50 +206,37 @@ export async function getCheckpointBlobDataFromBlobs(blobClient, blockHash, blob
|
|
|
212
206
|
return checkpointBlobData;
|
|
213
207
|
}
|
|
214
208
|
/** Given an L1 to L2 message, retrieves its corresponding event from the Inbox within a specific block range. */ export async function retrieveL1ToL2Message(inbox, leaf, fromBlock, toBlock) {
|
|
215
|
-
const logs = await inbox.
|
|
216
|
-
hash: leaf.toString()
|
|
217
|
-
}, {
|
|
218
|
-
fromBlock,
|
|
219
|
-
toBlock
|
|
220
|
-
});
|
|
209
|
+
const logs = await inbox.getMessageSentEventByHash(leaf.toString(), fromBlock, toBlock);
|
|
221
210
|
const messages = mapLogsInboxMessage(logs);
|
|
222
211
|
return messages.length > 0 ? messages[0] : undefined;
|
|
223
212
|
}
|
|
224
213
|
/**
|
|
225
214
|
* Fetch L1 to L2 messages.
|
|
226
|
-
* @param
|
|
227
|
-
* @param inboxAddress - The address of the inbox contract to fetch messages from.
|
|
228
|
-
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
215
|
+
* @param inbox - The inbox contract wrapper.
|
|
229
216
|
* @param searchStartBlock - The block number to use for starting the search.
|
|
230
217
|
* @param searchEndBlock - The highest block number that we should search up to.
|
|
231
218
|
* @returns An array of InboxLeaf and next eth block to search from.
|
|
232
219
|
*/ export async function retrieveL1ToL2Messages(inbox, searchStartBlock, searchEndBlock) {
|
|
233
220
|
const retrievedL1ToL2Messages = [];
|
|
234
221
|
while(searchStartBlock <= searchEndBlock){
|
|
235
|
-
const messageSentLogs =
|
|
236
|
-
fromBlock: searchStartBlock,
|
|
237
|
-
toBlock: searchEndBlock
|
|
238
|
-
})).filter((log)=>log.blockNumber >= searchStartBlock && log.blockNumber <= searchEndBlock);
|
|
222
|
+
const messageSentLogs = await inbox.getMessageSentEvents(searchStartBlock, searchEndBlock);
|
|
239
223
|
if (messageSentLogs.length === 0) {
|
|
240
224
|
break;
|
|
241
225
|
}
|
|
242
226
|
retrievedL1ToL2Messages.push(...mapLogsInboxMessage(messageSentLogs));
|
|
243
|
-
searchStartBlock = messageSentLogs.at(-1).
|
|
227
|
+
searchStartBlock = messageSentLogs.at(-1).l1BlockNumber + 1n;
|
|
244
228
|
}
|
|
245
229
|
return retrievedL1ToL2Messages;
|
|
246
230
|
}
|
|
247
231
|
function mapLogsInboxMessage(logs) {
|
|
248
|
-
return logs.map((log)=>{
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
rollingHash: Buffer16.fromString(rollingHash)
|
|
257
|
-
};
|
|
258
|
-
});
|
|
232
|
+
return logs.map((log)=>({
|
|
233
|
+
index: log.args.index,
|
|
234
|
+
leaf: log.args.leaf,
|
|
235
|
+
l1BlockNumber: log.l1BlockNumber,
|
|
236
|
+
l1BlockHash: log.l1BlockHash,
|
|
237
|
+
checkpointNumber: log.args.checkpointNumber,
|
|
238
|
+
rollingHash: log.args.rollingHash
|
|
239
|
+
}));
|
|
259
240
|
}
|
|
260
241
|
/** Retrieves L2ProofVerified events from the rollup contract. */ export async function retrieveL2ProofVerifiedEvents(publicClient, rollupAddress, searchStartBlock, searchEndBlock) {
|
|
261
242
|
const logs = await publicClient.getLogs({
|
|
@@ -16,4 +16,4 @@ export declare const callTraceSchema: ZodFor<DebugCallTrace>;
|
|
|
16
16
|
* @returns Array of CallInfo objects containing from, gasUsed, input, and value for matching calls
|
|
17
17
|
*/
|
|
18
18
|
export declare function getSuccessfulCallsFromDebug(client: ViemPublicDebugClient, txHash: Hex, targetAddress: EthAddress, functionSelector: string, logger?: Logger): Promise<CallInfo[]>;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWdfdHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sMS9kZWJ1Z190eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFHakUsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2hDLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyx1RUFBdUU7QUFDdkUsZUFBTyxNQUFNLGVBQWUsRUFBRSxNQUFNLENBQUMsY0FBYyxDQWFsRCxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxxQkFBcUIsRUFDN0IsTUFBTSxFQUFFLEdBQUcsRUFDWCxhQUFhLEVBQUUsVUFBVSxFQUN6QixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FDZCxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0F3RHJCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug_tx.d.ts","sourceRoot":"","sources":["../../src/l1/debug_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AAGjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,uEAAuE;AACvE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,CAalD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,EAAE,CAAC,CAwDrB"}
|