@aztec/cli 2.0.0-rc.34 → 2.0.0-rc.35

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,EAAU,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAOrE,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,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,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,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;IAGpC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAoCJ,eAAO,MAAM,4BAA4B,EAAE,aAqC1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aA+CxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aA+ClC,CAAC;AAIF,wBAAsB,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,gBAgC9E;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAkBpC;AAuBD,wBAAsB,gCAAgC,CAAC,WAAW,EAAE,YAAY,iBAyF/E"}
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,EAAU,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAOrE,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,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,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,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;IAGpC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAoCJ,eAAO,MAAM,4BAA4B,EAAE,aA0E1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,aA+CxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAkDlC,CAAC;AAIF,wBAAsB,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,gBAgC9E;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAkBpC;AAuBD,wBAAsB,gCAAgC,CAAC,WAAW,EAAE,YAAY,iBAyF/E"}
@@ -52,15 +52,45 @@ export const stagingIgnitionL2ChainConfig = {
52
52
  publicMetricsCollectFrom: [
53
53
  'sequencer'
54
54
  ],
55
- ...DefaultL1ContractsConfig,
56
- ...DefaultSlashConfig,
57
55
  /** How many seconds an L1 slot lasts. */ ethereumSlotDuration: 12,
58
- /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 36,
56
+ /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */ aztecSlotDuration: 72,
59
57
  /** How many L2 slots an epoch lasts. */ aztecEpochDuration: 32,
60
- /** The target validator committee size. */ aztecTargetCommitteeSize: 48,
58
+ /** The target validator committee size. */ aztecTargetCommitteeSize: 24,
61
59
  /** The number of epochs after an epoch ends that proofs are still accepted. */ aztecProofSubmissionEpochs: 1,
60
+ /** How many sequencers must agree with a slash for it to be executed. */ slashingQuorum: 65,
61
+ slashingRoundSizeInEpochs: 4,
62
+ slashingLifetimeInRounds: 40,
63
+ slashingExecutionDelayInRounds: 28,
64
+ slashAmountSmall: 2_000n * 10n ** 18n,
65
+ slashAmountMedium: 10_000n * 10n ** 18n,
66
+ slashAmountLarge: 50_000n * 10n ** 18n,
67
+ slashingOffsetInRounds: 2,
68
+ slasherFlavor: 'tally',
69
+ slashingVetoer: EthAddress.ZERO,
62
70
  /** The mana target for the rollup */ manaTarget: 0n,
63
- /** The proving cost per mana */ provingCostPerMana: 0n
71
+ exitDelaySeconds: 5 * 24 * 60 * 60,
72
+ /** The proving cost per mana */ provingCostPerMana: 0n,
73
+ ejectionThreshold: 100_000n * 10n ** 18n,
74
+ activationThreshold: 200_000n * 10n ** 18n,
75
+ governanceProposerRoundSize: 300,
76
+ governanceProposerQuorum: 151,
77
+ // Node slashing config
78
+ // TODO TMNT-330
79
+ slashMinPenaltyPercentage: 0.5,
80
+ slashMaxPenaltyPercentage: 2.0,
81
+ slashInactivityTargetPercentage: 0.7,
82
+ slashInactivityConsecutiveEpochThreshold: 2,
83
+ slashInactivityPenalty: 2_000n * 10n ** 18n,
84
+ slashPrunePenalty: 0n,
85
+ slashDataWithholdingPenalty: 0n,
86
+ slashProposeInvalidAttestationsPenalty: 50_000n * 10n ** 18n,
87
+ slashAttestDescendantOfInvalidPenalty: 50_000n * 10n ** 18n,
88
+ slashUnknownPenalty: 2_000n * 10n ** 18n,
89
+ slashBroadcastedInvalidBlockPenalty: 10_000n * 10n ** 18n,
90
+ slashMaxPayloadSize: 50,
91
+ slashGracePeriodL2Slots: 32 * 4,
92
+ slashOffenseExpirationRounds: 8,
93
+ sentinelEnabled: true
64
94
  };
