@aztec/sequencer-client 0.76.4-devnet-test-rc3 → 0.77.0-testnet-ignition.17

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.
Files changed (87) hide show
  1. package/dest/client/index.js +0 -1
  2. package/dest/client/sequencer-client.d.ts +12 -9
  3. package/dest/client/sequencer-client.d.ts.map +1 -1
  4. package/dest/client/sequencer-client.js +55 -60
  5. package/dest/config.d.ts +2 -2
  6. package/dest/config.d.ts.map +1 -1
  7. package/dest/config.js +41 -46
  8. package/dest/global_variable_builder/global_builder.d.ts +5 -2
  9. package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
  10. package/dest/global_variable_builder/global_builder.js +45 -31
  11. package/dest/global_variable_builder/index.js +0 -1
  12. package/dest/index.js +0 -1
  13. package/dest/publisher/config.d.ts.map +1 -1
  14. package/dest/publisher/config.js +33 -48
  15. package/dest/publisher/index.js +0 -1
  16. package/dest/publisher/sequencer-publisher-metrics.d.ts +6 -5
  17. package/dest/publisher/sequencer-publisher-metrics.d.ts.map +1 -1
  18. package/dest/publisher/sequencer-publisher-metrics.js +46 -28
  19. package/dest/publisher/sequencer-publisher.d.ts +11 -23
  20. package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
  21. package/dest/publisher/sequencer-publisher.js +191 -238
  22. package/dest/sequencer/allowed.d.ts +1 -1
  23. package/dest/sequencer/allowed.d.ts.map +1 -1
  24. package/dest/sequencer/allowed.js +6 -13
  25. package/dest/sequencer/config.d.ts +1 -1
  26. package/dest/sequencer/config.d.ts.map +1 -1
  27. package/dest/sequencer/config.js +1 -2
  28. package/dest/sequencer/index.js +0 -1
  29. package/dest/sequencer/metrics.js +26 -18
  30. package/dest/sequencer/sequencer.d.ts +19 -15
  31. package/dest/sequencer/sequencer.d.ts.map +1 -1
  32. package/dest/sequencer/sequencer.js +589 -625
  33. package/dest/sequencer/timetable.d.ts +1 -1
  34. package/dest/sequencer/timetable.d.ts.map +1 -1
  35. package/dest/sequencer/timetable.js +33 -19
  36. package/dest/sequencer/utils.d.ts +2 -1
  37. package/dest/sequencer/utils.d.ts.map +1 -1
  38. package/dest/sequencer/utils.js +22 -32
  39. package/dest/slasher/factory.d.ts +5 -5
  40. package/dest/slasher/factory.d.ts.map +1 -1
  41. package/dest/slasher/factory.js +5 -4
  42. package/dest/slasher/index.js +0 -1
  43. package/dest/slasher/slasher_client.d.ts +4 -4
  44. package/dest/slasher/slasher_client.d.ts.map +1 -1
  45. package/dest/slasher/slasher_client.js +110 -113
  46. package/dest/test/index.d.ts +3 -3
  47. package/dest/test/index.d.ts.map +1 -1
  48. package/dest/test/index.js +4 -1
  49. package/dest/tx_validator/archive_cache.d.ts +3 -3
  50. package/dest/tx_validator/archive_cache.d.ts.map +1 -1
  51. package/dest/tx_validator/archive_cache.js +8 -8
  52. package/dest/tx_validator/gas_validator.d.ts +5 -3
  53. package/dest/tx_validator/gas_validator.d.ts.map +1 -1
  54. package/dest/tx_validator/gas_validator.js +70 -70
  55. package/dest/tx_validator/nullifier_cache.d.ts +2 -2
  56. package/dest/tx_validator/nullifier_cache.d.ts.map +1 -1
  57. package/dest/tx_validator/nullifier_cache.js +9 -9
  58. package/dest/tx_validator/phases_validator.d.ts +3 -2
  59. package/dest/tx_validator/phases_validator.d.ts.map +1 -1
  60. package/dest/tx_validator/phases_validator.js +28 -20
  61. package/dest/tx_validator/test_utils.d.ts +4 -2
  62. package/dest/tx_validator/test_utils.d.ts.map +1 -1
  63. package/dest/tx_validator/test_utils.js +2 -3
  64. package/dest/tx_validator/tx_validator_factory.d.ts +7 -5
  65. package/dest/tx_validator/tx_validator_factory.d.ts.map +1 -1
  66. package/dest/tx_validator/tx_validator_factory.js +14 -13
  67. package/package.json +26 -27
  68. package/src/client/sequencer-client.ts +17 -14
  69. package/src/config.ts +6 -14
  70. package/src/global_variable_builder/global_builder.ts +18 -19
  71. package/src/publisher/config.ts +9 -17
  72. package/src/publisher/sequencer-publisher-metrics.ts +22 -9
  73. package/src/publisher/sequencer-publisher.ts +16 -101
  74. package/src/sequencer/allowed.ts +4 -4
  75. package/src/sequencer/config.ts +1 -1
  76. package/src/sequencer/sequencer.ts +39 -113
  77. package/src/sequencer/timetable.ts +1 -1
  78. package/src/sequencer/utils.ts +2 -1
  79. package/src/slasher/factory.ts +5 -5
  80. package/src/slasher/slasher_client.ts +16 -21
  81. package/src/test/index.ts +3 -3
  82. package/src/tx_validator/archive_cache.ts +4 -3
  83. package/src/tx_validator/gas_validator.ts +22 -31
  84. package/src/tx_validator/nullifier_cache.ts +3 -2
  85. package/src/tx_validator/phases_validator.ts +7 -7
  86. package/src/tx_validator/test_utils.ts +5 -3
  87. package/src/tx_validator/tx_validator_factory.ts +23 -17
