@aztec/sequencer-client 1.0.0-staging.2 → 1.0.0
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/publisher/sequencer-publisher.d.ts +2 -2
- package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
- package/dest/publisher/sequencer-publisher.js +5 -11
- package/dest/sequencer/sequencer.d.ts +1 -1
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +2 -3
- package/dest/tx_validator/tx_validator_factory.d.ts +2 -4
- package/dest/tx_validator/tx_validator_factory.d.ts.map +1 -1
- package/dest/tx_validator/tx_validator_factory.js +3 -5
- package/package.json +26 -26
- package/src/publisher/sequencer-publisher.ts +8 -14
- package/src/sequencer/sequencer.ts +3 -4
- package/src/tx_validator/tx_validator_factory.ts +4 -9
|
@@ -2,7 +2,7 @@ import type { L2Block } from '@aztec/aztec.js';
|
|
|
2
2
|
import { Blob } from '@aztec/blob-lib';
|
|
3
3
|
import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
4
4
|
import type { EpochCache } from '@aztec/epoch-cache';
|
|
5
|
-
import {
|
|
5
|
+
import { type GasPrice, type GovernanceProposerContract, type L1BlobInputs, type L1ContractsConfig, type L1GasConfig, type L1TxRequest, RollupContract, type SlashingProposerContract, type TransactionStats } from '@aztec/ethereum';
|
|
6
6
|
import type { L1TxUtilsWithBlobs } from '@aztec/ethereum/l1-tx-utils-with-blobs';
|
|
7
7
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
8
8
|
import { CommitteeAttestation } from '@aztec/stdlib/block';
|
|
@@ -74,7 +74,7 @@ export declare class SequencerPublisher {
|
|
|
74
74
|
* - undefined if no valid requests are found OR the tx failed to send.
|
|
75
75
|
*/
|
|
76
76
|
sendRequests(): Promise<{
|
|
77
|
-
result:
|
|
77
|
+
result: {
|
|
78
78
|
receipt: import("viem").TransactionReceipt;
|
|
79
79
|
gasPrice: GasPrice;
|
|
80
80
|
stats: TransactionStats | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"sequencer-publisher.d.ts","sourceRoot":"","sources":["../../src/publisher/sequencer-publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -157,17 +157,11 @@ export class SequencerPublisher {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
callbackBundledTransactions(requests, result) {
|
|
160
|
-
const
|
|
161
|
-
const success = isError ? false : result?.receipt.status === 'success';
|
|
160
|
+
const success = result?.receipt.status === 'success';
|
|
162
161
|
const logger = success ? this.log.info : this.log.error;
|
|
163
162
|
for (const request of requests){
|
|
164
163
|
logger(`Bundled [${request.action}] transaction [${success ? 'succeeded' : 'failed'}]`);
|
|
165
|
-
|
|
166
|
-
request.onResult?.(request.request, result);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
if (isError) {
|
|
170
|
-
this.log.error('Failed to publish bundled transactions', result);
|
|
164
|
+
request.onResult?.(request.request, result);
|
|
171
165
|
}
|
|
172
166
|
}
|
|
173
167
|
/**
|
|
@@ -204,7 +198,7 @@ export class SequencerPublisher {
|
|
|
204
198
|
};
|
|
205
199
|
const args = [
|
|
206
200
|
header.toViem(),
|
|
207
|
-
|
|
201
|
+
[],
|
|
208
202
|
`0x${'0'.repeat(64)}`,
|
|
209
203
|
header.contentCommitment.blobsHash.toString(),
|
|
210
204
|
flags
|
|
@@ -268,7 +262,7 @@ export class SequencerPublisher {
|
|
|
268
262
|
feeAssetPriceModifier: 0n
|
|
269
263
|
}
|
|
270
264
|
},
|
|
271
|
-
|
|
265
|
+
formattedAttestations,
|
|
272
266
|
blobInput
|
|
273
267
|
];
|
|
274
268
|
await this.simulateProposeTx(args, ts);
|
|
@@ -447,7 +441,7 @@ export class SequencerPublisher {
|
|
|
447
441
|
},
|
|
448
442
|
txHashes
|
|
449
443
|
},
|
|
450
|
-
|
|
444
|
+
attestations,
|
|
451
445
|
blobInput
|
|
452
446
|
];
|
|
453
447
|
const { rollupData, simulationResult } = await this.simulateProposeTx(args, timestamp);
|
|
@@ -91,7 +91,7 @@ export declare class Sequencer extends Sequencer_base {
|
|
|
91
91
|
get tracer(): Tracer;
|
|
92
92
|
getValidatorAddresses(): EthAddress[] | undefined;
|
|
93
93
|
/**
|
|
94
|
-
* Updates sequencer config
|
|
94
|
+
* Updates sequencer config.
|
|
95
95
|
* @param config - New parameters.
|
|
96
96
|
*/
|
|
97
97
|
updateConfig(config: SequencerConfig): void;
|
|
@@ -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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"}
|
|
@@ -83,7 +83,7 @@ export { SequencerState };
|
|
|
83
83
|
return this.validatorClient?.getValidatorAddresses();
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
|
-
* Updates sequencer config
|
|
86
|
+
* Updates sequencer config.
|
|
87
87
|
* @param config - New parameters.
|
|
88
88
|
*/ updateConfig(config) {
|
|
89
89
|
this.log.info(`Sequencer config set`, omit(pickFromSchema(config, SequencerConfigSchema), 'txPublicSetupAllowList'));
|
|
@@ -123,8 +123,7 @@ export { SequencerState };
|
|
|
123
123
|
}
|
|
124
124
|
this.setTimeTable();
|
|
125
125
|
// TODO: Just read everything from the config object as needed instead of copying everything into local vars.
|
|
126
|
-
|
|
127
|
-
Object.assign(this.config, config);
|
|
126
|
+
this.config = config;
|
|
128
127
|
}
|
|
129
128
|
setTimeTable() {
|
|
130
129
|
this.timetable = new SequencerTimetable(this.l1Constants.ethereumSlotDuration, this.aztecSlotDuration, this.maxL1TxInclusionTimeIntoSlot, this.enforceTimeTable, this.metrics, this.log);
|
|
@@ -2,15 +2,13 @@ import type { ContractDataSource } from '@aztec/stdlib/contract';
|
|
|
2
2
|
import type { GasFees } from '@aztec/stdlib/gas';
|
|
3
3
|
import type { AllowedElement, ClientProtocolCircuitVerifier, MerkleTreeReadOperations, PublicProcessorValidator } from '@aztec/stdlib/interfaces/server';
|
|
4
4
|
import { GlobalVariables, type Tx, type TxValidator } from '@aztec/stdlib/tx';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
export declare function createValidatorForAcceptingTxs(db: MerkleTreeReadOperations, contractDataSource: ContractDataSource, verifier: ClientProtocolCircuitVerifier | undefined, { blockNumber, l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement, }: {
|
|
6
|
+
blockNumber: number;
|
|
7
7
|
l1ChainId: number;
|
|
8
8
|
rollupVersion: number;
|
|
9
9
|
setupAllowList: AllowedElement[];
|
|
10
10
|
gasFees: GasFees;
|
|
11
11
|
skipFeeEnforcement?: boolean;
|
|
12
|
-
timestamp: UInt64;
|
|
13
|
-
blockNumber: number;
|
|
14
12
|
}): TxValidator<Tx>;
|
|
15
13
|
export declare function createValidatorForBlockBuilding(db: MerkleTreeReadOperations, contractDataSource: ContractDataSource, globalVariables: GlobalVariables, setupAllowList: AllowedElement[]): PublicProcessorValidator;
|
|
16
14
|
//# sourceMappingURL=tx_validator_factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_validator_factory.d.ts","sourceRoot":"","sources":["../../src/tx_validator/tx_validator_factory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACV,cAAc,EACd,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tx_validator_factory.d.ts","sourceRoot":"","sources":["../../src/tx_validator/tx_validator_factory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACV,cAAc,EACd,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI9E,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,wBAAwB,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,6BAA6B,GAAG,SAAS,EACnD,EACE,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EACd,OAAO,EACP,kBAAkB,GACnB,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACA,WAAW,CAAC,EAAE,CAAC,CAwBjB;AAED,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,wBAAwB,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAAE,GAC/B,wBAAwB,CAgB1B"}
|
|
@@ -4,19 +4,18 @@ import { AggregateTxValidator, ArchiveCache, BlockHeaderTxValidator, DataTxValid
|
|
|
4
4
|
import { ProtocolContractAddress, protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
5
5
|
import { DatabasePublicStateSource } from '@aztec/stdlib/trees';
|
|
6
6
|
import { NullifierCache } from './nullifier_cache.js';
|
|
7
|
-
export function createValidatorForAcceptingTxs(db, contractDataSource, verifier, { l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement
|
|
7
|
+
export function createValidatorForAcceptingTxs(db, contractDataSource, verifier, { blockNumber, l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement }) {
|
|
8
8
|
const validators = [
|
|
9
9
|
new DataTxValidator(),
|
|
10
10
|
new MetadataTxValidator({
|
|
11
11
|
l1ChainId: new Fr(l1ChainId),
|
|
12
12
|
rollupVersion: new Fr(rollupVersion),
|
|
13
|
-
timestamp,
|
|
14
13
|
blockNumber,
|
|
15
14
|
protocolContractTreeRoot,
|
|
16
15
|
vkTreeRoot: getVKTreeRoot()
|
|
17
16
|
}),
|
|
18
17
|
new DoubleSpendTxValidator(new NullifierCache(db)),
|
|
19
|
-
new PhasesTxValidator(contractDataSource, setupAllowList,
|
|
18
|
+
new PhasesTxValidator(contractDataSource, setupAllowList, blockNumber),
|
|
20
19
|
new BlockHeaderTxValidator(new ArchiveCache(db))
|
|
21
20
|
];
|
|
22
21
|
if (!skipFeeEnforcement) {
|
|
@@ -41,9 +40,8 @@ function preprocessValidator(nullifierCache, archiveCache, publicStateSource, co
|
|
|
41
40
|
return new AggregateTxValidator(new MetadataTxValidator({
|
|
42
41
|
l1ChainId: globalVariables.chainId,
|
|
43
42
|
rollupVersion: globalVariables.version,
|
|
44
|
-
timestamp: globalVariables.timestamp,
|
|
45
43
|
blockNumber: globalVariables.blockNumber,
|
|
46
44
|
protocolContractTreeRoot,
|
|
47
45
|
vkTreeRoot: getVKTreeRoot()
|
|
48
|
-
}), new DoubleSpendTxValidator(nullifierCache), new PhasesTxValidator(contractDataSource, setupAllowList, globalVariables.
|
|
46
|
+
}), new DoubleSpendTxValidator(nullifierCache), new PhasesTxValidator(contractDataSource, setupAllowList, globalVariables.blockNumber), new GasTxValidator(publicStateSource, ProtocolContractAddress.FeeJuice, globalVariables.gasFees), new BlockHeaderTxValidator(archiveCache));
|
|
49
47
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/sequencer-client",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -26,37 +26,37 @@
|
|
|
26
26
|
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@aztec/aztec.js": "1.0.0
|
|
30
|
-
"@aztec/bb-prover": "1.0.0
|
|
31
|
-
"@aztec/blob-lib": "1.0.0
|
|
32
|
-
"@aztec/blob-sink": "1.0.0
|
|
33
|
-
"@aztec/constants": "1.0.0
|
|
34
|
-
"@aztec/epoch-cache": "1.0.0
|
|
35
|
-
"@aztec/ethereum": "1.0.0
|
|
36
|
-
"@aztec/foundation": "1.0.0
|
|
37
|
-
"@aztec/l1-artifacts": "1.0.0
|
|
38
|
-
"@aztec/merkle-tree": "1.0.0
|
|
39
|
-
"@aztec/noir-acvm_js": "1.0.0
|
|
40
|
-
"@aztec/noir-contracts.js": "1.0.0
|
|
41
|
-
"@aztec/noir-protocol-circuits-types": "1.0.0
|
|
42
|
-
"@aztec/noir-types": "1.0.0
|
|
43
|
-
"@aztec/p2p": "1.0.0
|
|
44
|
-
"@aztec/protocol-contracts": "1.0.0
|
|
45
|
-
"@aztec/prover-client": "1.0.0
|
|
46
|
-
"@aztec/simulator": "1.0.0
|
|
47
|
-
"@aztec/slasher": "1.0.0
|
|
48
|
-
"@aztec/stdlib": "1.0.0
|
|
49
|
-
"@aztec/telemetry-client": "1.0.0
|
|
50
|
-
"@aztec/validator-client": "1.0.0
|
|
51
|
-
"@aztec/world-state": "1.0.0
|
|
29
|
+
"@aztec/aztec.js": "1.0.0",
|
|
30
|
+
"@aztec/bb-prover": "1.0.0",
|
|
31
|
+
"@aztec/blob-lib": "1.0.0",
|
|
32
|
+
"@aztec/blob-sink": "1.0.0",
|
|
33
|
+
"@aztec/constants": "1.0.0",
|
|
34
|
+
"@aztec/epoch-cache": "1.0.0",
|
|
35
|
+
"@aztec/ethereum": "1.0.0",
|
|
36
|
+
"@aztec/foundation": "1.0.0",
|
|
37
|
+
"@aztec/l1-artifacts": "1.0.0",
|
|
38
|
+
"@aztec/merkle-tree": "1.0.0",
|
|
39
|
+
"@aztec/noir-acvm_js": "1.0.0",
|
|
40
|
+
"@aztec/noir-contracts.js": "1.0.0",
|
|
41
|
+
"@aztec/noir-protocol-circuits-types": "1.0.0",
|
|
42
|
+
"@aztec/noir-types": "1.0.0",
|
|
43
|
+
"@aztec/p2p": "1.0.0",
|
|
44
|
+
"@aztec/protocol-contracts": "1.0.0",
|
|
45
|
+
"@aztec/prover-client": "1.0.0",
|
|
46
|
+
"@aztec/simulator": "1.0.0",
|
|
47
|
+
"@aztec/slasher": "1.0.0",
|
|
48
|
+
"@aztec/stdlib": "1.0.0",
|
|
49
|
+
"@aztec/telemetry-client": "1.0.0",
|
|
50
|
+
"@aztec/validator-client": "1.0.0",
|
|
51
|
+
"@aztec/world-state": "1.0.0",
|
|
52
52
|
"lodash.chunk": "^4.2.0",
|
|
53
53
|
"lodash.pick": "^4.4.0",
|
|
54
54
|
"tslib": "^2.4.0",
|
|
55
55
|
"viem": "2.23.7"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@aztec/archiver": "1.0.0
|
|
59
|
-
"@aztec/kv-store": "1.0.0
|
|
58
|
+
"@aztec/archiver": "1.0.0",
|
|
59
|
+
"@aztec/kv-store": "1.0.0",
|
|
60
60
|
"@jest/globals": "^30.0.0",
|
|
61
61
|
"@types/jest": "^30.0.0",
|
|
62
62
|
"@types/lodash.chunk": "^4.2.7",
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
RollupContract,
|
|
17
17
|
type SlashingProposerContract,
|
|
18
18
|
type TransactionStats,
|
|
19
|
-
type
|
|
19
|
+
type ViemCommitteeAttestation,
|
|
20
20
|
type ViemHeader,
|
|
21
21
|
type ViemStateReference,
|
|
22
22
|
formatViemError,
|
|
@@ -257,19 +257,13 @@ export class SequencerPublisher {
|
|
|
257
257
|
|
|
258
258
|
private callbackBundledTransactions(
|
|
259
259
|
requests: RequestWithExpiry[],
|
|
260
|
-
result?: { receipt: TransactionReceipt; gasPrice: GasPrice }
|
|
260
|
+
result?: { receipt: TransactionReceipt; gasPrice: GasPrice },
|
|
261
261
|
) {
|
|
262
|
-
const
|
|
263
|
-
const success = isError ? false : result?.receipt.status === 'success';
|
|
262
|
+
const success = result?.receipt.status === 'success';
|
|
264
263
|
const logger = success ? this.log.info : this.log.error;
|
|
265
264
|
for (const request of requests) {
|
|
266
265
|
logger(`Bundled [${request.action}] transaction [${success ? 'succeeded' : 'failed'}]`);
|
|
267
|
-
|
|
268
|
-
request.onResult?.(request.request, result);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
if (isError) {
|
|
272
|
-
this.log.error('Failed to publish bundled transactions', result);
|
|
266
|
+
request.onResult?.(request.request, result);
|
|
273
267
|
}
|
|
274
268
|
}
|
|
275
269
|
|
|
@@ -306,7 +300,7 @@ export class SequencerPublisher {
|
|
|
306
300
|
|
|
307
301
|
const args = [
|
|
308
302
|
header.toViem(),
|
|
309
|
-
|
|
303
|
+
[] as ViemCommitteeAttestation[],
|
|
310
304
|
`0x${'0'.repeat(64)}`, // 32 empty bytes
|
|
311
305
|
header.contentCommitment.blobsHash.toString(),
|
|
312
306
|
flags,
|
|
@@ -383,7 +377,7 @@ export class SequencerPublisher {
|
|
|
383
377
|
feeAssetPriceModifier: 0n,
|
|
384
378
|
},
|
|
385
379
|
},
|
|
386
|
-
|
|
380
|
+
formattedAttestations,
|
|
387
381
|
blobInput,
|
|
388
382
|
] as const;
|
|
389
383
|
|
|
@@ -593,7 +587,7 @@ export class SequencerPublisher {
|
|
|
593
587
|
},
|
|
594
588
|
txHashes,
|
|
595
589
|
},
|
|
596
|
-
|
|
590
|
+
attestations,
|
|
597
591
|
blobInput,
|
|
598
592
|
] as const;
|
|
599
593
|
|
|
@@ -619,7 +613,7 @@ export class SequencerPublisher {
|
|
|
619
613
|
readonly feeAssetPriceModifier: 0n;
|
|
620
614
|
};
|
|
621
615
|
},
|
|
622
|
-
|
|
616
|
+
ViemCommitteeAttestation[],
|
|
623
617
|
`0x${string}`,
|
|
624
618
|
],
|
|
625
619
|
timestamp: bigint,
|
|
@@ -140,7 +140,7 @@ export class Sequencer extends (EventEmitter as new () => TypedEventEmitter<Sequ
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
|
-
* Updates sequencer config
|
|
143
|
+
* Updates sequencer config.
|
|
144
144
|
* @param config - New parameters.
|
|
145
145
|
*/
|
|
146
146
|
public updateConfig(config: SequencerConfig) {
|
|
@@ -171,6 +171,7 @@ export class Sequencer extends (EventEmitter as new () => TypedEventEmitter<Sequ
|
|
|
171
171
|
if (config.feeRecipient) {
|
|
172
172
|
this._feeRecipient = config.feeRecipient;
|
|
173
173
|
}
|
|
174
|
+
|
|
174
175
|
if (config.maxBlockSizeInBytes !== undefined) {
|
|
175
176
|
this.maxBlockSizeInBytes = config.maxBlockSizeInBytes;
|
|
176
177
|
}
|
|
@@ -187,9 +188,7 @@ export class Sequencer extends (EventEmitter as new () => TypedEventEmitter<Sequ
|
|
|
187
188
|
this.setTimeTable();
|
|
188
189
|
|
|
189
190
|
// TODO: Just read everything from the config object as needed instead of copying everything into local vars.
|
|
190
|
-
|
|
191
|
-
// Update all values on this.config that are populated in the config object.
|
|
192
|
-
Object.assign(this.config, config);
|
|
191
|
+
this.config = config;
|
|
193
192
|
}
|
|
194
193
|
|
|
195
194
|
private setTimeTable() {
|
|
@@ -22,7 +22,6 @@ import type {
|
|
|
22
22
|
} from '@aztec/stdlib/interfaces/server';
|
|
23
23
|
import { DatabasePublicStateSource, type PublicStateSource } from '@aztec/stdlib/trees';
|
|
24
24
|
import { GlobalVariables, type Tx, type TxValidator } from '@aztec/stdlib/tx';
|
|
25
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
26
25
|
|
|
27
26
|
import { NullifierCache } from './nullifier_cache.js';
|
|
28
27
|
|
|
@@ -31,21 +30,19 @@ export function createValidatorForAcceptingTxs(
|
|
|
31
30
|
contractDataSource: ContractDataSource,
|
|
32
31
|
verifier: ClientProtocolCircuitVerifier | undefined,
|
|
33
32
|
{
|
|
33
|
+
blockNumber,
|
|
34
34
|
l1ChainId,
|
|
35
35
|
rollupVersion,
|
|
36
36
|
setupAllowList,
|
|
37
37
|
gasFees,
|
|
38
38
|
skipFeeEnforcement,
|
|
39
|
-
timestamp,
|
|
40
|
-
blockNumber,
|
|
41
39
|
}: {
|
|
40
|
+
blockNumber: number;
|
|
42
41
|
l1ChainId: number;
|
|
43
42
|
rollupVersion: number;
|
|
44
43
|
setupAllowList: AllowedElement[];
|
|
45
44
|
gasFees: GasFees;
|
|
46
45
|
skipFeeEnforcement?: boolean;
|
|
47
|
-
timestamp: UInt64;
|
|
48
|
-
blockNumber: number;
|
|
49
46
|
},
|
|
50
47
|
): TxValidator<Tx> {
|
|
51
48
|
const validators: TxValidator<Tx>[] = [
|
|
@@ -53,13 +50,12 @@ export function createValidatorForAcceptingTxs(
|
|
|
53
50
|
new MetadataTxValidator({
|
|
54
51
|
l1ChainId: new Fr(l1ChainId),
|
|
55
52
|
rollupVersion: new Fr(rollupVersion),
|
|
56
|
-
timestamp,
|
|
57
53
|
blockNumber,
|
|
58
54
|
protocolContractTreeRoot,
|
|
59
55
|
vkTreeRoot: getVKTreeRoot(),
|
|
60
56
|
}),
|
|
61
57
|
new DoubleSpendTxValidator(new NullifierCache(db)),
|
|
62
|
-
new PhasesTxValidator(contractDataSource, setupAllowList,
|
|
58
|
+
new PhasesTxValidator(contractDataSource, setupAllowList, blockNumber),
|
|
63
59
|
new BlockHeaderTxValidator(new ArchiveCache(db)),
|
|
64
60
|
];
|
|
65
61
|
|
|
@@ -110,13 +106,12 @@ function preprocessValidator(
|
|
|
110
106
|
new MetadataTxValidator({
|
|
111
107
|
l1ChainId: globalVariables.chainId,
|
|
112
108
|
rollupVersion: globalVariables.version,
|
|
113
|
-
timestamp: globalVariables.timestamp,
|
|
114
109
|
blockNumber: globalVariables.blockNumber,
|
|
115
110
|
protocolContractTreeRoot,
|
|
116
111
|
vkTreeRoot: getVKTreeRoot(),
|
|
117
112
|
}),
|
|
118
113
|
new DoubleSpendTxValidator(nullifierCache),
|
|
119
|
-
new PhasesTxValidator(contractDataSource, setupAllowList, globalVariables.
|
|
114
|
+
new PhasesTxValidator(contractDataSource, setupAllowList, globalVariables.blockNumber),
|
|
120
115
|
new GasTxValidator(publicStateSource, ProtocolContractAddress.FeeJuice, globalVariables.gasFees),
|
|
121
116
|
new BlockHeaderTxValidator(archiveCache),
|
|
122
117
|
);
|