65
95
  export const stagingPublicL2ChainConfig = {
66
96
  l1ChainId: 11155111,
@@ -132,7 +162,10 @@ export const testnetL2ChainConfig = {
132
162
  /** The mana target for the rollup */ manaTarget: DefaultL1ContractsConfig.manaTarget,
133
163
  /** The proving cost per mana */ provingCostPerMana: DefaultL1ContractsConfig.provingCostPerMana,
134
164
  /** Exit delay for stakers */ exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
135
- ...DefaultSlashConfig
165
+ ...DefaultSlashConfig,
166
+ slashPrunePenalty: 0n,
167
+ slashDataWithholdingPenalty: 0n,
168
+ slashInactivityPenalty: DefaultL1ContractsConfig.slashAmountMedium
136
169
  };
137
170
  const BOOTNODE_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour;
138
171
  export async function getBootnodes(networkName, cacheDir) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/cli",
3
- "version": "2.0.0-rc.34",
3
+ "version": "2.0.0-rc.35",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./contracts": "./dest/cmds/contracts/index.js",
@@ -70,17 +70,17 @@
70
70
  ]
71
71
  },
72
72
  "dependencies": {
73
- "@aztec/archiver": "2.0.0-rc.34",
74
- "@aztec/aztec.js": "2.0.0-rc.34",
75
- "@aztec/constants": "2.0.0-rc.34",
76
- "@aztec/entrypoints": "2.0.0-rc.34",
77
- "@aztec/ethereum": "2.0.0-rc.34",
78
- "@aztec/foundation": "2.0.0-rc.34",
79
- "@aztec/l1-artifacts": "2.0.0-rc.34",
80
- "@aztec/node-lib": "2.0.0-rc.34",
81
- "@aztec/p2p": "2.0.0-rc.34",
82
- "@aztec/stdlib": "2.0.0-rc.34",
83
- "@aztec/world-state": "2.0.0-rc.34",
73
+ "@aztec/archiver": "2.0.0-rc.35",
74
+ "@aztec/aztec.js": "2.0.0-rc.35",
75
+ "@aztec/constants": "2.0.0-rc.35",
76
+ "@aztec/entrypoints": "2.0.0-rc.35",
77
+ "@aztec/ethereum": "2.0.0-rc.35",
78
+ "@aztec/foundation": "2.0.0-rc.35",
79
+ "@aztec/l1-artifacts": "2.0.0-rc.35",
80
+ "@aztec/node-lib": "2.0.0-rc.35",
81
+ "@aztec/p2p": "2.0.0-rc.35",
82
+ "@aztec/stdlib": "2.0.0-rc.35",
83
+ "@aztec/world-state": "2.0.0-rc.35",
84
84
  "@iarna/toml": "^2.2.5",
85
85
  "@libp2p/peer-id-factory": "^3.0.4",
86
86
  "commander": "^12.1.0",
@@ -92,8 +92,8 @@
92
92
  "viem": "2.23.7"
93
93
  },
94
94
  "devDependencies": {
95
- "@aztec/accounts": "2.0.0-rc.34",
96
- "@aztec/protocol-contracts": "2.0.0-rc.34",
95
+ "@aztec/accounts": "2.0.0-rc.35",
96
+ "@aztec/protocol-contracts": "2.0.0-rc.35",
97
97
  "@jest/globals": "^30.0.0",
98
98
  "@types/jest": "^30.0.0",
99
99
  "@types/lodash.chunk": "^4.2.9",
@@ -109,15 +109,15 @@
109
109
  "typescript": "^5.3.3"
110
110
  },
111
111
  "peerDependencies": {
112
- "@aztec/accounts": "2.0.0-rc.34",
113
- "@aztec/bb-prover": "2.0.0-rc.34",
114
- "@aztec/ethereum": "2.0.0-rc.34",
115
- "@aztec/l1-artifacts": "2.0.0-rc.34",
116
- "@aztec/noir-contracts.js": "2.0.0-rc.34",
117
- "@aztec/noir-protocol-circuits-types": "2.0.0-rc.34",
118
- "@aztec/noir-test-contracts.js": "2.0.0-rc.34",
119
- "@aztec/protocol-contracts": "2.0.0-rc.34",
120
- "@aztec/stdlib": "2.0.0-rc.34"
112
+ "@aztec/accounts": "2.0.0-rc.35",
113
+ "@aztec/bb-prover": "2.0.0-rc.35",
114
+ "@aztec/ethereum": "2.0.0-rc.35",
115
+ "@aztec/l1-artifacts": "2.0.0-rc.35",
116
+ "@aztec/noir-contracts.js": "2.0.0-rc.35",
117
+ "@aztec/noir-protocol-circuits-types": "2.0.0-rc.35",
118
+ "@aztec/noir-test-contracts.js": "2.0.0-rc.35",
119
+ "@aztec/protocol-contracts": "2.0.0-rc.35",
120
+ "@aztec/stdlib": "2.0.0-rc.35"
121
121
  },
