@aztec/sequencer-client 0.74.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2
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.js +52 -57
- package/dest/config.js +40 -42
- package/dest/global_variable_builder/global_builder.js +39 -26
- package/dest/global_variable_builder/index.js +0 -1
- package/dest/index.js +0 -1
- package/dest/publisher/config.js +49 -50
- package/dest/publisher/index.js +0 -1
- package/dest/publisher/sequencer-publisher-metrics.js +32 -23
- package/dest/publisher/sequencer-publisher.js +216 -191
- package/dest/sequencer/allowed.js +5 -12
- 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.js +648 -607
- package/dest/sequencer/timetable.js +33 -19
- package/dest/sequencer/utils.js +22 -32
- package/dest/slasher/factory.js +5 -4
- package/dest/slasher/index.js +0 -1
- package/dest/slasher/slasher_client.js +107 -110
- package/dest/test/index.js +4 -1
- package/dest/tx_validator/archive_cache.js +7 -7
- package/dest/tx_validator/gas_validator.js +76 -64
- package/dest/tx_validator/nullifier_cache.js +8 -8
- package/dest/tx_validator/phases_validator.js +27 -19
- package/dest/tx_validator/test_utils.js +1 -2
- package/dest/tx_validator/tx_validator_factory.js +5 -5
- package/package.json +23 -22
- package/src/config.ts +1 -1
- package/src/publisher/sequencer-publisher.ts +1 -1
- package/src/sequencer/sequencer.ts +29 -13
- package/dest/client/index.d.ts +0 -2
- package/dest/client/index.d.ts.map +0 -1
- package/dest/client/sequencer-client.d.ts +0 -68
- package/dest/client/sequencer-client.d.ts.map +0 -1
- package/dest/config.d.ts +0 -37
- package/dest/config.d.ts.map +0 -1
- package/dest/global_variable_builder/global_builder.d.ts +0 -29
- package/dest/global_variable_builder/global_builder.d.ts.map +0 -1
- package/dest/global_variable_builder/index.d.ts +0 -2
- package/dest/global_variable_builder/index.d.ts.map +0 -1
- package/dest/index.d.ts +0 -8
- package/dest/index.d.ts.map +0 -1
- package/dest/publisher/config.d.ts +0 -38
- package/dest/publisher/config.d.ts.map +0 -1
- package/dest/publisher/index.d.ts +0 -2
- package/dest/publisher/index.d.ts.map +0 -1
- package/dest/publisher/sequencer-publisher-metrics.d.ts +0 -24
- package/dest/publisher/sequencer-publisher-metrics.d.ts.map +0 -1
- package/dest/publisher/sequencer-publisher.d.ts +0 -163
- package/dest/publisher/sequencer-publisher.d.ts.map +0 -1
- package/dest/sequencer/allowed.d.ts +0 -3
- package/dest/sequencer/allowed.d.ts.map +0 -1
- package/dest/sequencer/config.d.ts +0 -2
- package/dest/sequencer/config.d.ts.map +0 -1
- package/dest/sequencer/index.d.ts +0 -4
- package/dest/sequencer/index.d.ts.map +0 -1
- package/dest/sequencer/metrics.d.ts +0 -24
- package/dest/sequencer/metrics.d.ts.map +0 -1
- package/dest/sequencer/sequencer.d.ts +0 -172
- package/dest/sequencer/sequencer.d.ts.map +0 -1
- package/dest/sequencer/timetable.d.ts +0 -38
- package/dest/sequencer/timetable.d.ts.map +0 -1
- package/dest/sequencer/utils.d.ts +0 -47
- package/dest/sequencer/utils.d.ts.map +0 -1
- package/dest/slasher/factory.d.ts +0 -11
- package/dest/slasher/factory.d.ts.map +0 -1
- package/dest/slasher/index.d.ts +0 -3
- package/dest/slasher/index.d.ts.map +0 -1
- package/dest/slasher/slasher_client.d.ts +0 -127
- package/dest/slasher/slasher_client.d.ts.map +0 -1
- package/dest/test/index.d.ts +0 -17
- package/dest/test/index.d.ts.map +0 -1
- package/dest/tx_validator/archive_cache.d.ts +0 -14
- package/dest/tx_validator/archive_cache.d.ts.map +0 -1
- package/dest/tx_validator/gas_validator.d.ts +0 -12
- package/dest/tx_validator/gas_validator.d.ts.map +0 -1
- package/dest/tx_validator/nullifier_cache.d.ts +0 -16
- package/dest/tx_validator/nullifier_cache.d.ts.map +0 -1
- package/dest/tx_validator/phases_validator.d.ts +0 -11
- package/dest/tx_validator/phases_validator.d.ts.map +0 -1
- package/dest/tx_validator/test_utils.d.ts +0 -21
- package/dest/tx_validator/test_utils.d.ts.map +0 -1
- package/dest/tx_validator/tx_validator_factory.d.ts +0 -16
- package/dest/tx_validator/tx_validator_factory.d.ts.map +0 -1
package/dest/client/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EpochCache } from '@aztec/epoch-cache';
|
|
2
|
-
import { ForwarderContract, GovernanceProposerContract, L1TxUtilsWithBlobs, RollupContract, SlashingProposerContract, createEthereumChain, createL1Clients, isAnvilTestChain
|
|
2
|
+
import { ForwarderContract, GovernanceProposerContract, L1TxUtilsWithBlobs, RollupContract, SlashingProposerContract, createEthereumChain, createL1Clients, isAnvilTestChain } from '@aztec/ethereum';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { LightweightBlockBuilderFactory } from '@aztec/prover-client/block-builder';
|
|
@@ -9,26 +9,25 @@ import { SequencerPublisher } from '../publisher/index.js';
|
|
|
9
9
|
import { Sequencer } from '../sequencer/index.js';
|
|
10
10
|
/**
|
|
11
11
|
* Encapsulates the full sequencer and publisher.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
constructor(sequencer)
|
|
12
|
+
*/ export class SequencerClient {
|
|
13
|
+
sequencer;
|
|
14
|
+
constructor(sequencer){
|
|
15
15
|
this.sequencer = sequencer;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const { validatorClient, p2pClient, worldStateSynchronizer, slasherClient, contractDataSource, l2BlockSource, l1ToL2MessageSource, telemetry: telemetryClient, } = deps;
|
|
18
|
+
* Initializes and starts a new instance.
|
|
19
|
+
* @param config - Configuration for the sequencer, publisher, and L1 tx sender.
|
|
20
|
+
* @param p2pClient - P2P client that provides the txs to be sequenced.
|
|
21
|
+
* @param validatorClient - Validator client performs attestation duties when rotating proposers.
|
|
22
|
+
* @param worldStateSynchronizer - Provides access to world state.
|
|
23
|
+
* @param contractDataSource - Provides access to contract bytecode for public executions.
|
|
24
|
+
* @param l2BlockSource - Provides information about the previously published blocks.
|
|
25
|
+
* @param l1ToL2MessageSource - Provides access to L1 to L2 messages.
|
|
26
|
+
* @param prover - An instance of a block prover
|
|
27
|
+
* @param simulationProvider - An instance of a simulation provider
|
|
28
|
+
* @returns A new running instance.
|
|
29
|
+
*/ static async new(config, deps) {
|
|
30
|
+
const { validatorClient, p2pClient, worldStateSynchronizer, slasherClient, contractDataSource, l2BlockSource, l1ToL2MessageSource, telemetry: telemetryClient } = deps;
|
|
32
31
|
const { l1RpcUrl: rpcUrl, l1ChainId: chainId, publisherPrivateKey } = config;
|
|
33
32
|
const chain = createEthereumChain(rpcUrl, chainId);
|
|
34
33
|
const log = createLogger('sequencer-client');
|
|
@@ -37,34 +36,32 @@ export class SequencerClient {
|
|
|
37
36
|
const rollupContract = new RollupContract(publicClient, config.l1Contracts.rollupAddress.toString());
|
|
38
37
|
const [l1GenesisTime, slotDuration] = await Promise.all([
|
|
39
38
|
rollupContract.getL1GenesisTime(),
|
|
40
|
-
rollupContract.getSlotDuration()
|
|
39
|
+
rollupContract.getSlotDuration()
|
|
41
40
|
]);
|
|
42
|
-
const forwarderContract = config.customForwarderContractAddress && config.customForwarderContractAddress !== EthAddress.ZERO
|
|
43
|
-
? new ForwarderContract(publicClient, config.customForwarderContractAddress.toString(), config.l1Contracts.rollupAddress.toString())
|
|
44
|
-
: await ForwarderContract.create(walletClient.account.address, walletClient, publicClient, log, config.l1Contracts.rollupAddress.toString());
|
|
41
|
+
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());
|
|
45
42
|
const governanceProposerContract = new GovernanceProposerContract(publicClient, config.l1Contracts.governanceProposerAddress.toString());
|
|
46
43
|
const slashingProposerAddress = await rollupContract.getSlashingProposerAddress();
|
|
47
44
|
const slashingProposerContract = new SlashingProposerContract(publicClient, slashingProposerAddress.toString());
|
|
48
|
-
const epochCache = deps.epochCache ??
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
45
|
+
const epochCache = deps.epochCache ?? await EpochCache.create(config.l1Contracts.rollupAddress, {
|
|
46
|
+
l1RpcUrl: rpcUrl,
|
|
47
|
+
l1ChainId: chainId,
|
|
48
|
+
viemPollingIntervalMS: config.viemPollingIntervalMS,
|
|
49
|
+
aztecSlotDuration: config.aztecSlotDuration,
|
|
50
|
+
ethereumSlotDuration: config.ethereumSlotDuration,
|
|
51
|
+
aztecEpochDuration: config.aztecEpochDuration
|
|
52
|
+
}, {
|
|
53
|
+
dateProvider: deps.dateProvider
|
|
54
|
+
});
|
|
55
|
+
const publisher = deps.publisher ?? new SequencerPublisher(config, {
|
|
56
|
+
l1TxUtils,
|
|
57
|
+
telemetry: telemetryClient,
|
|
58
|
+
blobSinkClient: deps.blobSinkClient,
|
|
59
|
+
rollupContract,
|
|
60
|
+
epochCache,
|
|
61
|
+
forwarderContract,
|
|
62
|
+
governanceProposerContract,
|
|
63
|
+
slashingProposerContract
|
|
64
|
+
});
|
|
68
65
|
const globalsBuilder = new GlobalVariableBuilder(config);
|
|
69
66
|
const publicProcessorFactory = new PublicProcessorFactory(contractDataSource, deps.dateProvider, telemetryClient);
|
|
70
67
|
const ethereumSlotDuration = config.ethereumSlotDuration;
|
|
@@ -78,34 +75,33 @@ export class SequencerClient {
|
|
|
78
75
|
const l1Constants = {
|
|
79
76
|
l1GenesisTime,
|
|
80
77
|
slotDuration: Number(slotDuration),
|
|
81
|
-
ethereumSlotDuration
|
|
78
|
+
ethereumSlotDuration
|
|
82
79
|
};
|
|
83
|
-
const sequencer = new Sequencer(publisher, validatorClient, globalsBuilder, p2pClient, worldStateSynchronizer, slasherClient, new LightweightBlockBuilderFactory(telemetryClient), l2BlockSource, l1ToL2MessageSource, publicProcessorFactory, contractDataSource, l1Constants, deps.dateProvider, {
|
|
80
|
+
const sequencer = new Sequencer(publisher, validatorClient, globalsBuilder, p2pClient, worldStateSynchronizer, slasherClient, new LightweightBlockBuilderFactory(telemetryClient), l2BlockSource, l1ToL2MessageSource, publicProcessorFactory, contractDataSource, l1Constants, deps.dateProvider, {
|
|
81
|
+
...config,
|
|
82
|
+
maxL1TxInclusionTimeIntoSlot
|
|
83
|
+
}, telemetryClient);
|
|
84
84
|
await validatorClient?.start();
|
|
85
85
|
await sequencer.start();
|
|
86
86
|
return new SequencerClient(sequencer);
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
updateSequencerConfig(config) {
|
|
89
|
+
* Updates sequencer config.
|
|
90
|
+
* @param config - New parameters.
|
|
91
|
+
*/ updateSequencerConfig(config) {
|
|
93
92
|
return this.sequencer.updateConfig(config);
|
|
94
93
|
}
|
|
95
94
|
/**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
async stop() {
|
|
95
|
+
* Stops the sequencer from processing new txs.
|
|
96
|
+
*/ async stop() {
|
|
99
97
|
await this.sequencer.stop();
|
|
100
98
|
}
|
|
101
|
-
/** Forces the sequencer to bypass all time and tx count checks for the next block and build anyway. */
|
|
102
|
-
flush() {
|
|
99
|
+
/** Forces the sequencer to bypass all time and tx count checks for the next block and build anyway. */ flush() {
|
|
103
100
|
this.sequencer.flush();
|
|
104
101
|
}
|
|
105
102
|
/**
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
restart() {
|
|
103
|
+
* Restarts the sequencer after being stopped.
|
|
104
|
+
*/ restart() {
|
|
109
105
|
this.sequencer.restart();
|
|
110
106
|
}
|
|
111
107
|
get coinbase() {
|
|
@@ -118,4 +114,3 @@ export class SequencerClient {
|
|
|
118
114
|
return this.sequencer.getForwarderAddress();
|
|
119
115
|
}
|
|
120
116
|
}
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvc2VxdWVuY2VyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixnQkFBZ0IsR0FDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3JELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFHeEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFzQixTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQUcsQ0FBQztJQUU5Qzs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDckIsTUFBNkIsRUFDN0IsSUFjQztRQUVELE1BQU0sRUFDSixlQUFlLEVBQ2YsU0FBUyxFQUNULHNCQUFzQixFQUN0QixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsU0FBUyxFQUFFLGVBQWUsR0FDM0IsR0FBRyxJQUFJ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
|
package/dest/config.js
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
1
|
import { AztecAddress, Fr, FunctionSelector } from '@aztec/circuits.js';
|
|
2
|
-
import { l1ContractsConfigMappings, l1ReaderConfigMappings
|
|
3
|
-
import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, pickConfigMappings
|
|
2
|
+
import { l1ContractsConfigMappings, l1ReaderConfigMappings } from '@aztec/ethereum';
|
|
3
|
+
import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, pickConfigMappings } from '@aztec/foundation/config';
|
|
4
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
|
-
import { getPublisherConfigMappings, getTxSenderConfigMappings
|
|
5
|
+
import { getPublisherConfigMappings, getTxSenderConfigMappings } from './publisher/config.js';
|
|
6
6
|
export * from './publisher/config.js';
|
|
7
7
|
export const sequencerConfigMappings = {
|
|
8
8
|
transactionPollingIntervalMS: {
|
|
9
9
|
env: 'SEQ_TX_POLLING_INTERVAL_MS',
|
|
10
10
|
description: 'The number of ms to wait between polling for pending txs.',
|
|
11
|
-
...numberConfigHelper(500)
|
|
11
|
+
...numberConfigHelper(500)
|
|
12
12
|
},
|
|
13
13
|
maxTxsPerBlock: {
|
|
14
14
|
env: 'SEQ_MAX_TX_PER_BLOCK',
|
|
15
15
|
description: 'The maximum number of txs to include in a block.',
|
|
16
|
-
...numberConfigHelper(32)
|
|
16
|
+
...numberConfigHelper(32)
|
|
17
17
|
},
|
|
18
18
|
minTxsPerBlock: {
|
|
19
19
|
env: 'SEQ_MIN_TX_PER_BLOCK',
|
|
20
20
|
description: 'The minimum number of txs to include in a block.',
|
|
21
|
-
...numberConfigHelper(1)
|
|
21
|
+
...numberConfigHelper(1)
|
|
22
22
|
},
|
|
23
23
|
maxL2BlockGas: {
|
|
24
24
|
env: 'SEQ_MAX_L2_BLOCK_GAS',
|
|
25
25
|
description: 'The maximum L2 block gas.',
|
|
26
|
-
...numberConfigHelper(10e9)
|
|
26
|
+
...numberConfigHelper(10e9)
|
|
27
27
|
},
|
|
28
28
|
maxDABlockGas: {
|
|
29
29
|
env: 'SEQ_MAX_DA_BLOCK_GAS',
|
|
30
30
|
description: 'The maximum DA block gas.',
|
|
31
|
-
...numberConfigHelper(10e9)
|
|
31
|
+
...numberConfigHelper(10e9)
|
|
32
32
|
},
|
|
33
33
|
coinbase: {
|
|
34
34
|
env: 'COINBASE',
|
|
35
|
-
parseEnv: (val)
|
|
36
|
-
description: 'Recipient of block reward.'
|
|
35
|
+
parseEnv: (val)=>EthAddress.fromString(val),
|
|
36
|
+
description: 'Recipient of block reward.'
|
|
37
37
|
},
|
|
38
38
|
feeRecipient: {
|
|
39
39
|
env: 'FEE_RECIPIENT',
|
|
40
|
-
parseEnv: (val)
|
|
41
|
-
description: 'Address to receive fees.'
|
|
40
|
+
parseEnv: (val)=>AztecAddress.fromString(val),
|
|
41
|
+
description: 'Address to receive fees.'
|
|
42
42
|
},
|
|
43
43
|
acvmWorkingDirectory: {
|
|
44
44
|
env: 'ACVM_WORKING_DIRECTORY',
|
|
45
|
-
description: 'The working directory to use for simulation/proving'
|
|
45
|
+
description: 'The working directory to use for simulation/proving'
|
|
46
46
|
},
|
|
47
47
|
acvmBinaryPath: {
|
|
48
48
|
env: 'ACVM_BINARY_PATH',
|
|
49
|
-
description: 'The path to the ACVM binary'
|
|
49
|
+
description: 'The path to the ACVM binary'
|
|
50
50
|
},
|
|
51
51
|
allowedInSetup: {
|
|
52
52
|
env: 'SEQ_ALLOWED_SETUP_FN',
|
|
53
|
-
parseEnv: (val)
|
|
53
|
+
parseEnv: (val)=>parseSequencerAllowList(val),
|
|
54
54
|
description: 'The list of functions calls allowed to run in setup',
|
|
55
|
-
printDefault: ()
|
|
55
|
+
printDefault: ()=>'AuthRegistry, FeeJuice.increase_public_balance, Token.increase_public_balance, FPC.prepare_fee'
|
|
56
56
|
},
|
|
57
57
|
maxBlockSizeInBytes: {
|
|
58
58
|
env: 'SEQ_MAX_BLOCK_SIZE_IN_BYTES',
|
|
59
59
|
description: 'Max block size',
|
|
60
|
-
...numberConfigHelper(1024 * 1024)
|
|
60
|
+
...numberConfigHelper(1024 * 1024)
|
|
61
61
|
},
|
|
62
62
|
enforceFees: {
|
|
63
63
|
env: 'ENFORCE_FEES',
|
|
64
64
|
description: 'Whether to require every tx to have a fee payer',
|
|
65
|
-
...booleanConfigHelper()
|
|
65
|
+
...booleanConfigHelper()
|
|
66
66
|
},
|
|
67
67
|
enforceTimeTable: {
|
|
68
68
|
env: 'SEQ_ENFORCE_TIME_TABLE',
|
|
69
69
|
description: 'Whether to enforce the time table when building blocks',
|
|
70
70
|
...booleanConfigHelper(),
|
|
71
|
-
defaultValue: false
|
|
71
|
+
defaultValue: false
|
|
72
72
|
},
|
|
73
73
|
governanceProposerPayload: {
|
|
74
74
|
env: 'GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS',
|
|
75
75
|
description: 'The address of the payload for the governanceProposer',
|
|
76
|
-
parseEnv: (val)
|
|
77
|
-
defaultValue: EthAddress.ZERO
|
|
76
|
+
parseEnv: (val)=>EthAddress.fromString(val),
|
|
77
|
+
defaultValue: EthAddress.ZERO
|
|
78
78
|
},
|
|
79
79
|
maxL1TxInclusionTimeIntoSlot: {
|
|
80
80
|
env: 'SEQ_MAX_L1_TX_INCLUSION_TIME_INTO_SLOT',
|
|
81
81
|
description: 'How many seconds into an L1 slot we can still send a tx and get it mined.',
|
|
82
|
-
parseEnv: (val)
|
|
83
|
-
}
|
|
82
|
+
parseEnv: (val)=>val ? parseInt(val, 10) : undefined
|
|
83
|
+
}
|
|
84
84
|
};
|
|
85
85
|
export const chainConfigMappings = {
|
|
86
86
|
l1ChainId: l1ReaderConfigMappings.l1ChainId,
|
|
87
87
|
version: {
|
|
88
88
|
env: 'VERSION',
|
|
89
89
|
description: 'The version of the rollup.',
|
|
90
|
-
...numberConfigHelper(1)
|
|
91
|
-
}
|
|
90
|
+
...numberConfigHelper(1)
|
|
91
|
+
}
|
|
92
92
|
};
|
|
93
93
|
export const sequencerClientConfigMappings = {
|
|
94
94
|
...sequencerConfigMappings,
|
|
@@ -96,12 +96,15 @@ export const sequencerClientConfigMappings = {
|
|
|
96
96
|
...getTxSenderConfigMappings('SEQ'),
|
|
97
97
|
...getPublisherConfigMappings('SEQ'),
|
|
98
98
|
...chainConfigMappings,
|
|
99
|
-
...pickConfigMappings(l1ContractsConfigMappings, [
|
|
99
|
+
...pickConfigMappings(l1ContractsConfigMappings, [
|
|
100
|
+
'ethereumSlotDuration',
|
|
101
|
+
'aztecSlotDuration',
|
|
102
|
+
'aztecEpochDuration'
|
|
103
|
+
])
|
|
100
104
|
};
|
|
101
105
|
/**
|
|
102
106
|
* Creates an instance of SequencerClientConfig out of environment variables using sensible defaults for integration testing if not set.
|
|
103
|
-
*/
|
|
104
|
-
export function getConfigEnvVars() {
|
|
107
|
+
*/ export function getConfigEnvVars() {
|
|
105
108
|
return getConfigFromMappings(sequencerClientConfigMappings);
|
|
106
109
|
}
|
|
107
110
|
/**
|
|
@@ -114,42 +117,37 @@ export function getConfigEnvVars() {
|
|
|
114
117
|
*
|
|
115
118
|
* @param value The string to parse
|
|
116
119
|
* @returns A list of allowed elements
|
|
117
|
-
*/
|
|
118
|
-
export function parseSequencerAllowList(value) {
|
|
120
|
+
*/ export function parseSequencerAllowList(value) {
|
|
119
121
|
const entries = [];
|
|
120
122
|
if (!value) {
|
|
121
123
|
return entries;
|
|
122
124
|
}
|
|
123
|
-
for (const val of value.split(','))
|
|
125
|
+
for (const val of value.split(',')){
|
|
124
126
|
const [typeString, identifierString, selectorString] = val.split(':');
|
|
125
127
|
const selector = selectorString !== undefined ? FunctionSelector.fromString(selectorString) : undefined;
|
|
126
128
|
if (typeString === 'I') {
|
|
127
129
|
if (selector) {
|
|
128
130
|
entries.push({
|
|
129
131
|
address: AztecAddress.fromString(identifierString),
|
|
130
|
-
selector
|
|
132
|
+
selector
|
|
131
133
|
});
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
+
} else {
|
|
134
135
|
entries.push({
|
|
135
|
-
address: AztecAddress.fromString(identifierString)
|
|
136
|
+
address: AztecAddress.fromString(identifierString)
|
|
136
137
|
});
|
|
137
138
|
}
|
|
138
|
-
}
|
|
139
|
-
else if (typeString === 'C') {
|
|
139
|
+
} else if (typeString === 'C') {
|
|
140
140
|
if (selector) {
|
|
141
141
|
entries.push({
|
|
142
142
|
classId: Fr.fromHexString(identifierString),
|
|
143
|
-
selector
|
|
143
|
+
selector
|
|
144
144
|
});
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
145
|
+
} else {
|
|
147
146
|
entries.push({
|
|
148
|
-
classId: Fr.fromHexString(identifierString)
|
|
147
|
+
classId: Fr.fromHexString(identifierString)
|
|
149
148
|
});
|
|
150
149
|
}
|
|
151
150
|
}
|
|
152
151
|
}
|
|
153
152
|
return entries;
|
|
154
153
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFHTCx5QkFBeUIsRUFDekIsc0JBQXNCLEdBQ3ZCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLGtCQUFrQixHQUNuQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBR0wsMEJBQTBCLEVBQzFCLHlCQUF5QixHQUMxQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLGNBQWMsdUJBQXVCLENBQUM7QUFxQnRDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF3QztJQUMxRSw0QkFBNEIsRUFBRTtRQUM1QixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSwyREFBMkQ7UUFDeEUsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7S0FDM0I7SUFDRCxjQUFjLEVBQUU7UUFDZCxHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7S0FDMUI7SUFDRCxjQUFjLEVBQUU7UUFDZCxHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7S0FDNUI7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7S0FDNUI7SUFDRCxRQUFRLEVBQUU7UUFDUixHQUFHLEVBQUUsVUFBVTtRQUNmLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDckQsV0FBVyxFQUFFLDRCQUE0QjtLQUMxQztJQUNELFlBQVksRUFBRTtRQUNaLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDdkQsV0FBVyxFQUFFLDBCQUEwQjtLQUN4QztJQUNELG9CQUFvQixFQUFFO1FBQ3BCLEdBQUcsRUFBRSx3QkFBd0I7UUFDN0IsV0FBVyxFQUFFLHFEQUFxRDtLQUNuRTtJQUNELGNBQWMsRUFBRTtRQUNkLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsV0FBVyxFQUFFLDZCQUE2QjtLQUMzQztJQUNELGNBQWMsRUFBRTtRQUNkLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsUUFBUSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUM7UUFDdkQsV0FBVyxFQUFFLHFEQUFxRDtRQUNsRSxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQ2pCLGdHQUFnRztLQUNuRztJQUNELG1CQUFtQixFQUFFO1FBQ25CLEdBQUcsRUFBRSw2QkFBNkI7UUFDbEMsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixHQUFHLGtCQUFrQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7S0FDbkM7SUFDRCxXQUFXLEVBQUU7UUFDWCxHQUFHLEVBQUUsY0FBYztRQUNuQixXQUFXLEVBQUUsaURBQWlEO1FBQzlELEdBQUcsbUJBQW1CLEVBQUU7S0FDekI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixHQUFHLEVBQUUsd0JBQXdCO1FBQzdCLFdBQVcsRUFBRSx3REFBd0Q7UUFDckUsR0FBRyxtQkFBbUIsRUFBRTtRQUN4QixZQUFZLEVBQUUsS0FBSztLQUNwQjtJQUNELHlCQUF5QixFQUFFO1FBQ3pCLEdBQUcsRUFBRSxxQ0FBcUM7UUFDMUMsV0FBVyxFQUFFLHVEQUF1RDtRQUNwRSxRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3JELFlBQVksRUFBRSxVQUFVLENBQUMsSUFBSTtLQUM5QjtJQUNELDRCQUE0QixFQUFFO1FBQzVCLEdBQUcsRUFBRSx3Q0FBd0M7UUFDN0MsV0FBVyxFQUFFLDJFQUEyRTtRQUN4RixRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDakU7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQW9DO0lBQ2xFLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxTQUFTO0lBQzNDLE9BQU8sRUFBRTtRQUNQLEdBQUcsRUFBRSxTQUFTO1FBQ2QsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQztLQUN6QjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBOEM7SUFDdEYsR0FBRyx1QkFBdUI7SUFDMUIsR0FBRyxzQkFBc0I7SUFDekIsR0FBRyx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7SUFDbkMsR0FBRywwQkFBMEIsQ0FBQyxLQUFLLENBQUM7SUFDcEMsR0FBRyxtQkFBbUI7SUFDdEIsR0FBRyxrQkFBa0IsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDLENBQUM7Q0FDdEgsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLHFCQUFxQixDQUF3Qiw2QkFBNkIsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQWE7SUFDbkQsTUFBTSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUVyQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sUUFBUSxHQUFHLGNBQWMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRXhHLElBQUksVUFBVSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxPQUFPLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDbEQsUUFBUTtpQkFDVCxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxPQUFPLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDbkQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUM5QixJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsT0FBTyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNDLFFBQVE7aUJBQ1QsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsT0FBTyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMifQ==
|
|
@@ -3,63 +3,76 @@ import { createEthereumChain } from '@aztec/ethereum';
|
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { RollupAbi } from '@aztec/l1-artifacts';
|
|
6
|
-
import { createPublicClient, getAddress, getContract, http
|
|
6
|
+
import { createPublicClient, getAddress, getContract, http } from 'viem';
|
|
7
7
|
/**
|
|
8
8
|
* Simple global variables builder.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
*/ export class GlobalVariableBuilder {
|
|
10
|
+
log = createLogger('sequencer:global_variable_builder');
|
|
11
|
+
rollupContract;
|
|
12
|
+
publicClient;
|
|
13
|
+
ethereumSlotDuration;
|
|
14
|
+
constructor(config){
|
|
13
15
|
const { l1RpcUrl, l1ChainId: chainId, l1Contracts } = config;
|
|
14
16
|
const chain = createEthereumChain(l1RpcUrl, chainId);
|
|
15
17
|
this.ethereumSlotDuration = config.ethereumSlotDuration;
|
|
16
18
|
this.publicClient = createPublicClient({
|
|
17
19
|
chain: chain.chainInfo,
|
|
18
20
|
transport: http(chain.rpcUrl),
|
|
19
|
-
pollingInterval: config.viemPollingIntervalMS
|
|
21
|
+
pollingInterval: config.viemPollingIntervalMS
|
|
20
22
|
});
|
|
21
23
|
this.rollupContract = getContract({
|
|
22
24
|
address: getAddress(l1Contracts.rollupAddress.toString()),
|
|
23
25
|
abi: RollupAbi,
|
|
24
|
-
client: this.publicClient
|
|
26
|
+
client: this.publicClient
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
async getCurrentBaseFees() {
|
|
30
|
+
* Computes the "current" base fees, e.g., the price that you currently should pay to get include in the next block
|
|
31
|
+
* @returns Base fees for the expected next block
|
|
32
|
+
*/ async getCurrentBaseFees() {
|
|
32
33
|
// Since this might be called in the middle of a slot where a block might have been published,
|
|
33
34
|
// we need to fetch the last block written, and estimate the earliest timestamp for the next block.
|
|
34
35
|
// 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
|
-
|
|
36
|
+
const lastBlock = await this.rollupContract.read.getBlock([
|
|
37
|
+
await this.rollupContract.read.getPendingBlockNumber()
|
|
38
|
+
]);
|
|
39
|
+
const earliestTimestamp = await this.rollupContract.read.getTimestampForSlot([
|
|
40
|
+
lastBlock.slotNumber + 1n
|
|
41
|
+
]);
|
|
37
42
|
const nextEthTimestamp = BigInt((await this.publicClient.getBlock()).timestamp + BigInt(this.ethereumSlotDuration));
|
|
38
43
|
const timestamp = earliestTimestamp > nextEthTimestamp ? earliestTimestamp : nextEthTimestamp;
|
|
39
|
-
return new GasFees(Fr.ZERO, new Fr(await this.rollupContract.read.getManaBaseFeeAt([
|
|
44
|
+
return new GasFees(Fr.ZERO, new Fr(await this.rollupContract.read.getManaBaseFeeAt([
|
|
45
|
+
timestamp,
|
|
46
|
+
true
|
|
47
|
+
])));
|
|
40
48
|
}
|
|
41
49
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
async buildGlobalVariables(blockNumber, coinbase, feeRecipient, slotNumber) {
|
|
50
|
+
* Simple builder of global variables that use the minimum time possible.
|
|
51
|
+
* @param blockNumber - The block number to build global variables for.
|
|
52
|
+
* @param coinbase - The address to receive block reward.
|
|
53
|
+
* @param feeRecipient - The address to receive fees.
|
|
54
|
+
* @param slotNumber - The slot number to use for the global variables, if undefined it will be calculated.
|
|
55
|
+
* @returns The global variables for the given block number.
|
|
56
|
+
*/ async buildGlobalVariables(blockNumber, coinbase, feeRecipient, slotNumber) {
|
|
50
57
|
const version = new Fr(await this.rollupContract.read.VERSION());
|
|
51
58
|
const chainId = new Fr(this.publicClient.chain.id);
|
|
52
59
|
if (slotNumber === undefined) {
|
|
53
60
|
const ts = BigInt((await this.publicClient.getBlock()).timestamp + BigInt(this.ethereumSlotDuration));
|
|
54
|
-
slotNumber = await this.rollupContract.read.getSlotAt([
|
|
61
|
+
slotNumber = await this.rollupContract.read.getSlotAt([
|
|
62
|
+
ts
|
|
63
|
+
]);
|
|
55
64
|
}
|
|
56
|
-
const timestamp = await this.rollupContract.read.getTimestampForSlot([
|
|
65
|
+
const timestamp = await this.rollupContract.read.getTimestampForSlot([
|
|
66
|
+
slotNumber
|
|
67
|
+
]);
|
|
57
68
|
const slotFr = new Fr(slotNumber);
|
|
58
69
|
const timestampFr = new Fr(timestamp);
|
|
59
70
|
// 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([
|
|
71
|
+
const gasFees = new GasFees(Fr.ZERO, new Fr(await this.rollupContract.read.getManaBaseFeeAt([
|
|
72
|
+
timestamp,
|
|
73
|
+
true
|
|
74
|
+
])));
|
|
61
75
|
const globalVariables = new GlobalVariables(chainId, version, blockNumber, slotFr, timestampFr, coinbase, feeRecipient, gasFees);
|
|
62
76
|
return globalVariables;
|
|
63
77
|
}
|
|
64
78
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX2J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIvZ2xvYmFsX2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEcsT0FBTyxFQUErQyxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFJTCxrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFHZDs7R0FFRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFPaEMsWUFBWSxNQUF3RTtRQU41RSxRQUFHLEdBQUcsWUFBWSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFPOUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUU3RCxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztRQUV4RCxJQUFJLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDO1lBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUztZQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDN0IsZUFBZSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUI7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNB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
|
|
@@ -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
|
package/dest/publisher/config.js
CHANGED
|
@@ -1,59 +1,58 @@
|
|
|
1
1
|
import { NULL_KEY, l1TxUtilsConfigMappings } from '@aztec/ethereum';
|
|
2
2
|
import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
|
-
export const getTxSenderConfigMappings = (scope)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
4
|
+
export const getTxSenderConfigMappings = (scope)=>({
|
|
5
|
+
l1RpcUrl: {
|
|
6
|
+
env: 'ETHEREUM_HOST',
|
|
7
|
+
description: 'The RPC Url of the ethereum host.'
|
|
8
|
+
},
|
|
9
|
+
l1ChainId: {
|
|
10
|
+
env: 'L1_CHAIN_ID',
|
|
11
|
+
parseEnv: (val)=>+val,
|
|
12
|
+
defaultValue: 31337,
|
|
13
|
+
description: 'The chain ID of the ethereum host.'
|
|
14
|
+
},
|
|
15
|
+
customForwarderContractAddress: {
|
|
16
|
+
env: `CUSTOM_FORWARDER_CONTRACT_ADDRESS`,
|
|
17
|
+
parseEnv: (val)=>EthAddress.fromString(val),
|
|
18
|
+
description: 'The address of the custom forwarder contract.',
|
|
19
|
+
defaultValue: EthAddress.ZERO
|
|
20
|
+
},
|
|
21
|
+
publisherPrivateKey: {
|
|
22
|
+
env: `${scope}_PUBLISHER_PRIVATE_KEY`,
|
|
23
|
+
description: 'The private key to be used by the publisher.',
|
|
24
|
+
parseEnv: (val)=>val ? `0x${val.replace('0x', '')}` : NULL_KEY,
|
|
25
|
+
defaultValue: NULL_KEY
|
|
26
|
+
},
|
|
27
|
+
requiredConfirmations: {
|
|
28
|
+
env: `${scope}_REQUIRED_CONFIRMATIONS`,
|
|
29
|
+
parseEnv: (val)=>+val,
|
|
30
|
+
defaultValue: 1,
|
|
31
|
+
description: 'The number of confirmations required.'
|
|
32
|
+
},
|
|
33
|
+
viemPollingIntervalMS: {
|
|
34
|
+
env: `${scope}_VIEM_POLLING_INTERVAL_MS`,
|
|
35
|
+
description: 'The polling interval viem uses in ms',
|
|
36
|
+
...numberConfigHelper(1_000)
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
39
|
export function getTxSenderConfigFromEnv(scope) {
|
|
40
40
|
return getConfigFromMappings(getTxSenderConfigMappings(scope));
|
|
41
41
|
}
|
|
42
|
-
export const getPublisherConfigMappings = scope
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
42
|
+
export const getPublisherConfigMappings = (scope)=>({
|
|
43
|
+
l1PublishRetryIntervalMS: {
|
|
44
|
+
env: `${scope}_PUBLISH_RETRY_INTERVAL_MS`,
|
|
45
|
+
parseEnv: (val)=>+val,
|
|
46
|
+
defaultValue: 1000,
|
|
47
|
+
description: 'The interval to wait between publish retries.'
|
|
48
|
+
},
|
|
49
|
+
...l1TxUtilsConfigMappings,
|
|
50
|
+
blobSinkUrl: {
|
|
51
|
+
env: 'BLOB_SINK_URL',
|
|
52
|
+
description: 'The URL of the blob sink.',
|
|
53
|
+
parseEnv: (val)=>val
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
56
|
export function getPublisherConfigFromEnv(scope) {
|
|
57
57
|
return getConfigFromMappings(getPublisherConfigMappings(scope));
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1Ymxpc2hlci9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2QyxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRyxPQUFPLEVBQTJCLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBcUMzRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FFeUIsQ0FBQyxLQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLFFBQVEsRUFBRTtRQUNSLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLFdBQVcsRUFBRSxtQ0FBbUM7S0FDakQ7SUFDRCxTQUFTLEVBQUU7UUFDVCxHQUFHLEVBQUUsYUFBYTtRQUNsQixRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRztRQUMvQixZQUFZLEVBQUUsS0FBSztRQUNuQixXQUFXLEVBQUUsb0NBQW9DO0tBQ2xEO0lBQ0QsOEJBQThCLEVBQUU7UUFDOUIsR0FBRyxFQUFFLG1DQUFtQztRQUN4QyxRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3JELFdBQVcsRUFBRSwrQ0FBK0M7UUFDNUQsWUFBWSxFQUFFLFVBQVUsQ0FBQyxJQUFJO0tBQzlCO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsR0FBRyxFQUFFLEdBQUcsS0FBSyx3QkFBd0I7UUFDckMsV0FBVyxFQUFFLDhDQUE4QztRQUMzRCxRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMxRSxZQUFZLEVBQUUsUUFBUTtLQUN2QjtJQUNELHFCQUFxQixFQUFFO1FBQ3JCLEdBQUcsRUFBRSxHQUFHLEtBQUsseUJBQXlCO1FBQ3RDLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHO1FBQy9CLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLHVDQUF1QztLQUNyRDtJQUNELHFCQUFxQixFQUFFO1FBQ3JCLEdBQUcsRUFBRSxHQUFHLEtBQUssMkJBQTJCO1FBQ3hDLFdBQVcsRUFBRSxzQ0FBc0M7UUFDbkQsR0FBRyxrQkFBa0IsQ0FBQyxJQUFLLENBQUM7S0FDN0I7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBdUI7SUFDOUQsT0FBTyxxQkFBcUIsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FFc0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLHdCQUF3QixFQUFFO1FBQ3hCLEdBQUcsRUFBRSxHQUFHLEtBQUssNEJBQTRCO1FBQ3pDLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHO1FBQy9CLFlBQVksRUFBRSxJQUFJO1FBQ2xCLFdBQVcsRUFBRSwrQ0FBK0M7S0FDN0Q7SUFDRCxHQUFHLHVCQUF1QjtJQUMxQixXQUFXLEVBQUU7UUFDWCxHQUFHLEVBQUUsZUFBZTtRQUNwQixXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLFFBQVEsRUFBRSxDQUFDLEdBQVksRUFBRSxFQUFFLENBQUMsR0FBRztLQUNoQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxLQUF1QjtJQUMvRCxPQUFPLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyJ9
|
package/dest/publisher/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { SequencerPublisher } from './sequencer-publisher.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGlzaGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDIn0=
|