@@ -1,2 +1 @@
1
1
  export * from './sequencer-client.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMifQ==
@@ -1,17 +1,20 @@
1
- import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
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 { type DateProvider } from '@aztec/foundation/timer';
8
- import { type P2P } from '@aztec/p2p';
9
- import { type TelemetryClient } from '@aztec/telemetry-client';
10
- import { type ValidatorClient } from '@aztec/validator-client';
11
- import { type SequencerClientConfig } from '../config.js';
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 { type SlasherClient } from '../slasher/index.js';
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,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAChF,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,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,KAAK,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,EAAE,KAAK,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
+ {"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, } from '@aztec/ethereum';
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
- export class SequencerClient {
15
- constructor(sequencer) {
13
+ */ export class SequencerClient {
14
+ sequencer;
15
+ constructor(sequencer){
16
16
  this.sequencer = sequencer;
17
17
  }
18
18
  /**
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
- */
31
- static async new(config, deps) {
32
- const { validatorClient, p2pClient, worldStateSynchronizer, slasherClient, contractDataSource, l2BlockSource, l1ToL2MessageSource, telemetry: telemetryClient, } = deps;
33
- const { l1RpcUrl: rpcUrl, l1ChainId: chainId, publisherPrivateKey } = config;
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(rpcUrl, publisherPrivateKey, chain.chainInfo);
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
- (await EpochCache.create(config.l1Contracts.rollupAddress, {
51
- l1RpcUrl: rpcUrl,
52
- l1ChainId: chainId,
53
- viemPollingIntervalMS: config.viemPollingIntervalMS,
54
- aztecSlotDuration: config.aztecSlotDuration,
55
- ethereumSlotDuration: config.ethereumSlotDuration,
56
- aztecEpochDuration: config.aztecEpochDuration,
57
- }, { dateProvider: deps.dateProvider }));
58
- const publisher = deps.publisher ??
59
- new SequencerPublisher(config, {
60
- l1TxUtils,
61
- telemetry: telemetryClient,
62
- blobSinkClient: deps.blobSinkClient,
63
- rollupContract,
64
- epochCache,
65
- forwarderContract,
66
- governanceProposerContract,
67
- slashingProposerContract,
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, { ...config, maxL1TxInclusionTimeIntoSlot }, telemetryClient);
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
- * Updates sequencer config.
91
- * @param config - New parameters.
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
- * Stops the sequencer from processing new txs.
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
- * Restarts the sequencer after being stopped.
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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAErB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAGpB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;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,CA8EvE,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"}
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 { chainConfigMappings, } from '@aztec/circuit-types/config';
2
- import { AztecAddress, Fr, FunctionSelector } from '@aztec/circuits.js';
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 { getPublisherConfigMappings, getTxSenderConfigMappings, } from './publisher/config.js';
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) => EthAddress.fromString(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) => AztecAddress.fromString(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) => parseSequencerAllowList(val),
56
+ parseEnv: (val)=>parseSequencerAllowList(val),
55
57
  description: 'The list of functions calls allowed to run in setup',
56
- printDefault: () => 'AuthRegistry, FeeJuice.increase_public_balance, Token.increase_public_balance, FPC.prepare_fee',
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) => EthAddress.fromString(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) => (val ? parseInt(val, 10) : undefined),
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, ['ethereumSlotDuration', 'aztecSlotDuration', 'aztecEpochDuration']),
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsbUJBQW1CLEdBQ3BCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RSxPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLHNCQUFzQixHQUN2QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUdMLDBCQUEwQixFQUMxQix5QkFBeUIsR0FDMUIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixjQUFjLHVCQUF1QixDQUFDO0FBYXRDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF3QztJQUMxRSw0QkFBNEIsRUFBRTtRQUM1QixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSwyREFBMkQ7UUFDeEUsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7S0FDM0I7SUFDRCxjQUFjLEVBQUU7UUFDZCxHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7S0FDMUI7SUFDRCxjQUFjLEVBQUU7UUFDZCxHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7S0FDekI7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7S0FDNUI7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7S0FDNUI7SUFDRCxRQUFRLEVBQUU7UUFDUixHQUFHLEVBQUUsVUFBVTtRQUNmLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDckQsV0FBVyxFQUFFLDRCQUE0QjtLQUMxQztJQUNELFlBQVksRUFBRTtRQUNaLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDdkQsV0FBVyxFQUFFLDBCQUEwQjtLQUN4QztJQUNELG9CQUFvQixFQUFFO1FBQ3BCLEdBQUcsRUFBRSx3QkFBd0I7UUFDN0IsV0FBVyxFQUFFLHFEQUFxRDtLQUNuRTtJQUNELGNBQWMsRUFBRTtRQUNkLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsV0FBVyxFQUFFLDZCQUE2QjtLQUMzQztJQUNELGNBQWMsRUFBRTtRQUNkLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsUUFBUSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUM7UUFDdkQsV0FBVyxFQUFFLHFEQUFxRDtRQUNsRSxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQ2pCLGdHQUFnRztLQUNuRztJQUNELG1CQUFtQixFQUFFO1FBQ25CLEdBQUcsRUFBRSw2QkFBNkI7UUFDbEMsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixHQUFHLGtCQUFrQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7S0FDbkM7SUFDRCxXQUFXLEVBQUU7UUFDWCxHQUFHLEVBQUUsY0FBYztRQUNuQixXQUFXLEVBQUUsaURBQWlEO1FBQzlELEdBQUcsbUJBQW1CLEVBQUU7S0FDekI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixHQUFHLEVBQUUsd0JBQXdCO1FBQzdCLFdBQVcsRUFBRSx3REFBd0Q7UUFDckUsR0FBRyxtQkFBbUIsRUFBRTtRQUN4QixZQUFZLEVBQUUsS0FBSztLQUNwQjtJQUNELHlCQUF5QixFQUFFO1FBQ3pCLEdBQUcsRUFBRSxxQ0FBcUM7UUFDMUMsV0FBVyxFQUFFLHVEQUF1RDtRQUNwRSxRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3JELFlBQVksRUFBRSxVQUFVLENBQUMsSUFBSTtLQUM5QjtJQUNELDRCQUE0QixFQUFFO1FBQzVCLEdBQUcsRUFBRSx3Q0FBd0M7UUFDN0MsV0FBVyxFQUFFLDJFQUEyRTtRQUN4RixRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDakU7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQThDO0lBQ3RGLEdBQUcsdUJBQXVCO0lBQzFCLEdBQUcsc0JBQXNCO0lBQ3pCLEdBQUcseUJBQXlCLENBQUMsS0FBSyxDQUFDO0lBQ25DLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxDQUFDO0lBQ3BDLEdBQUcsbUJBQW1CO0lBQ3RCLEdBQUcsa0JBQWtCLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0NBQ3RILENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsT0FBTyxxQkFBcUIsQ0FBd0IsNkJBQTZCLENBQUMsQ0FBQztBQUNyRixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFhO0lBQ25ELE1BQU0sT0FBTyxHQUFxQixFQUFFLENBQUM7SUFFckMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RSxNQUFNLFFBQVEsR0FBRyxjQUFjLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUV4RyxJQUFJLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN2QixJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2xELFFBQVE7aUJBQ1QsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7aUJBQ25ELENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDOUIsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNYLE9BQU8sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQyxRQUFRO2lCQUNULENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNYLE9BQU8sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIn0=
@@ -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,EAAE,KAAK,qBAAqB,IAAI,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAe9C;;GAEG;AACH,qBAAa,qBAAsB,YAAW,8BAA8B;IAC1E,OAAO,CAAC,GAAG,CAAqD;IAEhE,OAAO,CAAC,cAAc,CAAqF;IAC3G,OAAO,CAAC,YAAY,CAA4C;IAChE,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
+ {"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 { createPublicClient, getAddress, getContract, http, } from 'viem';
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
- export class GlobalVariableBuilder {
11
- constructor(config) {
12
- this.log = createLogger('sequencer:global_variable_builder');
13
- const { l1RpcUrl, l1ChainId: chainId, l1Contracts } = config;
14
- const chain = createEthereumChain(l1RpcUrl, chainId);
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: http(chain.rpcUrl),
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
- * Computes the "current" base fees, e.g., the price that you currently should pay to get include in the next block
29
- * @returns Base fees for the expected next block
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([await this.rollupContract.read.getPendingBlockNumber()]);
36
- const earliestTimestamp = await this.rollupContract.read.getTimestampForSlot([lastBlock.slotNumber + 1n]);
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([timestamp, true])));
45
+ return new GasFees(Fr.ZERO, new Fr(await this.rollupContract.read.getManaBaseFeeAt([
46
+ timestamp,
47
+ true
48
+ ])));
40
49
  }
41
50
  /**
42
- * Simple builder of global variables that use the minimum time possible.
43
- * @param blockNumber - The block number to build global variables for.
44
- * @param coinbase - The address to receive block reward.
45
- * @param feeRecipient - The address to receive fees.
46
- * @param slotNumber - The slot number to use for the global variables, if undefined it will be calculated.
47
- * @returns The global variables for the given block number.
48
- */
49
- async buildGlobalVariables(blockNumber, coinbase, feeRecipient, slotNumber) {
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([ts]);
62
+ slotNumber = await this.rollupContract.read.getSlotAt([
63
+ ts
64
+ ]);
55
65
  }
56
- const timestamp = await this.rollupContract.read.getTimestampForSlot([slotNumber]);
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([timestamp, true])));
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,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAqC,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,0BAA0B,CAAC;AAC9G,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,CAkCzD,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"}
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"}