@aztec/ethereum 2.0.3 → 2.1.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dest/config.d.ts +10 -5
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +27 -39
  4. package/dest/contracts/empire_base.d.ts +1 -1
  5. package/dest/contracts/empire_base.d.ts.map +1 -1
  6. package/dest/contracts/empire_slashing_proposer.d.ts +1 -1
  7. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  8. package/dest/contracts/fee_asset_handler.d.ts +3 -3
  9. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  10. package/dest/contracts/governance.js +7 -3
  11. package/dest/contracts/governance_proposer.d.ts +1 -2
  12. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  13. package/dest/contracts/governance_proposer.js +1 -2
  14. package/dest/contracts/multicall.d.ts +3 -5
  15. package/dest/contracts/multicall.d.ts.map +1 -1
  16. package/dest/contracts/multicall.js +6 -4
  17. package/dest/contracts/rollup.d.ts +13 -14
  18. package/dest/contracts/rollup.d.ts.map +1 -1
  19. package/dest/contracts/rollup.js +25 -67
  20. package/dest/contracts/slasher_contract.d.ts +10 -0
  21. package/dest/contracts/slasher_contract.d.ts.map +1 -1
  22. package/dest/contracts/slasher_contract.js +18 -0
  23. package/dest/deploy_l1_contracts.d.ts +18 -4
  24. package/dest/deploy_l1_contracts.d.ts.map +1 -1
  25. package/dest/deploy_l1_contracts.js +316 -159
  26. package/dest/index.d.ts +1 -1
  27. package/dest/index.d.ts.map +1 -1
  28. package/dest/index.js +1 -1
  29. package/dest/l1_artifacts.d.ts +8019 -5948
  30. package/dest/l1_artifacts.d.ts.map +1 -1
  31. package/dest/l1_artifacts.js +6 -1
  32. package/dest/l1_contract_addresses.d.ts +5 -1
  33. package/dest/l1_contract_addresses.d.ts.map +1 -1
  34. package/dest/l1_contract_addresses.js +2 -1
  35. package/dest/l1_tx_utils/config.d.ts +59 -0
  36. package/dest/l1_tx_utils/config.d.ts.map +1 -0
  37. package/dest/l1_tx_utils/config.js +73 -0
  38. package/dest/l1_tx_utils/constants.d.ts +6 -0
  39. package/dest/l1_tx_utils/constants.d.ts.map +1 -0
  40. package/dest/l1_tx_utils/constants.js +14 -0
  41. package/dest/l1_tx_utils/factory.d.ts +24 -0
  42. package/dest/l1_tx_utils/factory.d.ts.map +1 -0
  43. package/dest/l1_tx_utils/factory.js +12 -0
  44. package/dest/l1_tx_utils/index.d.ts +10 -0
  45. package/dest/l1_tx_utils/index.d.ts.map +1 -0
  46. package/dest/l1_tx_utils/index.js +10 -0
  47. package/dest/l1_tx_utils/interfaces.d.ts +76 -0
  48. package/dest/l1_tx_utils/interfaces.d.ts.map +1 -0
  49. package/dest/l1_tx_utils/interfaces.js +4 -0
  50. package/dest/l1_tx_utils/l1_tx_utils.d.ts +95 -0
  51. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -0
  52. package/dest/l1_tx_utils/l1_tx_utils.js +610 -0
  53. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +26 -0
  54. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +1 -0
  55. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +26 -0
  56. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +81 -0
  57. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -0
  58. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +294 -0
  59. package/dest/l1_tx_utils/signer.d.ts +4 -0
  60. package/dest/l1_tx_utils/signer.d.ts.map +1 -0
  61. package/dest/l1_tx_utils/signer.js +16 -0
  62. package/dest/l1_tx_utils/types.d.ts +67 -0
  63. package/dest/l1_tx_utils/types.d.ts.map +1 -0
  64. package/dest/l1_tx_utils/types.js +26 -0
  65. package/dest/l1_tx_utils/utils.d.ts +4 -0
  66. package/dest/l1_tx_utils/utils.d.ts.map +1 -0
  67. package/dest/l1_tx_utils/utils.js +14 -0
  68. package/dest/publisher_manager.d.ts +7 -2
  69. package/dest/publisher_manager.d.ts.map +1 -1
  70. package/dest/publisher_manager.js +36 -8
  71. package/dest/queries.d.ts.map +1 -1
  72. package/dest/queries.js +8 -2
  73. package/dest/test/chain_monitor.js +2 -2
  74. package/dest/test/delayed_tx_utils.d.ts +2 -2
  75. package/dest/test/delayed_tx_utils.d.ts.map +1 -1
  76. package/dest/test/delayed_tx_utils.js +2 -2
  77. package/dest/test/eth_cheat_codes.d.ts +18 -1
  78. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  79. package/dest/test/eth_cheat_codes.js +101 -22
  80. package/dest/test/rollup_cheat_codes.d.ts +3 -1
  81. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  82. package/dest/test/rollup_cheat_codes.js +2 -2
  83. package/dest/test/upgrade_utils.js +1 -1
  84. package/package.json +6 -6
  85. package/src/config.ts +34 -44
  86. package/src/contracts/empire_base.ts +1 -1
  87. package/src/contracts/empire_slashing_proposer.ts +1 -1
  88. package/src/contracts/fee_asset_handler.ts +1 -1
  89. package/src/contracts/governance.ts +3 -3
  90. package/src/contracts/governance_proposer.ts +3 -4
  91. package/src/contracts/multicall.ts +12 -10
  92. package/src/contracts/rollup.ts +31 -86
  93. package/src/contracts/slasher_contract.ts +22 -0
  94. package/src/deploy_l1_contracts.ts +351 -178
  95. package/src/index.ts +1 -1
  96. package/src/l1_artifacts.ts +8 -0
  97. package/src/l1_contract_addresses.ts +3 -1
  98. package/src/l1_tx_utils/README.md +177 -0
  99. package/src/l1_tx_utils/config.ts +140 -0
  100. package/src/l1_tx_utils/constants.ts +18 -0
  101. package/src/l1_tx_utils/factory.ts +64 -0
  102. package/src/l1_tx_utils/index.ts +12 -0
  103. package/src/l1_tx_utils/interfaces.ts +86 -0
  104. package/src/l1_tx_utils/l1_tx_utils.ts +718 -0
  105. package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +77 -0
  106. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +372 -0
  107. package/src/l1_tx_utils/signer.ts +28 -0
  108. package/src/l1_tx_utils/types.ts +85 -0
  109. package/src/l1_tx_utils/utils.ts +16 -0
  110. package/src/publisher_manager.ts +51 -9
  111. package/src/queries.ts +10 -1
  112. package/src/test/chain_monitor.ts +2 -2
  113. package/src/test/delayed_tx_utils.ts +2 -2
  114. package/src/test/eth_cheat_codes.ts +120 -20
  115. package/src/test/rollup_cheat_codes.ts +5 -2
  116. package/src/test/upgrade_utils.ts +1 -1
  117. package/dest/l1_tx_utils.d.ts +0 -252
  118. package/dest/l1_tx_utils.d.ts.map +0 -1
  119. package/dest/l1_tx_utils.js +0 -834
  120. package/dest/l1_tx_utils_with_blobs.d.ts +0 -20
  121. package/dest/l1_tx_utils_with_blobs.d.ts.map +0 -1
  122. package/dest/l1_tx_utils_with_blobs.js +0 -87
  123. package/src/l1_tx_utils.ts +0 -1124
  124. package/src/l1_tx_utils_with_blobs.ts +0 -150
