@aztec/sequencer-client 1.0.0-staging.0 → 1.0.0-staging.2
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 +11 -5
- package/dest/sequencer/sequencer.d.ts +1 -1
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +3 -2
- package/dest/tx_validator/tx_validator_factory.d.ts +4 -2
- package/dest/tx_validator/tx_validator_factory.d.ts.map +1 -1
- package/dest/tx_validator/tx_validator_factory.js +5 -3
- package/package.json +26 -26
- package/src/publisher/sequencer-publisher.ts +14 -8
- package/src/sequencer/sequencer.ts +4 -3
- package/src/tx_validator/tx_validator_factory.ts +9 -4
|
@@ -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 { type GasPrice, type GovernanceProposerContract, type L1BlobInputs, type L1ContractsConfig, type L1GasConfig, type L1TxRequest, RollupContract, type SlashingProposerContract, type TransactionStats } from '@aztec/ethereum';
|
|
5
|
+
import { FormattedViemError, 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: FormattedViemError | {
|
|
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,11 +157,17 @@ export class SequencerPublisher {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
callbackBundledTransactions(requests, result) {
|
|
160
|
-
const
|
|
160
|
+
const isError = result instanceof FormattedViemError;
|
|
161
|
+
const success = isError ? false : result?.receipt.status === 'success';
|
|
161
162
|
const logger = success ? this.log.info : this.log.error;
|
|
162
163
|
for (const request of requests){
|
|
163
164
|
logger(`Bundled [${request.action}] transaction [${success ? 'succeeded' : 'failed'}]`);
|
|
164
|
-
|
|
165
|
+
if (!isError) {
|
|
166
|
+
request.onResult?.(request.request, result);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (isError) {
|
|
170
|
+
this.log.error('Failed to publish bundled transactions', result);
|
|
165
171
|
}
|
|
166
172
|
}
|
|
167
173
|
/**
|
|
@@ -198,7 +204,7 @@ export class SequencerPublisher {
|
|
|
198
204
|
};
|
|
199
205
|
const args = [
|
|
200
206
|
header.toViem(),
|
|
201
|
-
[],
|
|
207
|
+
RollupContract.packAttestations([]),
|
|
202
208
|
`0x${'0'.repeat(64)}`,
|
|
203
209
|
header.contentCommitment.blobsHash.toString(),
|
|
204
210
|
flags
|
|
@@ -262,7 +268,7 @@ export class SequencerPublisher {
|
|
|
262
268
|
feeAssetPriceModifier: 0n
|
|
263
269
|
}
|
|
264
270
|
},
|
|
265
|
-
formattedAttestations,
|
|
271
|
+
RollupContract.packAttestations(formattedAttestations),
|
|
266
272
|
blobInput
|
|
267
273
|
];
|
|
268
274
|
await this.simulateProposeTx(args, ts);
|
|
@@ -441,7 +447,7 @@ export class SequencerPublisher {
|
|
|
441
447
|
},
|
|
442
448
|
txHashes
|
|
443
449
|
},
|
|
444
|
-
attestations,
|
|
450
|
+
RollupContract.packAttestations(attestations),
|
|
445
451
|
blobInput
|
|
446
452
|
];
|
|
447
453
|
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 by the defined values in the config on input.
|
|
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":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,KAAK,iBAAiB,EAAsB,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE1B,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAKnE,OAAO,EAKL,EAAE,EACF,KAAK,MAAM,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,kBAAkB,EAAY,MAAM,qCAAqC,CAAC;AACrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,KAAK,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,eAAe,GAAG,cAAc,CAAC,CAAC;AAEnH,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1F,CAAC,8BAA8B,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,CAAC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3D,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IACjG,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5E,CAAC;8BAW8C,UAAU,iBAAiB,CAAC,eAAe,CAAC;AAT5F;;;;;;;;GAQG;AACH,qBAAa,SAAU,SAAQ,cAA8D;IAsBzF,SAAS,CAAC,SAAS,EAAE,kBAAkB;IACvC,SAAS,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS;IACtD,SAAS,CAAC,cAAc,EAAE,qBAAqB;IAC/C,SAAS,CAAC,SAAS,EAAE,GAAG;IACxB,SAAS,CAAC,UAAU,EAAE,sBAAsB;IAC5C,SAAS,CAAC,aAAa,EAAE,aAAa;IACtC,SAAS,CAAC,aAAa,EAAE,aAAa;IACtC,SAAS,CAAC,mBAAmB,EAAE,mBAAmB;IAClD,SAAS,CAAC,YAAY,EAAE,qBAAqB;IAC7C,SAAS,CAAC,WAAW,EAAE,wBAAwB;IAC/C,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,MAAM,EAAE,eAAe;IACjC,SAAS,CAAC,SAAS,EAAE,eAAe;IACpC,SAAS,CAAC,GAAG;IAlCf,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,4BAA4B,CAAK;IAEzC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,UAAU,CAAkB;IAEpC,+GAA+G;IAC/G,SAAS,CAAC,SAAS,EAAG,kBAAkB,CAAC;IACzC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;gBAGhC,SAAS,EAAE,kBAAkB,EAC7B,eAAe,EAAE,eAAe,GAAG,SAAS,EAAE,wDAAwD;IACtG,cAAc,EAAE,qBAAqB,EACrC,SAAS,EAAE,GAAG,EACd,UAAU,EAAE,sBAAsB,EAClC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,qBAAqB,EACnC,WAAW,EAAE,wBAAwB,EACrC,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,eAAoB,EAC5B,SAAS,GAAE,eAAsC,EACjD,GAAG,mCAA4B;IAqB3C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAEM,qBAAqB;IAI5B;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,eAAe;IAiD3C,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACI,KAAK;IAUZ;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWlC;;OAEG;IACI,MAAM;IAOb;;;OAGG;IACI,MAAM;;;IAIb,uGAAuG;IAChG,KAAK;IAIZ;;;;;;;OAOG;cACa,UAAU;cAkNV,IAAI;IAepB;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe;YAY3E,oBAAoB;IAUlC,SAAS,CAAC,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB;IAiB5E;;;;;;;;;;OAUG;YAIW,2BAA2B;cAsFzB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,EAAE,EAAE,EACT,eAAe,EAAE,UAAU,GAAG,SAAS,GACtC,OAAO,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC;IA6E9C;;;OAGG;cAIa,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,YAAY,CAAC,EAAE,oBAAoB,EAAE,EACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;OAIG;cACa,WAAW,IAAI,OAAO,CACpC;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CACvF;IAmDD,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,kBAAkB;IAK1B,IAAI,iBAAiB,WAEpB;IAED,IAAI,QAAQ,IAAI,UAAU,CAMzB;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAEM,gBAAgB,IAAI,aAAa;CAGzC"}
|
|
@@ -83,7 +83,7 @@ export { SequencerState };
|
|
|
83
83
|
return this.validatorClient?.getValidatorAddresses();
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
|
-
* Updates sequencer config.
|
|
86
|
+
* Updates sequencer config by the defined values in the config on input.
|
|
87
87
|
* @param config - New parameters.
|
|
88
88
|
*/ updateConfig(config) {
|
|
89
89
|
this.log.info(`Sequencer config set`, omit(pickFromSchema(config, SequencerConfigSchema), 'txPublicSetupAllowList'));
|
|
@@ -123,7 +123,8 @@ 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
|
-
this.config
|
|
126
|
+
// Update all values on this.config that are populated in the config object.
|
|
127
|
+
Object.assign(this.config, config);
|
|
127
128
|
}
|
|
128
129
|
setTimeTable() {
|
|
129
130
|
this.timetable = new SequencerTimetable(this.l1Constants.ethereumSlotDuration, this.aztecSlotDuration, this.maxL1TxInclusionTimeIntoSlot, this.enforceTimeTable, this.metrics, this.log);
|
|
@@ -2,13 +2,15 @@ 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
|
+
import type { UInt64 } from '@aztec/stdlib/types';
|
|
6
|
+
export declare function createValidatorForAcceptingTxs(db: MerkleTreeReadOperations, contractDataSource: ContractDataSource, verifier: ClientProtocolCircuitVerifier | undefined, { l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement, timestamp, blockNumber, }: {
|
|
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;
|
|
12
14
|
}): TxValidator<Tx>;
|
|
13
15
|
export declare function createValidatorForBlockBuilding(db: MerkleTreeReadOperations, contractDataSource: ContractDataSource, globalVariables: GlobalVariables, setupAllowList: AllowedElement[]): PublicProcessorValidator;
|
|
14
16
|
//# 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;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,wBAAwB,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,6BAA6B,GAAG,SAAS,EACnD,EACE,SAAS,EACT,aAAa,EACb,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,WAAW,GACZ,EAAE;IACD,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;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,GACA,WAAW,CAAC,EAAE,CAAC,CAyBjB;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,18 +4,19 @@ 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, {
|
|
7
|
+
export function createValidatorForAcceptingTxs(db, contractDataSource, verifier, { l1ChainId, rollupVersion, setupAllowList, gasFees, skipFeeEnforcement, timestamp, blockNumber }) {
|
|
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,
|
|
13
14
|
blockNumber,
|
|
14
15
|
protocolContractTreeRoot,
|
|
15
16
|
vkTreeRoot: getVKTreeRoot()
|
|
16
17
|
}),
|
|
17
18
|
new DoubleSpendTxValidator(new NullifierCache(db)),
|
|
18
|
-
new PhasesTxValidator(contractDataSource, setupAllowList,
|
|
19
|
+
new PhasesTxValidator(contractDataSource, setupAllowList, timestamp),
|
|
19
20
|
new BlockHeaderTxValidator(new ArchiveCache(db))
|
|
20
21
|
];
|
|
21
22
|
if (!skipFeeEnforcement) {
|
|
@@ -40,8 +41,9 @@ function preprocessValidator(nullifierCache, archiveCache, publicStateSource, co
|
|
|
40
41
|
return new AggregateTxValidator(new MetadataTxValidator({
|
|
41
42
|
l1ChainId: globalVariables.chainId,
|
|
42
43
|
rollupVersion: globalVariables.version,
|
|
44
|
+
timestamp: globalVariables.timestamp,
|
|
43
45
|
blockNumber: globalVariables.blockNumber,
|
|
44
46
|
protocolContractTreeRoot,
|
|
45
47
|
vkTreeRoot: getVKTreeRoot()
|
|
46
|
-
}), new DoubleSpendTxValidator(nullifierCache), new PhasesTxValidator(contractDataSource, setupAllowList, globalVariables.
|
|
48
|
+
}), new DoubleSpendTxValidator(nullifierCache), new PhasesTxValidator(contractDataSource, setupAllowList, globalVariables.timestamp), new GasTxValidator(publicStateSource, ProtocolContractAddress.FeeJuice, globalVariables.gasFees), new BlockHeaderTxValidator(archiveCache));
|
|
47
49
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/sequencer-client",
|
|
3
|
-
"version": "1.0.0-staging.
|
|
3
|
+
"version": "1.0.0-staging.2",
|
|
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-staging.
|
|
30
|
-
"@aztec/bb-prover": "1.0.0-staging.
|
|
31
|
-
"@aztec/blob-lib": "1.0.0-staging.
|
|
32
|
-
"@aztec/blob-sink": "1.0.0-staging.
|
|
33
|
-
"@aztec/constants": "1.0.0-staging.
|
|
34
|
-
"@aztec/epoch-cache": "1.0.0-staging.
|
|
35
|
-
"@aztec/ethereum": "1.0.0-staging.
|
|
36
|
-
"@aztec/foundation": "1.0.0-staging.
|
|
37
|
-
"@aztec/l1-artifacts": "1.0.0-staging.
|
|
38
|
-
"@aztec/merkle-tree": "1.0.0-staging.
|
|
39
|
-
"@aztec/noir-acvm_js": "1.0.0-staging.
|
|
40
|
-
"@aztec/noir-contracts.js": "1.0.0-staging.
|
|
41
|
-
"@aztec/noir-protocol-circuits-types": "1.0.0-staging.
|
|
42
|
-
"@aztec/noir-types": "1.0.0-staging.
|
|
43
|
-
"@aztec/p2p": "1.0.0-staging.
|
|
44
|
-
"@aztec/protocol-contracts": "1.0.0-staging.
|
|
45
|
-
"@aztec/prover-client": "1.0.0-staging.
|
|
46
|
-
"@aztec/simulator": "1.0.0-staging.
|
|
47
|
-
"@aztec/slasher": "1.0.0-staging.
|
|
48
|
-
"@aztec/stdlib": "1.0.0-staging.
|
|
49
|
-
"@aztec/telemetry-client": "1.0.0-staging.
|
|
50
|
-
"@aztec/validator-client": "1.0.0-staging.
|
|
51
|
-
"@aztec/world-state": "1.0.0-staging.
|
|
29
|
+
"@aztec/aztec.js": "1.0.0-staging.2",
|
|
30
|
+
"@aztec/bb-prover": "1.0.0-staging.2",
|
|
31
|
+
"@aztec/blob-lib": "1.0.0-staging.2",
|
|
32
|
+
"@aztec/blob-sink": "1.0.0-staging.2",
|
|
33
|
+
"@aztec/constants": "1.0.0-staging.2",
|
|
34
|
+
"@aztec/epoch-cache": "1.0.0-staging.2",
|
|
35
|
+
"@aztec/ethereum": "1.0.0-staging.2",
|
|
36
|
+
"@aztec/foundation": "1.0.0-staging.2",
|
|
37
|
+
"@aztec/l1-artifacts": "1.0.0-staging.2",
|
|
38
|
+
"@aztec/merkle-tree": "1.0.0-staging.2",
|
|
39
|
+
"@aztec/noir-acvm_js": "1.0.0-staging.2",
|
|
40
|
+
"@aztec/noir-contracts.js": "1.0.0-staging.2",
|
|
41
|
+
"@aztec/noir-protocol-circuits-types": "1.0.0-staging.2",
|
|
42
|
+
"@aztec/noir-types": "1.0.0-staging.2",
|
|
43
|
+
"@aztec/p2p": "1.0.0-staging.2",
|
|
44
|
+
"@aztec/protocol-contracts": "1.0.0-staging.2",
|
|
45
|
+
"@aztec/prover-client": "1.0.0-staging.2",
|
|
46
|
+
"@aztec/simulator": "1.0.0-staging.2",
|
|
47
|
+
"@aztec/slasher": "1.0.0-staging.2",
|
|
48
|
+
"@aztec/stdlib": "1.0.0-staging.2",
|
|
49
|
+
"@aztec/telemetry-client": "1.0.0-staging.2",
|
|
50
|
+
"@aztec/validator-client": "1.0.0-staging.2",
|
|
51
|
+
"@aztec/world-state": "1.0.0-staging.2",
|
|
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-staging.
|
|
59
|
-
"@aztec/kv-store": "1.0.0-staging.
|
|
58
|
+
"@aztec/archiver": "1.0.0-staging.2",
|
|
59
|
+
"@aztec/kv-store": "1.0.0-staging.2",
|
|
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 ViemCommitteeAttestations,
|
|
20
20
|
type ViemHeader,
|
|
21
21
|
type ViemStateReference,
|
|
22
22
|
formatViemError,
|
|
@@ -257,13 +257,19 @@ 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 } | FormattedViemError,
|
|
261
261
|
) {
|
|
262
|
-
const
|
|
262
|
+
const isError = result instanceof FormattedViemError;
|
|
263
|
+
const success = isError ? false : result?.receipt.status === 'success';
|
|
263
264
|
const logger = success ? this.log.info : this.log.error;
|
|
264
265
|
for (const request of requests) {
|
|
265
266
|
logger(`Bundled [${request.action}] transaction [${success ? 'succeeded' : 'failed'}]`);
|
|
266
|
-
|
|
267
|
+
if (!isError) {
|
|
268
|
+
request.onResult?.(request.request, result);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
if (isError) {
|
|
272
|
+
this.log.error('Failed to publish bundled transactions', result);
|
|
267
273
|
}
|
|
268
274
|
}
|
|
269
275
|
|
|
@@ -300,7 +306,7 @@ export class SequencerPublisher {
|
|
|
300
306
|
|
|
301
307
|
const args = [
|
|
302
308
|
header.toViem(),
|
|
303
|
-
[]
|
|
309
|
+
RollupContract.packAttestations([]),
|
|
304
310
|
`0x${'0'.repeat(64)}`, // 32 empty bytes
|
|
305
311
|
header.contentCommitment.blobsHash.toString(),
|
|
306
312
|
flags,
|
|
@@ -377,7 +383,7 @@ export class SequencerPublisher {
|
|
|
377
383
|
feeAssetPriceModifier: 0n,
|
|
378
384
|
},
|
|
379
385
|
},
|
|
380
|
-
formattedAttestations,
|
|
386
|
+
RollupContract.packAttestations(formattedAttestations),
|
|
381
387
|
blobInput,
|
|
382
388
|
] as const;
|
|
383
389
|
|
|
@@ -587,7 +593,7 @@ export class SequencerPublisher {
|
|
|
587
593
|
},
|
|
588
594
|
txHashes,
|
|
589
595
|
},
|
|
590
|
-
attestations,
|
|
596
|
+
RollupContract.packAttestations(attestations),
|
|
591
597
|
blobInput,
|
|
592
598
|
] as const;
|
|
593
599
|
|
|
@@ -613,7 +619,7 @@ export class SequencerPublisher {
|
|
|
613
619
|
readonly feeAssetPriceModifier: 0n;
|
|
614
620
|
};
|
|
615
621
|
},
|
|
616
|
-
|
|
622
|
+
ViemCommitteeAttestations,
|
|
617
623
|
`0x${string}`,
|
|
618
624
|
],
|
|
619
625
|
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 by the defined values in the config on input.
|
|
144
144
|
* @param config - New parameters.
|
|
145
145
|
*/
|
|
146
146
|
public updateConfig(config: SequencerConfig) {
|
|
@@ -171,7 +171,6 @@ export class Sequencer extends (EventEmitter as new () => TypedEventEmitter<Sequ
|
|
|
171
171
|
if (config.feeRecipient) {
|
|
172
172
|
this._feeRecipient = config.feeRecipient;
|
|
173
173
|
}
|
|
174
|
-
|
|
175
174
|
if (config.maxBlockSizeInBytes !== undefined) {
|
|
176
175
|
this.maxBlockSizeInBytes = config.maxBlockSizeInBytes;
|
|
177
176
|
}
|
|
@@ -188,7 +187,9 @@ export class Sequencer extends (EventEmitter as new () => TypedEventEmitter<Sequ
|
|
|
188
187
|
this.setTimeTable();
|
|
189
188
|
|
|
190
189
|
// TODO: Just read everything from the config object as needed instead of copying everything into local vars.
|
|
191
|
-
|
|
190
|
+
|
|
191
|
+
// Update all values on this.config that are populated in the config object.
|
|
192
|
+
Object.assign(this.config, config);
|
|
192
193
|
}
|
|
193
194
|
|
|
194
195
|
private setTimeTable() {
|
|
@@ -22,6 +22,7 @@ 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';
|
|
25
26
|
|
|
26
27
|
import { NullifierCache } from './nullifier_cache.js';
|
|
27
28
|
|
|
@@ -30,19 +31,21 @@ export function createValidatorForAcceptingTxs(
|
|
|
30
31
|
contractDataSource: ContractDataSource,
|
|
31
32
|
verifier: ClientProtocolCircuitVerifier | undefined,
|
|
32
33
|
{
|
|
33
|
-
blockNumber,
|
|
34
34
|
l1ChainId,
|
|
35
35
|
rollupVersion,
|
|
36
36
|
setupAllowList,
|
|
37
37
|
gasFees,
|
|
38
38
|
skipFeeEnforcement,
|
|
39
|
+
timestamp,
|
|
40
|
+
blockNumber,
|
|
39
41
|
}: {
|
|
40
|
-
blockNumber: number;
|
|
41
42
|
l1ChainId: number;
|
|
42
43
|
rollupVersion: number;
|
|
43
44
|
setupAllowList: AllowedElement[];
|
|
44
45
|
gasFees: GasFees;
|
|
45
46
|
skipFeeEnforcement?: boolean;
|
|
47
|
+
timestamp: UInt64;
|
|
48
|
+
blockNumber: number;
|
|
46
49
|
},
|
|
47
50
|
): TxValidator<Tx> {
|
|
48
51
|
const validators: TxValidator<Tx>[] = [
|
|
@@ -50,12 +53,13 @@ export function createValidatorForAcceptingTxs(
|
|
|
50
53
|
new MetadataTxValidator({
|
|
51
54
|
l1ChainId: new Fr(l1ChainId),
|
|
52
55
|
rollupVersion: new Fr(rollupVersion),
|
|
56
|
+
timestamp,
|
|
53
57
|
blockNumber,
|
|
54
58
|
protocolContractTreeRoot,
|
|
55
59
|
vkTreeRoot: getVKTreeRoot(),
|
|
56
60
|
}),
|
|
57
61
|
new DoubleSpendTxValidator(new NullifierCache(db)),
|
|
58
|
-
new PhasesTxValidator(contractDataSource, setupAllowList,
|
|
62
|
+
new PhasesTxValidator(contractDataSource, setupAllowList, timestamp),
|
|
59
63
|
new BlockHeaderTxValidator(new ArchiveCache(db)),
|
|
60
64
|
];
|
|
61
65
|
|
|
@@ -106,12 +110,13 @@ function preprocessValidator(
|
|
|
106
110
|
new MetadataTxValidator({
|
|
107
111
|
l1ChainId: globalVariables.chainId,
|
|
108
112
|
rollupVersion: globalVariables.version,
|
|
113
|
+
timestamp: globalVariables.timestamp,
|
|
109
114
|
blockNumber: globalVariables.blockNumber,
|
|
110
115
|
protocolContractTreeRoot,
|
|
111
116
|
vkTreeRoot: getVKTreeRoot(),
|
|
112
117
|
}),
|
|
113
118
|
new DoubleSpendTxValidator(nullifierCache),
|
|
114
|
-
new PhasesTxValidator(contractDataSource, setupAllowList, globalVariables.
|
|
119
|
+
new PhasesTxValidator(contractDataSource, setupAllowList, globalVariables.timestamp),
|
|
115
120
|
new GasTxValidator(publicStateSource, ProtocolContractAddress.FeeJuice, globalVariables.gasFees),
|
|
116
121
|
new BlockHeaderTxValidator(archiveCache),
|
|
117
122
|
);
|