122
122
  "files": [
123
123
  "dest",
@@ -88,23 +88,60 @@ export const stagingIgnitionL2ChainConfig: L2ChainConfig = {
88
88
  publicMetricsCollectorUrl: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
89
89
  publicMetricsCollectFrom: ['sequencer'],
90
90
 
91
- ...DefaultL1ContractsConfig,
92
- ...DefaultSlashConfig,
93
-
94
91
  /** How many seconds an L1 slot lasts. */
95
92
  ethereumSlotDuration: 12,
96
93
  /** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */
97
- aztecSlotDuration: 36,
94
+ aztecSlotDuration: 72,
98
95
  /** How many L2 slots an epoch lasts. */
99
96
  aztecEpochDuration: 32,
100
97
  /** The target validator committee size. */
101
- aztecTargetCommitteeSize: 48,
98
+ aztecTargetCommitteeSize: 24,
102
99
  /** The number of epochs after an epoch ends that proofs are still accepted. */
103
100
  aztecProofSubmissionEpochs: 1,
101
+ /** How many sequencers must agree with a slash for it to be executed. */
102
+ slashingQuorum: 65,
103
+
104
+ slashingRoundSizeInEpochs: 4,
105
+ slashingLifetimeInRounds: 40,
106
+ slashingExecutionDelayInRounds: 28,
107
+ slashAmountSmall: 2_000n * 10n ** 18n,
108
+ slashAmountMedium: 10_000n * 10n ** 18n,
109
+ slashAmountLarge: 50_000n * 10n ** 18n,
110
+ slashingOffsetInRounds: 2,
111
+ slasherFlavor: 'tally',
112
+ slashingVetoer: EthAddress.ZERO, // TODO TMNT-329
113
+
104
114
  /** The mana target for the rollup */
105
115
  manaTarget: 0n,
116
+
117
+ exitDelaySeconds: 5 * 24 * 60 * 60,
118
+
106
119
  /** The proving cost per mana */
107
120
  provingCostPerMana: 0n,
121
+
122
+ ejectionThreshold: 100_000n * 10n ** 18n,
123
+ activationThreshold: 200_000n * 10n ** 18n,
124
+
125
+ governanceProposerRoundSize: 300, // TODO TMNT-322
126
+ governanceProposerQuorum: 151, // TODO TMNT-322
127
+
128
+ // Node slashing config
129
+ // TODO TMNT-330
130
+ slashMinPenaltyPercentage: 0.5,
131
+ slashMaxPenaltyPercentage: 2.0,
132
+ slashInactivityTargetPercentage: 0.7,
133
+ slashInactivityConsecutiveEpochThreshold: 2,
134
+ slashInactivityPenalty: 2_000n * 10n ** 18n,
135
+ slashPrunePenalty: 0n, // 2_000n * 10n ** 18n, We disable slashing for prune offenses right now
136
+ slashDataWithholdingPenalty: 0n, // 2_000n * 10n ** 18n, We disable slashing for data withholding offenses right now
137
+ slashProposeInvalidAttestationsPenalty: 50_000n * 10n ** 18n,
138
+ slashAttestDescendantOfInvalidPenalty: 50_000n * 10n ** 18n,
139
+ slashUnknownPenalty: 2_000n * 10n ** 18n,
140
+ slashBroadcastedInvalidBlockPenalty: 10_000n * 10n ** 18n,
141
+ slashMaxPayloadSize: 50,
142
+ slashGracePeriodL2Slots: 32 * 4, // One round from genesis
143
+ slashOffenseExpirationRounds: 8,
144
+ sentinelEnabled: true,
108
145
  };
109
146
 
110
147
  export const stagingPublicL2ChainConfig: L2ChainConfig = {
@@ -203,6 +240,9 @@ export const testnetL2ChainConfig: L2ChainConfig = {
203
240
  exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
204
241
 
205
242
  ...DefaultSlashConfig,
243
+ slashPrunePenalty: 0n,
244
+ slashDataWithholdingPenalty: 0n,
245
+ slashInactivityPenalty: DefaultL1ContractsConfig.slashAmountMedium,
206
246
  };
207
247
 
208
248
  const BOOTNODE_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour;