@aztec/archiver 0.0.1-commit.d3ec352c → 0.0.1-commit.f295ac2
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 +147 -22
- package/dest/archiver.d.ts +135 -0
- package/dest/archiver.d.ts.map +1 -0
- package/dest/archiver.js +769 -0
- package/dest/config.d.ts +30 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/{archiver/config.js → config.js} +21 -5
- package/dest/errors.d.ts +36 -0
- package/dest/errors.d.ts.map +1 -0
- package/dest/errors.js +54 -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/l1/bin/retrieve-calldata.d.ts +3 -0
- package/dest/l1/bin/retrieve-calldata.d.ts.map +1 -0
- package/dest/l1/bin/retrieve-calldata.js +149 -0
- package/dest/l1/calldata_retriever.d.ts +112 -0
- package/dest/l1/calldata_retriever.d.ts.map +1 -0
- package/dest/l1/calldata_retriever.js +471 -0
- package/dest/l1/data_retrieval.d.ts +88 -0
- package/dest/l1/data_retrieval.d.ts.map +1 -0
- package/dest/{archiver → l1}/data_retrieval.js +75 -150
- package/dest/l1/debug_tx.d.ts +19 -0
- package/dest/l1/debug_tx.d.ts.map +1 -0
- package/dest/l1/debug_tx.js +73 -0
- package/dest/l1/spire_proposer.d.ts +70 -0
- package/dest/l1/spire_proposer.d.ts.map +1 -0
- package/dest/l1/spire_proposer.js +157 -0
- package/dest/l1/trace_tx.d.ts +97 -0
- package/dest/l1/trace_tx.d.ts.map +1 -0
- package/dest/l1/trace_tx.js +91 -0
- package/dest/l1/types.d.ts +12 -0
- package/dest/l1/types.d.ts.map +1 -0
- package/dest/l1/types.js +3 -0
- package/dest/l1/validate_trace.d.ts +29 -0
- package/dest/l1/validate_trace.d.ts.map +1 -0
- package/dest/l1/validate_trace.js +150 -0
- package/dest/modules/data_source_base.d.ts +85 -0
- package/dest/modules/data_source_base.d.ts.map +1 -0
- package/dest/modules/data_source_base.js +291 -0
- package/dest/modules/data_store_updater.d.ts +69 -0
- package/dest/modules/data_store_updater.d.ts.map +1 -0
- package/dest/modules/data_store_updater.js +304 -0
- package/dest/modules/instrumentation.d.ts +37 -0
- package/dest/modules/instrumentation.d.ts.map +1 -0
- package/dest/{archiver → modules}/instrumentation.js +22 -59
- package/dest/modules/l1_synchronizer.d.ts +75 -0
- package/dest/modules/l1_synchronizer.d.ts.map +1 -0
- package/dest/modules/l1_synchronizer.js +1113 -0
- package/dest/modules/validation.d.ts +17 -0
- package/dest/modules/validation.d.ts.map +1 -0
- package/dest/{archiver → modules}/validation.js +7 -1
- package/dest/store/block_store.d.ts +178 -0
- package/dest/store/block_store.d.ts.map +1 -0
- package/dest/store/block_store.js +680 -0
- 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 +2 -2
- 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/store/kv_archiver_store.d.ts +331 -0
- package/dest/store/kv_archiver_store.d.ts.map +1 -0
- package/dest/store/kv_archiver_store.js +438 -0
- package/dest/store/log_store.d.ts +45 -0
- package/dest/store/log_store.d.ts.map +1 -0
- package/dest/store/log_store.js +422 -0
- package/dest/store/message_store.d.ts +40 -0
- package/dest/store/message_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/message_store.js +15 -14
- 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}/inbox_message.js +6 -6
- package/dest/structs/published.d.ts +2 -0
- package/dest/structs/published.d.ts.map +1 -0
- package/dest/test/fake_l1_state.d.ts +190 -0
- package/dest/test/fake_l1_state.d.ts.map +1 -0
- package/dest/test/fake_l1_state.js +383 -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_archiver.d.ts +5 -6
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_archiver.js +6 -11
- package/dest/test/mock_l1_to_l2_message_source.d.ts +6 -7
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.js +19 -14
- package/dest/test/mock_l2_block_source.d.ts +28 -14
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +160 -52
- package/dest/test/mock_structs.d.ts +78 -3
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +141 -10
- package/package.json +17 -18
- package/src/archiver.ts +525 -0
- package/src/{archiver/config.ts → config.ts} +28 -12
- package/src/errors.ts +90 -0
- package/src/factory.ts +118 -6
- package/src/index.ts +10 -3
- package/src/interfaces.ts +9 -0
- package/src/l1/README.md +98 -0
- package/src/l1/bin/retrieve-calldata.ts +182 -0
- package/src/l1/calldata_retriever.ts +641 -0
- package/src/{archiver → l1}/data_retrieval.ts +136 -218
- package/src/l1/debug_tx.ts +99 -0
- package/src/l1/spire_proposer.ts +160 -0
- package/src/l1/trace_tx.ts +128 -0
- package/src/l1/types.ts +13 -0
- package/src/l1/validate_trace.ts +211 -0
- package/src/modules/data_source_base.ts +414 -0
- package/src/modules/data_store_updater.ts +419 -0
- package/src/{archiver → modules}/instrumentation.ts +24 -59
- package/src/modules/l1_synchronizer.ts +931 -0
- package/src/{archiver → modules}/validation.ts +11 -6
- package/src/store/block_store.ts +919 -0
- package/src/{archiver/kv_archiver_store → store}/contract_class_store.ts +2 -2
- package/src/{archiver/kv_archiver_store → store}/contract_instance_store.ts +2 -2
- package/src/store/kv_archiver_store.ts +622 -0
- package/src/store/log_store.ts +552 -0
- package/src/{archiver/kv_archiver_store → store}/message_store.ts +21 -18
- package/src/{archiver/structs → structs}/inbox_message.ts +7 -8
- package/src/{archiver/structs → structs}/published.ts +0 -1
- package/src/test/fake_l1_state.ts +599 -0
- package/src/test/fixtures/debug_traceTransaction-multicall3.json +88 -0
- package/src/test/fixtures/debug_traceTransaction-multiplePropose.json +153 -0
- package/src/test/fixtures/debug_traceTransaction-proxied.json +122 -0
- package/src/test/fixtures/trace_transaction-multicall3.json +65 -0
- package/src/test/fixtures/trace_transaction-multiplePropose.json +319 -0
- package/src/test/fixtures/trace_transaction-proxied.json +128 -0
- package/src/test/fixtures/trace_transaction-randomRevert.json +216 -0
- package/src/test/index.ts +1 -0
- package/src/test/mock_archiver.ts +8 -13
- package/src/test/mock_l1_to_l2_message_source.ts +16 -15
- package/src/test/mock_l2_block_source.ts +184 -64
- package/src/test/mock_structs.ts +256 -11
- package/dest/archiver/archiver.d.ts +0 -290
- package/dest/archiver/archiver.d.ts.map +0 -1
- package/dest/archiver/archiver.js +0 -1434
- package/dest/archiver/archiver_store.d.ts +0 -256
- 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 -1289
- package/dest/archiver/config.d.ts +0 -21
- package/dest/archiver/config.d.ts.map +0 -1
- package/dest/archiver/data_retrieval.d.ts +0 -80
- package/dest/archiver/data_retrieval.d.ts.map +0 -1
- package/dest/archiver/errors.d.ts +0 -12
- package/dest/archiver/errors.d.ts.map +0 -1
- package/dest/archiver/errors.js +0 -17
- 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 -35
- package/dest/archiver/instrumentation.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/block_store.d.ts +0 -125
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/block_store.js +0 -371
- 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 -169
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +0 -296
- package/dest/archiver/kv_archiver_store/log_store.d.ts +0 -49
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/log_store.js +0 -337
- package/dest/archiver/kv_archiver_store/message_store.d.ts +0 -39
- package/dest/archiver/kv_archiver_store/message_store.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 +0 -3
- package/dest/archiver/structs/published.d.ts.map +0 -1
- package/dest/archiver/validation.d.ts +0 -17
- 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 -1880
- package/src/archiver/archiver_store.ts +0 -310
- package/src/archiver/archiver_store_test_suite.ts +0 -1295
- package/src/archiver/errors.ts +0 -26
- package/src/archiver/index.ts +0 -6
- package/src/archiver/kv_archiver_store/block_store.ts +0 -482
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +0 -423
- package/src/archiver/kv_archiver_store/log_store.ts +0 -407
- package/src/rpc/index.ts +0 -16
- /package/dest/{archiver/structs → structs}/data_retrieval.js +0 -0
- /package/dest/{archiver/structs → structs}/published.js +0 -0
- /package/src/{archiver/structs → structs}/data_retrieval.ts +0 -0
package/src/test/mock_structs.ts
CHANGED
|
@@ -1,26 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
MAX_NOTE_HASHES_PER_TX,
|
|
3
|
+
NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
|
|
4
|
+
PRIVATE_LOG_SIZE_IN_FIELDS,
|
|
5
|
+
} from '@aztec/constants';
|
|
6
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
7
|
+
import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
|
|
2
8
|
import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
9
|
+
import { times, timesParallel } from '@aztec/foundation/collection';
|
|
10
|
+
import { randomBigInt, randomInt } from '@aztec/foundation/crypto/random';
|
|
11
|
+
import type { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
12
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
13
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
14
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
|
+
import { CommitteeAttestation, L2BlockNew } from '@aztec/stdlib/block';
|
|
16
|
+
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
17
|
+
import { PrivateLog, PublicLog, SiloedTag, Tag } from '@aztec/stdlib/logs';
|
|
5
18
|
import { InboxLeaf } from '@aztec/stdlib/messaging';
|
|
19
|
+
import { orderAttestations } from '@aztec/stdlib/p2p';
|
|
20
|
+
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
21
|
+
import { makeCheckpointAttestationFromCheckpoint } from '@aztec/stdlib/testing';
|
|
22
|
+
import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
|
|
23
|
+
import { PartialStateReference, StateReference, TxEffect } from '@aztec/stdlib/tx';
|
|
6
24
|
|
|
7
|
-
import { type InboxMessage, updateRollingHash } from '../
|
|
25
|
+
import { type InboxMessage, updateRollingHash } from '../structs/inbox_message.js';
|
|
8
26
|
|
|
9
27
|
export function makeInboxMessage(
|
|
10
28
|
previousRollingHash = Buffer16.ZERO,
|
|
11
29
|
overrides: Partial<InboxMessage> = {},
|
|
12
30
|
): InboxMessage {
|
|
13
|
-
const {
|
|
31
|
+
const { checkpointNumber = CheckpointNumber(randomInt(100) + 1) } = overrides;
|
|
14
32
|
const { l1BlockNumber = randomBigInt(100n) + 1n } = overrides;
|
|
15
33
|
const { l1BlockHash = Buffer32.random() } = overrides;
|
|
16
34
|
const { leaf = Fr.random() } = overrides;
|
|
17
35
|
const { rollingHash = updateRollingHash(previousRollingHash, leaf) } = overrides;
|
|
18
|
-
const { index = InboxLeaf.
|
|
36
|
+
const { index = InboxLeaf.smallestIndexForCheckpoint(checkpointNumber) } = overrides;
|
|
19
37
|
|
|
20
38
|
return {
|
|
21
39
|
index,
|
|
22
40
|
leaf,
|
|
23
|
-
|
|
41
|
+
checkpointNumber,
|
|
24
42
|
l1BlockNumber,
|
|
25
43
|
l1BlockHash,
|
|
26
44
|
rollingHash,
|
|
@@ -31,20 +49,247 @@ export function makeInboxMessages(
|
|
|
31
49
|
count: number,
|
|
32
50
|
opts: {
|
|
33
51
|
initialHash?: Buffer16;
|
|
34
|
-
|
|
52
|
+
initialCheckpointNumber?: CheckpointNumber;
|
|
35
53
|
overrideFn?: (msg: InboxMessage, index: number) => InboxMessage;
|
|
36
54
|
} = {},
|
|
37
55
|
): InboxMessage[] {
|
|
38
|
-
const { initialHash = Buffer16.ZERO, overrideFn = msg => msg,
|
|
56
|
+
const { initialHash = Buffer16.ZERO, overrideFn = msg => msg, initialCheckpointNumber = 1 } = opts;
|
|
39
57
|
const messages: InboxMessage[] = [];
|
|
40
58
|
let rollingHash = initialHash;
|
|
41
59
|
for (let i = 0; i < count; i++) {
|
|
42
60
|
const leaf = Fr.random();
|
|
43
|
-
const
|
|
44
|
-
const message = overrideFn(makeInboxMessage(rollingHash, { leaf,
|
|
61
|
+
const checkpointNumber = CheckpointNumber(i + initialCheckpointNumber);
|
|
62
|
+
const message = overrideFn(makeInboxMessage(rollingHash, { leaf, checkpointNumber }), i);
|
|
45
63
|
rollingHash = message.rollingHash;
|
|
46
64
|
messages.push(message);
|
|
47
65
|
}
|
|
48
66
|
|
|
49
67
|
return messages;
|
|
50
68
|
}
|
|
69
|
+
|
|
70
|
+
/** Creates inbox messages distributed across multiple blocks with proper checkpoint numbering. */
|
|
71
|
+
export function makeInboxMessagesWithFullBlocks(
|
|
72
|
+
blockCount: number,
|
|
73
|
+
opts: { initialCheckpointNumber?: CheckpointNumber } = {},
|
|
74
|
+
): InboxMessage[] {
|
|
75
|
+
const { initialCheckpointNumber = CheckpointNumber(13) } = opts;
|
|
76
|
+
return makeInboxMessages(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP * blockCount, {
|
|
77
|
+
overrideFn: (msg, i) => {
|
|
78
|
+
const checkpointNumber = CheckpointNumber(
|
|
79
|
+
initialCheckpointNumber + Math.floor(i / NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP),
|
|
80
|
+
);
|
|
81
|
+
const index =
|
|
82
|
+
InboxLeaf.smallestIndexForCheckpoint(checkpointNumber) + BigInt(i % NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP);
|
|
83
|
+
return { ...msg, checkpointNumber, index };
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** Creates a deterministic block hash from a block number. */
|
|
89
|
+
export function makeBlockHash(blockNumber: number): `0x${string}` {
|
|
90
|
+
return `0x${blockNumber.toString(16).padStart(64, '0')}`;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Creates a StateReference with properly calculated noteHashTree.nextAvailableLeafIndex.
|
|
95
|
+
* This ensures LogStore's dataStartIndexForBlock calculation doesn't produce negative values.
|
|
96
|
+
*/
|
|
97
|
+
export function makeStateForBlock(blockNumber: number, txsPerBlock: number): StateReference {
|
|
98
|
+
const noteHashIndex = blockNumber * txsPerBlock * MAX_NOTE_HASHES_PER_TX;
|
|
99
|
+
return new StateReference(
|
|
100
|
+
AppendOnlyTreeSnapshot.random(),
|
|
101
|
+
new PartialStateReference(
|
|
102
|
+
new AppendOnlyTreeSnapshot(Fr.random(), noteHashIndex),
|
|
103
|
+
AppendOnlyTreeSnapshot.random(),
|
|
104
|
+
AppendOnlyTreeSnapshot.random(),
|
|
105
|
+
),
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/** Creates L1PublishedData with deterministic values based on l1BlockNumber. */
|
|
110
|
+
export function makeL1PublishedData(l1BlockNumber: number): L1PublishedData {
|
|
111
|
+
return new L1PublishedData(BigInt(l1BlockNumber), BigInt(l1BlockNumber * 1000), makeBlockHash(l1BlockNumber));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/** Wraps a Checkpoint with L1 published data and random attestations. */
|
|
115
|
+
export function makePublishedCheckpoint(
|
|
116
|
+
checkpoint: Checkpoint,
|
|
117
|
+
l1BlockNumber: number,
|
|
118
|
+
attestationCount = 3,
|
|
119
|
+
): PublishedCheckpoint {
|
|
120
|
+
return new PublishedCheckpoint(
|
|
121
|
+
checkpoint,
|
|
122
|
+
makeL1PublishedData(l1BlockNumber),
|
|
123
|
+
times(attestationCount, CommitteeAttestation.random),
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface MakeChainedCheckpointsOptions {
|
|
128
|
+
/** Number of L2 blocks per checkpoint. Default: 1 */
|
|
129
|
+
blocksPerCheckpoint?: number;
|
|
130
|
+
/** Number of transactions per block. Default: 4 */
|
|
131
|
+
txsPerBlock?: number;
|
|
132
|
+
/** Starting checkpoint number. Default: CheckpointNumber(1) */
|
|
133
|
+
startCheckpointNumber?: CheckpointNumber;
|
|
134
|
+
/** Starting block number. Default: 1 */
|
|
135
|
+
startBlockNumber?: number;
|
|
136
|
+
/** Starting L1 block number. Default: 10 */
|
|
137
|
+
startL1BlockNumber?: number;
|
|
138
|
+
/** Previous archive to chain from. Default: undefined */
|
|
139
|
+
previousArchive?: AppendOnlyTreeSnapshot;
|
|
140
|
+
/** Optional function to provide per-checkpoint overrides */
|
|
141
|
+
makeCheckpointOptions?: (cpNumber: CheckpointNumber) => Partial<Parameters<typeof Checkpoint.random>[1]>;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Creates multiple checkpoints with properly chained archives.
|
|
146
|
+
* Each checkpoint's blocks have their lastArchive set to the previous block's archive,
|
|
147
|
+
* ensuring archive chain continuity for testing.
|
|
148
|
+
*/
|
|
149
|
+
export async function makeChainedCheckpoints(
|
|
150
|
+
count: number,
|
|
151
|
+
options: MakeChainedCheckpointsOptions = {},
|
|
152
|
+
): Promise<PublishedCheckpoint[]> {
|
|
153
|
+
const {
|
|
154
|
+
blocksPerCheckpoint = 1,
|
|
155
|
+
txsPerBlock = 4,
|
|
156
|
+
startCheckpointNumber = CheckpointNumber(1),
|
|
157
|
+
startBlockNumber = 1,
|
|
158
|
+
startL1BlockNumber = 10,
|
|
159
|
+
makeCheckpointOptions,
|
|
160
|
+
} = options;
|
|
161
|
+
|
|
162
|
+
let previousArchive = options.previousArchive;
|
|
163
|
+
const checkpoints: PublishedCheckpoint[] = [];
|
|
164
|
+
|
|
165
|
+
for (let i = 0; i < count; i++) {
|
|
166
|
+
const cpNumber = CheckpointNumber(startCheckpointNumber + i);
|
|
167
|
+
const blockStart = startBlockNumber + i * blocksPerCheckpoint;
|
|
168
|
+
const customOptions = makeCheckpointOptions?.(cpNumber) ?? {};
|
|
169
|
+
|
|
170
|
+
const checkpoint = await Checkpoint.random(cpNumber, {
|
|
171
|
+
numBlocks: blocksPerCheckpoint,
|
|
172
|
+
startBlockNumber: blockStart,
|
|
173
|
+
previousArchive,
|
|
174
|
+
txsPerBlock,
|
|
175
|
+
state: makeStateForBlock(blockStart, txsPerBlock),
|
|
176
|
+
txOptions: { numPublicCallsPerTx: 2, numPublicLogsPerCall: 2 },
|
|
177
|
+
...customOptions,
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
previousArchive = checkpoint.blocks.at(-1)!.archive;
|
|
181
|
+
checkpoints.push(makePublishedCheckpoint(checkpoint, startL1BlockNumber + i * 10));
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return checkpoints;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Creates a PublishedCheckpoint with attestations signed by the provided signers.
|
|
189
|
+
* Useful for testing attestation validation.
|
|
190
|
+
*/
|
|
191
|
+
export function makeSignedPublishedCheckpoint(
|
|
192
|
+
checkpoint: Checkpoint,
|
|
193
|
+
signers: Secp256k1Signer[],
|
|
194
|
+
committee: EthAddress[],
|
|
195
|
+
l1BlockNumber = 1,
|
|
196
|
+
): PublishedCheckpoint {
|
|
197
|
+
const attestations = signers.map(signer => makeCheckpointAttestationFromCheckpoint(checkpoint, signer));
|
|
198
|
+
const committeeAttestations = orderAttestations(attestations, committee);
|
|
199
|
+
return new PublishedCheckpoint(checkpoint, makeL1PublishedData(l1BlockNumber), committeeAttestations);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/** Creates a deterministic SiloedTag for private log testing. */
|
|
203
|
+
export function makePrivateLogTag(blockNumber: number, txIndex: number, logIndex: number): SiloedTag {
|
|
204
|
+
return new SiloedTag(
|
|
205
|
+
blockNumber === 1 && txIndex === 0 && logIndex === 0
|
|
206
|
+
? Fr.ZERO
|
|
207
|
+
: new Fr(blockNumber * 100 + txIndex * 10 + logIndex),
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/** Creates a PrivateLog with fields derived from the tag. */
|
|
212
|
+
export function makePrivateLog(tag: SiloedTag): PrivateLog {
|
|
213
|
+
return PrivateLog.from({
|
|
214
|
+
fields: makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, i => (!i ? tag.value : new Fr(tag.value.toBigInt() + BigInt(i)))),
|
|
215
|
+
emittedLength: PRIVATE_LOG_SIZE_IN_FIELDS,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/** Creates multiple private logs for a transaction. */
|
|
220
|
+
export function mockPrivateLogs(blockNumber: number, txIndex: number, numLogsPerTx: number): PrivateLog[] {
|
|
221
|
+
return times(numLogsPerTx, logIndex => {
|
|
222
|
+
const tag = makePrivateLogTag(blockNumber, txIndex, logIndex);
|
|
223
|
+
return makePrivateLog(tag);
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/** Creates a deterministic Tag for public log testing. */
|
|
228
|
+
export function makePublicLogTag(blockNumber: number, txIndex: number, logIndex: number): Tag {
|
|
229
|
+
return new Tag(
|
|
230
|
+
blockNumber === 1 && txIndex === 0 && logIndex === 0
|
|
231
|
+
? Fr.ZERO
|
|
232
|
+
: new Fr((blockNumber * 100 + txIndex * 10 + logIndex) * 123),
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/** Creates a PublicLog with fields derived from the tag. */
|
|
237
|
+
export function makePublicLog(tag: Tag, contractAddress: AztecAddress = AztecAddress.fromNumber(543254)): PublicLog {
|
|
238
|
+
return PublicLog.from({
|
|
239
|
+
contractAddress,
|
|
240
|
+
fields: new Array(10).fill(null).map((_, i) => (!i ? tag.value : new Fr(tag.value.toBigInt() + BigInt(i)))),
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/** Creates multiple public logs for a transaction. */
|
|
245
|
+
export function makePublicLogs(
|
|
246
|
+
blockNumber: number,
|
|
247
|
+
txIndex: number,
|
|
248
|
+
numLogsPerTx: number,
|
|
249
|
+
contractAddress: AztecAddress = AztecAddress.fromNumber(543254),
|
|
250
|
+
): PublicLog[] {
|
|
251
|
+
return times(numLogsPerTx, logIndex => {
|
|
252
|
+
const tag = makePublicLogTag(blockNumber, txIndex, logIndex);
|
|
253
|
+
return makePublicLog(tag, contractAddress);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export interface MockCheckpointWithLogsOptions {
|
|
258
|
+
previousArchive?: AppendOnlyTreeSnapshot;
|
|
259
|
+
numTxsPerBlock?: number;
|
|
260
|
+
privateLogs?: { numLogsPerTx: number };
|
|
261
|
+
publicLogs?: { numLogsPerTx: number; contractAddress?: AztecAddress };
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/** Creates a checkpoint with specified logs on each tx effect. */
|
|
265
|
+
export async function makeCheckpointWithLogs(
|
|
266
|
+
blockNumber: number,
|
|
267
|
+
options: MockCheckpointWithLogsOptions = {},
|
|
268
|
+
): Promise<PublishedCheckpoint> {
|
|
269
|
+
const { previousArchive, numTxsPerBlock = 4, privateLogs, publicLogs } = options;
|
|
270
|
+
|
|
271
|
+
const block = await L2BlockNew.random(BlockNumber(blockNumber), {
|
|
272
|
+
checkpointNumber: CheckpointNumber(blockNumber),
|
|
273
|
+
indexWithinCheckpoint: IndexWithinCheckpoint(0),
|
|
274
|
+
state: makeStateForBlock(blockNumber, numTxsPerBlock),
|
|
275
|
+
...(previousArchive ? { lastArchive: previousArchive } : {}),
|
|
276
|
+
});
|
|
277
|
+
block.header.globalVariables.blockNumber = BlockNumber(blockNumber);
|
|
278
|
+
|
|
279
|
+
block.body.txEffects = await timesParallel(numTxsPerBlock, async (txIndex: number) => {
|
|
280
|
+
const txEffect = await TxEffect.random();
|
|
281
|
+
txEffect.privateLogs = privateLogs ? mockPrivateLogs(blockNumber, txIndex, privateLogs.numLogsPerTx) : [];
|
|
282
|
+
txEffect.publicLogs = publicLogs
|
|
283
|
+
? makePublicLogs(blockNumber, txIndex, publicLogs.numLogsPerTx, publicLogs.contractAddress)
|
|
284
|
+
: [];
|
|
285
|
+
return txEffect;
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
const checkpoint = new Checkpoint(
|
|
289
|
+
AppendOnlyTreeSnapshot.random(),
|
|
290
|
+
CheckpointHeader.random(),
|
|
291
|
+
[block],
|
|
292
|
+
CheckpointNumber(blockNumber),
|
|
293
|
+
);
|
|
294
|
+
return makePublishedCheckpoint(checkpoint, blockNumber);
|
|
295
|
+
}
|
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
import type { BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
2
|
-
import { EpochCache } from '@aztec/epoch-cache';
|
|
3
|
-
import { type L1BlockId, type ViemPublicClient } from '@aztec/ethereum';
|
|
4
|
-
import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
5
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
6
|
-
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
8
|
-
import { type Logger } from '@aztec/foundation/log';
|
|
9
|
-
import { DateProvider } from '@aztec/foundation/timer';
|
|
10
|
-
import type { CustomRange } from '@aztec/kv-store';
|
|
11
|
-
import type { FunctionSelector } from '@aztec/stdlib/abi';
|
|
12
|
-
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
13
|
-
import { type ArchiverEmitter, L2Block, type L2BlockSource, type L2Tips, PublishedL2Block } from '@aztec/stdlib/block';
|
|
14
|
-
import type { Checkpoint, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
15
|
-
import { type ContractClassPublic, type ContractDataSource, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
16
|
-
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
17
|
-
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
18
|
-
import type { L2LogsSource } from '@aztec/stdlib/interfaces/server';
|
|
19
|
-
import { type LogFilter, type PrivateLog, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
20
|
-
import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
21
|
-
import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
22
|
-
import { type BlockHeader, type IndexedTxEffect, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
23
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
24
|
-
import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
25
|
-
import type { ArchiverDataStore, ArchiverL1SynchPoint } from './archiver_store.js';
|
|
26
|
-
import type { ArchiverConfig } from './config.js';
|
|
27
|
-
import { ArchiverInstrumentation } from './instrumentation.js';
|
|
28
|
-
import type { InboxMessage } from './structs/inbox_message.js';
|
|
29
|
-
import { type ValidateBlockResult } from './validation.js';
|
|
30
|
-
/**
|
|
31
|
-
* Helper interface to combine all sources this archiver implementation provides.
|
|
32
|
-
*/
|
|
33
|
-
export type ArchiveSource = L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource;
|
|
34
|
-
export type ArchiverDeps = {
|
|
35
|
-
telemetry?: TelemetryClient;
|
|
36
|
-
blobSinkClient: BlobSinkClientInterface;
|
|
37
|
-
epochCache?: EpochCache;
|
|
38
|
-
dateProvider?: DateProvider;
|
|
39
|
-
};
|
|
40
|
-
declare const Archiver_base: new () => ArchiverEmitter;
|
|
41
|
-
/**
|
|
42
|
-
* Pulls checkpoints in a non-blocking manner and provides interface for their retrieval.
|
|
43
|
-
* Responsible for handling robust L1 polling so that other components do not need to
|
|
44
|
-
* concern themselves with it.
|
|
45
|
-
*/
|
|
46
|
-
export declare class Archiver extends Archiver_base implements ArchiveSource, Traceable {
|
|
47
|
-
private readonly publicClient;
|
|
48
|
-
private readonly l1Addresses;
|
|
49
|
-
readonly dataStore: ArchiverDataStore;
|
|
50
|
-
private config;
|
|
51
|
-
private readonly blobSinkClient;
|
|
52
|
-
private readonly epochCache;
|
|
53
|
-
private readonly dateProvider;
|
|
54
|
-
private readonly instrumentation;
|
|
55
|
-
private readonly l1constants;
|
|
56
|
-
private readonly log;
|
|
57
|
-
/** A loop in which we will be continually fetching new checkpoints. */
|
|
58
|
-
private runningPromise;
|
|
59
|
-
private rollup;
|
|
60
|
-
private inbox;
|
|
61
|
-
private store;
|
|
62
|
-
private l1BlockNumber;
|
|
63
|
-
private l1Timestamp;
|
|
64
|
-
private initialSyncComplete;
|
|
65
|
-
private initialSyncPromise;
|
|
66
|
-
readonly tracer: Tracer;
|
|
67
|
-
/**
|
|
68
|
-
* Creates a new instance of the Archiver.
|
|
69
|
-
* @param publicClient - A client for interacting with the Ethereum node.
|
|
70
|
-
* @param rollupAddress - Ethereum address of the rollup contract.
|
|
71
|
-
* @param inboxAddress - Ethereum address of the inbox contract.
|
|
72
|
-
* @param registryAddress - Ethereum address of the registry contract.
|
|
73
|
-
* @param pollingIntervalMs - The interval for polling for L1 logs (in milliseconds).
|
|
74
|
-
* @param store - An archiver data store for storage & retrieval of blocks, encrypted logs & contract data.
|
|
75
|
-
* @param log - A logger.
|
|
76
|
-
*/
|
|
77
|
-
constructor(publicClient: ViemPublicClient, l1Addresses: {
|
|
78
|
-
rollupAddress: EthAddress;
|
|
79
|
-
inboxAddress: EthAddress;
|
|
80
|
-
registryAddress: EthAddress;
|
|
81
|
-
}, dataStore: ArchiverDataStore, config: {
|
|
82
|
-
pollingIntervalMs: number;
|
|
83
|
-
batchSize: number;
|
|
84
|
-
skipValidateBlockAttestations?: boolean;
|
|
85
|
-
maxAllowedEthClientDriftSeconds: number;
|
|
86
|
-
}, blobSinkClient: BlobSinkClientInterface, epochCache: EpochCache, dateProvider: DateProvider, instrumentation: ArchiverInstrumentation, l1constants: L1RollupConstants & {
|
|
87
|
-
l1StartBlockHash: Buffer32;
|
|
88
|
-
genesisArchiveRoot: Fr;
|
|
89
|
-
}, log?: Logger);
|
|
90
|
-
/**
|
|
91
|
-
* Creates a new instance of the Archiver and blocks until it syncs from chain.
|
|
92
|
-
* @param config - The archiver's desired configuration.
|
|
93
|
-
* @param archiverStore - The backing store for the archiver.
|
|
94
|
-
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
95
|
-
* @returns - An instance of the archiver.
|
|
96
|
-
*/
|
|
97
|
-
static createAndSync(config: ArchiverConfig, archiverStore: ArchiverDataStore, deps: ArchiverDeps, blockUntilSynced?: boolean): Promise<Archiver>;
|
|
98
|
-
/** Updates archiver config */
|
|
99
|
-
updateConfig(newConfig: Partial<ArchiverConfig>): void;
|
|
100
|
-
/**
|
|
101
|
-
* Starts sync process.
|
|
102
|
-
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
103
|
-
*/
|
|
104
|
-
start(blockUntilSynced: boolean): Promise<void>;
|
|
105
|
-
syncImmediate(): Promise<void>;
|
|
106
|
-
waitForInitialSync(): Promise<void>;
|
|
107
|
-
private testEthereumNodeSynced;
|
|
108
|
-
private sync;
|
|
109
|
-
private canPrune;
|
|
110
|
-
private handleEpochPrune;
|
|
111
|
-
private nextRange;
|
|
112
|
-
private handleL1ToL2Messages;
|
|
113
|
-
private retrieveL1ToL2Message;
|
|
114
|
-
private rollbackL1ToL2Messages;
|
|
115
|
-
private getL1BlockHash;
|
|
116
|
-
private handleCheckpoints;
|
|
117
|
-
private checkForNewCheckpointsBeforeL1SyncPoint;
|
|
118
|
-
/** Resumes the archiver after a stop. */
|
|
119
|
-
resume(): void;
|
|
120
|
-
/**
|
|
121
|
-
* Stops the archiver.
|
|
122
|
-
* @returns A promise signalling completion of the stop process.
|
|
123
|
-
*/
|
|
124
|
-
stop(): Promise<void>;
|
|
125
|
-
backupTo(destPath: string): Promise<string>;
|
|
126
|
-
getL1Constants(): Promise<L1RollupConstants>;
|
|
127
|
-
getGenesisValues(): Promise<{
|
|
128
|
-
genesisArchiveRoot: Fr;
|
|
129
|
-
}>;
|
|
130
|
-
getRollupAddress(): Promise<EthAddress>;
|
|
131
|
-
getRegistryAddress(): Promise<EthAddress>;
|
|
132
|
-
getL1BlockNumber(): bigint | undefined;
|
|
133
|
-
getL1Timestamp(): Promise<bigint | undefined>;
|
|
134
|
-
getL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
135
|
-
getL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
136
|
-
getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
|
|
137
|
-
getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
138
|
-
isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
|
|
139
|
-
/** Returns whether the archiver has completed an initial sync run successfully. */
|
|
140
|
-
isInitialSyncComplete(): boolean;
|
|
141
|
-
getPublishedCheckpoints(from: CheckpointNumber, limit: number, proven?: boolean): Promise<PublishedCheckpoint[]>;
|
|
142
|
-
getCheckpointByArchive(archive: Fr): Promise<Checkpoint | undefined>;
|
|
143
|
-
getCheckpoints(from: CheckpointNumber, limit: number, proven?: boolean): Promise<Checkpoint[]>;
|
|
144
|
-
getCheckpoint(number: CheckpointNumber): Promise<Checkpoint | undefined>;
|
|
145
|
-
getCheckpointHeader(number: CheckpointNumber | 'latest'): Promise<CheckpointHeader | undefined>;
|
|
146
|
-
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
147
|
-
getSynchedCheckpointNumber(): Promise<CheckpointNumber>;
|
|
148
|
-
getProvenCheckpointNumber(): Promise<CheckpointNumber>;
|
|
149
|
-
setProvenCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
150
|
-
unwindCheckpoints(from: CheckpointNumber, checkpointsToUnwind: number): Promise<boolean>;
|
|
151
|
-
getLastBlockNumberInCheckpoint(checkpointNumber: CheckpointNumber): Promise<BlockNumber>;
|
|
152
|
-
addCheckpoints(checkpoints: PublishedCheckpoint[], pendingChainValidationStatus?: ValidateBlockResult): Promise<boolean>;
|
|
153
|
-
getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
|
|
154
|
-
getL1ToL2MessagesForCheckpoint(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
|
|
155
|
-
/**
|
|
156
|
-
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
157
|
-
* @param from - Number of the first block to return (inclusive).
|
|
158
|
-
* @param limit - The number of blocks to return.
|
|
159
|
-
* @param proven - If true, only return blocks that have been proven.
|
|
160
|
-
* @returns The requested L2 blocks.
|
|
161
|
-
*/
|
|
162
|
-
getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
|
|
163
|
-
/** Equivalent to getBlocks but includes publish data. */
|
|
164
|
-
getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
|
|
165
|
-
getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
|
|
166
|
-
getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
|
|
167
|
-
getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
|
|
168
|
-
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
169
|
-
/**
|
|
170
|
-
* Gets an l2 block.
|
|
171
|
-
* @param number - The block number to return.
|
|
172
|
-
* @returns The requested L2 block.
|
|
173
|
-
*/
|
|
174
|
-
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
175
|
-
getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
|
|
176
|
-
getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
|
|
177
|
-
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
178
|
-
/**
|
|
179
|
-
* Retrieves all private logs from up to `limit` blocks, starting from the block number `from`.
|
|
180
|
-
* @param from - The block number from which to begin retrieving logs.
|
|
181
|
-
* @param limit - The maximum number of blocks to retrieve logs from.
|
|
182
|
-
* @returns An array of private logs from the specified range of blocks.
|
|
183
|
-
*/
|
|
184
|
-
getPrivateLogs(from: BlockNumber, limit: number): Promise<PrivateLog[]>;
|
|
185
|
-
/**
|
|
186
|
-
* Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
|
|
187
|
-
* @param tags - The tags to filter the logs by.
|
|
188
|
-
* @returns For each received tag, an array of matching logs is returned. An empty array implies no logs match
|
|
189
|
-
* that tag.
|
|
190
|
-
*/
|
|
191
|
-
getLogsByTags(tags: Fr[]): Promise<TxScopedL2Log[][]>;
|
|
192
|
-
/**
|
|
193
|
-
* Gets public logs based on the provided filter.
|
|
194
|
-
* @param filter - The filter to apply to the logs.
|
|
195
|
-
* @returns The requested logs.
|
|
196
|
-
*/
|
|
197
|
-
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
|
|
198
|
-
/**
|
|
199
|
-
* Gets contract class logs based on the provided filter.
|
|
200
|
-
* @param filter - The filter to apply to the logs.
|
|
201
|
-
* @returns The requested logs.
|
|
202
|
-
*/
|
|
203
|
-
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
204
|
-
/**
|
|
205
|
-
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
206
|
-
* @returns The number of the latest L2 block processed by the block source implementation.
|
|
207
|
-
*/
|
|
208
|
-
getBlockNumber(): Promise<BlockNumber>;
|
|
209
|
-
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
210
|
-
/** Forcefully updates the last proven block number. Use for testing. */
|
|
211
|
-
setProvenBlockNumber(blockNumber: BlockNumber): Promise<void>;
|
|
212
|
-
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
213
|
-
getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
|
|
214
|
-
getContract(address: AztecAddress, maybeTimestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
215
|
-
/**
|
|
216
|
-
* Gets L1 to L2 message (to be) included in a given block.
|
|
217
|
-
* @param blockNumber - L2 block number to get messages for.
|
|
218
|
-
* @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
|
|
219
|
-
*/
|
|
220
|
-
getL1ToL2Messages(blockNumber: BlockNumber): Promise<Fr[]>;
|
|
221
|
-
/**
|
|
222
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree.
|
|
223
|
-
* @param l1ToL2Message - The L1 to L2 message.
|
|
224
|
-
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
225
|
-
*/
|
|
226
|
-
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
227
|
-
getContractClassIds(): Promise<Fr[]>;
|
|
228
|
-
registerContractFunctionSignatures(signatures: string[]): Promise<void>;
|
|
229
|
-
getDebugFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
230
|
-
getPendingChainValidationStatus(): Promise<ValidateBlockResult>;
|
|
231
|
-
isPendingChainInvalid(): Promise<boolean>;
|
|
232
|
-
getL2Tips(): Promise<L2Tips>;
|
|
233
|
-
rollbackTo(targetL2BlockNumber: BlockNumber): Promise<void>;
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* A helper class that we use to deal with some of the logic needed when adding blocks.
|
|
237
|
-
*
|
|
238
|
-
* I would have preferred to not have this type. But it is useful for handling the logic that any
|
|
239
|
-
* store would need to include otherwise while exposing fewer functions and logic directly to the archiver.
|
|
240
|
-
*/
|
|
241
|
-
export declare class ArchiverStoreHelper implements Omit<ArchiverDataStore, 'addLogs' | 'deleteLogs' | 'addContractClasses' | 'deleteContractClasses' | 'addContractInstances' | 'deleteContractInstances' | 'addContractInstanceUpdates' | 'deleteContractInstanceUpdates' | 'addFunctions' | 'backupTo' | 'close' | 'transactionAsync' | 'addBlocks'> {
|
|
242
|
-
#private;
|
|
243
|
-
protected readonly store: ArchiverDataStore;
|
|
244
|
-
constructor(store: ArchiverDataStore);
|
|
245
|
-
addBlocks(blocks: PublishedL2Block[], pendingChainValidationStatus?: ValidateBlockResult): Promise<boolean>;
|
|
246
|
-
unwindBlocks(from: BlockNumber, blocksToUnwind: number): Promise<boolean>;
|
|
247
|
-
getPublishedBlocks(from: BlockNumber, limit: number): Promise<PublishedL2Block[]>;
|
|
248
|
-
getPublishedBlock(number: BlockNumber): Promise<PublishedL2Block | undefined>;
|
|
249
|
-
getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
|
|
250
|
-
getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
|
|
251
|
-
getBlockHeaders(from: BlockNumber, limit: number): Promise<BlockHeader[]>;
|
|
252
|
-
getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
|
|
253
|
-
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
254
|
-
getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
|
|
255
|
-
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
256
|
-
addL1ToL2Messages(messages: InboxMessage[]): Promise<void>;
|
|
257
|
-
getL1ToL2Messages(blockNumber: BlockNumber): Promise<Fr[]>;
|
|
258
|
-
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
259
|
-
getPrivateLogs(from: BlockNumber, limit: number): Promise<PrivateLog[]>;
|
|
260
|
-
getLogsByTags(tags: Fr[], logsPerTag?: number): Promise<TxScopedL2Log[][]>;
|
|
261
|
-
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
|
|
262
|
-
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
263
|
-
getSynchedL2BlockNumber(): Promise<BlockNumber>;
|
|
264
|
-
getProvenL2BlockNumber(): Promise<BlockNumber>;
|
|
265
|
-
setProvenL2BlockNumber(l2BlockNumber: BlockNumber): Promise<void>;
|
|
266
|
-
setBlockSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
267
|
-
setMessageSynchedL1Block(l1Block: L1BlockId): Promise<void>;
|
|
268
|
-
getSynchPoint(): Promise<ArchiverL1SynchPoint>;
|
|
269
|
-
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
270
|
-
getBytecodeCommitment(contractClassId: Fr): Promise<Fr | undefined>;
|
|
271
|
-
getContractInstance(address: AztecAddress, timestamp: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
272
|
-
getContractClassIds(): Promise<Fr[]>;
|
|
273
|
-
registerContractFunctionSignatures(signatures: string[]): Promise<void>;
|
|
274
|
-
getDebugFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
275
|
-
getTotalL1ToL2MessageCount(): Promise<bigint>;
|
|
276
|
-
estimateSize(): Promise<{
|
|
277
|
-
mappingSize: number;
|
|
278
|
-
physicalFileSize: number;
|
|
279
|
-
actualSize: number;
|
|
280
|
-
numItems: number;
|
|
281
|
-
}>;
|
|
282
|
-
rollbackL1ToL2MessagesToL2Block(targetBlockNumber: BlockNumber): Promise<void>;
|
|
283
|
-
iterateL1ToL2Messages(range?: CustomRange<bigint>): AsyncIterableIterator<InboxMessage>;
|
|
284
|
-
removeL1ToL2Messages(startIndex: bigint): Promise<void>;
|
|
285
|
-
getLastL1ToL2Message(): Promise<InboxMessage | undefined>;
|
|
286
|
-
getPendingChainValidationStatus(): Promise<ValidateBlockResult | undefined>;
|
|
287
|
-
setPendingChainValidationStatus(status: ValidateBlockResult | undefined): Promise<void>;
|
|
288
|
-
}
|
|
289
|
-
export {};
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBR0wsS0FBSyxTQUFTLEVBRWQsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RyxPQUFPLEVBQVksUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUlsRSxPQUFPLEVBQUUsWUFBWSxFQUFrQixNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBV25ELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixPQUFPLEVBQ1AsS0FBSyxhQUFhLEVBRWxCLEtBQUssTUFBTSxFQUNYLGdCQUFnQixFQUNqQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hGLE9BQU8s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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
|