@aztec/archiver 0.69.0 → 0.69.1-devnet

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.
Files changed (34) hide show
  1. package/dest/archiver/archiver.d.ts +9 -4
  2. package/dest/archiver/archiver.d.ts.map +1 -1
  3. package/dest/archiver/archiver.js +10 -9
  4. package/dest/archiver/archiver_store.d.ts +1 -1
  5. package/dest/archiver/archiver_store.d.ts.map +1 -1
  6. package/dest/archiver/archiver_store_test_suite.js +5 -5
  7. package/dest/archiver/instrumentation.d.ts +1 -1
  8. package/dest/archiver/instrumentation.d.ts.map +1 -1
  9. package/dest/archiver/instrumentation.js +4 -4
  10. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +2 -2
  11. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
  12. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +11 -4
  13. package/dest/archiver/kv_archiver_store/log_store.js +3 -3
  14. package/dest/archiver/kv_archiver_store/nullifier_store.js +2 -2
  15. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +2 -2
  16. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
  17. package/dest/archiver/memory_archiver_store/memory_archiver_store.js +14 -7
  18. package/dest/factory.d.ts +2 -1
  19. package/dest/factory.d.ts.map +1 -1
  20. package/dest/factory.js +8 -11
  21. package/dest/test/mock_l2_block_source.d.ts +2 -1
  22. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  23. package/dest/test/mock_l2_block_source.js +5 -3
  24. package/package.json +12 -11
  25. package/src/archiver/archiver.ts +11 -8
  26. package/src/archiver/archiver_store.ts +1 -1
  27. package/src/archiver/archiver_store_test_suite.ts +4 -4
  28. package/src/archiver/instrumentation.ts +4 -4
  29. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +9 -4
  30. package/src/archiver/kv_archiver_store/log_store.ts +2 -2
  31. package/src/archiver/kv_archiver_store/nullifier_store.ts +1 -1
  32. package/src/archiver/memory_archiver_store/memory_archiver_store.ts +12 -7
  33. package/src/factory.ts +8 -9
  34. package/src/test/mock_l2_block_source.ts +6 -1
package/dest/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { computePublicBytecodeCommitment, getContractClassFromArtifact, } from '@aztec/circuits.js';
2
- import { FunctionSelector, FunctionType } from '@aztec/foundation/abi';
2
+ import { FunctionType, decodeFunctionSignature } from '@aztec/foundation/abi';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { createStore } from '@aztec/kv-store/lmdb';
5
5
  import { TokenContractArtifact } from '@aztec/noir-contracts.js/Token';
@@ -10,13 +10,13 @@ import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
10
10
  import { Archiver } from './archiver/archiver.js';
11
11
  import { KVArchiverDataStore } from './archiver/index.js';
12
12
  import { createArchiverClient } from './rpc/index.js';
