@aztec/cli 2.1.0-rc.27 → 2.1.0-rc.29

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.
@@ -1 +1 @@
1
- {"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAYrE,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,GAC5C,IAAI,CAAC,aAAa,EAAE,sBAAsB,GAAG,uBAAuB,CAAC,GAAG;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAIhC,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAGhC,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+CJ,eAAO,MAAM,4BAA4B,EAAE,aAiF1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aAoDxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAyDlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAgFlC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,SAAS,CAYrF;AAMD,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,YAAY,QAoGzE"}
1
+ {"version":3,"file":"chain_l2_config.d.ts","sourceRoot":"","sources":["../../src/config/chain_l2_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAYrE,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,GAC5C,IAAI,CAAC,aAAa,EAAE,sBAAsB,GAAG,uBAAuB,CAAC,GAAG;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAIhC,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAGhC,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+CJ,eAAO,MAAM,4BAA4B,EAAE,aAgF1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aAoDxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAsFlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAmFlC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,GAAG,SAAS,CAYrF;AAMD,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,YAAY,QAoGzE"}
@@ -92,7 +92,6 @@ export const stagingIgnitionL2ChainConfig = {
92
92
  governanceProposerRoundSize: 300,
93
93
  governanceProposerQuorum: 151,
94
94
  // Node slashing config
95
- // TODO TMNT-330
96
95
  slashMinPenaltyPercentage: 0.5,
97
96
  slashMaxPenaltyPercentage: 2.0,
98
97
  slashInactivityTargetPercentage: 0.7,
@@ -175,25 +174,49 @@ export const testnetL2ChainConfig = {
175
174
  txPoolDeleteTxsAfterReorg: true,
176
175
  skipArchiverInitialSync: true,
177
176
  blobAllowEmptySources: true,
178
- // Deployment stuff
179
177
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
180
- /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 36,
178
+ /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 72,
181
179
  /** How many L2 slots an epoch lasts. */ aztecEpochDuration: 32,
182
- /** The target validator committee size. */ aztecTargetCommitteeSize: 48,
180
+ /** The target validator committee size. */ aztecTargetCommitteeSize: 24,
183
181
  /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochs: 2,
184
182
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
185
- /** The deposit amount for a validator */ activationThreshold: DefaultL1ContractsConfig.activationThreshold,
186
- /** The minimum stake for a validator. */ ejectionThreshold: DefaultL1ContractsConfig.ejectionThreshold,
187
- /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */ localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
188
- /** The slashing round size */ slashingRoundSizeInEpochs: DefaultL1ContractsConfig.slashingRoundSizeInEpochs,
189
- /** Governance proposing round size */ governanceProposerRoundSize: DefaultL1ContractsConfig.governanceProposerRoundSize,
183
+ // This is a diff from mainnet: we have 2-strikes you're out, rather than 3 on mainnet.
184
+ localEjectionThreshold: 198_000n * 10n ** 18n,
185
+ /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
186
+ slashingRoundSizeInEpochs: 4,
187
+ slashingExecutionDelayInRounds: 28,
188
+ slashingLifetimeInRounds: 34,
189
+ slashingVetoer: EthAddress.fromString('0xBbB4aF368d02827945748b28CD4b2D42e4A37480'),
190
+ slashingOffsetInRounds: 2,
191
+ slashingDisableDuration: 259_200,
192
+ slasherFlavor: 'tally',
193
+ slashAmountSmall: 2_000n * 10n ** 18n,
194
+ slashAmountMedium: 2_000n * 10n ** 18n,
195
+ slashAmountLarge: 2_000n * 10n ** 18n,
190
196
  /** The mana target for the rollup */ manaTarget: 0n,
191
- /** The proving cost per mana */ provingCostPerMana: DefaultL1ContractsConfig.provingCostPerMana,
192
- /** Exit delay for stakers */ exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
193
- ...DefaultSlashConfig,
197
+ /** The proving cost per mana */ provingCostPerMana: 0n,
198
+ exitDelaySeconds: 4 * 24 * 60 * 60,
199
+ activationThreshold: 200_000n * 10n ** 18n,
200
+ ejectionThreshold: 100_000n * 10n ** 18n,
201
+ governanceProposerRoundSize: 300,
202
+ governanceProposerQuorum: 151,
203
+ // Node slashing config
204
+ slashInactivityTargetPercentage: 0.8,
205
+ slashInactivityConsecutiveEpochThreshold: 2,
206
+ slashInactivityPenalty: 2_000n * 10n ** 18n,
194
207
  slashPrunePenalty: 0n,
195
208
  slashDataWithholdingPenalty: 0n,
196
- slashInactivityPenalty: DefaultL1ContractsConfig.slashAmountMedium,
209
+ slashProposeInvalidAttestationsPenalty: 2_000n * 10n ** 18n,
210
+ slashAttestDescendantOfInvalidPenalty: 2_000n * 10n ** 18n,
211
+ slashUnknownPenalty: 2_000n * 10n ** 18n,
212
+ slashBroadcastedInvalidBlockPenalty: 2_000n * 10n ** 18n,
213
+ slashGracePeriodL2Slots: 1_200,
214
+ slashOffenseExpirationRounds: 8,
215
+ slashMinPenaltyPercentage: 0.5,
216
+ slashMaxPenaltyPercentage: 2.0,
217
+ slashMaxPayloadSize: 50,
218
+ slashExecuteRoundsLookBack: 4,
219
+ sentinelEnabled: true,
197
220
  ...DefaultNetworkDBMapSizeConfig
198
221
  };
199
222
  export const mainnetL2ChainConfig = {
@@ -224,43 +247,42 @@ export const mainnetL2ChainConfig = {
224
247
  /** The target validator committee size. */ aztecTargetCommitteeSize: 24,
225
248
  /** The number of epochs to lag behind the current epoch for validator selection. */ lagInEpochs: 2,
226
249
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
250
+ localEjectionThreshold: 196_000n * 10n ** 18n,
227
251
  /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
228
252
  slashingRoundSizeInEpochs: 4,
229
- slashingLifetimeInRounds: 40,
230
253
  slashingExecutionDelayInRounds: 28,
231
- slashingDisableDuration: 5 * 24 * 60 * 60,
232
- slashAmountSmall: 2_000n * 10n ** 18n,
233
- slashAmountMedium: 10_000n * 10n ** 18n,
234
- slashAmountLarge: 50_000n * 10n ** 18n,
254
+ slashingLifetimeInRounds: 34,
255
+ slashingVetoer: EthAddress.ZERO,
235
256
  slashingOffsetInRounds: 2,
257
+ slashingDisableDuration: 259_200,
236
258
  slasherFlavor: 'tally',
237
- slashingVetoer: EthAddress.ZERO,
259
+ slashAmountSmall: 2_000n * 10n ** 18n,
260
+ slashAmountMedium: 2_000n * 10n ** 18n,
261
+ slashAmountLarge: 2_000n * 10n ** 18n,
238
262
  /** The mana target for the rollup */ manaTarget: 0n,
239
- exitDelaySeconds: 5 * 24 * 60 * 60,
240
263
  /** The proving cost per mana */ provingCostPerMana: 0n,
241
- ejectionThreshold: 100_000n * 10n ** 18n,
264
+ exitDelaySeconds: 4 * 24 * 60 * 60,
242
265
  activationThreshold: 200_000n * 10n ** 18n,
243
- localEjectionThreshold: 196_000n * 10n ** 18n,
244
- governanceProposerRoundSize: 300,
245
- governanceProposerQuorum: 151,
266
+ ejectionThreshold: 100_000n * 10n ** 18n,
267
+ governanceProposerRoundSize: 1000,
268
+ governanceProposerQuorum: 600,
246
269
  // Node slashing config
247
- // TODO TMNT-330
248
- slashMinPenaltyPercentage: 0.5,
249
- slashMaxPenaltyPercentage: 2.0,
250
- slashInactivityTargetPercentage: 0.7,
270
+ slashInactivityTargetPercentage: 0.8,
251
271
  slashInactivityConsecutiveEpochThreshold: 2,
252
272
  slashInactivityPenalty: 2_000n * 10n ** 18n,
253
273
  slashPrunePenalty: 0n,
254
274
  slashDataWithholdingPenalty: 0n,
255
- slashProposeInvalidAttestationsPenalty: 50_000n * 10n ** 18n,
256
- slashAttestDescendantOfInvalidPenalty: 50_000n * 10n ** 18n,
275
+ slashProposeInvalidAttestationsPenalty: 2_000n * 10n ** 18n,
276
+ slashAttestDescendantOfInvalidPenalty: 2_000n * 10n ** 18n,
257
277
  slashUnknownPenalty: 2_000n * 10n ** 18n,
258
- slashBroadcastedInvalidBlockPenalty: 0n,
259
- slashMaxPayloadSize: 50,
260
- slashGracePeriodL2Slots: 32 * 4,
278
+ slashBroadcastedInvalidBlockPenalty: 2_000n * 10n ** 18n,
279
+ slashGracePeriodL2Slots: 1_200,
261
280
  slashOffenseExpirationRounds: 8,
262
- sentinelEnabled: true,
281
+ slashMinPenaltyPercentage: 0.5,
282
+ slashMaxPenaltyPercentage: 2.0,
283
+ slashMaxPayloadSize: 50,
263
284
  slashExecuteRoundsLookBack: 4,
285
+ sentinelEnabled: true,
264
286
  ...DefaultNetworkDBMapSizeConfig
265
287
  };
266
288
  export function getL2ChainConfig(networkName) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/cli",
3
- "version": "2.1.0-rc.27",
3
+ "version": "2.1.0-rc.29",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./contracts": "./dest/cmds/contracts/index.js",
@@ -71,18 +71,18 @@
71
71
  ]
72
72
  },
73
73
  "dependencies": {
74
- "@aztec/archiver": "2.1.0-rc.27",
75
- "@aztec/aztec.js": "2.1.0-rc.27",
76
- "@aztec/constants": "2.1.0-rc.27",
77
- "@aztec/entrypoints": "2.1.0-rc.27",
78
- "@aztec/ethereum": "2.1.0-rc.27",
79
- "@aztec/foundation": "2.1.0-rc.27",
80
- "@aztec/l1-artifacts": "2.1.0-rc.27",
81
- "@aztec/node-keystore": "2.1.0-rc.27",
82
- "@aztec/node-lib": "2.1.0-rc.27",
83
- "@aztec/p2p": "2.1.0-rc.27",
84
- "@aztec/stdlib": "2.1.0-rc.27",
85
- "@aztec/world-state": "2.1.0-rc.27",
74
+ "@aztec/archiver": "2.1.0-rc.29",
75
+ "@aztec/aztec.js": "2.1.0-rc.29",
76
+ "@aztec/constants": "2.1.0-rc.29",
77
+ "@aztec/entrypoints": "2.1.0-rc.29",
78
+ "@aztec/ethereum": "2.1.0-rc.29",
79
+ "@aztec/foundation": "2.1.0-rc.29",
80
+ "@aztec/l1-artifacts": "2.1.0-rc.29",
81
+ "@aztec/node-keystore": "2.1.0-rc.29",
82
+ "@aztec/node-lib": "2.1.0-rc.29",
83
+ "@aztec/p2p": "2.1.0-rc.29",
84
+ "@aztec/stdlib": "2.1.0-rc.29",
85
+ "@aztec/world-state": "2.1.0-rc.29",
86
86
  "@ethersproject/wallet": "^5.8.0",
87
87
  "@iarna/toml": "^2.2.5",
88
88
  "@libp2p/peer-id-factory": "^3.0.4",
@@ -96,8 +96,8 @@
96
96
  "viem": "npm:@spalladino/viem@2.38.2-eip7594.0"
97
97
  },
98
98
  "devDependencies": {
99
- "@aztec/accounts": "2.1.0-rc.27",
100
- "@aztec/protocol-contracts": "2.1.0-rc.27",
99
+ "@aztec/accounts": "2.1.0-rc.29",
100
+ "@aztec/protocol-contracts": "2.1.0-rc.29",
101
101
  "@jest/globals": "^30.0.0",
102
102
  "@types/jest": "^30.0.0",
103
103
  "@types/lodash.chunk": "^4.2.9",
@@ -113,15 +113,15 @@
113
113
  "typescript": "^5.3.3"
114
114
  },
115
115
  "peerDependencies": {
116
- "@aztec/accounts": "2.1.0-rc.27",
117
- "@aztec/bb-prover": "2.1.0-rc.27",
118
- "@aztec/ethereum": "2.1.0-rc.27",
119
- "@aztec/l1-artifacts": "2.1.0-rc.27",
120
- "@aztec/noir-contracts.js": "2.1.0-rc.27",
121
- "@aztec/noir-protocol-circuits-types": "2.1.0-rc.27",
122
- "@aztec/noir-test-contracts.js": "2.1.0-rc.27",
123
- "@aztec/protocol-contracts": "2.1.0-rc.27",
124
- "@aztec/stdlib": "2.1.0-rc.27"
116
+ "@aztec/accounts": "2.1.0-rc.29",
117
+ "@aztec/bb-prover": "2.1.0-rc.29",
118
+ "@aztec/ethereum": "2.1.0-rc.29",
119
+ "@aztec/l1-artifacts": "2.1.0-rc.29",
120
+ "@aztec/noir-contracts.js": "2.1.0-rc.29",
121
+ "@aztec/noir-protocol-circuits-types": "2.1.0-rc.29",
122
+ "@aztec/noir-test-contracts.js": "2.1.0-rc.29",
123
+ "@aztec/protocol-contracts": "2.1.0-rc.29",
124
+ "@aztec/stdlib": "2.1.0-rc.29"
125
125
  },
126
126
  "files": [
127
127
  "dest",
@@ -152,11 +152,10 @@ export const stagingIgnitionL2ChainConfig: L2ChainConfig = {
152
152
  activationThreshold: 200_000n * 10n ** 18n,
153
153
  localEjectionThreshold: 196_000n * 10n ** 18n,
154
154
 
155
- governanceProposerRoundSize: 300, // TODO TMNT-322
156
- governanceProposerQuorum: 151, // TODO TMNT-322
155
+ governanceProposerRoundSize: 300,
156
+ governanceProposerQuorum: 151,
157
157
 
158
158
  // Node slashing config
159
- // TODO TMNT-330
160
159
  slashMinPenaltyPercentage: 0.5,
161
160
  slashMaxPenaltyPercentage: 2.0,
162
161
  slashInactivityTargetPercentage: 0.7,
@@ -252,40 +251,69 @@ export const testnetL2ChainConfig: L2ChainConfig = {
252
251
  skipArchiverInitialSync: true,
253
252
  blobAllowEmptySources: true,
254
253
 
255
- // Deployment stuff
256
254
  /** How many seconds an L1 slot lasts. */
257
255
  ethereumSlotDuration: 12,
258
256
  /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */
259
- aztecSlotDuration: 36,
257
+ aztecSlotDuration: 72,
260
258
  /** How many L2 slots an epoch lasts. */
261
259
  aztecEpochDuration: 32,
262
260
  /** The target validator committee size. */
263
- aztecTargetCommitteeSize: 48,
261
+ aztecTargetCommitteeSize: 24,
264
262
  /** The number of epochs to lag behind the current epoch for validator selection. */
265
263
  lagInEpochs: 2,
266
264
  /** The number of epochs after an epoch ends that proofs are still accepted. */
267
265
  aztecProofSubmissionEpochs: 1,
268
- /** The deposit amount for a validator */
269
- activationThreshold: DefaultL1ContractsConfig.activationThreshold,
270
- /** The minimum stake for a validator. */
271
- ejectionThreshold: DefaultL1ContractsConfig.ejectionThreshold,
272
- /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */
273
- localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
274
- /** The slashing round size */
275
- slashingRoundSizeInEpochs: DefaultL1ContractsConfig.slashingRoundSizeInEpochs,
276
- /** Governance proposing round size */
277
- governanceProposerRoundSize: DefaultL1ContractsConfig.governanceProposerRoundSize,
266
+
267
+ // This is a diff from mainnet: we have 2-strikes you're out, rather than 3 on mainnet.
268
+ localEjectionThreshold: 198_000n * 10n ** 18n,
269
+ /** How many sequencers must agree with a slash for it to be executed. */
270
+ slashingQuorum: 65,
271
+ slashingRoundSizeInEpochs: 4,
272
+ slashingExecutionDelayInRounds: 28,
273
+ slashingLifetimeInRounds: 34,
274
+ slashingVetoer: EthAddress.fromString('0xBbB4aF368d02827945748b28CD4b2D42e4A37480'),
275
+ slashingOffsetInRounds: 2,
276
+
277
+ slashingDisableDuration: 259_200, // 3 days
278
+ slasherFlavor: 'tally',
279
+
280
+ slashAmountSmall: 2_000n * 10n ** 18n,
281
+ slashAmountMedium: 2_000n * 10n ** 18n,
282
+ slashAmountLarge: 2_000n * 10n ** 18n,
283
+
278
284
  /** The mana target for the rollup */
279
285
  manaTarget: 0n,
286
+
280
287
  /** The proving cost per mana */
281
- provingCostPerMana: DefaultL1ContractsConfig.provingCostPerMana,
282
- /** Exit delay for stakers */
283
- exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
288
+ provingCostPerMana: 0n,
284
289
 
285
- ...DefaultSlashConfig,
286
- slashPrunePenalty: 0n,
287
- slashDataWithholdingPenalty: 0n,
288
- slashInactivityPenalty: DefaultL1ContractsConfig.slashAmountMedium,
290
+ exitDelaySeconds: 4 * 24 * 60 * 60, // 4 days
291
+
292
+ activationThreshold: 200_000n * 10n ** 18n,
293
+ ejectionThreshold: 100_000n * 10n ** 18n,
294
+
295
+ governanceProposerRoundSize: 300,
296
+ governanceProposerQuorum: 151,
297
+
298
+ // Node slashing config
299
+ slashInactivityTargetPercentage: 0.8,
300
+ slashInactivityConsecutiveEpochThreshold: 2,
301
+ slashInactivityPenalty: 2_000n * 10n ** 18n,
302
+ slashPrunePenalty: 0n, // 2_000n * 10n ** 18n, We disable slashing for prune offenses right now
303
+ slashDataWithholdingPenalty: 0n, // 2_000n * 10n ** 18n, We disable slashing for data withholding offenses right now
304
+ slashProposeInvalidAttestationsPenalty: 2_000n * 10n ** 18n,
305
+ slashAttestDescendantOfInvalidPenalty: 2_000n * 10n ** 18n,
306
+ slashUnknownPenalty: 2_000n * 10n ** 18n,
307
+ slashBroadcastedInvalidBlockPenalty: 2_000n * 10n ** 18n, // 10_000n * 10n ** 18n, Disabled for now until further testing
308
+ slashGracePeriodL2Slots: 1_200, // One day from deployment
309
+ slashOffenseExpirationRounds: 8,
310
+
311
+ slashMinPenaltyPercentage: 0.5,
312
+ slashMaxPenaltyPercentage: 2.0,
313
+ slashMaxPayloadSize: 50,
314
+ slashExecuteRoundsLookBack: 4,
315
+
316
+ sentinelEnabled: true,
289
317
 
290
318
  ...DefaultNetworkDBMapSizeConfig,
291
319
  };
@@ -321,54 +349,57 @@ export const mainnetL2ChainConfig: L2ChainConfig = {
321
349
  lagInEpochs: 2,
322
350
  /** The number of epochs after an epoch ends that proofs are still accepted. */
323
351
  aztecProofSubmissionEpochs: 1,
352
+
353
+ localEjectionThreshold: 196_000n * 10n ** 18n,
324
354
  /** How many sequencers must agree with a slash for it to be executed. */
325
355
  slashingQuorum: 65,
326
-
327
356
  slashingRoundSizeInEpochs: 4,
328
- slashingLifetimeInRounds: 40,
329
357
  slashingExecutionDelayInRounds: 28,
330
- slashingDisableDuration: 5 * 24 * 60 * 60, // 5 days in seconds
331
- slashAmountSmall: 2_000n * 10n ** 18n,
332
- slashAmountMedium: 10_000n * 10n ** 18n,
333
- slashAmountLarge: 50_000n * 10n ** 18n,
358
+ slashingLifetimeInRounds: 34,
359
+ slashingVetoer: EthAddress.ZERO, // TODO TMNT-329
334
360
  slashingOffsetInRounds: 2,
361
+
362
+ slashingDisableDuration: 259_200, // 3 days
335
363
  slasherFlavor: 'tally',
336
- slashingVetoer: EthAddress.ZERO, // TODO TMNT-329
364
+
365
+ slashAmountSmall: 2_000n * 10n ** 18n,
366
+ slashAmountMedium: 2_000n * 10n ** 18n,
367
+ slashAmountLarge: 2_000n * 10n ** 18n,
337
368
 
338
369
  /** The mana target for the rollup */
339
370
  manaTarget: 0n,
340
371
 
341
- exitDelaySeconds: 5 * 24 * 60 * 60,
342
-
343
372
  /** The proving cost per mana */
344
373
  provingCostPerMana: 0n,
345
374
 
346
- ejectionThreshold: 100_000n * 10n ** 18n,
375
+ exitDelaySeconds: 4 * 24 * 60 * 60, // 4 days
376
+
347
377
  activationThreshold: 200_000n * 10n ** 18n,
348
- localEjectionThreshold: 196_000n * 10n ** 18n,
378
+ ejectionThreshold: 100_000n * 10n ** 18n,
349
379
 
350
- governanceProposerRoundSize: 300, // TODO TMNT-322
351
- governanceProposerQuorum: 151, // TODO TMNT-322
380
+ governanceProposerRoundSize: 1000,
381
+ governanceProposerQuorum: 600,
352
382
 
353
383
  // Node slashing config
354
- // TODO TMNT-330
355
- slashMinPenaltyPercentage: 0.5,
356
- slashMaxPenaltyPercentage: 2.0,
357
- slashInactivityTargetPercentage: 0.7,
384
+ slashInactivityTargetPercentage: 0.8,
358
385
  slashInactivityConsecutiveEpochThreshold: 2,
359
386
  slashInactivityPenalty: 2_000n * 10n ** 18n,
360
387
  slashPrunePenalty: 0n, // 2_000n * 10n ** 18n, We disable slashing for prune offenses right now
361
388
  slashDataWithholdingPenalty: 0n, // 2_000n * 10n ** 18n, We disable slashing for data withholding offenses right now
362
- slashProposeInvalidAttestationsPenalty: 50_000n * 10n ** 18n,
363
- slashAttestDescendantOfInvalidPenalty: 50_000n * 10n ** 18n,
389
+ slashProposeInvalidAttestationsPenalty: 2_000n * 10n ** 18n,
390
+ slashAttestDescendantOfInvalidPenalty: 2_000n * 10n ** 18n,
364
391
  slashUnknownPenalty: 2_000n * 10n ** 18n,
365
- slashBroadcastedInvalidBlockPenalty: 0n, // 10_000n * 10n ** 18n, Disabled for now until further testing
366
- slashMaxPayloadSize: 50,
367
- slashGracePeriodL2Slots: 32 * 4, // One round from genesis
392
+ slashBroadcastedInvalidBlockPenalty: 2_000n * 10n ** 18n, // 10_000n * 10n ** 18n, Disabled for now until further testing
393
+ slashGracePeriodL2Slots: 1_200, // One day from deployment
368
394
  slashOffenseExpirationRounds: 8,
369
- sentinelEnabled: true,
395
+
396
+ slashMinPenaltyPercentage: 0.5,
397
+ slashMaxPenaltyPercentage: 2.0,
398
+ slashMaxPayloadSize: 50,
370
399
  slashExecuteRoundsLookBack: 4,
371
400
 
401
+ sentinelEnabled: true,
402
+
372
403
  ...DefaultNetworkDBMapSizeConfig,
373
404
  };
374
405