@aztec/archiver 0.0.1-commit.b655e406 → 0.0.1-commit.c7c42ec
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/archiver/archiver.d.ts +110 -83
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +672 -349
- package/dest/archiver/archiver_store.d.ts +100 -47
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.js +1871 -389
- package/dest/archiver/config.d.ts +5 -4
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +15 -3
- package/dest/archiver/errors.d.ts +25 -1
- package/dest/archiver/errors.d.ts.map +1 -1
- package/dest/archiver/errors.js +37 -0
- package/dest/archiver/index.d.ts +2 -2
- package/dest/archiver/index.d.ts.map +1 -1
- package/dest/archiver/instrumentation.d.ts +5 -3
- package/dest/archiver/instrumentation.d.ts.map +1 -1
- package/dest/archiver/instrumentation.js +11 -0
- package/dest/archiver/kv_archiver_store/block_store.d.ts +51 -18
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +324 -87
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +47 -57
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +65 -48
- package/dest/archiver/kv_archiver_store/log_store.d.ts +12 -16
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +149 -84
- package/dest/archiver/kv_archiver_store/message_store.d.ts +6 -5
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +15 -14
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts +3 -0
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +1 -0
- package/dest/archiver/l1/bin/retrieve-calldata.js +149 -0
- package/dest/archiver/l1/calldata_retriever.d.ts +112 -0
- package/dest/archiver/l1/calldata_retriever.d.ts.map +1 -0
- package/dest/archiver/l1/calldata_retriever.js +471 -0
- package/dest/archiver/l1/data_retrieval.d.ts +90 -0
- package/dest/archiver/l1/data_retrieval.d.ts.map +1 -0
- package/dest/archiver/l1/data_retrieval.js +331 -0
- package/dest/archiver/l1/debug_tx.d.ts +19 -0
- package/dest/archiver/l1/debug_tx.d.ts.map +1 -0
- package/dest/archiver/l1/debug_tx.js +73 -0
- package/dest/archiver/l1/spire_proposer.d.ts +70 -0
- package/dest/archiver/l1/spire_proposer.d.ts.map +1 -0
- package/dest/archiver/l1/spire_proposer.js +157 -0
- package/dest/archiver/l1/trace_tx.d.ts +97 -0
- package/dest/archiver/l1/trace_tx.d.ts.map +1 -0
- package/dest/archiver/l1/trace_tx.js +91 -0
- package/dest/archiver/l1/types.d.ts +12 -0
- package/dest/archiver/l1/types.d.ts.map +1 -0
- package/dest/archiver/l1/types.js +3 -0
- package/dest/archiver/l1/validate_trace.d.ts +29 -0
- package/dest/archiver/l1/validate_trace.d.ts.map +1 -0
- package/dest/archiver/l1/validate_trace.js +150 -0
- package/dest/archiver/structs/data_retrieval.d.ts +1 -1
- package/dest/archiver/structs/inbox_message.d.ts +4 -4
- package/dest/archiver/structs/inbox_message.d.ts.map +1 -1
- package/dest/archiver/structs/inbox_message.js +6 -5
- package/dest/archiver/structs/published.d.ts +2 -2
- package/dest/archiver/structs/published.d.ts.map +1 -1
- package/dest/archiver/validation.d.ts +10 -4
- package/dest/archiver/validation.d.ts.map +1 -1
- package/dest/archiver/validation.js +29 -21
- package/dest/factory.d.ts +2 -2
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +4 -3
- package/dest/index.d.ts +2 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/rpc/index.d.ts +2 -2
- package/dest/test/index.d.ts +1 -1
- package/dest/test/mock_archiver.d.ts +16 -8
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_archiver.js +19 -14
- package/dest/test/mock_l1_to_l2_message_source.d.ts +7 -6
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.js +10 -9
- package/dest/test/mock_l2_block_source.d.ts +23 -11
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +38 -24
- package/dest/test/mock_structs.d.ts +3 -2
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +9 -8
- package/package.json +18 -17
- package/src/archiver/archiver.ts +884 -449
- package/src/archiver/archiver_store.ts +113 -46
- package/src/archiver/archiver_store_test_suite.ts +1936 -356
- package/src/archiver/config.ts +20 -10
- package/src/archiver/errors.ts +64 -0
- package/src/archiver/index.ts +1 -1
- package/src/archiver/instrumentation.ts +16 -2
- package/src/archiver/kv_archiver_store/block_store.ts +442 -101
- package/src/archiver/kv_archiver_store/contract_class_store.ts +1 -1
- package/src/archiver/kv_archiver_store/contract_instance_store.ts +1 -1
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +87 -71
- package/src/archiver/kv_archiver_store/log_store.ts +209 -99
- package/src/archiver/kv_archiver_store/message_store.ts +21 -18
- package/src/archiver/l1/README.md +98 -0
- package/src/archiver/l1/bin/retrieve-calldata.ts +182 -0
- package/src/archiver/l1/calldata_retriever.ts +641 -0
- package/src/archiver/l1/data_retrieval.ts +512 -0
- package/src/archiver/l1/debug_tx.ts +99 -0
- package/src/archiver/l1/spire_proposer.ts +160 -0
- package/src/archiver/l1/trace_tx.ts +128 -0
- package/src/archiver/l1/types.ts +13 -0
- package/src/archiver/l1/validate_trace.ts +211 -0
- package/src/archiver/structs/inbox_message.ts +8 -8
- package/src/archiver/structs/published.ts +1 -1
- package/src/archiver/validation.ts +52 -27
- package/src/factory.ts +4 -3
- package/src/index.ts +1 -1
- 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/mock_archiver.ts +22 -16
- package/src/test/mock_l1_to_l2_message_source.ts +10 -9
- package/src/test/mock_l2_block_source.ts +51 -30
- package/src/test/mock_structs.ts +10 -9
- package/dest/archiver/data_retrieval.d.ts +0 -79
- package/dest/archiver/data_retrieval.d.ts.map +0 -1
- package/dest/archiver/data_retrieval.js +0 -362
- package/src/archiver/data_retrieval.ts +0 -545
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { GENESIS_ARCHIVE_ROOT } from '@aztec/constants';
|
|
2
|
-
import { DefaultL1ContractsConfig } from '@aztec/ethereum';
|
|
2
|
+
import { DefaultL1ContractsConfig } from '@aztec/ethereum/config';
|
|
3
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
4
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
5
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
6
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
6
7
|
import { createLogger } from '@aztec/foundation/log';
|
|
7
8
|
import { L2Block, L2BlockHash, PublishedL2Block } from '@aztec/stdlib/block';
|
|
9
|
+
import { L1PublishedData } from '@aztec/stdlib/checkpoint';
|
|
8
10
|
import { EmptyL1RollupConstants, getSlotRangeForEpoch } from '@aztec/stdlib/epoch-helpers';
|
|
9
11
|
import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
10
12
|
/**
|
|
@@ -17,7 +19,7 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
|
17
19
|
async createBlocks(numBlocks) {
|
|
18
20
|
for(let i = 0; i < numBlocks; i++){
|
|
19
21
|
const blockNum = this.l2Blocks.length + 1;
|
|
20
|
-
const block = await L2Block.random(blockNum);
|
|
22
|
+
const block = await L2Block.random(BlockNumber(blockNum));
|
|
21
23
|
this.l2Blocks.push(block);
|
|
22
24
|
}
|
|
23
25
|
this.log.verbose(`Created ${numBlocks} blocks in the mock L2 block source`);
|
|
@@ -55,10 +57,14 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
|
55
57
|
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
56
58
|
* @returns In this mock instance, returns the number of L2 blocks that we've mocked.
|
|
57
59
|
*/ getBlockNumber() {
|
|
58
|
-
return Promise.resolve(this.l2Blocks.length);
|
|
60
|
+
return Promise.resolve(BlockNumber(this.l2Blocks.length));
|
|
59
61
|
}
|
|
60
62
|
getProvenBlockNumber() {
|
|
61
|
-
return Promise.resolve(this.provenBlockNumber);
|
|
63
|
+
return Promise.resolve(BlockNumber(this.provenBlockNumber));
|
|
64
|
+
}
|
|
65
|
+
getCheckpointedBlock(_number) {
|
|
66
|
+
// In this mock, we don't track checkpointed blocks separately
|
|
67
|
+
return Promise.resolve(undefined);
|
|
62
68
|
}
|
|
63
69
|
/**
|
|
64
70
|
* Gets an l2 block.
|
|
@@ -68,6 +74,14 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
|
68
74
|
return Promise.resolve(this.l2Blocks[number - 1]);
|
|
69
75
|
}
|
|
70
76
|
/**
|
|
77
|
+
* Gets an L2 block (new format).
|
|
78
|
+
* @param number - The block number to return.
|
|
79
|
+
* @returns The requested L2 block.
|
|
80
|
+
*/ getL2BlockNew(number) {
|
|
81
|
+
const block = this.l2Blocks[number - 1];
|
|
82
|
+
return Promise.resolve(block?.toL2Block());
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
71
85
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
72
86
|
* @param from - Number of the first block to return (inclusive).
|
|
73
87
|
* @param limit - The maximum number of blocks to return.
|
|
@@ -75,15 +89,19 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
|
75
89
|
*/ getBlocks(from, limit, proven) {
|
|
76
90
|
return Promise.resolve(this.l2Blocks.slice(from - 1, from - 1 + limit).filter((b)=>!proven || this.provenBlockNumber === undefined || b.number <= this.provenBlockNumber));
|
|
77
91
|
}
|
|
92
|
+
async getPublishedCheckpoints(from, limit) {
|
|
93
|
+
// TODO: Implement this properly. This only works when we have one block per checkpoint.
|
|
94
|
+
return (await this.getPublishedBlocks(from, limit)).map((block)=>block.toPublishedCheckpoint());
|
|
95
|
+
}
|
|
96
|
+
async getCheckpointByArchive(archive) {
|
|
97
|
+
// TODO: Implement this properly. This only works when we have one block per checkpoint.
|
|
98
|
+
return (await this.getPublishedBlockByArchive(archive))?.block.toCheckpoint();
|
|
99
|
+
}
|
|
78
100
|
async getPublishedBlocks(from, limit, proven) {
|
|
79
101
|
const blocks = await this.getBlocks(from, limit, proven);
|
|
80
102
|
return blocks.map((block)=>PublishedL2Block.fromFields({
|
|
81
103
|
block,
|
|
82
|
-
l1:
|
|
83
|
-
blockNumber: BigInt(block.number),
|
|
84
|
-
blockHash: Buffer32.random().toString(),
|
|
85
|
-
timestamp: BigInt(block.number)
|
|
86
|
-
},
|
|
104
|
+
l1: new L1PublishedData(BigInt(block.number), BigInt(block.number), Buffer32.random().toString()),
|
|
87
105
|
attestations: []
|
|
88
106
|
}));
|
|
89
107
|
}
|
|
@@ -93,11 +111,7 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
|
93
111
|
if (hash.equals(blockHash)) {
|
|
94
112
|
return PublishedL2Block.fromFields({
|
|
95
113
|
block,
|
|
96
|
-
l1:
|
|
97
|
-
blockNumber: BigInt(block.number),
|
|
98
|
-
blockHash: Buffer32.random().toString(),
|
|
99
|
-
timestamp: BigInt(block.number)
|
|
100
|
-
},
|
|
114
|
+
l1: new L1PublishedData(BigInt(block.number), BigInt(block.number), Buffer32.random().toString()),
|
|
101
115
|
attestations: []
|
|
102
116
|
});
|
|
103
117
|
}
|
|
@@ -111,11 +125,7 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
|
111
125
|
}
|
|
112
126
|
return Promise.resolve(PublishedL2Block.fromFields({
|
|
113
127
|
block,
|
|
114
|
-
l1:
|
|
115
|
-
blockNumber: BigInt(block.number),
|
|
116
|
-
blockHash: Buffer32.random().toString(),
|
|
117
|
-
timestamp: BigInt(block.number)
|
|
118
|
-
},
|
|
128
|
+
l1: new L1PublishedData(BigInt(block.number), BigInt(block.number), Buffer32.random().toString()),
|
|
119
129
|
attestations: []
|
|
120
130
|
}));
|
|
121
131
|
}
|
|
@@ -135,13 +145,17 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
|
135
145
|
getBlockHeader(number) {
|
|
136
146
|
return Promise.resolve(this.l2Blocks.at(typeof number === 'number' ? number - 1 : -1)?.getBlockHeader());
|
|
137
147
|
}
|
|
148
|
+
getCheckpointsForEpoch(epochNumber) {
|
|
149
|
+
// TODO: Implement this properly. This only works when we have one block per checkpoint.
|
|
150
|
+
return this.getBlocksForEpoch(epochNumber).then((blocks)=>blocks.map((b)=>b.toCheckpoint()));
|
|
151
|
+
}
|
|
138
152
|
getBlocksForEpoch(epochNumber) {
|
|
139
153
|
const epochDuration = DefaultL1ContractsConfig.aztecEpochDuration;
|
|
140
154
|
const [start, end] = getSlotRangeForEpoch(epochNumber, {
|
|
141
155
|
epochDuration
|
|
142
156
|
});
|
|
143
157
|
const blocks = this.l2Blocks.filter((b)=>{
|
|
144
|
-
const slot = b.header.globalVariables.slotNumber
|
|
158
|
+
const slot = b.header.globalVariables.slotNumber;
|
|
145
159
|
return slot >= start && slot <= end;
|
|
146
160
|
});
|
|
147
161
|
return Promise.resolve(blocks);
|
|
@@ -195,15 +209,15 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
|
195
209
|
const finalizedBlock = this.l2Blocks[finalized - 1];
|
|
196
210
|
return {
|
|
197
211
|
latest: {
|
|
198
|
-
number: latest,
|
|
212
|
+
number: BlockNumber(latest),
|
|
199
213
|
hash: (await latestBlock?.hash())?.toString()
|
|
200
214
|
},
|
|
201
215
|
proven: {
|
|
202
|
-
number: proven,
|
|
216
|
+
number: BlockNumber(proven),
|
|
203
217
|
hash: (await provenBlock?.hash())?.toString()
|
|
204
218
|
},
|
|
205
219
|
finalized: {
|
|
206
|
-
number: finalized,
|
|
220
|
+
number: BlockNumber(finalized),
|
|
207
221
|
hash: (await finalizedBlock?.hash())?.toString()
|
|
208
222
|
}
|
|
209
223
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Buffer16 } from '@aztec/foundation/buffer';
|
|
2
3
|
import { type InboxMessage } from '../archiver/structs/inbox_message.js';
|
|
3
4
|
export declare function makeInboxMessage(previousRollingHash?: Buffer16, overrides?: Partial<InboxMessage>): InboxMessage;
|
|
4
5
|
export declare function makeInboxMessages(count: number, opts?: {
|
|
5
6
|
initialHash?: Buffer16;
|
|
6
|
-
|
|
7
|
+
initialCheckpointNumber?: CheckpointNumber;
|
|
7
8
|
overrideFn?: (msg: InboxMessage, index: number) => InboxMessage;
|
|
8
9
|
}): InboxMessage[];
|
|
9
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19zdHJ1Y3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3N0cnVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBSzlELE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBcUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUU1Rix3QkFBZ0IsZ0JBQWdCLENBQzlCLG1CQUFtQixXQUFnQixFQUNuQyxTQUFTLEdBQUUsT0FBTyxDQUFDLFlBQVksQ0FBTSxHQUNwQyxZQUFZLENBZ0JkO0FBRUQsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsTUFBTSxFQUNiLElBQUksR0FBRTtJQUNKLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUN2Qix1QkFBdUIsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0lBQzNDLFVBQVUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLFlBQVksQ0FBQztDQUM1RCxHQUNMLFlBQVksRUFBRSxDQWFoQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_structs.d.ts","sourceRoot":"","sources":["../../src/test/mock_structs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAK9D,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,sCAAsC,CAAC;AAE5F,wBAAgB,gBAAgB,CAC9B,mBAAmB,WAAgB,EACnC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GACpC,YAAY,CAgBd;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IACJ,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"mock_structs.d.ts","sourceRoot":"","sources":["../../src/test/mock_structs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAK9D,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,sCAAsC,CAAC;AAE5F,wBAAgB,gBAAgB,CAC9B,mBAAmB,WAAgB,EACnC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GACpC,YAAY,CAgBd;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IACJ,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;IAC3C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC;CAC5D,GACL,YAAY,EAAE,CAahB"}
|
|
@@ -1,34 +1,35 @@
|
|
|
1
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
|
|
2
|
-
import { randomBigInt, randomInt } from '@aztec/foundation/crypto';
|
|
3
|
-
import { Fr } from '@aztec/foundation/
|
|
3
|
+
import { randomBigInt, randomInt } from '@aztec/foundation/crypto/random';
|
|
4
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
5
|
import { InboxLeaf } from '@aztec/stdlib/messaging';
|
|
5
6
|
import { updateRollingHash } from '../archiver/structs/inbox_message.js';
|
|
6
7
|
export function makeInboxMessage(previousRollingHash = Buffer16.ZERO, overrides = {}) {
|
|
7
|
-
const {
|
|
8
|
+
const { checkpointNumber = CheckpointNumber(randomInt(100) + 1) } = overrides;
|
|
8
9
|
const { l1BlockNumber = randomBigInt(100n) + 1n } = overrides;
|
|
9
10
|
const { l1BlockHash = Buffer32.random() } = overrides;
|
|
10
11
|
const { leaf = Fr.random() } = overrides;
|
|
11
12
|
const { rollingHash = updateRollingHash(previousRollingHash, leaf) } = overrides;
|
|
12
|
-
const { index = InboxLeaf.
|
|
13
|
+
const { index = InboxLeaf.smallestIndexForCheckpoint(checkpointNumber) } = overrides;
|
|
13
14
|
return {
|
|
14
15
|
index,
|
|
15
16
|
leaf,
|
|
16
|
-
|
|
17
|
+
checkpointNumber,
|
|
17
18
|
l1BlockNumber,
|
|
18
19
|
l1BlockHash,
|
|
19
20
|
rollingHash
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
23
|
export function makeInboxMessages(count, opts = {}) {
|
|
23
|
-
const { initialHash = Buffer16.ZERO, overrideFn = (msg)=>msg,
|
|
24
|
+
const { initialHash = Buffer16.ZERO, overrideFn = (msg)=>msg, initialCheckpointNumber = 1 } = opts;
|
|
24
25
|
const messages = [];
|
|
25
26
|
let rollingHash = initialHash;
|
|
26
27
|
for(let i = 0; i < count; i++){
|
|
27
28
|
const leaf = Fr.random();
|
|
28
|
-
const
|
|
29
|
+
const checkpointNumber = CheckpointNumber(i + initialCheckpointNumber);
|
|
29
30
|
const message = overrideFn(makeInboxMessage(rollingHash, {
|
|
30
31
|
leaf,
|
|
31
|
-
|
|
32
|
+
checkpointNumber
|
|
32
33
|
}), i);
|
|
33
34
|
rollingHash = message.rollingHash;
|
|
34
35
|
messages.push(message);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/archiver",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.c7c42ec",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"tsconfig": "./tsconfig.json"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
|
-
"build": "yarn clean && tsc
|
|
21
|
-
"build:dev": "tsc
|
|
20
|
+
"build": "yarn clean && ../scripts/tsc.sh",
|
|
21
|
+
"build:dev": "../scripts/tsc.sh --watch",
|
|
22
22
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
23
23
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
|
|
24
24
|
"test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
|
|
@@ -66,23 +66,23 @@
|
|
|
66
66
|
]
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@aztec/blob-
|
|
70
|
-
"@aztec/blob-
|
|
71
|
-
"@aztec/constants": "0.0.1-commit.
|
|
72
|
-
"@aztec/epoch-cache": "0.0.1-commit.
|
|
73
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
74
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
75
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
76
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
77
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
78
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
79
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
80
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
69
|
+
"@aztec/blob-client": "0.0.1-commit.c7c42ec",
|
|
70
|
+
"@aztec/blob-lib": "0.0.1-commit.c7c42ec",
|
|
71
|
+
"@aztec/constants": "0.0.1-commit.c7c42ec",
|
|
72
|
+
"@aztec/epoch-cache": "0.0.1-commit.c7c42ec",
|
|
73
|
+
"@aztec/ethereum": "0.0.1-commit.c7c42ec",
|
|
74
|
+
"@aztec/foundation": "0.0.1-commit.c7c42ec",
|
|
75
|
+
"@aztec/kv-store": "0.0.1-commit.c7c42ec",
|
|
76
|
+
"@aztec/l1-artifacts": "0.0.1-commit.c7c42ec",
|
|
77
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.c7c42ec",
|
|
78
|
+
"@aztec/protocol-contracts": "0.0.1-commit.c7c42ec",
|
|
79
|
+
"@aztec/stdlib": "0.0.1-commit.c7c42ec",
|
|
80
|
+
"@aztec/telemetry-client": "0.0.1-commit.c7c42ec",
|
|
81
81
|
"lodash.groupby": "^4.6.0",
|
|
82
82
|
"lodash.omit": "^4.5.0",
|
|
83
|
-
"tsc-watch": "^6.0.0",
|
|
84
83
|
"tslib": "^2.5.0",
|
|
85
|
-
"viem": "npm:@
|
|
84
|
+
"viem": "npm:@aztec/viem@2.38.2",
|
|
85
|
+
"zod": "^3.23.8"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
88
|
"@jest/globals": "^30.0.0",
|
|
@@ -90,6 +90,7 @@
|
|
|
90
90
|
"@types/lodash.groupby": "^4.6.9",
|
|
91
91
|
"@types/lodash.omit": "^4.5.7",
|
|
92
92
|
"@types/node": "^22.15.17",
|
|
93
|
+
"@typescript/native-preview": "7.0.0-dev.20251126.1",
|
|
93
94
|
"concurrently": "^8.0.1",
|
|
94
95
|
"jest": "^30.0.0",
|
|
95
96
|
"jest-mock-extended": "^4.0.0",
|