@@ -122,6 +122,12 @@ export class RollupContract {
122
122
  getEjectionThreshold() {
123
123
  return this.rollup.read.getEjectionThreshold();
124
124
  }
125
+ getLocalEjectionThreshold() {
126
+ return this.rollup.read.getLocalEjectionThreshold();
127
+ }
128
+ getLagInEpochs() {
129
+ return this.rollup.read.getLagInEpochs();
130
+ }
125
131
  getActivationThreshold() {
126
132
  return this.rollup.read.getActivationThreshold();
127
133
  }
@@ -144,10 +150,9 @@ export class RollupContract {
144
150
  return this.rollup.read.getVersion();
145
151
  }
146
152
  async getGenesisArchiveTreeRoot() {
147
- const block = await this.rollup.read.getBlock([
153
+ return await this.rollup.read.archiveAt([
148
154
  0n
149
155
  ]);
150
- return block.archive;
151
156
  }
152
157
  /**
153
158
  * Returns rollup constants used for epoch queries.
@@ -281,7 +286,7 @@ export class RollupContract {
281
286
  }
282
287
  getBlock(blockNumber) {
283
288
  return this.rollup.read.getBlock([
284
- blockNumber
289
+ BigInt(blockNumber)
285
290
  ]);
286
291
  }
287
292
  getTips() {
@@ -295,12 +300,20 @@ export class RollupContract {
295
300
  getEntryQueueLength() {
296
301
  return this.rollup.read.getEntryQueueLength();
297
302
  }
298
- async getEpochNumber(blockNumber) {
299
- blockNumber ??= await this.getBlockNumber();
303
+ getCurrentEpochNumber() {
304
+ return this.rollup.read.getCurrentEpoch();
305
+ }
306
+ getEpochNumberForBlock(blockNumber) {
300
307
  return this.rollup.read.getEpochForBlock([
301
308
  BigInt(blockNumber)
302
309
  ]);
303
310
  }
311
+ getAvailableValidatorFlushes() {
312
+ return this.rollup.read.getAvailableValidatorFlushes();
313
+ }
314
+ getNextFlushableEpoch() {
315
+ return this.rollup.read.getNextFlushableEpoch();
316
+ }
304
317
  async getRollupAddresses() {
305
318
  const [inboxAddress, outboxAddress, feeJuicePortalAddress, rewardDistributorAddress, feeJuiceAddress, stakingAssetAddress, gseAddress] = (await Promise.all([
306
319
  this.rollup.read.getInbox(),
@@ -347,64 +360,6 @@ export class RollupContract {
347
360
  }
348
361
  }
349
362
  /**
350
- * Packs an array of committee attestations into the format expected by the Solidity contract
351
- *
352
- * @param attestations - Array of committee attestations with addresses and signatures
353
- * @returns Packed attestations with bitmap and tightly packed signature/address data
354
- */ static packAttestations(attestations) {
355
- const length = attestations.length;
356
- // Calculate bitmap size (1 bit per attestation, rounded up to nearest byte)
357
- const bitmapSize = Math.ceil(length / 8);
358
- const signatureIndices = new Uint8Array(bitmapSize);
359
- // Calculate total data size needed
360
- let totalDataSize = 0;
361
- for(let i = 0; i < length; i++){
362
- const signature = attestations[i].signature;
363
- // Check if signature is empty (v = 0)
364
- const isEmpty = signature.v === 0;
365
- if (!isEmpty) {
366
- totalDataSize += 65; // v (1) + r (32) + s (32)
367
- } else {
368
- totalDataSize += 20; // address only
369
- }
370
- }
371
- const signaturesOrAddresses = new Uint8Array(totalDataSize);
372
- let dataIndex = 0;
373
- // Pack the data
374
- for(let i = 0; i < length; i++){
375
- const attestation = attestations[i];
376
- const signature = attestation.signature;
377
- // Check if signature is empty
378
- const isEmpty = signature.v === 0;
379
- if (!isEmpty) {
380
- // Set bit in bitmap (bit 7-0 in each byte, left to right)
381
- const byteIndex = Math.floor(i / 8);
382
- const bitIndex = 7 - i % 8;
383
- signatureIndices[byteIndex] |= 1 << bitIndex;
384
- // Pack signature: v + r + s
385
- signaturesOrAddresses[dataIndex] = signature.v;
386
- dataIndex++;
387
- // Pack r (32 bytes)
388
- const rBytes = Buffer.from(signature.r.slice(2), 'hex');
389
- signaturesOrAddresses.set(rBytes, dataIndex);
390
- dataIndex += 32;
391
- // Pack s (32 bytes)
392
- const sBytes = Buffer.from(signature.s.slice(2), 'hex');
393
- signaturesOrAddresses.set(sBytes, dataIndex);
394
- dataIndex += 32;
395
- } else {
396
- // Pack address only (20 bytes)
397
- const addrBytes = Buffer.from(attestation.addr.slice(2), 'hex');
398
- signaturesOrAddresses.set(addrBytes, dataIndex);
399
- dataIndex += 20;
400
- }
401
- }
402
- return {
403
- signatureIndices: `0x${Buffer.from(signatureIndices).toString('hex')}`,
404
- signaturesOrAddresses: `0x${Buffer.from(signaturesOrAddresses).toString('hex')}`
405
- };
406
- }
407
- /**
408
363
  * @notice Calls `canProposeAtTime` with the time of the next Ethereum block and the sender address
409
364
  *
410
365
  * @dev Throws if unable to propose
@@ -468,7 +423,7 @@ export class RollupContract {
468
423
  }
469
424
  ];
470
425
  }
471
- /** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */ buildInvalidateBadAttestationRequest(blockNumber, attestations, committee, invalidIndex) {
426
+ /** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */ buildInvalidateBadAttestationRequest(blockNumber, attestationsAndSigners, committee, invalidIndex) {
472
427
  return {
473
428
  to: this.address,
474
429
  data: encodeFunctionData({
@@ -476,14 +431,14 @@ export class RollupContract {
476
431
  functionName: 'invalidateBadAttestation',
477
432
  args: [
478
433
  BigInt(blockNumber),
479
- RollupContract.packAttestations(attestations),
434
+ attestationsAndSigners,
480
435
  committee.map((addr)=>addr.toString()),
481
436
  BigInt(invalidIndex)
482
437
  ]
483
438
  })
484
439
  };
485
440
  }
486
- /** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */ buildInvalidateInsufficientAttestationsRequest(blockNumber, attestations, committee) {
441
+ /** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */ buildInvalidateInsufficientAttestationsRequest(blockNumber, attestationsAndSigners, committee) {
487
442
  return {
488
443
  to: this.address,
489
444
  data: encodeFunctionData({
@@ -491,7 +446,7 @@ export class RollupContract {
491
446
  functionName: 'invalidateInsufficientAttestations',
492
447
  args: [
493
448
  BigInt(blockNumber),
494
- RollupContract.packAttestations(attestations),
449
+ attestationsAndSigners,
495
450
  committee.map((addr)=>addr.toString())
496
451
  ]
497
452
  })
@@ -689,6 +644,9 @@ _ts_decorate([
689
644
  _ts_decorate([
690
645
  memoize
691
646
  ], RollupContract.prototype, "getEjectionThreshold", null);
647
+ _ts_decorate([
648
+ memoize
649
+ ], RollupContract.prototype, "getLagInEpochs", null);
692
650
  _ts_decorate([
693
651
  memoize
694
652
  ], RollupContract.prototype, "getActivationThreshold", null);
@@ -15,11 +15,21 @@ export declare class SlasherContract {
15
15
  * @returns True if the payload is vetoed, false otherwise
16
16
  */
17
17
  isPayloadVetoed(payloadAddress: EthAddress): Promise<boolean>;
18
+ /**
19
+ * Checks if slashing is currently enabled. Slashing can be disabled by the vetoer.
20
+ * @returns True if slashing is enabled, false otherwise
21
+ */
22
+ isSlashingEnabled(): Promise<boolean>;
18
23
  /**
19
24
  * Gets the current vetoer address.
20
25
  * @returns The vetoer address
21
26
  */
22
27
  getVetoer(): Promise<EthAddress>;
28
+ /**
29
+ * Gets the disable duration by the vetoer.
30
+ * @returns The disable duration in seconds
31
+ */
32
+ getSlashingDisableDuration(): Promise<number>;
23
33
  /**
24
34
  * Gets the current governance address.
25
35
  * @returns The governance address
@@ -1 +1 @@
1
- {"version":3,"file":"slasher_contract.d.ts","sourceRoot":"","sources":["../../src/contracts/slasher_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAM3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,QAAQ,CAAuD;gBAGpD,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,UAAU,EACnB,GAAG,yCAAmC;IASzD;;;;OAIG;IACU,eAAe,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAS1E;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAK7C;;;OAGG;IACU,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAKjD;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC;CAIhD"}
1
+ {"version":3,"file":"slasher_contract.d.ts","sourceRoot":"","sources":["../../src/contracts/slasher_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAM3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,QAAQ,CAAuD;gBAGpD,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,UAAU,EACnB,GAAG,yCAAmC;IASzD;;;;OAIG;IACU,eAAe,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAS1E;;;OAGG;IACU,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IASlD;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAK7C;;;OAGG;IACU,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1D;;;OAGG;IACU,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAKjD;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC;CAIhD"}
@@ -34,6 +34,17 @@ import { getContract } from 'viem';
34
34
  }
35
35
  }
36
36
  /**
37
+ * Checks if slashing is currently enabled. Slashing can be disabled by the vetoer.
38
+ * @returns True if slashing is enabled, false otherwise
39
+ */ async isSlashingEnabled() {
40
+ try {
41
+ return await this.contract.read.isSlashingEnabled();
42
+ } catch (error) {
43
+ this.log.error(`Error checking if slashing is enabled`, error);
44
+ throw error;
45
+ }
46
+ }
47
+ /**
37
48
  * Gets the current vetoer address.
38
49
  * @returns The vetoer address
39
50
  */ async getVetoer() {
@@ -41,6 +52,13 @@ import { getContract } from 'viem';
41
52
  return EthAddress.fromString(vetoer);
42
53
  }
43
54
  /**
55
+ * Gets the disable duration by the vetoer.
56
+ * @returns The disable duration in seconds
57
+ */ async getSlashingDisableDuration() {
58
+ const duration = await this.contract.read.SLASHING_DISABLE_DURATION();
59
+ return Number(duration);
60
+ }
61
+ /**
44
62
  * Gets the current governance address.
45
63
  * @returns The governance address
46
64
  */ async getGovernance() {
@@ -8,7 +8,7 @@ import { type Chain, type ContractConstructorArgs, type HDAccount, type Hex, typ
8
8
  import { type L1ContractsConfig } from './config.js';
9
9
  import { RollupContract } from './contracts/rollup.js';
10
10
  import type { L1ContractAddresses } from './l1_contract_addresses.js';
11
- import { type GasPrice, type L1GasConfig, type L1TxRequest, L1TxUtils, type L1TxUtilsConfig } from './l1_tx_utils.js';
11
+ import { type GasPrice, type L1TxConfig, type L1TxRequest, L1TxUtils, type L1TxUtilsConfig } from './l1_tx_utils/index.js';
12
12
  import type { ExtendedViemWalletClient } from './types.js';
13
13
  export declare const DEPLOYER_ADDRESS: Hex;
14
14
  export type Operator = {
@@ -92,6 +92,8 @@ export interface DeployL1ContractsArgs extends Omit<L1ContractsConfig, keyof L1T
92
92
  realVerifier: boolean;
93
93
  /** The zk passport args */
94
94
  zkPassportArgs?: ZKPassportArgs;
95
+ /** If provided, use this token for BOTH fee and staking assets (skip deployments) */
96
+ existingTokenAddress?: EthAddress;
95
97
  }
96
98
  export interface ZKPassportArgs {
97
99
  /** Whether to use the mock zk passport verifier */
@@ -101,6 +103,12 @@ export interface ZKPassportArgs {
101
103
  /** The scope of the zk passport (personhood, etc) */
102
104
  zkPassportScope?: string;
103
105
  }
106
+ /**
107
+ * Validates that the provided address points to a contract that resembles an ERC20 token.
108
+ * Checks for contract code and attempts common ERC20 view calls.
109
+ * Throws an error if validation fails.
110
+ */
111
+ export declare function validateExistingErc20TokenAddress(l1Client: ExtendedViemWalletClient, tokenAddress: EthAddress, logger: Logger): Promise<void>;
104
112
  export declare const deploySharedContracts: (l1Client: ExtendedViemWalletClient, deployer: L1Deployer, args: DeployL1ContractsArgs, logger: Logger) => Promise<{
105
113
  feeAssetAddress: EthAddress;
106
114
  feeAssetHandlerAddress: EthAddress | undefined;
@@ -135,7 +143,9 @@ export declare const deployRollup: (extendedClient: ExtendedViemWalletClient, de
135
143
  rollup: RollupContract;
136
144
  slashFactoryAddress: EthAddress;
137
145
  }>;
138
- export declare const handoverToGovernance: (extendedClient: ExtendedViemWalletClient, deployer: L1Deployer, registryAddress: EthAddress, gseAddress: EthAddress, coinIssuerAddress: EthAddress, feeAssetAddress: EthAddress, governanceAddress: EthAddress, logger: Logger, acceleratedTestDeployments: boolean | undefined) => Promise<void>;
146
+ export declare const handoverToGovernance: (extendedClient: ExtendedViemWalletClient, deployer: L1Deployer, registryAddress: EthAddress, gseAddress: EthAddress, coinIssuerAddress: EthAddress, feeAssetAddress: EthAddress, governanceAddress: EthAddress, logger: Logger, acceleratedTestDeployments: boolean | undefined, useExternalToken?: boolean) => Promise<{
147
+ dateGatedRelayerAddress: EthAddress;
148
+ }>;
139
149
  export declare const addMultipleValidators: (extendedClient: ExtendedViemWalletClient, deployer: L1Deployer, gseAddress: Hex, rollupAddress: Hex, stakingAssetAddress: Hex, validators: Operator[], acceleratedTestDeployments: boolean | undefined, logger: Logger) => Promise<void>;
140
150
  /**
141
151
  * Initialize the fee asset handler and make it a minter on the fee asset.
@@ -173,9 +183,12 @@ export declare class L1Deployer {
173
183
  constructor(client: ExtendedViemWalletClient, maybeSalt: number | undefined, dateProvider?: DateProvider, acceleratedTestDeployments?: boolean, logger?: Logger, txUtilsConfig?: L1TxUtilsConfig | undefined, createVerificationJson?: boolean);
174
184
  deploy<const TAbi extends Abi>(params: ContractArtifacts<TAbi>, args?: ContractConstructorArgs<TAbi>, opts?: {
175
185
  gasLimit?: bigint;
176
- }): Promise<EthAddress>;
186
+ }): Promise<{
187
+ address: EthAddress;
188
+ existed: boolean;
189
+ }>;
177
190
  waitForDeployments(): Promise<void>;
178
- sendTransaction(tx: L1TxRequest, options?: L1GasConfig): Promise<{
191
+ sendTransaction(tx: L1TxRequest, options?: L1TxConfig): Promise<{
179
192
  txHash: Hex;
180
193
  gasLimit: bigint;
181
194
  gasPrice: GasPrice;
@@ -202,6 +215,7 @@ export declare function deployL1Contract(extendedClient: ExtendedViemWalletClien
202
215
  address: EthAddress;
203
216
  txHash: Hex | undefined;
204
217
  deployedLibraries?: VerificationLibraryEntry[];
218
+ existed: boolean;
205
219
  }>;
206
220
  export declare function getExpectedAddress(abi: Narrow<Abi | readonly unknown[]>, bytecode: Hex, args: readonly unknown[], salt: Hex): {
207
221
  address: `0x${string}`;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_l1_contracts.d.ts","sourceRoot":"","sources":["../src/deploy_l1_contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy_l1_contracts.d.ts","sourceRoot":"","sources":["../src/deploy_l1_contracts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EACL,KAAK,KAAK,EACV,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,GAAG,EACR,KAAK,iBAAiB,EAUvB,MAAM,MAAM,CAAC;AAKd,OAAO,EACL,KAAK,iBAAiB,EAMvB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAmB7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,SAAS,EACT,KAAK,eAAe,EAGrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI3D,eAAO,MAAM,gBAAgB,EAAE,GAAkD,CAAC;AAElF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,mCAAmC;IACnC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,mDAAmD;IACnD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,CAAC,QAAQ,EAAE,MAAM,GAAG;QAClB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,CAAC;YACpC,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG;IAC5E;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,GAAG,CAAC;IACxB,SAAS,EAAE,wBAAwB,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,MAAM,eAAe,CAAC;IAC3F,wBAAwB;IACxB,UAAU,EAAE,EAAE,CAAC;IACf,uCAAuC;IACvC,wBAAwB,EAAE,EAAE,CAAC;IAC7B,4CAA4C;IAC5C,kBAAkB,EAAE,EAAE,CAAC;IACvB,uCAAuC;IACvC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/B,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACtC,sEAAsE;IACtE,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iHAAiH;IACjH,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,+DAA+D;IAC/D,YAAY,EAAE,OAAO,CAAC;IACtB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qFAAqF;IACrF,oBAAoB,CAAC,EAAE,UAAU,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAkCD;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,QAAQ,EAAE,wBAAwB,EAClC,YAAY,EAAE,UAAU,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,eAAO,MAAM,qBAAqB,GAChC,UAAU,wBAAwB,EAClC,UAAU,UAAU,EACpB,MAAM,qBAAqB,EAC3B,QAAQ,MAAM;;;;;;;;;;;;EA8Of,CAAC;AAoBF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GACjC,gBAAgB,wBAAwB,EACxC,MAAM,IAAI,CACR,qBAAqB,EACrB,0BAA0B,GAAG,6BAA6B,GAAG,mBAAmB,GAAG,qBAAqB,CACzG,EACD,iBAAiB,UAAU,EAC3B,QAAQ,MAAM,EACd,eAAe,eAAe;;;EAkB/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,UAAU,UAAU,EAAE,eAAe,GAAG,EAAE,QAAQ,MAAM,wBAIhG,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,UAAU,EACpB,WAAW,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,GAAG,eAAe,CAAC,wBAU1E,CAAC;AAiBF;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,gBAAgB,wBAAwB,EACxC,UAAU,UAAU,EACpB,MAAM,IAAI,CACR,qBAAqB,EACrB,0BAA0B,GAAG,6BAA6B,GAAG,mBAAmB,GAAG,qBAAqB,CACzG,EACD,WAAW,IAAI,CACb,mBAAmB,EACjB,iBAAiB,GACjB,iBAAiB,GACjB,0BAA0B,GAC1B,qBAAqB,GACrB,YAAY,GACZ,mBAAmB,CACtB,EACD,QAAQ,MAAM;;;EA4Nf,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,wBAAwB,EACxC,UAAU,UAAU,EACpB,iBAAiB,UAAU,EAC3B,YAAY,UAAU,EACtB,mBAAmB,UAAU,EAC7B,iBAAiB,UAAU,EAC3B,mBAAmB,UAAU,EAC7B,QAAQ,MAAM,EACd,4BAA4B,OAAO,GAAG,SAAS,EAC/C,mBAAkB,OAAe;;EA+HlC,CAAC;AAaF,eAAO,MAAM,qBAAqB,GAChC,gBAAgB,wBAAwB,EACxC,UAAU,UAAU,EACpB,YAAY,GAAG,EACf,eAAe,GAAG,EAClB,qBAAqB,GAAG,EACxB,YAAY,QAAQ,EAAE,EACtB,4BAA4B,OAAO,GAAG,SAAS,EAC/C,QAAQ,MAAM,kBAoIf,CAAC;AAEF;;;;;;;;GAQG;AAEH,eAAO,MAAM,+BAA+B,GAC1C,gBAAgB,wBAAwB,EACxC,UAAU,UAAU,EACpB,iBAAiB,UAAU,EAC3B,QAAQ,MAAM,KACb,OAAO,CAAC;IACT,sBAAsB,EAAE,UAAU,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC;CACb,CAoBA,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EAAE,EACjB,SAAS,SAAS,GAAG,iBAAiB,EACtC,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,MAAM,qBAAqB,EAC3B,gBAAe,eAA6C,EAC5D,yBAAwB,MAAM,GAAG,KAAa,KAC7C,OAAO,CAAC,2BAA2B,CAsRrC,CAAC;AAEF,qBAAa,UAAU;aAOH,MAAM,EAAE,wBAAwB;IAGhD,OAAO,CAAC,0BAA0B;IAClC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,sBAAsB;IAZhC,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAa;IAC7B,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,mBAAmB,EAAE,kBAAkB,EAAE,CAAM;gBAG7C,MAAM,EAAE,wBAAwB,EAChD,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,GAAE,YAAiC,EACvC,0BAA0B,GAAE,OAAe,EAC3C,MAAM,GAAE,MAAmC,EAC3C,aAAa,CAAC,EAAE,eAAe,YAAA,EAC/B,sBAAsB,GAAE,OAAe;IAU3C,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,GAAG,EACjC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAC/B,IAAI,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAC,EACpC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/B,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAkD/C,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBzC,eAAe,CACb,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;CAOlE;AAGD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,wBAAwB,EACxC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,SAAS,OAAO,EAAE,CAAC,EACrC,QAAQ,EAAE,GAAG,EACb,IAAI,GAAE,SAAS,OAAO,EAAO,EAC7B,IAAI,GAAE;IACJ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACjC,GACL,OAAO,CAAC;IACT,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;IACxB,iBAAiB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC,CAsJD;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,SAAS,OAAO,EAAE,CAAC,EACrC,QAAQ,EAAE,GAAG,EACb,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,IAAI,EAAE,GAAG;;;;EAeV"}