@aztec/sequencer-client 0.85.0-alpha-testnet.4 → 0.85.0-alpha-testnet.7
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.
|
@@ -147,6 +147,7 @@ export declare class Sequencer {
|
|
|
147
147
|
numTxs: number;
|
|
148
148
|
numFailedTxs: number;
|
|
149
149
|
blockBuildingTimer: Timer;
|
|
150
|
+
usedTxs: Tx[];
|
|
150
151
|
}>;
|
|
151
152
|
/**
|
|
152
153
|
* @notice Build and propose a block to the chain
|
|
@@ -158,7 +159,7 @@ export declare class Sequencer {
|
|
|
158
159
|
* @param proposalHeader - The partial header constructed for the proposal
|
|
159
160
|
*/
|
|
160
161
|
private buildBlockAndEnqueuePublish;
|
|
161
|
-
protected collectAttestations(block: L2Block,
|
|
162
|
+
protected collectAttestations(block: L2Block, txs: Tx[]): Promise<Signature[] | undefined>;
|
|
162
163
|
/**
|
|
163
164
|
* Publishes the L2Block to the rollup contract.
|
|
164
165
|
* @param block - The L2Block to be published.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}
|
|
@@ -401,7 +401,7 @@ export { SequencerState };
|
|
|
401
401
|
deadline,
|
|
402
402
|
...proposerLimits
|
|
403
403
|
};
|
|
404
|
-
const [publicProcessorDuration, [processedTxs, failedTxs]] = await elapsed(()=>processor.process(pendingTxs, limits, validator));
|
|
404
|
+
const [publicProcessorDuration, [processedTxs, failedTxs, usedTxs]] = await elapsed(()=>processor.process(pendingTxs, limits, validator));
|
|
405
405
|
if (!opts.validateOnly && failedTxs.length > 0) {
|
|
406
406
|
const failedTxData = failedTxs.map((fail)=>fail.tx);
|
|
407
407
|
const failedTxHashes = await Tx.getHashes(failedTxData);
|
|
@@ -434,7 +434,8 @@ export { SequencerState };
|
|
|
434
434
|
numMsgs: l1ToL2Messages.length,
|
|
435
435
|
numTxs: processedTxs.length,
|
|
436
436
|
numFailedTxs: failedTxs.length,
|
|
437
|
-
blockBuildingTimer
|
|
437
|
+
blockBuildingTimer,
|
|
438
|
+
usedTxs
|
|
438
439
|
};
|
|
439
440
|
} finally{
|
|
440
441
|
// We create a fresh processor each time to reset any cached state (eg storage writes)
|
|
@@ -470,7 +471,7 @@ export { SequencerState };
|
|
|
470
471
|
this.setState(SequencerState.CREATING_BLOCK, slot);
|
|
471
472
|
try {
|
|
472
473
|
const buildBlockRes = await this.buildBlock(pendingTxs, newGlobalVariables);
|
|
473
|
-
const { publicGas, block, publicProcessorDuration, numTxs, numMsgs, blockBuildingTimer } = buildBlockRes;
|
|
474
|
+
const { publicGas, block, publicProcessorDuration, numTxs, numMsgs, blockBuildingTimer, usedTxs } = buildBlockRes;
|
|
474
475
|
this.metrics.recordBuiltBlock(workTimer.ms(), publicGas.l2Gas);
|
|
475
476
|
// TODO(@PhilWindle) We should probably periodically check for things like another
|
|
476
477
|
// block being published before ours instead of just waiting on our block
|
|
@@ -493,7 +494,7 @@ export { SequencerState };
|
|
|
493
494
|
});
|
|
494
495
|
this.log.debug('Collecting attestations');
|
|
495
496
|
const stopCollectingAttestationsTimer = this.metrics.startCollectingAttestationsTimer();
|
|
496
|
-
const attestations = await this.collectAttestations(block,
|
|
497
|
+
const attestations = await this.collectAttestations(block, usedTxs);
|
|
497
498
|
if (attestations !== undefined) {
|
|
498
499
|
this.log.verbose(`Collected ${attestations.length} attestations`, {
|
|
499
500
|
blockHash,
|
|
@@ -507,7 +508,7 @@ export { SequencerState };
|
|
|
507
508
|
throw err;
|
|
508
509
|
}
|
|
509
510
|
}
|
|
510
|
-
async collectAttestations(block,
|
|
511
|
+
async collectAttestations(block, txs) {
|
|
511
512
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/7962): inefficient to have a round trip in here - this should be cached
|
|
512
513
|
const committee = await this.publisher.getCurrentEpochCommittee();
|
|
513
514
|
if (committee.length === 0) {
|
|
@@ -525,7 +526,7 @@ export { SequencerState };
|
|
|
525
526
|
const slotNumber = block.header.globalVariables.slotNumber.toBigInt();
|
|
526
527
|
this.setState(SequencerState.COLLECTING_ATTESTATIONS, slotNumber);
|
|
527
528
|
this.log.debug('Creating block proposal for validators');
|
|
528
|
-
const proposal = await this.validatorClient.createBlockProposal(block.header, block.archive.root,
|
|
529
|
+
const proposal = await this.validatorClient.createBlockProposal(block.header, block.archive.root, txs);
|
|
529
530
|
if (!proposal) {
|
|
530
531
|
const msg = `Failed to create block proposal`;
|
|
531
532
|
throw new Error(msg);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/sequencer-client",
|
|
3
|
-
"version": "0.85.0-alpha-testnet.
|
|
3
|
+
"version": "0.85.0-alpha-testnet.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -28,36 +28,36 @@
|
|
|
28
28
|
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@aztec/aztec.js": "0.85.0-alpha-testnet.
|
|
32
|
-
"@aztec/bb-prover": "0.85.0-alpha-testnet.
|
|
33
|
-
"@aztec/blob-lib": "0.85.0-alpha-testnet.
|
|
34
|
-
"@aztec/blob-sink": "0.85.0-alpha-testnet.
|
|
35
|
-
"@aztec/constants": "0.85.0-alpha-testnet.
|
|
36
|
-
"@aztec/epoch-cache": "0.85.0-alpha-testnet.
|
|
37
|
-
"@aztec/ethereum": "0.85.0-alpha-testnet.
|
|
38
|
-
"@aztec/foundation": "0.85.0-alpha-testnet.
|
|
39
|
-
"@aztec/l1-artifacts": "0.85.0-alpha-testnet.
|
|
40
|
-
"@aztec/merkle-tree": "0.85.0-alpha-testnet.
|
|
41
|
-
"@aztec/noir-acvm_js": "0.85.0-alpha-testnet.
|
|
42
|
-
"@aztec/noir-contracts.js": "0.85.0-alpha-testnet.
|
|
43
|
-
"@aztec/noir-protocol-circuits-types": "0.85.0-alpha-testnet.
|
|
44
|
-
"@aztec/noir-types": "0.85.0-alpha-testnet.
|
|
45
|
-
"@aztec/p2p": "0.85.0-alpha-testnet.
|
|
46
|
-
"@aztec/protocol-contracts": "0.85.0-alpha-testnet.
|
|
47
|
-
"@aztec/prover-client": "0.85.0-alpha-testnet.
|
|
48
|
-
"@aztec/simulator": "0.85.0-alpha-testnet.
|
|
49
|
-
"@aztec/stdlib": "0.85.0-alpha-testnet.
|
|
50
|
-
"@aztec/telemetry-client": "0.85.0-alpha-testnet.
|
|
51
|
-
"@aztec/validator-client": "0.85.0-alpha-testnet.
|
|
52
|
-
"@aztec/world-state": "0.85.0-alpha-testnet.
|
|
31
|
+
"@aztec/aztec.js": "0.85.0-alpha-testnet.7",
|
|
32
|
+
"@aztec/bb-prover": "0.85.0-alpha-testnet.7",
|
|
33
|
+
"@aztec/blob-lib": "0.85.0-alpha-testnet.7",
|
|
34
|
+
"@aztec/blob-sink": "0.85.0-alpha-testnet.7",
|
|
35
|
+
"@aztec/constants": "0.85.0-alpha-testnet.7",
|
|
36
|
+
"@aztec/epoch-cache": "0.85.0-alpha-testnet.7",
|
|
37
|
+
"@aztec/ethereum": "0.85.0-alpha-testnet.7",
|
|
38
|
+
"@aztec/foundation": "0.85.0-alpha-testnet.7",
|
|
39
|
+
"@aztec/l1-artifacts": "0.85.0-alpha-testnet.7",
|
|
40
|
+
"@aztec/merkle-tree": "0.85.0-alpha-testnet.7",
|
|
41
|
+
"@aztec/noir-acvm_js": "0.85.0-alpha-testnet.7",
|
|
42
|
+
"@aztec/noir-contracts.js": "0.85.0-alpha-testnet.7",
|
|
43
|
+
"@aztec/noir-protocol-circuits-types": "0.85.0-alpha-testnet.7",
|
|
44
|
+
"@aztec/noir-types": "0.85.0-alpha-testnet.7",
|
|
45
|
+
"@aztec/p2p": "0.85.0-alpha-testnet.7",
|
|
46
|
+
"@aztec/protocol-contracts": "0.85.0-alpha-testnet.7",
|
|
47
|
+
"@aztec/prover-client": "0.85.0-alpha-testnet.7",
|
|
48
|
+
"@aztec/simulator": "0.85.0-alpha-testnet.7",
|
|
49
|
+
"@aztec/stdlib": "0.85.0-alpha-testnet.7",
|
|
50
|
+
"@aztec/telemetry-client": "0.85.0-alpha-testnet.7",
|
|
51
|
+
"@aztec/validator-client": "0.85.0-alpha-testnet.7",
|
|
52
|
+
"@aztec/world-state": "0.85.0-alpha-testnet.7",
|
|
53
53
|
"lodash.chunk": "^4.2.0",
|
|
54
54
|
"lodash.pick": "^4.4.0",
|
|
55
55
|
"tslib": "^2.4.0",
|
|
56
56
|
"viem": "2.23.7"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@aztec/archiver": "0.85.0-alpha-testnet.
|
|
60
|
-
"@aztec/kv-store": "0.85.0-alpha-testnet.
|
|
59
|
+
"@aztec/archiver": "0.85.0-alpha-testnet.7",
|
|
60
|
+
"@aztec/kv-store": "0.85.0-alpha-testnet.7",
|
|
61
61
|
"@jest/globals": "^29.5.0",
|
|
62
62
|
"@types/jest": "^29.5.0",
|
|
63
63
|
"@types/lodash.chunk": "^4.2.7",
|
|
@@ -506,7 +506,7 @@ export class Sequencer {
|
|
|
506
506
|
maxBlockGas: this.maxBlockGas,
|
|
507
507
|
};
|
|
508
508
|
const limits = opts.validateOnly ? { deadline } : { deadline, ...proposerLimits };
|
|
509
|
-
const [publicProcessorDuration, [processedTxs, failedTxs]] = await elapsed(() =>
|
|
509
|
+
const [publicProcessorDuration, [processedTxs, failedTxs, usedTxs]] = await elapsed(() =>
|
|
510
510
|
processor.process(pendingTxs, limits, validator),
|
|
511
511
|
);
|
|
512
512
|
|
|
@@ -550,6 +550,7 @@ export class Sequencer {
|
|
|
550
550
|
numTxs: processedTxs.length,
|
|
551
551
|
numFailedTxs: failedTxs.length,
|
|
552
552
|
blockBuildingTimer,
|
|
553
|
+
usedTxs,
|
|
553
554
|
};
|
|
554
555
|
} finally {
|
|
555
556
|
// We create a fresh processor each time to reset any cached state (eg storage writes)
|
|
@@ -596,7 +597,7 @@ export class Sequencer {
|
|
|
596
597
|
|
|
597
598
|
try {
|
|
598
599
|
const buildBlockRes = await this.buildBlock(pendingTxs, newGlobalVariables);
|
|
599
|
-
const { publicGas, block, publicProcessorDuration, numTxs, numMsgs, blockBuildingTimer } = buildBlockRes;
|
|
600
|
+
const { publicGas, block, publicProcessorDuration, numTxs, numMsgs, blockBuildingTimer, usedTxs } = buildBlockRes;
|
|
600
601
|
this.metrics.recordBuiltBlock(workTimer.ms(), publicGas.l2Gas);
|
|
601
602
|
|
|
602
603
|
// TODO(@PhilWindle) We should probably periodically check for things like another
|
|
@@ -628,7 +629,7 @@ export class Sequencer {
|
|
|
628
629
|
|
|
629
630
|
this.log.debug('Collecting attestations');
|
|
630
631
|
const stopCollectingAttestationsTimer = this.metrics.startCollectingAttestationsTimer();
|
|
631
|
-
const attestations = await this.collectAttestations(block,
|
|
632
|
+
const attestations = await this.collectAttestations(block, usedTxs);
|
|
632
633
|
if (attestations !== undefined) {
|
|
633
634
|
this.log.verbose(`Collected ${attestations.length} attestations`, { blockHash, blockNumber });
|
|
634
635
|
}
|
|
@@ -646,7 +647,7 @@ export class Sequencer {
|
|
|
646
647
|
[Attributes.BLOCK_ARCHIVE]: block.archive.toString(),
|
|
647
648
|
[Attributes.BLOCK_TXS_COUNT]: txHashes.length,
|
|
648
649
|
}))
|
|
649
|
-
protected async collectAttestations(block: L2Block,
|
|
650
|
+
protected async collectAttestations(block: L2Block, txs: Tx[]): Promise<Signature[] | undefined> {
|
|
650
651
|
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/7962): inefficient to have a round trip in here - this should be cached
|
|
651
652
|
const committee = await this.publisher.getCurrentEpochCommittee();
|
|
652
653
|
|
|
@@ -668,7 +669,7 @@ export class Sequencer {
|
|
|
668
669
|
this.setState(SequencerState.COLLECTING_ATTESTATIONS, slotNumber);
|
|
669
670
|
|
|
670
671
|
this.log.debug('Creating block proposal for validators');
|
|
671
|
-
const proposal = await this.validatorClient.createBlockProposal(block.header, block.archive.root,
|
|
672
|
+
const proposal = await this.validatorClient.createBlockProposal(block.header, block.archive.root, txs);
|
|
672
673
|
if (!proposal) {
|
|
673
674
|
const msg = `Failed to create block proposal`;
|
|
674
675
|
throw new Error(msg);
|