13
- export async function createArchiver(config, telemetry = new NoopTelemetryClient(), opts = { blockUntilSync: true }) {
13
+ export async function createArchiver(config, blobSinkClient, telemetry = new NoopTelemetryClient(), opts = { blockUntilSync: true }) {
14
14
  if (!config.archiverUrl) {
15
15
  const store = await createStore('archiver', config, createLogger('archiver:lmdb'));
16
16
  const archiverStore = new KVArchiverDataStore(store, config.maxLogs);
17
17
  await registerProtocolContracts(archiverStore);
18
18
  await registerCommonContracts(archiverStore);
19
- return Archiver.createAndSync(config, archiverStore, telemetry, opts.blockUntilSync);
19
+ return Archiver.createAndSync(config, archiverStore, { telemetry, blobSinkClient }, opts.blockUntilSync);
20
20
  }
21
21
  else {
22
22
  return createArchiverClient(config.archiverUrl);
@@ -31,13 +31,10 @@ async function registerProtocolContracts(store) {
31
31
  privateFunctions: [],
32
32
  unconstrainedFunctions: [],
33
33
  };
34
- const functionNames = {};
35
- for (const fn of contract.artifact.functions) {
36
- if (fn.functionType === FunctionType.PUBLIC) {
37
- functionNames[FunctionSelector.fromNameAndParameters(fn.name, fn.parameters).toString()] = fn.name;
38
- }
39
- }
40
- await store.registerContractFunctionName(contract.address, functionNames);
34
+ const publicFunctionSignatures = contract.artifact.functions
35
+ .filter(fn => fn.functionType === FunctionType.PUBLIC)
36
+ .map(fn => decodeFunctionSignature(fn.name, fn.parameters));
37
+ await store.registerContractFunctionSignatures(contract.address, publicFunctionSignatures);
41
38
  const bytecodeCommitment = computePublicBytecodeCommitment(contractClassPublic.packedBytecode);
42
39
  await store.addContractClasses([contractClassPublic], [bytecodeCommitment], blockNumber);
43
40
  await store.addContractInstances([contract.instance], blockNumber);
@@ -59,4 +56,4 @@ async function registerCommonContracts(store) {
59
56
  const bytecodeCommitments = classes.map(x => computePublicBytecodeCommitment(x.packedBytecode));
60
57
  await store.addContractClasses(classes, bytecodeCommitments, blockNumber);
61
58
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCwrQkFBK0IsRUFDL0IsNEJBQTRCLEdBQzdCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxNQUF3QyxFQUN4QyxZQUE2QixJQUFJLG1CQUFtQixFQUFFLEVBQ3RELE9BQW9DLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRTtJQUU1RCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDbkYsTUFBTSxhQUFhLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLE1BQU0seUJBQXlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsTUFBTSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QyxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUseUJBQXlCLENBQUMsS0FBMEI7SUFDakUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLEtBQUssTUFBTSxJQUFJLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxNQUFNLG1CQUFtQixHQUF3QjtZQUMvQyxHQUFHLFFBQVEsQ0FBQyxhQUFhO1lBQ3pCLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsc0JBQXNCLEVBQUUsRUFBRTtTQUMzQixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQTJCLEVBQUUsQ0FBQztRQUNqRCxLQUFLLE1BQU0sRUFBRSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0MsSUFBSSxFQUFFLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDNUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNyRyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDMUUsTUFBTSxrQkFBa0IsR0FBRywrQkFBK0IsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRixNQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pGLE1BQU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7QUFDSCxDQUFDO0FBRUQsa0ZBQWtGO0FBQ2xGLHFGQUFxRjtBQUNyRixtRkFBbUY7QUFDbkYsNEZBQTRGO0FBQzVGLGtHQUFrRztBQUNsRyxLQUFLLFVBQVUsdUJBQXVCLENBQUMsS0FBMEI7SUFDL0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLE1BQU0sU0FBUyxHQUFHLENBQUMsMkJBQTJCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUN2RSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxHQUFHLDRCQUE0QixDQUFDLFFBQVEsQ0FBQztRQUN6QyxnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLHNCQUFzQixFQUFFLEVBQUU7S0FDM0IsQ0FBQyxDQUFDLENBQUM7SUFDSixNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNoRyxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDNUUsQ0FBQyJ9
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFFTCwrQkFBK0IsRUFDL0IsNEJBQTRCLEdBQzdCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxNQUF3QyxFQUN4QyxjQUF1QyxFQUN2QyxZQUE2QixJQUFJLG1CQUFtQixFQUFFLEVBQ3RELE9BQW9DLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRTtJQUU1RCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxD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
@@ -1,4 +1,4 @@
1
- import { L2Block, type L2BlockSource, type L2Tips, type TxHash, TxReceipt } from '@aztec/circuit-types';
1
+ import { type L1RollupConstants, L2Block, type L2BlockSource, type L2Tips, type TxHash, TxReceipt } from '@aztec/circuit-types';
2
2
  import { type BlockHeader, EthAddress } from '@aztec/circuits.js';
3
3
  /**
4
4
  * A mocked implementation of L2BlockSource to be used in tests.
@@ -65,6 +65,7 @@ export declare class MockL2BlockSource implements L2BlockSource {
65
65
  getL2EpochNumber(): Promise<bigint>;
66
66
  getL2SlotNumber(): Promise<bigint>;
67
67
  isEpochComplete(_epochNumber: bigint): Promise<boolean>;
68
+ getL1Constants(): Promise<L1RollupConstants>;
68
69
  /**
69
70
  * Starts the block source. In this mock implementation, this is a noop.
70
71
  * @returns A promise that signals the initialization of the l2 block source on completion.
@@ -1 +1 @@
1
- {"version":3,"file":"mock_l2_block_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l2_block_source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,SAAS,EAEV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,GAAG,CAAiD;IAErD,YAAY,CAAC,SAAS,EAAE,MAAM;IAU9B,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;IAK3B,YAAY,CAAC,SAAS,EAAE,MAAM;IAK9B,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;IAI9C,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;IAIrD;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIvC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIzC;;;OAGG;IACI,cAAc;IAId,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI5D;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM;IAI9B;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAQ9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAI3E,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU1D;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM;;;;;IAWjC;;;;OAIG;IACI,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAoBpE,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAclC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;;OAGG;IACI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"mock_l2_block_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l2_block_source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,OAAO,EAEP,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,SAAS,EAGV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,GAAG,CAAiD;IAErD,YAAY,CAAC,SAAS,EAAE,MAAM;IAU9B,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;IAK3B,YAAY,CAAC,SAAS,EAAE,MAAM;IAK9B,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;IAI9C,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;IAIrD;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIvC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIzC;;;OAGG;IACI,cAAc;IAId,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI5D;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM;IAI9B;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAQ9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAI3E,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU1D;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM;;;;;IAWjC;;;;OAIG;IACI,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAoBpE,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAclC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI5C;;;OAGG;IACI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -1,5 +1,4 @@
1
- import { L2Block, L2BlockHash, TxReceipt, TxStatus, } from '@aztec/circuit-types';
2
- import { getSlotRangeForEpoch } from '@aztec/circuit-types';
1
+ import { L2Block, L2BlockHash, TxReceipt, TxStatus, getSlotRangeForEpoch, } from '@aztec/circuit-types';
3
2
  import { EthAddress } from '@aztec/circuits.js';
4
3
  import { DefaultL1ContractsConfig } from '@aztec/ethereum';
5
4
  import { createLogger } from '@aztec/foundation/log';
@@ -144,6 +143,9 @@ export class MockL2BlockSource {
144
143
  isEpochComplete(_epochNumber) {
145
144
  throw new Error('Method not implemented.');
146
145
  }
146
+ getL1Constants() {
147
+ throw new Error('Method not implemented.');
148
+ }
147
149
  /**
148
150
  * Starts the block source. In this mock implementation, this is a noop.
149
151
  * @returns A promise that signals the initialization of the l2 block source on completion.
@@ -159,4 +161,4 @@ export class MockL2BlockSource {
159
161
  return Promise.resolve();
160
162
  }
161
163
  }
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMl9ibG9ja19zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX2wyX2Jsb2NrX3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFJWCxTQUFTLEVBQ1QsUUFBUSxHQUNULE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFvQixVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBQ1ksYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUUzQixzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDOUIsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBRTlCLFFBQUcsR0FBRyxZQUFZLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQXFMOUQsQ0FBQztJQW5MUSxZQUFZLENBQUMsU0FBaUI7UUFDbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUMxQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLFNBQVMscUNBQXFDLENBQUMsQ0FB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
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMl9ibG9ja19zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX2wyX2Jsb2NrX3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLFdBQVcsRUFJWCxTQUFTLEVBQ1QsUUFBUSxFQUNSLG9CQUFvQixHQUNyQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNZLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFFM0Isc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUU5QixRQUFHLEdBQUcsWUFBWSxDQUFDLCtCQUErQixDQUFDLENBQUM7SUF5TDlELENBQUM7SUF2TFEsWUFBWSxDQUFDLFNBQWlCO1FBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDMUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxTQUFTLHFDQUFxQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFp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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/archiver",
3
- "version": "0.69.0",
3
+ "version": "0.69.1-devnet",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -64,16 +64,17 @@
64
64
  ]
65
65
  },
66
66
  "dependencies": {
67
- "@aztec/circuit-types": "0.69.0",
68
- "@aztec/circuits.js": "0.69.0",
69
- "@aztec/ethereum": "0.69.0",
70
- "@aztec/foundation": "0.69.0",
71
- "@aztec/kv-store": "0.69.0",
72
- "@aztec/l1-artifacts": "0.69.0",
73
- "@aztec/noir-contracts.js": "0.69.0",
74
- "@aztec/protocol-contracts": "0.69.0",
75
- "@aztec/telemetry-client": "0.69.0",
76
- "@aztec/types": "0.69.0",
67
+ "@aztec/blob-sink": "0.69.1-devnet",
68
+ "@aztec/circuit-types": "0.69.1-devnet",
69
+ "@aztec/circuits.js": "0.69.1-devnet",
70
+ "@aztec/ethereum": "0.69.1-devnet",
71
+ "@aztec/foundation": "0.69.1-devnet",
72
+ "@aztec/kv-store": "0.69.1-devnet",
73
+ "@aztec/l1-artifacts": "0.69.1-devnet",
74
+ "@aztec/noir-contracts.js": "0.69.1-devnet",
75
+ "@aztec/protocol-contracts": "0.69.1-devnet",
76
+ "@aztec/telemetry-client": "0.69.1-devnet",
77
+ "@aztec/types": "0.69.1-devnet",
77
78
  "debug": "^4.3.4",
78
79
  "lodash.groupby": "^4.6.0",
79
80
  "lodash.omit": "^4.5.0",
@@ -1,3 +1,4 @@
1
+ import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
1
2
  import {
2
3
  type GetUnencryptedLogsResponse,
3
4
  type InBlock,
@@ -115,6 +116,7 @@ export class Archiver implements ArchiveSource, Traceable {
115
116
  private readonly l1Addresses: { rollupAddress: EthAddress; inboxAddress: EthAddress; registryAddress: EthAddress },
116
117
  readonly dataStore: ArchiverDataStore,
117
118
  private readonly config: { pollingIntervalMs: number; batchSize: number },
119
+ private readonly _blobSinkClient: BlobSinkClientInterface,
118
120
  private readonly instrumentation: ArchiverInstrumentation,
119
121
  private readonly l1constants: L1RollupConstants,
120
122
  private readonly log: Logger = createLogger('archiver'),
@@ -145,7 +147,7 @@ export class Archiver implements ArchiveSource, Traceable {
145
147
  public static async createAndSync(
146
148
  config: ArchiverConfig,
147
149
  archiverStore: ArchiverDataStore,
148
- telemetry: TelemetryClient,
150
+ deps: { telemetry: TelemetryClient; blobSinkClient: BlobSinkClientInterface },
149
151
  blockUntilSynced = true,
150
152
  ): Promise<Archiver> {
151
153
  const chain = createEthereumChain(config.l1RpcUrl, config.l1ChainId);
@@ -176,7 +178,8 @@ export class Archiver implements ArchiveSource, Traceable {
176
178
  pollingIntervalMs: config.archiverPollingIntervalMS ?? 10_000,
177
179
  batchSize: config.archiverBatchSize ?? 100,
178
180
  },
179
- await ArchiverInstrumentation.new(telemetry, () => archiverStore.estimateSize()),
181
+ deps.blobSinkClient,
182
+ await ArchiverInstrumentation.new(deps.telemetry, () => archiverStore.estimateSize()),
180
183
  { l1StartBlock, l1GenesisTime, epochDuration, slotDuration, ethereumSlotDuration },
181
184
  );
182
185
  await archiver.start(blockUntilSynced);
@@ -508,8 +511,8 @@ export class Archiver implements ArchiveSource, Traceable {
508
511
  return Promise.resolve();
509
512
  }
510
513
 
511
- public getL1Constants(): L1RollupConstants {
512
- return this.l1constants;
514
+ public getL1Constants(): Promise<L1RollupConstants> {
515
+ return Promise.resolve(this.l1constants);
513
516
  }
514
517
 
515
518
  public getRollupAddress(): Promise<EthAddress> {
@@ -775,8 +778,8 @@ export class Archiver implements ArchiveSource, Traceable {
775
778
  return;
776
779
  }
777
780
 
778
- registerContractFunctionNames(address: AztecAddress, names: Record<string, string>): Promise<void> {
779
- return this.store.registerContractFunctionName(address, names);
781
+ registerContractFunctionSignatures(address: AztecAddress, signatures: string[]): Promise<void> {
782
+ return this.store.registerContractFunctionSignatures(address, signatures);
780
783
  }
781
784
 
782
785
  getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined> {
@@ -1083,8 +1086,8 @@ class ArchiverStoreHelper
1083
1086
  getContractClassIds(): Promise<Fr[]> {
1084
1087
  return this.store.getContractClassIds();
1085
1088
  }
1086
- registerContractFunctionName(address: AztecAddress, names: Record<string, string>): Promise<void> {
1087
- return this.store.registerContractFunctionName(address, names);
1089
+ registerContractFunctionSignatures(address: AztecAddress, signatures: string[]): Promise<void> {
1090
+ return this.store.registerContractFunctionSignatures(address, signatures);
1088
1091
  }
1089
1092
  getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined> {
1090
1093
  return this.store.getContractFunctionName(address, selector);
@@ -264,7 +264,7 @@ export interface ArchiverDataStore {
264
264
  // TODO: These function names are in memory only as they are for development/debugging. They require the full contract
265
265
  // artifact supplied to the node out of band. This should be reviewed and potentially removed as part of
266
266
  // the node api cleanup process.
267
- registerContractFunctionName(address: AztecAddress, names: Record<string, string>): Promise<void>;
267
+ registerContractFunctionSignatures(address: AztecAddress, signatures: string[]): Promise<void>;
268
268
  getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
269
269
 
270
270
  /**
@@ -29,7 +29,7 @@ import {
29
29
  makeUnconstrainedFunctionWithMembershipProof,
30
30
  } from '@aztec/circuits.js/testing';
31
31
  import { times } from '@aztec/foundation/collection';
32
- import { randomBytes, randomInt } from '@aztec/foundation/crypto';
32
+ import { randomInt } from '@aztec/foundation/crypto';
33
33
 
34
34
  import { type ArchiverDataStore, type ArchiverL1SynchPoint } from './archiver_store.js';
35
35
  import { type L1Published } from './structs/published.js';
@@ -223,7 +223,7 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch
223
223
  });
224
224
 
225
225
  it('returns undefined if tx is not found', async () => {
226
- await expect(store.getTxEffect(new TxHash(Fr.random().toBuffer()))).resolves.toBeUndefined();
226
+ await expect(store.getTxEffect(TxHash.random())).resolves.toBeUndefined();
227
227
  });
228
228
 
229
229
  it.each([
@@ -241,7 +241,7 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch
241
241
  });
242
242
 
243
243
  it('returns undefined if tx is not found', async () => {
244
- await expect(store.getTxEffect(new TxHash(Fr.random().toBuffer()))).resolves.toBeUndefined();
244
+ await expect(store.getTxEffect(TxHash.random())).resolves.toBeUndefined();
245
245
  });
246
246
  });
247
247
 
@@ -645,7 +645,7 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch
645
645
 
646
646
  it('"txHash" filter param is ignored when "afterLog" is set', async () => {
647
647
  // Get random txHash
648
- const txHash = new TxHash(randomBytes(TxHash.SIZE));
648
+ const txHash = TxHash.random();
649
649
  const afterLog = new LogId(1, 0, 0);
650
650
 
651
651
  const response = await store.getUnencryptedLogs({ txHash, afterLog });
@@ -17,7 +17,7 @@ export class ArchiverInstrumentation {
17
17
  public readonly tracer: Tracer;
18
18
 
19
19
  private blockHeight: Gauge;
20
- private blockSize: Gauge;
20
+ private txCount: UpDownCounter;
21
21
  private syncDuration: Histogram;
22
22
  private l1BlocksSynced: UpDownCounter;
23
23
  private proofsSubmittedDelay: Histogram;
@@ -35,8 +35,8 @@ export class ArchiverInstrumentation {
35
35
  valueType: ValueType.INT,
36
36
  });
37
37
 
38
- this.blockSize = meter.createGauge(Metrics.ARCHIVER_BLOCK_SIZE, {
39
- description: 'The number of transactions in a block',
38
+ this.txCount = meter.createUpDownCounter(Metrics.ARCHIVER_TX_COUNT, {
39
+ description: 'The total number of transactions',
40
40
  valueType: ValueType.INT,
41
41
  });
42
42
 
@@ -95,7 +95,7 @@ export class ArchiverInstrumentation {
95
95
  this.blockHeight.record(Math.max(...blocks.map(b => b.number)));
96
96
  this.l1BlocksSynced.add(blocks.length);
97
97
  for (const block of blocks) {
98
- this.blockSize.record(block.body.txEffects.length);
98
+ this.txCount.add(block.body.txEffects.length);
99
99
  }
100
100
  }
101
101
 
@@ -17,7 +17,7 @@ import {
17
17
  type PrivateLog,
18
18
  type UnconstrainedFunctionWithMembershipProof,
19
19
  } from '@aztec/circuits.js';
20
- import { type FunctionSelector } from '@aztec/foundation/abi';
20
+ import { FunctionSelector } from '@aztec/foundation/abi';
21
21
  import { type AztecAddress } from '@aztec/foundation/aztec-address';
22
22
  import { createLogger } from '@aztec/foundation/log';
23
23
  import { type AztecKVStore } from '@aztec/kv-store';
@@ -62,9 +62,14 @@ export class KVArchiverDataStore implements ArchiverDataStore {
62
62
  return Promise.resolve(this.functionNames.get(selector.toString()));
63
63
  }
64
64
 
65
- registerContractFunctionName(_address: AztecAddress, names: Record<string, string>): Promise<void> {
66
- for (const [selector, name] of Object.entries(names)) {
67
- this.functionNames.set(selector, name);
65
+ registerContractFunctionSignatures(_address: AztecAddress, signatures: string[]): Promise<void> {
66
+ for (const sig of signatures) {
67
+ try {
68
+ const selector = FunctionSelector.fromSignature(sig);
69
+ this.functionNames.set(selector.toString(), sig.slice(0, sig.indexOf('(')));
70
+ } catch {
71
+ this.#log.warn(`Failed to parse signature: ${sig}. Ignoring`);
72
+ }
68
73
  }
69
74
 
70
75
  return Promise.resolve();
@@ -43,7 +43,7 @@ export class LogStore {
43
43
  const taggedLogs = new Map<string, Buffer[]>();
44
44
  const dataStartIndexForBlock =
45
45
  block.header.state.partial.noteHashTree.nextAvailableLeafIndex -
46
- block.body.numberOfTxsIncludingPadded * MAX_NOTE_HASHES_PER_TX;
46
+ block.body.txEffects.length * MAX_NOTE_HASHES_PER_TX;
47
47
  block.body.txEffects.forEach((txEffect, txIndex) => {
48
48
  const txHash = txEffect.txHash;
49
49
  const dataStartIndexForTx = dataStartIndexForBlock + txIndex * MAX_NOTE_HASHES_PER_TX;
@@ -69,7 +69,7 @@ export class LogStore {
69
69
  const taggedLogs = new Map<string, Buffer[]>();
70
70
  const dataStartIndexForBlock =
71
71
  block.header.state.partial.noteHashTree.nextAvailableLeafIndex -
72
- block.body.numberOfTxsIncludingPadded * MAX_NOTE_HASHES_PER_TX;
72
+ block.body.txEffects.length * MAX_NOTE_HASHES_PER_TX;
73
73
  block.body.unencryptedLogs.txLogs.forEach((txLogs, txIndex) => {
74
74
  const txHash = block.body.txEffects[txIndex].txHash;
75
75
  const dataStartIndexForTx = dataStartIndexForBlock + txIndex * MAX_NOTE_HASHES_PER_TX;
@@ -20,7 +20,7 @@ export class NullifierStore {
20
20
  blocks.forEach(block => {
21
21
  const dataStartIndexForBlock =
22
22
  block.header.state.partial.nullifierTree.nextAvailableLeafIndex -
23
- block.body.numberOfTxsIncludingPadded * MAX_NULLIFIERS_PER_TX;
23
+ block.body.txEffects.length * MAX_NULLIFIERS_PER_TX;
24
24
  block.body.txEffects.forEach((txEffects, txIndex) => {
25
25
  const dataStartIndexForTx = dataStartIndexForBlock + txIndex * MAX_NULLIFIERS_PER_TX;
26
26
  txEffects.nullifiers.forEach((nullifier, nullifierIndex) => {
@@ -28,7 +28,7 @@ import {
28
28
  type PrivateLog,
29
29
  type UnconstrainedFunctionWithMembershipProof,
30
30
  } from '@aztec/circuits.js';
31
- import { type FunctionSelector } from '@aztec/foundation/abi';
31
+ import { FunctionSelector } from '@aztec/foundation/abi';
32
32
  import { type AztecAddress } from '@aztec/foundation/aztec-address';
33
33
  import { createLogger } from '@aztec/foundation/log';
34
34
 
@@ -228,7 +228,7 @@ export class MemoryArchiverStore implements ArchiverDataStore {
228
228
  #storeTaggedLogsFromPrivate(block: L2Block): void {
229
229
  const dataStartIndexForBlock =
230
230
  block.header.state.partial.noteHashTree.nextAvailableLeafIndex -
231
- block.body.numberOfTxsIncludingPadded * MAX_NOTE_HASHES_PER_TX;
231
+ block.body.txEffects.length * MAX_NOTE_HASHES_PER_TX;
232
232
  block.body.txEffects.forEach((txEffect, txIndex) => {
233
233
  const txHash = txEffect.txHash;
234
234
  const dataStartIndexForTx = dataStartIndexForBlock + txIndex * MAX_NOTE_HASHES_PER_TX;
@@ -248,7 +248,7 @@ export class MemoryArchiverStore implements ArchiverDataStore {
248
248
  #storeTaggedLogsFromPublic(block: L2Block): void {
249
249
  const dataStartIndexForBlock =
250
250
  block.header.state.partial.noteHashTree.nextAvailableLeafIndex -
251
- block.body.numberOfTxsIncludingPadded * MAX_NOTE_HASHES_PER_TX;
251
+ block.body.txEffects.length * MAX_NOTE_HASHES_PER_TX;
252
252
  block.body.unencryptedLogs.txLogs.forEach((txLogs, txIndex) => {
253
253
  const txHash = block.body.txEffects[txIndex].txHash;
254
254
  const dataStartIndexForTx = dataStartIndexForBlock + txIndex * MAX_NOTE_HASHES_PER_TX;
@@ -328,7 +328,7 @@ export class MemoryArchiverStore implements ArchiverDataStore {
328
328
  blocks.forEach(block => {
329
329
  const dataStartIndexForBlock =
330
330
  block.header.state.partial.nullifierTree.nextAvailableLeafIndex -
331
- block.body.numberOfTxsIncludingPadded * MAX_NULLIFIERS_PER_TX;
331
+ block.body.txEffects.length * MAX_NULLIFIERS_PER_TX;
332
332
  block.body.txEffects.forEach((txEffects, txIndex) => {
333
333
  const dataStartIndexForTx = dataStartIndexForBlock + txIndex * MAX_NULLIFIERS_PER_TX;
334
334
  txEffects.nullifiers.forEach((nullifier, nullifierIndex) => {
@@ -734,9 +734,14 @@ export class MemoryArchiverStore implements ArchiverDataStore {
734
734
  return Promise.resolve(this.functionNames.get(selector.toString()));
735
735
  }
736
736
 
737
- public registerContractFunctionName(_address: AztecAddress, names: Record<string, string>): Promise<void> {
738
- for (const [selector, name] of Object.entries(names)) {
739
- this.functionNames.set(selector, name);
737
+ public registerContractFunctionSignatures(_address: AztecAddress, signatures: string[]): Promise<void> {
738
+ for (const sig of signatures) {
739
+ try {
740
+ const selector = FunctionSelector.fromSignature(sig);
741
+ this.functionNames.set(selector.toString(), sig.slice(0, sig.indexOf('(')));
742
+ } catch {
743
+ this.#log.warn(`Failed to parse signature: ${sig}. Ignoring`);
744
+ }
740
745
  }
741
746
 
742
747
  return Promise.resolve();
package/src/factory.ts CHANGED
@@ -1,10 +1,11 @@
1
+ import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
1
2
  import { type ArchiverApi, type Service } from '@aztec/circuit-types';
2
3
  import {
3
4
  type ContractClassPublic,
4
5
  computePublicBytecodeCommitment,
5
6
  getContractClassFromArtifact,
6
7
  } from '@aztec/circuits.js';
7
- import { FunctionSelector, FunctionType } from '@aztec/foundation/abi';
8
+ import { FunctionType, decodeFunctionSignature } from '@aztec/foundation/abi';
8
9
  import { createLogger } from '@aztec/foundation/log';
9
10
  import { type Maybe } from '@aztec/foundation/types';
10
11
  import { type DataStoreConfig } from '@aztec/kv-store/config';
@@ -23,6 +24,7 @@ import { createArchiverClient } from './rpc/index.js';
23
24
 
24
25
  export async function createArchiver(
25
26
  config: ArchiverConfig & DataStoreConfig,
27
+ blobSinkClient: BlobSinkClientInterface,
26
28
  telemetry: TelemetryClient = new NoopTelemetryClient(),
27
29
  opts: { blockUntilSync: boolean } = { blockUntilSync: true },
28
30
  ): Promise<ArchiverApi & Maybe<Service>> {
@@ -31,7 +33,7 @@ export async function createArchiver(
31
33
  const archiverStore = new KVArchiverDataStore(store, config.maxLogs);
32
34
  await registerProtocolContracts(archiverStore);
33
35
  await registerCommonContracts(archiverStore);
34
- return Archiver.createAndSync(config, archiverStore, telemetry, opts.blockUntilSync);
36
+ return Archiver.createAndSync(config, archiverStore, { telemetry, blobSinkClient }, opts.blockUntilSync);
35
37
  } else {
36
38
  return createArchiverClient(config.archiverUrl);
37
39
  }
@@ -47,14 +49,11 @@ async function registerProtocolContracts(store: KVArchiverDataStore) {
47
49
  unconstrainedFunctions: [],
48
50
  };
49
51
 
50
- const functionNames: Record<string, string> = {};
51
- for (const fn of contract.artifact.functions) {
52
- if (fn.functionType === FunctionType.PUBLIC) {
53
- functionNames[FunctionSelector.fromNameAndParameters(fn.name, fn.parameters).toString()] = fn.name;
54
- }
55
- }
52
+ const publicFunctionSignatures = contract.artifact.functions
53
+ .filter(fn => fn.functionType === FunctionType.PUBLIC)
54
+ .map(fn => decodeFunctionSignature(fn.name, fn.parameters));
56
55
 
57
- await store.registerContractFunctionName(contract.address, functionNames);
56
+ await store.registerContractFunctionSignatures(contract.address, publicFunctionSignatures);
58
57
  const bytecodeCommitment = computePublicBytecodeCommitment(contractClassPublic.packedBytecode);
59
58
  await store.addContractClasses([contractClassPublic], [bytecodeCommitment], blockNumber);
60
59
  await store.addContractInstances([contract.instance], blockNumber);
@@ -1,4 +1,5 @@
1
1
  import {
2
+ type L1RollupConstants,
2
3
  L2Block,
3
4
  L2BlockHash,
4
5
  type L2BlockSource,
@@ -6,8 +7,8 @@ import {
6
7
  type TxHash,
7
8
  TxReceipt,
8
9
  TxStatus,
10
+ getSlotRangeForEpoch,
9
11
  } from '@aztec/circuit-types';
10
- import { getSlotRangeForEpoch } from '@aztec/circuit-types';
11
12
  import { type BlockHeader, EthAddress } from '@aztec/circuits.js';
12
13
  import { DefaultL1ContractsConfig } from '@aztec/ethereum';
13
14
  import { createLogger } from '@aztec/foundation/log';
@@ -187,6 +188,10 @@ export class MockL2BlockSource implements L2BlockSource {
187
188
  throw new Error('Method not implemented.');
188
189
  }
189
190
 
191
+ getL1Constants(): Promise<L1RollupConstants> {
192
+ throw new Error('Method not implemented.');
193
+ }
194
+
190
195
  /**
191
196
  * Starts the block source. In this mock implementation, this is a noop.
192
197
  * @returns A promise that signals the initialization of the l2 block source on completion.