@aztec/ethereum 0.69.0 → 0.69.1-devnet

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/config.d.ts CHANGED
@@ -10,6 +10,16 @@ export type L1ContractsConfig = {
10
10
  aztecTargetCommitteeSize: number;
11
11
  /** The number of L2 slots that we can wait for a proof of an epoch to be produced. */
12
12
  aztecEpochProofClaimWindowInL2Slots: number;
13
+ /** The minimum stake for a validator. */
14
+ minimumStake: bigint;
15
+ /** The slashing quorum */
16
+ slashingQuorum: number;
17
+ /** The slashing round size */
18
+ slashingRoundSize: number;
19
+ /** Governance proposing quorum */
20
+ governanceProposerQuorum: number;
21
+ /** Governance proposing round size */
22
+ governanceProposerRoundSize: number;
13
23
  };
14
24
  export declare const DefaultL1ContractsConfig: {
15
25
  ethereumSlotDuration: number;
@@ -17,6 +27,11 @@ export declare const DefaultL1ContractsConfig: {
17
27
  aztecEpochDuration: number;
18
28
  aztecTargetCommitteeSize: number;
19
29
  aztecEpochProofClaimWindowInL2Slots: number;
30
+ minimumStake: bigint;
31
+ slashingQuorum: number;
32
+ slashingRoundSize: number;
33
+ governanceProposerQuorum: number;
34
+ governanceProposerRoundSize: number;
20
35
  };
21
36
  export declare const l1ContractsConfigMappings: ConfigMappingsType<L1ContractsConfig>;
22
37
  export declare function getL1ContractsConfigEnvVars(): L1ContractsConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,0BAA0B,CAAC;AAE9G,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,sFAAsF;IACtF,mCAAmC,EAAE,MAAM,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;CAMR,CAAC;AAE9B,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CA0B3E,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,sFAAsF;IACtF,mCAAmC,EAAE,MAAM,CAAC;IAC5C,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,wBAAwB,EAAE,MAAM,CAAC;IACjC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;CAWR,CAAC;AAE9B,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAmD3E,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D"}
package/dest/config.js CHANGED
@@ -1,10 +1,15 @@
1
- import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
1
+ import { bigintConfigHelper, getConfigFromMappings, numberConfigHelper, } from '@aztec/foundation/config';
2
2
  export const DefaultL1ContractsConfig = {
3
3
  ethereumSlotDuration: 12,
4
4
  aztecSlotDuration: 24,
5
5
  aztecEpochDuration: 16,
6
6
  aztecTargetCommitteeSize: 48,
7
7
  aztecEpochProofClaimWindowInL2Slots: 13,
8
+ minimumStake: BigInt(100e18),
9
+ slashingQuorum: 6,
10
+ slashingRoundSize: 10,
11
+ governanceProposerQuorum: 6,
12
+ governanceProposerRoundSize: 10,
8
13
  };
9
14
  export const l1ContractsConfigMappings = {
10
15
  ethereumSlotDuration: {
@@ -32,8 +37,33 @@ export const l1ContractsConfigMappings = {
32
37
  description: 'The number of L2 slots that we can wait for a proof of an epoch to be produced.',
33
38
  ...numberConfigHelper(DefaultL1ContractsConfig.aztecEpochProofClaimWindowInL2Slots),
34
39
  },
40
+ minimumStake: {
41
+ env: 'AZTEC_MINIMUM_STAKE',
42
+ description: 'The minimum stake for a validator.',
43
+ ...bigintConfigHelper(DefaultL1ContractsConfig.minimumStake),
44
+ },
45
+ slashingQuorum: {
46
+ env: 'AZTEC_SLASHING_QUORUM',
47
+ description: 'The slashing quorum',
48
+ ...numberConfigHelper(DefaultL1ContractsConfig.slashingQuorum),
49
+ },
50
+ slashingRoundSize: {
51
+ env: 'AZTEC_SLASHING_ROUND_SIZE',
52
+ description: 'The slashing round size',
53
+ ...numberConfigHelper(DefaultL1ContractsConfig.slashingRoundSize),
54
+ },
55
+ governanceProposerQuorum: {
56
+ env: 'AZTEC_GOVERNANCE_PROPOSER_QUORUM',
57
+ description: 'The governance proposing quorum',
58
+ ...numberConfigHelper(DefaultL1ContractsConfig.governanceProposerQuorum),
59
+ },
60
+ governanceProposerRoundSize: {
61
+ env: 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE',
62
+ description: 'The governance proposing round size',
63
+ ...numberConfigHelper(DefaultL1ContractsConfig.governanceProposerRoundSize),
64
+ },
35
65
  };
36
66
  export function getL1ContractsConfigEnvVars() {
37
67
  return getConfigFromMappings(l1ContractsConfigMappings);
38
68
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFlOUcsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsb0JBQW9CLEVBQUUsRUFBRTtJQUN4QixpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsd0JBQXdCLEVBQUUsRUFBRTtJQUM1QixtQ0FBbUMsRUFBRSxFQUFFO0NBQ1osQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBMEM7SUFDOUUsb0JBQW9CLEVBQUU7UUFDcEIsR0FBRyxFQUFFLHdCQUF3QjtRQUM3QixXQUFXLEVBQUUsb0NBQW9DO1FBQ2pELEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsb0JBQW9CLENBQUM7S0FDckU7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUscUJBQXFCO1FBQzFCLFdBQVcsRUFBRSxrRkFBa0Y7UUFDL0YsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQztLQUNsRTtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsV0FBVyxFQUFFLHNFQUFzRTtRQUNuRixHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDO0tBQ25FO0lBQ0Qsd0JBQXdCLEVBQUU7UUFDeEIsR0FBRyxFQUFFLDZCQUE2QjtRQUNsQyxXQUFXLEVBQUUsc0NBQXNDO1FBQ25ELEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7S0FDekU7SUFDRCxtQ0FBbUMsRUFBRTtRQUNuQyxHQUFHLEVBQUUsNENBQTRDO1FBQ2pELFdBQVcsRUFBRSxpRkFBaUY7UUFDOUYsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxtQ0FBbUMsQ0FBQztLQUNwRjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE9BQU8scUJBQXFCLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUMxRCxDQUFDIn0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQztBQXlCbEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsb0JBQW9CLEVBQUUsRUFBRTtJQUN4QixpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsd0JBQXdCLEVBQUUsRUFBRTtJQUM1QixtQ0FBbUMsRUFBRSxFQUFFO0lBQ3ZDLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGlCQUFpQixFQUFFLEVBQUU7SUFDckIsd0JBQXdCLEVBQUUsQ0FBQztJQUMzQiwyQkFBMkIsRUFBRSxFQUFFO0NBQ0osQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBMEM7SUFDOUUsb0JBQW9CLEVBQUU7UUFDcEIsR0FBRyxFQUFFLHdCQUF3QjtRQUM3QixXQUFXLEVBQUUsb0NBQW9DO1FBQ2pELEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsb0JBQW9CLENBQUM7S0FDckU7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUscUJBQXFCO1FBQzFCLFdBQVcsRUFBRSxrRkFBa0Y7UUFDL0YsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQztLQUNsRTtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsV0FBVyxFQUFFLHNFQUFzRTtRQUNuRixHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDO0tBQ25FO0lBQ0Qsd0JBQXdCLEVBQUU7UUFDeEIsR0FBRyxFQUFFLDZCQUE2QjtRQUNsQyxXQUFXLEVBQUUsc0NBQXNDO1FBQ25ELEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7S0FDekU7SUFDRCxtQ0FBbUMsRUFBRTtRQUNuQyxHQUFHLEVBQUUsNENBQTRDO1FBQ2pELFdBQVcsRUFBRSxpRkFBaUY7UUFDOUYsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxtQ0FBbUMsQ0FBQztLQUNwRjtJQUNELFlBQVksRUFBRTtRQUNaLEdBQUcsRUFBRSxxQkFBcUI7UUFDMUIsV0FBVyxFQUFFLG9DQUFvQztRQUNqRCxHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQztLQUM3RDtJQUNELGNBQWMsRUFBRTtRQUNkLEdBQUcsRUFBRSx1QkFBdUI7UUFDNUIsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQztLQUMvRDtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLEdBQUcsRUFBRSwyQkFBMkI7UUFDaEMsV0FBVyxFQUFFLHlCQUF5QjtRQUN0QyxHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO0tBQ2xFO0lBQ0Qsd0JBQXdCLEVBQUU7UUFDeEIsR0FBRyxFQUFFLGtDQUFrQztRQUN2QyxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7S0FDekU7SUFDRCwyQkFBMkIsRUFBRTtRQUMzQixHQUFHLEVBQUUsc0NBQXNDO1FBQzNDLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQywyQkFBMkIsQ0FBQztLQUM1RTtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE9BQU8scUJBQXFCLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUMxRCxDQUFDIn0=
@@ -1,5 +1,4 @@
1
1
  import { type Hex } from 'viem';
2
2
  export declare const NULL_KEY: Hex;
3
3
  export declare const AZTEC_TEST_CHAIN_ID = 677692;
4
- export declare const MINIMUM_STAKE: bigint;
5
4
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,eAAO,MAAM,QAAQ,EAAE,GAA+E,CAAC;AACvG,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,aAAa,QAAiB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,eAAO,MAAM,QAAQ,EAAE,GAA+E,CAAC;AACvG,eAAO,MAAM,mBAAmB,SAAS,CAAC"}
package/dest/constants.js CHANGED
@@ -1,4 +1,3 @@
1
1
  export const NULL_KEY = `0x${'0000000000000000000000000000000000000000000000000000000000000000'}`;
2
2
  export const AZTEC_TEST_CHAIN_ID = 677692;
3
- export const MINIMUM_STAKE = BigInt(100e18);
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQVEsS0FBSyxrRUFBa0UsRUFBRSxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDIn0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQVEsS0FBSyxrRUFBa0UsRUFBRSxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyJ9
@@ -101,6 +101,10 @@ export interface L1ContractArtifactsForDeployment {
101
101
  * Governance contract artifacts.
102
102
  */
103
103
  governance: ContractArtifacts;
104
+ /**
105
+ * SlashFactory contract artifacts.
106
+ */
107
+ slashFactory: ContractArtifacts;
104
108
  }
105
109
  export declare const l1Artifacts: L1ContractArtifactsForDeployment;
106
110
  export interface DeployL1ContractsArgs extends L1ContractsConfig {
@@ -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":"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"}
@@ -1,9 +1,8 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import { CoinIssuerAbi, CoinIssuerBytecode, ExtRollupLibAbi, ExtRollupLibBytecode, FeeJuicePortalAbi, FeeJuicePortalBytecode, GovernanceAbi, GovernanceBytecode, GovernanceProposerAbi, GovernanceProposerBytecode, InboxAbi, InboxBytecode, LeonidasLibAbi, LeonidasLibBytecode, OutboxAbi, OutboxBytecode, RegistryAbi, RegistryBytecode, RewardDistributorAbi, RewardDistributorBytecode, RollupAbi, RollupBytecode, RollupLinkReferences, TestERC20Abi, TestERC20Bytecode, } from '@aztec/l1-artifacts';
2
+ import { CoinIssuerAbi, CoinIssuerBytecode, ExtRollupLibAbi, ExtRollupLibBytecode, FeeJuicePortalAbi, FeeJuicePortalBytecode, GovernanceAbi, GovernanceBytecode, GovernanceProposerAbi, GovernanceProposerBytecode, InboxAbi, InboxBytecode, LeonidasLibAbi, LeonidasLibBytecode, OutboxAbi, OutboxBytecode, RegistryAbi, RegistryBytecode, RewardDistributorAbi, RewardDistributorBytecode, RollupAbi, RollupBytecode, RollupLinkReferences, SlashFactoryAbi, SlashFactoryBytecode, TestERC20Abi, TestERC20Bytecode, } from '@aztec/l1-artifacts';
3
3
  import { concatHex, createPublicClient, createWalletClient, encodeDeployData, getAddress, getContract, getContractAddress, http, numberToHex, padHex, } from 'viem';
4
4
  import { mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
5
5
  import { foundry } from 'viem/chains';
6
- import { MINIMUM_STAKE } from './constants.js';
7
6
  import { isAnvilTestChain } from './ethereum_chain.js';
8
7
  import { L1TxUtils } from './l1_tx_utils.js';
9
8
  export const l1Artifacts = {
@@ -64,6 +63,10 @@ export const l1Artifacts = {
64
63
  contractAbi: GovernanceAbi,
65
64
  contractBytecode: GovernanceBytecode,
66
65
  },
66
+ slashFactory: {
67
+ contractAbi: SlashFactoryAbi,
68
+ contractBytecode: SlashFactoryBytecode,
69
+ },
67
70
  };
68
71
  /**
69
72
  * Creates a wallet and a public viem client for interacting with L1.
@@ -138,14 +141,10 @@ export const deployL1Contracts = async (rpcUrl, account, chain, logger, args) =>
138
141
  account.address.toString(),
139
142
  ]);
140
143
  logger.verbose(`Deployed Staking Asset at ${stakingAssetAddress}`);
141
- // @todo #8084
142
- // @note These numbers are just chosen to make testing simple.
143
- const quorumSize = 6n;
144
- const roundSize = 10n;
145
144
  const governanceProposerAddress = await govDeployer.deploy(l1Artifacts.governanceProposer, [
146
145
  registryAddress.toString(),
147
- quorumSize,
148
- roundSize,
146
+ args.governanceProposerQuorum,
147
+ args.governanceProposerRoundSize,
149
148
  ]);
150
149
  logger.verbose(`Deployed GovernanceProposer at ${governanceProposerAddress}`);
151
150
  // @note @LHerskind the assets are expected to be the same at some point, but for better
@@ -182,7 +181,9 @@ export const deployL1Contracts = async (rpcUrl, account, chain, logger, args) =>
182
181
  aztecEpochDuration: args.aztecEpochDuration,
183
182
  targetCommitteeSize: args.aztecTargetCommitteeSize,
184
183
  aztecEpochProofClaimWindowInL2Slots: args.aztecEpochProofClaimWindowInL2Slots,
185
- minimumStake: MINIMUM_STAKE,
184
+ minimumStake: args.minimumStake,
185
+ slashingQuorum: args.slashingQuorum,
186
+ slashingRoundSize: args.slashingRoundSize,
186
187
  };
187
188
  const rollupArgs = [
188
189
  feeJuicePortalAddress.toString(),
@@ -195,6 +196,8 @@ export const deployL1Contracts = async (rpcUrl, account, chain, logger, args) =>
195
196
  ];
196
197
  const rollupAddress = await deployer.deploy(l1Artifacts.rollup, rollupArgs);
197
198
  logger.verbose(`Deployed Rollup at ${rollupAddress}`, rollupConfigArgs);
199
+ const slashFactoryAddress = await deployer.deploy(l1Artifacts.slashFactory, [rollupAddress.toString()]);
200
+ logger.verbose(`Deployed SlashFactory at ${slashFactoryAddress}`);
198
201
  await deployer.waitForDeployments();
199
202
  logger.verbose(`All core contracts have been deployed`);
200
203
  const feeJuicePortal = getContract({
@@ -226,7 +229,7 @@ export const deployL1Contracts = async (rpcUrl, account, chain, logger, args) =>
226
229
  }
227
230
  if (args.initialValidators && args.initialValidators.length > 0) {
228
231
  // Mint tokens, approve them, use cheat code to initialise validator set without setting up the epoch.
229
- const stakeNeeded = MINIMUM_STAKE * BigInt(args.initialValidators.length);
232
+ const stakeNeeded = args.minimumStake * BigInt(args.initialValidators.length);
230
233
  await Promise.all([
231
234
  await stakingAsset.write.mint([walletClient.account.address, stakeNeeded], {}),
232
235
  await stakingAsset.write.approve([rollupAddress.toString(), stakeNeeded], {}),
@@ -236,7 +239,7 @@ export const deployL1Contracts = async (rpcUrl, account, chain, logger, args) =>
236
239
  attester: v.toString(),
237
240
  proposer: v.toString(),
238
241
  withdrawer: v.toString(),
239
- amount: MINIMUM_STAKE,
242
+ amount: args.minimumStake,
240
243
  })),
241
244
  ]);
242
245
  txHashes.push(initiateValidatorSetTxHash);
@@ -329,6 +332,7 @@ export const deployL1Contracts = async (rpcUrl, account, chain, logger, args) =>
329
332
  rewardDistributorAddress,
330
333
  governanceProposerAddress,
331
334
  governanceAddress,
335
+ slashFactoryAddress,
332
336
  };
333
337
  logger.info(`Aztec L1 contracts initialized`, l1Contracts);
334
338
  return {
@@ -463,7 +467,7 @@ export async function deployL1Contract(walletClient, publicClient, abi, bytecode
463
467
  else {
464
468
  // Regular deployment path
465
469
  const deployData = encodeDeployData({ abi, bytecode, args });
466
- const receipt = await l1TxUtils.sendAndMonitorTransaction({
470
+ const { receipt } = await l1TxUtils.sendAndMonitorTransaction({
467
471
  to: null,
468
472
  data: deployData,
469
473
  });
@@ -476,4 +480,4 @@ export async function deployL1Contract(walletClient, publicClient, abi, bytecode
476
480
  return { address: EthAddress.fromString(resultingAddress), txHash };
477
481
  }
478
482
  // docs:end:deployL1Contract
479
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2wxX2NvbnRyYWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBsb3lfbDFfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUczRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsY0FBYyxFQUNkLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixTQUFTLEVBQ1QsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFHN0IsT0FBTyxFQU9MLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixJQUFJLEVBQ0osV0FBVyxFQUNYLE1BQU0sR0FDUCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBMEMsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBc0c3QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXFDO0lBQzNE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
483
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2wxX2NvbnRyYWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBsb3lfbDFfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUczRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsY0FBYyxFQUNkLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixTQUFTLEVBQ1QsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUc3QixPQUFPLEVBT0wsU0FBUyxFQUNULGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLElBQUksRUFDSixXQUFXLEVBQ1gsTUFBTSxHQUNQLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUEwQyxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQTBHN0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFxQztJQUMzRCxRQUFRLEVBQUU7UUFDUixXQUFX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
@@ -6,7 +6,7 @@ import { z } from 'zod';
6
6
  * NOTE: When changing this list, make sure to update CLI & CI scripts accordingly.
7
7
  * For reference: https://github.com/AztecProtocol/aztec-packages/pull/5553
8
8
  */
9
- export declare const L1ContractsNames: readonly ["rollupAddress", "registryAddress", "inboxAddress", "outboxAddress", "feeJuiceAddress", "feeJuicePortalAddress", "coinIssuerAddress", "rewardDistributorAddress", "governanceProposerAddress", "governanceAddress", "stakingAssetAddress"];
9
+ export declare const L1ContractsNames: readonly ["rollupAddress", "registryAddress", "inboxAddress", "outboxAddress", "feeJuiceAddress", "feeJuicePortalAddress", "coinIssuerAddress", "rewardDistributorAddress", "governanceProposerAddress", "governanceAddress", "stakingAssetAddress", "slashFactoryAddress"];
10
10
  /** Provides the directory of current L1 contract addresses */
11
11
  export type L1ContractAddresses = {
12
12
  [K in (typeof L1ContractsNames)[number]]: EthAddress;
@@ -23,6 +23,7 @@ export declare const L1ContractAddressesSchema: z.ZodObject<{
23
23
  rewardDistributorAddress: z.ZodType<EthAddress, any, string>;
24
24
  governanceProposerAddress: z.ZodType<EthAddress, any, string>;
25
25
  governanceAddress: z.ZodType<EthAddress, any, string>;
26
+ slashFactoryAddress: z.ZodType<EthAddress, any, string>;
26
27
  }, "strip", z.ZodTypeAny, {
27
28
  rollupAddress: EthAddress;
28
29
  registryAddress: EthAddress;
@@ -35,6 +36,7 @@ export declare const L1ContractAddressesSchema: z.ZodObject<{
35
36
  governanceProposerAddress: EthAddress;
36
37
  governanceAddress: EthAddress;
37
38
  stakingAssetAddress: EthAddress;
39
+ slashFactoryAddress: EthAddress;
38
40
  }, {
39
41
  rollupAddress: string;
40
42
  registryAddress: string;
@@ -47,6 +49,7 @@ export declare const L1ContractAddressesSchema: z.ZodObject<{
47
49
  governanceProposerAddress: string;
48
50
  governanceAddress: string;
49
51
  stakingAssetAddress: string;
52
+ slashFactoryAddress: string;
50
53
  }>;
51
54
  export declare const l1ContractAddressesMapping: ConfigMappingsType<L1ContractAddresses>;
52
55
  //# sourceMappingURL=l1_contract_addresses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"l1_contract_addresses.d.ts","sourceRoot":"","sources":["../src/l1_contract_addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sPAYnB,CAAC;AAEX,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG;KAC/B,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU;CACrD,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYE,CAAC;AAIzC,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,mBAAmB,CAwD9E,CAAC"}
1
+ {"version":3,"file":"l1_contract_addresses.d.ts","sourceRoot":"","sources":["../src/l1_contract_addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,6QAanB,CAAC;AAEX,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG;KAC/B,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU;CACrD,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaE,CAAC;AAIzC,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,mBAAmB,CA6D9E,CAAC"}
@@ -18,6 +18,7 @@ export const L1ContractsNames = [
18
18
  'governanceProposerAddress',
19
19
  'governanceAddress',
20
20
  'stakingAssetAddress',
21
+ 'slashFactoryAddress',
21
22
  ];
22
23
  export const L1ContractAddressesSchema = z.object({
23
24
  rollupAddress: schemas.EthAddress,
@@ -31,6 +32,7 @@ export const L1ContractAddressesSchema = z.object({
31
32
  rewardDistributorAddress: schemas.EthAddress,
32
33
  governanceProposerAddress: schemas.EthAddress,
33
34
  governanceAddress: schemas.EthAddress,
35
+ slashFactoryAddress: schemas.EthAddress,
34
36
  });
35
37
  const parseEnv = (val) => EthAddress.fromString(val);
36
38
  export const l1ContractAddressesMapping = {
@@ -89,5 +91,10 @@ export const l1ContractAddressesMapping = {
89
91
  description: 'The deployed L1 governance contract address',
90
92
  parseEnv,
91
93
  },
94
+ slashFactoryAddress: {
95
+ env: 'SLASH_FACTORY_CONTRACT_ADDRESS',
96
+ description: 'The deployed L1 slashFactory contract address',
97
+ parseEnv,
98
+ },
92
99
  };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfY29udHJhY3RfYWRkcmVzc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2wxX2NvbnRyYWN0X2FkZHJlc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFlLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLG1CQUFtQjtJQUNuQixxQkFBcUI7Q0FDYixDQUFDO0FBT1gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRCxhQUFhLEVBQUUsT0FBTyxDQUFDLFVBQVU7SUFDakMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQ25DLFlBQVksRUFBRSxPQUFPLENBQUMsVUFBVTtJQUNoQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFVBQVU7SUFDakMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQ25DLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQ3ZDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQ3pDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQ3JDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQzVDLHlCQUF5QixFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQzdDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxVQUFVO0NBQ3RDLENBQXVDLENBQUM7QUFFekMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQTRDO0lBQ2pGLGFBQWEsRUFBRTtRQUNiLEdBQUcsRUFBRSx5QkFBeUI7UUFDOUIsV0FBVyxFQUFFLDBDQUEwQztRQUN2RCxRQUFRO0tBQ1Q7SUFDRCxlQUFlLEVBQUU7UUFDZixHQUFHLEVBQUUsMkJBQTJCO1FBQ2hDLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsUUFBUTtLQUNUO0lBQ0QsWUFBWSxFQUFFO1FBQ1osR0FBRyxFQUFFLHdCQUF3QjtRQUM3QixXQUFXLEVBQUUseUNBQXlDO1FBQ3RELFFBQVE7S0FDVDtJQUNELGFBQWEsRUFBRTtRQUNiLEdBQUcsRUFBRSx5QkFBeUI7UUFDOUIsV0FBVyxFQUFFLDBDQUEwQztRQUN2RCxRQUFRO0tBQ1Q7SUFDRCxlQUFlLEVBQUU7UUFDZixHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsUUFBUTtLQUNUO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsR0FBRyxFQUFFLGdDQUFnQztRQUNyQyxXQUFXLEVBQUUsaURBQWlEO1FBQzlELFFBQVE7S0FDVDtJQUNELHFCQUFxQixFQUFFO1FBQ3JCLEdBQUcsRUFBRSxtQ0FBbUM7UUFDeEMsV0FBVyxFQUFFLG9EQUFvRDtRQUNqRSxRQUFRO0tBQ1Q7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsUUFBUTtLQUNUO0lBQ0Qsd0JBQXdCLEVBQUU7UUFDeEIsR0FBRyxFQUFFLHFDQUFxQztRQUMxQyxXQUFXLEVBQUUsb0RBQW9EO1FBQ2pFLFFBQVE7S0FDVDtJQUNELHlCQUF5QixFQUFFO1FBQ3pCLEdBQUcsRUFBRSxzQ0FBc0M7UUFDM0MsV0FBVyxFQUFFLHFEQUFxRDtRQUNsRSxRQUFRO0tBQ1Q7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsUUFBUTtLQUNUO0NBQ0YsQ0FBQyJ9
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfY29udHJhY3RfYWRkcmVzc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2wxX2NvbnRyYWN0X2FkZHJlc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFlLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIscUJBQXFCO0NBQ2IsQ0FBQztBQU9YLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQ2pDLGVBQWUsRUFBRSxPQUFPLENBQUMsVUFBVTtJQUNuQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFVBQVU7SUFDaEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0lBQ2pDLGVBQWUsRUFBRSxPQUFPLENBQUMsVUFBVTtJQUNuQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsVUFBVTtJQUN2QyxxQkFBcUIsRUFBRSxPQUFPLENBQUMsVUFBVTtJQUN6QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsVUFBVTtJQUNyQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsVUFBVTtJQUM1Qyx5QkFBeUIsRUFBRSxPQUFPLENBQUMsVUFBVTtJQUM3QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsVUFBVTtJQUNyQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsVUFBVTtDQUN4QyxDQUF1QyxDQUFDO0FBRXpDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUE0QztJQUNqRixhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUseUJBQXlCO1FBQzlCLFdBQVcsRUFBRSwwQ0FBMEM7UUFDdkQsUUFBUTtLQUNUO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsR0FBRyxFQUFFLDJCQUEyQjtRQUNoQyxXQUFXLEVBQUUsNENBQTRDO1FBQ3pELFFBQVE7S0FDVDtJQUNELFlBQVksRUFBRTtRQUNaLEdBQUcsRUFBRSx3QkFBd0I7UUFDN0IsV0FBVyxFQUFFLHlDQUF5QztRQUN0RCxRQUFRO0tBQ1Q7SUFDRCxhQUFhLEVBQUU7UUFDYixHQUFHLEVBQUUseUJBQXlCO1FBQzlCLFdBQVcsRUFBRSwwQ0FBMEM7UUFDdkQsUUFBUTtLQUNUO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsR0FBRyxFQUFFLDRCQUE0QjtRQUNqQyxXQUFXLEVBQUUsNkNBQTZDO1FBQzFELFFBQVE7S0FDVDtJQUNELG1CQUFtQixFQUFFO1FBQ25CLEdBQUcsRUFBRSxnQ0FBZ0M7UUFDckMsV0FBVyxFQUFFLGlEQUFpRDtRQUM5RCxRQUFRO0tBQ1Q7SUFDRCxxQkFBcUIsRUFBRTtRQUNyQixHQUFHLEVBQUUsbUNBQW1DO1FBQ3hDLFdBQVcsRUFBRSxvREFBb0Q7UUFDakUsUUFBUTtLQUNUO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxXQUFXLEVBQUUsNkNBQTZDO1FBQzFELFFBQVE7S0FDVDtJQUNELHdCQUF3QixFQUFFO1FBQ3hCLEdBQUcsRUFBRSxxQ0FBcUM7UUFDMUMsV0FBVyxFQUFFLG9EQUFvRDtRQUNqRSxRQUFRO0tBQ1Q7SUFDRCx5QkFBeUIsRUFBRTtRQUN6QixHQUFHLEVBQUUsc0NBQXNDO1FBQzNDLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsUUFBUTtLQUNUO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsR0FBRyxFQUFFLDZCQUE2QjtRQUNsQyxXQUFXLEVBQUUsNkNBQTZDO1FBQzFELFFBQVE7S0FDVDtJQUNELG1CQUFtQixFQUFFO1FBQ25CLEdBQUcsRUFBRSxnQ0FBZ0M7UUFDckMsV0FBVyxFQUFFLCtDQUErQztRQUM1RCxRQUFRO0tBQ1Q7Q0FDRixDQUFDIn0=
@@ -5,7 +5,7 @@ export interface L1TxUtilsConfig {
5
5
  /**
6
6
  * How much to increase calculated gas limit.
7
7
  */
8
- gasLimitBufferPercentage?: bigint;
8
+ gasLimitBufferPercentage?: number;
9
9
  /**
10
10
  * Maximum gas price in gwei
11
11
  */
@@ -14,14 +14,22 @@ export interface L1TxUtilsConfig {
14
14
  * Minimum gas price in gwei
15
15
  */
16
16
  minGwei?: bigint;
17
+ /**
18
+ * Maximum blob fee per gas in gwei
19
+ */
20
+ maxBlobGwei?: bigint;
17
21
  /**
18
22
  * Priority fee bump percentage
19
23
  */
20
- priorityFeeBumpPercentage?: bigint;
24
+ priorityFeeBumpPercentage?: number;
21
25
  /**
22
26
  * How much to increase priority fee by each attempt (percentage)
23
27
  */
24
- priorityFeeRetryBumpPercentage?: bigint;
28
+ priorityFeeRetryBumpPercentage?: number;
29
+ /**
30
+ * Fixed priority fee per gas in Gwei. Overrides any priority fee bump percentage config
31
+ */
32
+ fixedPriorityFeePerGas?: number;
25
33
  /**
26
34
  * Maximum number of speed-up attempts
27
35
  */
@@ -54,11 +62,12 @@ export interface L1TxRequest {
54
62
  export interface L1BlobInputs {
55
63
  blobs: Uint8Array[];
56
64
  kzg: any;
57
- maxFeePerBlobGas: bigint;
65
+ maxFeePerBlobGas?: bigint;
58
66
  }
59
- interface GasPrice {
67
+ export interface GasPrice {
60
68
  maxFeePerGas: bigint;
61
69
  maxPriorityFeePerGas: bigint;
70
+ maxFeePerBlobGas?: bigint;
62
71
  }
63
72
  export declare class L1TxUtils {
64
73
  private readonly publicClient;
@@ -74,7 +83,8 @@ export declare class L1TxUtils {
74
83
  */
75
84
  sendTransaction(request: L1TxRequest, _gasConfig?: Partial<L1TxUtilsConfig> & {
76
85
  fixedGas?: bigint;
77
- }, _blobInputs?: L1BlobInputs): Promise<{
86
+ txTimeoutAt?: Date;
87
+ }, blobInputs?: L1BlobInputs): Promise<{
78
88
  txHash: Hex;
79
89
  gasLimit: bigint;
80
90
  gasPrice: GasPrice;
@@ -88,7 +98,9 @@ export declare class L1TxUtils {
88
98
  */
89
99
  monitorTransaction(request: L1TxRequest, initialTxHash: Hex, params: {
90
100
  gasLimit: bigint;
91
- }, _gasConfig?: Partial<L1TxUtilsConfig>, _blobInputs?: L1BlobInputs): Promise<TransactionReceipt>;
101
+ }, _gasConfig?: Partial<L1TxUtilsConfig> & {
102
+ txTimeoutAt?: Date;
103
+ }, _blobInputs?: L1BlobInputs): Promise<TransactionReceipt>;
92
104
  /**
93
105
  * Sends a transaction and monitors it until completion
94
106
  * @param request - The transaction request (to, data, value)
@@ -97,7 +109,11 @@ export declare class L1TxUtils {
97
109
  */
98
110
  sendAndMonitorTransaction(request: L1TxRequest, gasConfig?: Partial<L1TxUtilsConfig> & {
99
111
  fixedGas?: bigint;
100
- }, blobInputs?: L1BlobInputs): Promise<TransactionReceipt>;
112
+ txTimeoutAt?: Date;
113
+ }, blobInputs?: L1BlobInputs): Promise<{
114
+ receipt: TransactionReceipt;
115
+ gasPrice: GasPrice;
116
+ }>;
101
117
  /**
102
118
  * Gets the current gas price with bounds checking
103
119
  */
@@ -107,5 +123,4 @@ export declare class L1TxUtils {
107
123
  */
108
124
  estimateGas(account: Account, request: L1TxRequest, _gasConfig?: L1TxUtilsConfig, _blobInputs?: L1BlobInputs): Promise<bigint>;
109
125
  }
110
- export {};
111
126
  //# sourceMappingURL=l1_tx_utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"l1_tx_utils.d.ts","sourceRoot":"","sources":["../src/l1_tx_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l1_tx_utils.d.ts","sourceRoot":"","sources":["../src/l1_tx_utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAElB,MAAM,MAAM,CAAC;AAqBd,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CA6DvE,CAAC;AAEF,eAAO,MAAM,sBAAsB,iBAA6D,CAAC;AAEjG,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,GAAG,EAAE,GAAG,CAAC;IACT,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,SAAS;IAIlB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAL1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAGtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,EACzD,MAAM,CAAC,oBAAQ,EAChC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAQnC;;;;;OAKG;IACU,eAAe,CAC1B,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,IAAI,CAAA;KAAE,EACjF,UAAU,CAAC,EAAE,YAAY,GACxB,OAAO,CAAC;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAmDjE;;;;;;OAMG;IACU,kBAAkB,CAC7B,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,EAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG;QAAE,WAAW,CAAC,EAAE,IAAI,CAAA;KAAE,EAC9D,WAAW,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAkI9B;;;;;OAKG;IACU,yBAAyB,CACpC,OAAO,EAAE,WAAW,EACpB,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,IAAI,CAAA;KAAE,EAChF,UAAU,CAAC,EAAE,YAAY,GACxB,OAAO,CAAC;QAAE,OAAO,EAAE,kBAAkB,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IAM/D;;OAEG;YACW,WAAW;IAmHzB;;OAEG;IACU,WAAW,CACtB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,eAAe,EAC5B,WAAW,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,MAAM,CAAC;CA0BnB"}