@aztec/sequencer-client 0.76.4 → 0.77.0-testnet-ignition.21
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/client/index.js +0 -1
- package/dest/client/sequencer-client.d.ts +12 -9
- package/dest/client/sequencer-client.d.ts.map +1 -1
- package/dest/client/sequencer-client.js +55 -60
- package/dest/config.d.ts +2 -2
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +41 -46
- package/dest/global_variable_builder/global_builder.d.ts +5 -2
- package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
- package/dest/global_variable_builder/global_builder.js +45 -31
- package/dest/global_variable_builder/index.js +0 -1
- package/dest/index.js +0 -1
- package/dest/publisher/config.d.ts.map +1 -1
- package/dest/publisher/config.js +33 -48
- package/dest/publisher/index.js +0 -1
- package/dest/publisher/sequencer-publisher-metrics.d.ts +5 -2
- package/dest/publisher/sequencer-publisher-metrics.d.ts.map +1 -1
- package/dest/publisher/sequencer-publisher-metrics.js +47 -23
- package/dest/publisher/sequencer-publisher.d.ts +10 -9
- package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
- package/dest/publisher/sequencer-publisher.js +191 -160
- package/dest/sequencer/allowed.d.ts +1 -1
- package/dest/sequencer/allowed.d.ts.map +1 -1
- package/dest/sequencer/allowed.js +6 -13
- package/dest/sequencer/config.d.ts +1 -1
- package/dest/sequencer/config.d.ts.map +1 -1
- package/dest/sequencer/config.js +1 -2
- package/dest/sequencer/index.js +0 -1
- package/dest/sequencer/metrics.js +26 -18
- package/dest/sequencer/sequencer.d.ts +18 -12
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +589 -560
- package/dest/sequencer/timetable.d.ts +1 -1
- package/dest/sequencer/timetable.d.ts.map +1 -1
- package/dest/sequencer/timetable.js +33 -19
- package/dest/sequencer/utils.d.ts +2 -2
- package/dest/sequencer/utils.d.ts.map +1 -1
- package/dest/sequencer/utils.js +22 -32
- package/dest/slasher/factory.d.ts +4 -8
- package/dest/slasher/factory.d.ts.map +1 -1
- package/dest/slasher/factory.js +5 -7
- package/dest/slasher/index.js +0 -1
- package/dest/slasher/slasher_client.d.ts +10 -62
- package/dest/slasher/slasher_client.d.ts.map +1 -1
- package/dest/slasher/slasher_client.js +47 -231
- package/dest/test/index.d.ts +3 -3
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +4 -1
- package/dest/tx_validator/archive_cache.d.ts +3 -3
- package/dest/tx_validator/archive_cache.d.ts.map +1 -1
- package/dest/tx_validator/archive_cache.js +8 -8
- package/dest/tx_validator/gas_validator.d.ts +5 -3
- package/dest/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/tx_validator/gas_validator.js +70 -70
- package/dest/tx_validator/nullifier_cache.d.ts +2 -2
- package/dest/tx_validator/nullifier_cache.d.ts.map +1 -1
- package/dest/tx_validator/nullifier_cache.js +9 -9
- package/dest/tx_validator/phases_validator.d.ts +3 -2
- package/dest/tx_validator/phases_validator.d.ts.map +1 -1
- package/dest/tx_validator/phases_validator.js +29 -21
- package/dest/tx_validator/test_utils.d.ts +4 -2
- package/dest/tx_validator/test_utils.d.ts.map +1 -1
- package/dest/tx_validator/test_utils.js +2 -3
- package/dest/tx_validator/tx_validator_factory.d.ts +7 -5
- package/dest/tx_validator/tx_validator_factory.d.ts.map +1 -1
- package/dest/tx_validator/tx_validator_factory.js +14 -13
- package/package.json +28 -29
- package/src/client/sequencer-client.ts +17 -14
- package/src/config.ts +6 -14
- package/src/global_variable_builder/global_builder.ts +18 -19
- package/src/publisher/config.ts +9 -17
- package/src/publisher/sequencer-publisher-metrics.ts +23 -2
- package/src/publisher/sequencer-publisher.ts +15 -17
- package/src/sequencer/allowed.ts +4 -4
- package/src/sequencer/config.ts +1 -1
- package/src/sequencer/sequencer.ts +40 -35
- package/src/sequencer/timetable.ts +1 -1
- package/src/sequencer/utils.ts +2 -2
- package/src/slasher/factory.ts +7 -13
- package/src/slasher/slasher_client.ts +30 -252
- package/src/test/index.ts +3 -3
- package/src/tx_validator/archive_cache.ts +4 -3
- package/src/tx_validator/gas_validator.ts +22 -31
- package/src/tx_validator/nullifier_cache.ts +3 -2
- package/src/tx_validator/phases_validator.ts +8 -8
- package/src/tx_validator/test_utils.ts +5 -3
- package/src/tx_validator/tx_validator_factory.ts +23 -17
package/dest/client/index.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type L1ToL2MessageSource, type L2BlockSource, type WorldStateSynchronizer } from '@aztec/circuit-types';
|
|
3
|
-
import { type AztecAddress, type ContractDataSource } from '@aztec/circuits.js';
|
|
1
|
+
import type { BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
4
2
|
import { EpochCache } from '@aztec/epoch-cache';
|
|
5
3
|
import { L1TxUtilsWithBlobs } from '@aztec/ethereum/l1-tx-utils-with-blobs';
|
|
6
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
5
|
+
import type { DateProvider } from '@aztec/foundation/timer';
|
|
6
|
+
import type { P2P } from '@aztec/p2p';
|
|
7
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
|
+
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
9
|
+
import type { ContractDataSource } from '@aztec/stdlib/contract';
|
|
10
|
+
import type { WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
|
|
11
|
+
import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
12
|
+
import type { TelemetryClient } from '@aztec/telemetry-client';
|
|
13
|
+
import type { ValidatorClient } from '@aztec/validator-client';
|
|
14
|
+
import type { SequencerClientConfig } from '../config.js';
|
|
12
15
|
import { SequencerPublisher } from '../publisher/index.js';
|
|
13
16
|
import { Sequencer, type SequencerConfig } from '../sequencer/index.js';
|
|
14
|
-
import {
|
|
17
|
+
import type { SlasherClient } from '../slasher/index.js';
|
|
15
18
|
/**
|
|
16
19
|
* Encapsulates the full sequencer and publisher.
|
|
17
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer-client.d.ts","sourceRoot":"","sources":["../../src/client/sequencer-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sequencer-client.d.ts","sourceRoot":"","sources":["../../src/client/sequencer-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAUhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,qBAAa,eAAe;IACd,SAAS,CAAC,SAAS,EAAE,SAAS;gBAApB,SAAS,EAAE,SAAS;IAE1C;;;;;;;;;;;;OAYG;WACiB,GAAG,CACrB,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE;QACJ,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;QAC7C,SAAS,EAAE,GAAG,CAAC;QACf,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,aAAa,EAAE,aAAa,CAAC;QAC7B,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,aAAa,EAAE,aAAa,CAAC;QAC7B,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,SAAS,EAAE,eAAe,CAAC;QAC3B,SAAS,CAAC,EAAE,kBAAkB,CAAC;QAC/B,cAAc,CAAC,EAAE,uBAAuB,CAAC;QACzC,YAAY,EAAE,YAAY,CAAC;QAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,CAAC,EAAE,kBAAkB,CAAC;KAChC;IAiHH;;;OAGG;IACI,qBAAqB,CAAC,MAAM,EAAE,eAAe;IAIpD;;OAEG;IACU,IAAI;IAIjB,uGAAuG;IAChG,KAAK;IAIZ;;OAEG;IACI,OAAO;IAId,IAAI,QAAQ,IAAI,UAAU,CAEzB;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,IAAI,gBAAgB,IAAI,UAAU,CAEjC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EpochCache } from '@aztec/epoch-cache';
|
|
2
|
-
import { ForwarderContract, GovernanceProposerContract, RollupContract, SlashingProposerContract, createEthereumChain, createL1Clients, isAnvilTestChain
|
|
2
|
+
import { ForwarderContract, GovernanceProposerContract, RollupContract, SlashingProposerContract, createEthereumChain, createL1Clients, isAnvilTestChain } from '@aztec/ethereum';
|
|
3
3
|
import { L1TxUtilsWithBlobs } from '@aztec/ethereum/l1-tx-utils-with-blobs';
|
|
4
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
@@ -10,62 +10,59 @@ import { SequencerPublisher } from '../publisher/index.js';
|
|
|
10
10
|
import { Sequencer } from '../sequencer/index.js';
|
|
11
11
|
/**
|
|
12
12
|
* Encapsulates the full sequencer and publisher.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
constructor(sequencer)
|
|
13
|
+
*/ export class SequencerClient {
|
|
14
|
+
sequencer;
|
|
15
|
+
constructor(sequencer){
|
|
16
16
|
this.sequencer = sequencer;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const {
|
|
33
|
-
const
|
|
34
|
-
const chain = createEthereumChain(rpcUrl, chainId);
|
|
19
|
+
* Initializes and starts a new instance.
|
|
20
|
+
* @param config - Configuration for the sequencer, publisher, and L1 tx sender.
|
|
21
|
+
* @param p2pClient - P2P client that provides the txs to be sequenced.
|
|
22
|
+
* @param validatorClient - Validator client performs attestation duties when rotating proposers.
|
|
23
|
+
* @param worldStateSynchronizer - Provides access to world state.
|
|
24
|
+
* @param contractDataSource - Provides access to contract bytecode for public executions.
|
|
25
|
+
* @param l2BlockSource - Provides information about the previously published blocks.
|
|
26
|
+
* @param l1ToL2MessageSource - Provides access to L1 to L2 messages.
|
|
27
|
+
* @param prover - An instance of a block prover
|
|
28
|
+
* @param simulationProvider - An instance of a simulation provider
|
|
29
|
+
* @returns A new running instance.
|
|
30
|
+
*/ static async new(config, deps) {
|
|
31
|
+
const { validatorClient, p2pClient, worldStateSynchronizer, slasherClient, contractDataSource, l2BlockSource, l1ToL2MessageSource, telemetry: telemetryClient } = deps;
|
|
32
|
+
const { l1RpcUrls: rpcUrls, l1ChainId: chainId, publisherPrivateKey } = config;
|
|
33
|
+
const chain = createEthereumChain(rpcUrls, chainId);
|
|
35
34
|
const log = createLogger('sequencer-client');
|
|
36
|
-
const { publicClient, walletClient } = createL1Clients(
|
|
35
|
+
const { publicClient, walletClient } = createL1Clients(rpcUrls, publisherPrivateKey, chain.chainInfo);
|
|
37
36
|
const l1TxUtils = deps.l1TxUtils ?? new L1TxUtilsWithBlobs(publicClient, walletClient, log, config);
|
|
38
37
|
const rollupContract = new RollupContract(publicClient, config.l1Contracts.rollupAddress.toString());
|
|
39
38
|
const [l1GenesisTime, slotDuration] = await Promise.all([
|
|
40
39
|
rollupContract.getL1GenesisTime(),
|
|
41
|
-
rollupContract.getSlotDuration()
|
|
40
|
+
rollupContract.getSlotDuration()
|
|
42
41
|
]);
|
|
43
|
-
const forwarderContract = config.customForwarderContractAddress && config.customForwarderContractAddress !== EthAddress.ZERO
|
|
44
|
-
? new ForwarderContract(publicClient, config.customForwarderContractAddress.toString(), config.l1Contracts.rollupAddress.toString())
|
|
45
|
-
: await ForwarderContract.create(walletClient.account.address, walletClient, publicClient, log, config.l1Contracts.rollupAddress.toString());
|
|
42
|
+
const forwarderContract = config.customForwarderContractAddress && config.customForwarderContractAddress !== EthAddress.ZERO ? new ForwarderContract(publicClient, config.customForwarderContractAddress.toString(), config.l1Contracts.rollupAddress.toString()) : await ForwarderContract.create(walletClient.account.address, walletClient, publicClient, log, config.l1Contracts.rollupAddress.toString());
|
|
46
43
|
const governanceProposerContract = new GovernanceProposerContract(publicClient, config.l1Contracts.governanceProposerAddress.toString());
|
|
47
44
|
const slashingProposerAddress = await rollupContract.getSlashingProposerAddress();
|
|
48
45
|
const slashingProposerContract = new SlashingProposerContract(publicClient, slashingProposerAddress.toString());
|
|
49
|
-
const epochCache = deps.epochCache ??
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
46
|
+
const epochCache = deps.epochCache ?? await EpochCache.create(config.l1Contracts.rollupAddress, {
|
|
47
|
+
l1RpcUrls: rpcUrls,
|
|
48
|
+
l1ChainId: chainId,
|
|
49
|
+
viemPollingIntervalMS: config.viemPollingIntervalMS,
|
|
50
|
+
aztecSlotDuration: config.aztecSlotDuration,
|
|
51
|
+
ethereumSlotDuration: config.ethereumSlotDuration,
|
|
52
|
+
aztecEpochDuration: config.aztecEpochDuration
|
|
53
|
+
}, {
|
|
54
|
+
dateProvider: deps.dateProvider
|
|
55
|
+
});
|
|
56
|
+
const publisher = deps.publisher ?? new SequencerPublisher(config, {
|
|
57
|
+
l1TxUtils,
|
|
58
|
+
telemetry: telemetryClient,
|
|
59
|
+
blobSinkClient: deps.blobSinkClient,
|
|
60
|
+
rollupContract,
|
|
61
|
+
epochCache,
|
|
62
|
+
forwarderContract,
|
|
63
|
+
governanceProposerContract,
|
|
64
|
+
slashingProposerContract
|
|
65
|
+
});
|
|
69
66
|
const globalsBuilder = new GlobalVariableBuilder(config);
|
|
70
67
|
const publicProcessorFactory = new PublicProcessorFactory(contractDataSource, deps.dateProvider, telemetryClient);
|
|
71
68
|
const ethereumSlotDuration = config.ethereumSlotDuration;
|
|
@@ -79,34 +76,33 @@ export class SequencerClient {
|
|
|
79
76
|
const l1Constants = {
|
|
80
77
|
l1GenesisTime,
|
|
81
78
|
slotDuration: Number(slotDuration),
|
|
82
|
-
ethereumSlotDuration
|
|
79
|
+
ethereumSlotDuration
|
|
83
80
|
};
|
|
84
|
-
const sequencer = new Sequencer(publisher, validatorClient, globalsBuilder, p2pClient, worldStateSynchronizer, slasherClient, new LightweightBlockBuilderFactory(telemetryClient), l2BlockSource, l1ToL2MessageSource, publicProcessorFactory, contractDataSource, l1Constants, deps.dateProvider, {
|
|
81
|
+
const sequencer = new Sequencer(publisher, validatorClient, globalsBuilder, p2pClient, worldStateSynchronizer, slasherClient, new LightweightBlockBuilderFactory(telemetryClient), l2BlockSource, l1ToL2MessageSource, publicProcessorFactory, contractDataSource, l1Constants, deps.dateProvider, {
|
|
82
|
+
...config,
|
|
83
|
+
maxL1TxInclusionTimeIntoSlot
|
|
84
|
+
}, telemetryClient);
|
|
85
85
|
await validatorClient?.start();
|
|
86
86
|
await sequencer.start();
|
|
87
87
|
return new SequencerClient(sequencer);
|
|
88
88
|
}
|
|
89
89
|
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
updateSequencerConfig(config) {
|
|
90
|
+
* Updates sequencer config.
|
|
91
|
+
* @param config - New parameters.
|
|
92
|
+
*/ updateSequencerConfig(config) {
|
|
94
93
|
return this.sequencer.updateConfig(config);
|
|
95
94
|
}
|
|
96
95
|
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
async stop() {
|
|
96
|
+
* Stops the sequencer from processing new txs.
|
|
97
|
+
*/ async stop() {
|
|
100
98
|
await this.sequencer.stop();
|
|
101
99
|
}
|
|
102
|
-
/** Forces the sequencer to bypass all time and tx count checks for the next block and build anyway. */
|
|
103
|
-
flush() {
|
|
100
|
+
/** Forces the sequencer to bypass all time and tx count checks for the next block and build anyway. */ flush() {
|
|
104
101
|
this.sequencer.flush();
|
|
105
102
|
}
|
|
106
103
|
/**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
restart() {
|
|
104
|
+
* Restarts the sequencer after being stopped.
|
|
105
|
+
*/ restart() {
|
|
110
106
|
this.sequencer.restart();
|
|
111
107
|
}
|
|
112
108
|
get coinbase() {
|
|
@@ -119,4 +115,3 @@ export class SequencerClient {
|
|
|
119
115
|
return this.sequencer.getForwarderAddress();
|
|
120
116
|
}
|
|
121
117
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc2VxdWVuY2VyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDMUIsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFLakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBd0IsTUFBTSx1QkFBdUIsQ0FBQztBQUd4RTs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQXNCLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRTlDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNyQixNQUE2QixFQUM3QixJQWNDO1FBRUQsTUFBTSxFQUNKLGVBQWUsRUFDZixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLG1CQUFtQixFQUNu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
|
package/dest/config.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type AllowedElement, type ChainConfig, type SequencerConfig } from '@aztec/circuit-types/config';
|
|
2
1
|
import { type L1ContractsConfig, type L1ReaderConfig } from '@aztec/ethereum';
|
|
3
2
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
3
|
+
import { type AllowedElement, type ChainConfig, type SequencerConfig } from '@aztec/stdlib/config';
|
|
4
4
|
import { type PublisherConfig, type TxSenderConfig } from './publisher/config.js';
|
|
5
5
|
export * from './publisher/config.js';
|
|
6
|
-
export { SequencerConfig };
|
|
6
|
+
export type { SequencerConfig };
|
|
7
7
|
/**
|
|
8
8
|
* Configuration settings for the SequencerClient.
|
|
9
9
|
*/
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAuB,MAAM,sBAAsB,CAAC;AAExH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAGpB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,eAAe,GACjD,cAAc,GACd,eAAe,GACf,cAAc,GACd,WAAW,GACX,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC,CAAC;AAE/F,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAyEvE,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,CAOnF,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,qBAAqB,CAExD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAqCvE"}
|
package/dest/config.js
CHANGED
|
@@ -1,87 +1,84 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { l1ContractsConfigMappings, l1ReaderConfigMappings, } from '@aztec/ethereum';
|
|
4
|
-
import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, pickConfigMappings, } from '@aztec/foundation/config';
|
|
1
|
+
import { l1ContractsConfigMappings, l1ReaderConfigMappings } from '@aztec/ethereum';
|
|
2
|
+
import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, pickConfigMappings } from '@aztec/foundation/config';
|
|
5
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
|
-
import {
|
|
4
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
+
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
6
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
+
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
8
|
+
import { getPublisherConfigMappings, getTxSenderConfigMappings } from './publisher/config.js';
|
|
7
9
|
export * from './publisher/config.js';
|
|
8
10
|
export const sequencerConfigMappings = {
|
|
9
11
|
transactionPollingIntervalMS: {
|
|
10
12
|
env: 'SEQ_TX_POLLING_INTERVAL_MS',
|
|
11
13
|
description: 'The number of ms to wait between polling for pending txs.',
|
|
12
|
-
...numberConfigHelper(500)
|
|
14
|
+
...numberConfigHelper(500)
|
|
13
15
|
},
|
|
14
16
|
maxTxsPerBlock: {
|
|
15
17
|
env: 'SEQ_MAX_TX_PER_BLOCK',
|
|
16
18
|
description: 'The maximum number of txs to include in a block.',
|
|
17
|
-
...numberConfigHelper(32)
|
|
19
|
+
...numberConfigHelper(32)
|
|
18
20
|
},
|
|
19
21
|
minTxsPerBlock: {
|
|
20
22
|
env: 'SEQ_MIN_TX_PER_BLOCK',
|
|
21
23
|
description: 'The minimum number of txs to include in a block.',
|
|
22
|
-
...numberConfigHelper(1)
|
|
24
|
+
...numberConfigHelper(1)
|
|
23
25
|
},
|
|
24
26
|
maxL2BlockGas: {
|
|
25
27
|
env: 'SEQ_MAX_L2_BLOCK_GAS',
|
|
26
28
|
description: 'The maximum L2 block gas.',
|
|
27
|
-
...numberConfigHelper(10e9)
|
|
29
|
+
...numberConfigHelper(10e9)
|
|
28
30
|
},
|
|
29
31
|
maxDABlockGas: {
|
|
30
32
|
env: 'SEQ_MAX_DA_BLOCK_GAS',
|
|
31
33
|
description: 'The maximum DA block gas.',
|
|
32
|
-
...numberConfigHelper(10e9)
|
|
34
|
+
...numberConfigHelper(10e9)
|
|
33
35
|
},
|
|
34
36
|
coinbase: {
|
|
35
37
|
env: 'COINBASE',
|
|
36
|
-
parseEnv: (val)
|
|
37
|
-
description: 'Recipient of block reward.'
|
|
38
|
+
parseEnv: (val)=>val ? EthAddress.fromString(val) : undefined,
|
|
39
|
+
description: 'Recipient of block reward.'
|
|
38
40
|
},
|
|
39
41
|
feeRecipient: {
|
|
40
42
|
env: 'FEE_RECIPIENT',
|
|
41
|
-
parseEnv: (val)
|
|
42
|
-
description: 'Address to receive fees.'
|
|
43
|
+
parseEnv: (val)=>AztecAddress.fromString(val),
|
|
44
|
+
description: 'Address to receive fees.'
|
|
43
45
|
},
|
|
44
46
|
acvmWorkingDirectory: {
|
|
45
47
|
env: 'ACVM_WORKING_DIRECTORY',
|
|
46
|
-
description: 'The working directory to use for simulation/proving'
|
|
48
|
+
description: 'The working directory to use for simulation/proving'
|
|
47
49
|
},
|
|
48
50
|
acvmBinaryPath: {
|
|
49
51
|
env: 'ACVM_BINARY_PATH',
|
|
50
|
-
description: 'The path to the ACVM binary'
|
|
52
|
+
description: 'The path to the ACVM binary'
|
|
51
53
|
},
|
|
52
54
|
allowedInSetup: {
|
|
53
55
|
env: 'SEQ_ALLOWED_SETUP_FN',
|
|
54
|
-
parseEnv: (val)
|
|
56
|
+
parseEnv: (val)=>parseSequencerAllowList(val),
|
|
55
57
|
description: 'The list of functions calls allowed to run in setup',
|
|
56
|
-
printDefault: ()
|
|
58
|
+
printDefault: ()=>'AuthRegistry, FeeJuice.increase_public_balance, Token.increase_public_balance, FPC.prepare_fee'
|
|
57
59
|
},
|
|
58
60
|
maxBlockSizeInBytes: {
|
|
59
61
|
env: 'SEQ_MAX_BLOCK_SIZE_IN_BYTES',
|
|
60
62
|
description: 'Max block size',
|
|
61
|
-
...numberConfigHelper(1024 * 1024)
|
|
62
|
-
},
|
|
63
|
-
enforceFees: {
|
|
64
|
-
env: 'ENFORCE_FEES',
|
|
65
|
-
description: 'Whether to require every tx to have a fee payer',
|
|
66
|
-
...booleanConfigHelper(),
|
|
63
|
+
...numberConfigHelper(1024 * 1024)
|
|
67
64
|
},
|
|
68
65
|
enforceTimeTable: {
|
|
69
66
|
env: 'SEQ_ENFORCE_TIME_TABLE',
|
|
70
67
|
description: 'Whether to enforce the time table when building blocks',
|
|
71
68
|
...booleanConfigHelper(),
|
|
72
|
-
defaultValue: false
|
|
69
|
+
defaultValue: false
|
|
73
70
|
},
|
|
74
71
|
governanceProposerPayload: {
|
|
75
72
|
env: 'GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS',
|
|
76
73
|
description: 'The address of the payload for the governanceProposer',
|
|
77
|
-
parseEnv: (val)
|
|
78
|
-
defaultValue: EthAddress.ZERO
|
|
74
|
+
parseEnv: (val)=>EthAddress.fromString(val),
|
|
75
|
+
defaultValue: EthAddress.ZERO
|
|
79
76
|
},
|
|
80
77
|
maxL1TxInclusionTimeIntoSlot: {
|
|
81
78
|
env: 'SEQ_MAX_L1_TX_INCLUSION_TIME_INTO_SLOT',
|
|
82
79
|
description: 'How many seconds into an L1 slot we can still send a tx and get it mined.',
|
|
83
|
-
parseEnv: (val)
|
|
84
|
-
}
|
|
80
|
+
parseEnv: (val)=>val ? parseInt(val, 10) : undefined
|
|
81
|
+
}
|
|
85
82
|
};
|
|
86
83
|
export const sequencerClientConfigMappings = {
|
|
87
84
|
...sequencerConfigMappings,
|
|
@@ -89,12 +86,15 @@ export const sequencerClientConfigMappings = {
|
|
|
89
86
|
...getTxSenderConfigMappings('SEQ'),
|
|
90
87
|
...getPublisherConfigMappings('SEQ'),
|
|
91
88
|
...chainConfigMappings,
|
|
92
|
-
...pickConfigMappings(l1ContractsConfigMappings, [
|
|
89
|
+
...pickConfigMappings(l1ContractsConfigMappings, [
|
|
90
|
+
'ethereumSlotDuration',
|
|
91
|
+
'aztecSlotDuration',
|
|
92
|
+
'aztecEpochDuration'
|
|
93
|
+
])
|
|
93
94
|
};
|
|
94
95
|
/**
|
|
95
96
|
* Creates an instance of SequencerClientConfig out of environment variables using sensible defaults for integration testing if not set.
|
|
96
|
-
*/
|
|
97
|
-
export function getConfigEnvVars() {
|
|
97
|
+
*/ export function getConfigEnvVars() {
|
|
98
98
|
return getConfigFromMappings(sequencerClientConfigMappings);
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
@@ -107,42 +107,37 @@ export function getConfigEnvVars() {
|
|
|
107
107
|
*
|
|
108
108
|
* @param value The string to parse
|
|
109
109
|
* @returns A list of allowed elements
|
|
110
|
-
*/
|
|
111
|
-
export function parseSequencerAllowList(value) {
|
|
110
|
+
*/ export function parseSequencerAllowList(value) {
|
|
112
111
|
const entries = [];
|
|
113
112
|
if (!value) {
|
|
114
113
|
return entries;
|
|
115
114
|
}
|
|
116
|
-
for (const val of value.split(','))
|
|
115
|
+
for (const val of value.split(',')){
|
|
117
116
|
const [typeString, identifierString, selectorString] = val.split(':');
|
|
118
117
|
const selector = selectorString !== undefined ? FunctionSelector.fromString(selectorString) : undefined;
|
|
119
118
|
if (typeString === 'I') {
|
|
120
119
|
if (selector) {
|
|
121
120
|
entries.push({
|
|
122
121
|
address: AztecAddress.fromString(identifierString),
|
|
123
|
-
selector
|
|
122
|
+
selector
|
|
124
123
|
});
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
124
|
+
} else {
|
|
127
125
|
entries.push({
|
|
128
|
-
address: AztecAddress.fromString(identifierString)
|
|
126
|
+
address: AztecAddress.fromString(identifierString)
|
|
129
127
|
});
|
|
130
128
|
}
|
|
131
|
-
}
|
|
132
|
-
else if (typeString === 'C') {
|
|
129
|
+
} else if (typeString === 'C') {
|
|
133
130
|
if (selector) {
|
|
134
131
|
entries.push({
|
|
135
132
|
classId: Fr.fromHexString(identifierString),
|
|
136
|
-
selector
|
|
133
|
+
selector
|
|
137
134
|
});
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
135
|
+
} else {
|
|
140
136
|
entries.push({
|
|
141
|
-
classId: Fr.fromHexString(identifierString)
|
|
137
|
+
classId: Fr.fromHexString(identifierString)
|
|
142
138
|
});
|
|
143
139
|
}
|
|
144
140
|
}
|
|
145
141
|
}
|
|
146
142
|
return entries;
|
|
147
143
|
}
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsbUJBQW1CLEdBQ3BCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RSxPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLHNCQUFzQixHQUN2QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUdMLDBCQUEwQixFQUMxQix5QkFBeUIsR0FDMUIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixjQUFjLHVCQUF1QixDQUFDO0FBYXRDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF3QztJQUMxRSw0QkFBNEIsRUFBRTtRQUM1QixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSwyREFBMkQ7UUFDeEUsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7S0FDM0I7SUFDRCxjQUFjLEVBQUU7UUFDZCxHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7S0FDMUI7SUFDRCxjQUFjLEVBQUU7UUFDZCxHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsR0FBRyxrQkFBa0IsQ0FBQyxJ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
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { type GlobalVariableBuilder as GlobalVariableBuilderInterface } from '@aztec/circuit-types';
|
|
2
|
-
import { type AztecAddress, type EthAddress, GasFees, GlobalVariables } from '@aztec/circuits.js';
|
|
3
1
|
import { type L1ContractsConfig, type L1ReaderConfig } from '@aztec/ethereum';
|
|
2
|
+
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
+
import { GasFees } from '@aztec/stdlib/gas';
|
|
6
|
+
import type { GlobalVariableBuilder as GlobalVariableBuilderInterface } from '@aztec/stdlib/tx';
|
|
7
|
+
import { GlobalVariables } from '@aztec/stdlib/tx';
|
|
5
8
|
/**
|
|
6
9
|
* Simple global variables builder.
|
|
7
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global_builder.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/global_builder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"global_builder.d.ts","sourceRoot":"","sources":["../../src/global_variable_builder/global_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,IAAI,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,8BAA8B;IAC1E,OAAO,CAAC,GAAG,CAAqD;IAEhE,OAAO,CAAC,cAAc,CAA4D;IAClF,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IAoBpF;;;OAGG;IACU,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAanD;;;;;;;OAOG;IACU,oBAAoB,CAC/B,WAAW,EAAE,EAAE,EACf,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC;CA8B5B"}
|
|
@@ -1,65 +1,79 @@
|
|
|
1
|
-
import { GasFees, GlobalVariables } from '@aztec/circuits.js';
|
|
2
1
|
import { createEthereumChain } from '@aztec/ethereum';
|
|
3
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
4
|
import { RollupAbi } from '@aztec/l1-artifacts';
|
|
6
|
-
import {
|
|
5
|
+
import { GasFees } from '@aztec/stdlib/gas';
|
|
6
|
+
import { GlobalVariables } from '@aztec/stdlib/tx';
|
|
7
|
+
import { createPublicClient, fallback, getAddress, getContract, http } from 'viem';
|
|
7
8
|
/**
|
|
8
9
|
* Simple global variables builder.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
*/ export class GlobalVariableBuilder {
|
|
11
|
+
log = createLogger('sequencer:global_variable_builder');
|
|
12
|
+
rollupContract;
|
|
13
|
+
publicClient;
|
|
14
|
+
ethereumSlotDuration;
|
|
15
|
+
constructor(config){
|
|
16
|
+
const { l1RpcUrls, l1ChainId: chainId, l1Contracts } = config;
|
|
17
|
+
const chain = createEthereumChain(l1RpcUrls, chainId);
|
|
15
18
|
this.ethereumSlotDuration = config.ethereumSlotDuration;
|
|
16
19
|
this.publicClient = createPublicClient({
|
|
17
20
|
chain: chain.chainInfo,
|
|
18
|
-
transport:
|
|
19
|
-
pollingInterval: config.viemPollingIntervalMS
|
|
21
|
+
transport: fallback(chain.rpcUrls.map((url)=>http(url))),
|
|
22
|
+
pollingInterval: config.viemPollingIntervalMS
|
|
20
23
|
});
|
|
21
24
|
this.rollupContract = getContract({
|
|
22
25
|
address: getAddress(l1Contracts.rollupAddress.toString()),
|
|
23
26
|
abi: RollupAbi,
|
|
24
|
-
client: this.publicClient
|
|
27
|
+
client: this.publicClient
|
|
25
28
|
});
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
async getCurrentBaseFees() {
|
|
31
|
+
* Computes the "current" base fees, e.g., the price that you currently should pay to get include in the next block
|
|
32
|
+
* @returns Base fees for the expected next block
|
|
33
|
+
*/ async getCurrentBaseFees() {
|
|
32
34
|
// Since this might be called in the middle of a slot where a block might have been published,
|
|
33
35
|
// we need to fetch the last block written, and estimate the earliest timestamp for the next block.
|
|
34
36
|
// The timestamp of that last block will act as a lower bound for the next block.
|
|
35
|
-
const lastBlock = await this.rollupContract.read.getBlock([
|
|
36
|
-
|
|
37
|
+
const lastBlock = await this.rollupContract.read.getBlock([
|
|
38
|
+
await this.rollupContract.read.getPendingBlockNumber()
|
|
39
|
+
]);
|
|
40
|
+
const earliestTimestamp = await this.rollupContract.read.getTimestampForSlot([
|
|
41
|
+
lastBlock.slotNumber + 1n
|
|
42
|
+
]);
|
|
37
43
|
const nextEthTimestamp = BigInt((await this.publicClient.getBlock()).timestamp + BigInt(this.ethereumSlotDuration));
|
|
38
44
|
const timestamp = earliestTimestamp > nextEthTimestamp ? earliestTimestamp : nextEthTimestamp;
|
|
39
|
-
return new GasFees(Fr.ZERO, new Fr(await this.rollupContract.read.getManaBaseFeeAt([
|
|
45
|
+
return new GasFees(Fr.ZERO, new Fr(await this.rollupContract.read.getManaBaseFeeAt([
|
|
46
|
+
timestamp,
|
|
47
|
+
true
|
|
48
|
+
])));
|
|
40
49
|
}
|
|
41
50
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const version = new Fr(await this.rollupContract.read.VERSION());
|
|
51
|
+
* Simple builder of global variables that use the minimum time possible.
|
|
52
|
+
* @param blockNumber - The block number to build global variables for.
|
|
53
|
+
* @param coinbase - The address to receive block reward.
|
|
54
|
+
* @param feeRecipient - The address to receive fees.
|
|
55
|
+
* @param slotNumber - The slot number to use for the global variables, if undefined it will be calculated.
|
|
56
|
+
* @returns The global variables for the given block number.
|
|
57
|
+
*/ async buildGlobalVariables(blockNumber, coinbase, feeRecipient, slotNumber) {
|
|
58
|
+
const version = new Fr(await this.rollupContract.read.getVersion());
|
|
51
59
|
const chainId = new Fr(this.publicClient.chain.id);
|
|
52
60
|
if (slotNumber === undefined) {
|
|
53
61
|
const ts = BigInt((await this.publicClient.getBlock()).timestamp + BigInt(this.ethereumSlotDuration));
|
|
54
|
-
slotNumber = await this.rollupContract.read.getSlotAt([
|
|
62
|
+
slotNumber = await this.rollupContract.read.getSlotAt([
|
|
63
|
+
ts
|
|
64
|
+
]);
|
|
55
65
|
}
|
|
56
|
-
const timestamp = await this.rollupContract.read.getTimestampForSlot([
|
|
66
|
+
const timestamp = await this.rollupContract.read.getTimestampForSlot([
|
|
67
|
+
slotNumber
|
|
68
|
+
]);
|
|
57
69
|
const slotFr = new Fr(slotNumber);
|
|
58
70
|
const timestampFr = new Fr(timestamp);
|
|
59
71
|
// We can skip much of the logic in getCurrentBaseFees since it we already check that we are not within a slot elsewhere.
|
|
60
|
-
const gasFees = new GasFees(Fr.ZERO, new Fr(await this.rollupContract.read.getManaBaseFeeAt([
|
|
72
|
+
const gasFees = new GasFees(Fr.ZERO, new Fr(await this.rollupContract.read.getManaBaseFeeAt([
|
|
73
|
+
timestamp,
|
|
74
|
+
true
|
|
75
|
+
])));
|
|
61
76
|
const globalVariables = new GlobalVariables(chainId, version, blockNumber, slotFr, timestampFr, coinbase, feeRecipient, gasFees);
|
|
62
77
|
return globalVariables;
|
|
63
78
|
}
|
|
64
79
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX2J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvZ2xvYmFsX2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEcsT0FBTyxFQUErQyxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFJTCxrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFHZDs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFPaEMsWUFBWSxNQUF3RTtRQU41RSxRQUFHLEdBQUcsWUFBWSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFPOUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUU3RCxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztRQUV4RCxJQUFJLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDO1lBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUztZQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDN0IsZUFBZSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUI7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUM7WUFDaEMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pELEdBQUcsRUFBRSxTQUFTO1lBQ2QsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLDhGQUE4RjtRQUM5RixtR0FBbUc7UUFDbkcsaUZBQWlGO1FBRWpGLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwSCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUcsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDcEgsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUU5RixPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FBQyxvQkFBb0IsQ0FDL0IsV0FBZSxFQUNmLFFBQW9CLEVBQ3BCLFlBQTBCLEVBQzFCLFVBQW1CO1FBRW5CLE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7WUFDdEcsVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbkYsTUFBTSxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEMseUhBQXlIO1FBQ3pILE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqSCxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FDekMsT0FBTyxFQUNQLE9BQU8sRUFDUCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFdBQVcsRUFDWCxRQUFRLEVBQ1IsWUFBWSxFQUNaLE9BQU8sQ0FDUixDQUFDO1FBRUYsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztDQUNGIn0=
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { GlobalVariableBuilder } from './global_builder.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUMifQ==
|
package/dest/index.js
CHANGED
|
@@ -7,4 +7,3 @@ export { Sequencer, SequencerState, getDefaultAllowedSetupFunctions } from './se
|
|
|
7
7
|
// Used by the node to simulate public parts of transactions. Should these be moved to a shared library?
|
|
8
8
|
// ISSUE(#9832)
|
|
9
9
|
export * from './global_variable_builder/index.js';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxHLHdHQUF3RztBQUN4RyxlQUFlO0FBQ2YsY0FBYyxvQ0FBb0MsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/publisher/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/publisher/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EAIrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C;;OAEG;IACH,mBAAmB,EAAE,KAAK,MAAM,EAAE,CAAC;IAEnC;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,8BAA8B,EAAE,UAAU,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,cAAc,GAAG;IACf;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAC;CAClC,CAAC;AAEJ,eAAO,MAAM,yBAAyB,EAAE,CACtC,KAAK,EAAE,QAAQ,GAAG,KAAK,KACpB,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAoBzD,CAAC;AAEH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAErG;AAED,eAAO,MAAM,0BAA0B,EAAE,CACvC,KAAK,EAAE,QAAQ,GAAG,KAAK,KACpB,kBAAkB,CAAC,eAAe,GAAG,eAAe,CASvD,CAAC;AAEH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,eAAe,CAElF"}
|