@aztec/ethereum 0.0.1-commit.03f7ef2 → 0.0.1-commit.08c5969dc
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 +17 -27
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +51 -54
- package/dest/contracts/empire_slashing_proposer.d.ts +1 -1
- package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/empire_slashing_proposer.js +13 -15
- package/dest/contracts/fee_asset_handler.d.ts +6 -5
- package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
- package/dest/contracts/fee_asset_handler.js +11 -9
- package/dest/contracts/governance.d.ts +3 -1
- package/dest/contracts/governance.d.ts.map +1 -1
- package/dest/contracts/governance.js +11 -1
- package/dest/contracts/governance_proposer.d.ts +1 -1
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +386 -9
- package/dest/contracts/inbox.d.ts +22 -1
- package/dest/contracts/inbox.d.ts.map +1 -1
- package/dest/contracts/inbox.js +36 -1
- package/dest/contracts/index.d.ts +3 -1
- package/dest/contracts/index.d.ts.map +1 -1
- package/dest/contracts/index.js +2 -0
- package/dest/contracts/log.d.ts +13 -0
- package/dest/contracts/log.d.ts.map +1 -0
- package/dest/contracts/log.js +1 -0
- package/dest/contracts/multicall.d.ts +1 -1
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +2 -1
- package/dest/contracts/outbox.d.ts +41 -0
- package/dest/contracts/outbox.d.ts.map +1 -0
- package/dest/contracts/outbox.js +86 -0
- package/dest/contracts/rollup.d.ts +161 -96
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +677 -132
- package/dest/contracts/tally_slashing_proposer.d.ts +1 -1
- package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/tally_slashing_proposer.js +8 -1
- package/dest/deploy_aztec_l1_contracts.d.ts +17 -2
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_aztec_l1_contracts.js +111 -33
- package/dest/generated/l1-contracts-defaults.d.ts +30 -0
- package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
- package/dest/generated/l1-contracts-defaults.js +30 -0
- package/dest/l1_artifacts.d.ts +4904 -1533
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_tx_utils/constants.d.ts +1 -1
- package/dest/l1_tx_utils/constants.js +2 -2
- package/dest/l1_tx_utils/fee-strategies/index.d.ts +3 -2
- package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -1
- package/dest/l1_tx_utils/fee-strategies/index.js +2 -1
- package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +2 -12
- package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -1
- package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +36 -18
- package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +2 -11
- package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -1
- package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +37 -19
- package/dest/l1_tx_utils/fee-strategies/types.d.ts +14 -27
- package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -1
- package/dest/l1_tx_utils/fee-strategies/types.js +0 -21
- package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +2 -2
- package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_fee_analyzer.js +3 -3
- package/dest/l1_tx_utils/l1_tx_utils.js +6 -6
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -5
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.js +17 -54
- package/dest/publisher_manager.d.ts +3 -2
- package/dest/publisher_manager.d.ts.map +1 -1
- package/dest/publisher_manager.js +2 -2
- package/dest/queries.d.ts +2 -2
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +12 -4
- package/dest/test/chain_monitor.js +1 -2
- package/dest/test/eth_cheat_codes.d.ts +13 -1
- package/dest/test/eth_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.d.ts +5 -2
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +19 -2
- package/dest/test/start_anvil.js +1 -1
- package/dest/utils.d.ts +2 -1
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +46 -0
- package/package.json +8 -7
- package/src/config.ts +62 -53
- package/src/contracts/README.md +157 -0
- package/src/contracts/empire_slashing_proposer.ts +16 -27
- package/src/contracts/fee_asset_handler.ts +10 -7
- package/src/contracts/governance.ts +10 -1
- package/src/contracts/governance_proposer.ts +4 -1
- package/src/contracts/inbox.ts +53 -1
- package/src/contracts/index.ts +2 -0
- package/src/contracts/log.ts +13 -0
- package/src/contracts/multicall.ts +5 -2
- package/src/contracts/outbox.ts +98 -0
- package/src/contracts/rollup.ts +348 -100
- package/src/contracts/tally_slashing_proposer.ts +5 -1
- package/src/deploy_aztec_l1_contracts.ts +117 -40
- package/src/generated/l1-contracts-defaults.ts +32 -0
- package/src/l1_tx_utils/constants.ts +2 -2
- package/src/l1_tx_utils/fee-strategies/index.ts +1 -1
- package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +46 -42
- package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +49 -45
- package/src/l1_tx_utils/fee-strategies/types.ts +14 -46
- package/src/l1_tx_utils/l1_fee_analyzer.ts +2 -3
- package/src/l1_tx_utils/l1_tx_utils.ts +6 -6
- package/src/l1_tx_utils/readonly_l1_tx_utils.ts +23 -62
- package/src/publisher_manager.ts +4 -2
- package/src/queries.ts +11 -3
- package/src/test/chain_monitor.ts +1 -1
- package/src/test/rollup_cheat_codes.ts +21 -3
- package/src/test/start_anvil.ts +1 -1
- package/src/utils.ts +53 -0
|
@@ -137,4 +137,4 @@ export declare class TallySlashingProposerContract {
|
|
|
137
137
|
* @returns An array of numbers representing the slash votes
|
|
138
138
|
*/
|
|
139
139
|
export declare function decodeSlashConsensusVotes(buffer: Buffer): number[];
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFsbHlfc2xhc2hpbmdfcHJvcG9zZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvdGFsbHlfc2xhc2hpbmdfcHJvcG9zZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNM0QsT0FBTyxFQUVMLEtBQUssR0FBRyxFQUNSLEtBQUssR0FBRyxFQUNSLEtBQUssbUJBQW1CLEVBR3pCLE1BQU0sTUFBTSxDQUFDO0FBRWQ7OztHQUdHO0FBQ0gscUJBQWEsNkJBQTZCO2FBTXRCLE1BQU0sRUFBRSxVQUFVO0lBTHBDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFxRTtJQUU5RixTQUFnQixJQUFJLFVBQW9CO0lBRXhDLFlBQ2tCLE1BQU0sRUFBRSxVQUFVLEVBQ2xDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxFQU8xQjtJQUVELElBQVcsT0FBTyxlQUVqQjtJQUVNLGFBQWEsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXRDO0lBRU0sWUFBWSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFckM7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXpDO0lBRU0sb0JBQW9CLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUU3QztJQUVNLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFNUM7SUFFTSx5QkFBeUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tally_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/tally_slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"tally_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/tally_slashing_proposer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { tryExtractEvent } from '@aztec/ethereum/utils';
|
|
1
|
+
import { mergeAbis, tryExtractEvent } from '@aztec/ethereum/utils';
|
|
2
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
5
5
|
import { hexToBuffer } from '@aztec/foundation/string';
|
|
6
|
+
import { SlasherAbi } from '@aztec/l1-artifacts/SlasherAbi';
|
|
6
7
|
import { TallySlashingProposerAbi } from '@aztec/l1-artifacts/TallySlashingProposerAbi';
|
|
7
8
|
import { encodeFunctionData, getContract } from 'viem';
|
|
8
9
|
/**
|
|
@@ -133,6 +134,7 @@ import { encodeFunctionData, getContract } from 'viem';
|
|
|
133
134
|
const signature = Signature.fromString(await signer(typedData));
|
|
134
135
|
return {
|
|
135
136
|
to: this.contract.address,
|
|
137
|
+
abi: TallySlashingProposerAbi,
|
|
136
138
|
data: encodeFunctionData({
|
|
137
139
|
abi: TallySlashingProposerAbi,
|
|
138
140
|
functionName: 'vote',
|
|
@@ -204,6 +206,7 @@ import { encodeFunctionData, getContract } from 'viem';
|
|
|
204
206
|
*/ buildVoteRequestWithSignature(votes, signature) {
|
|
205
207
|
return {
|
|
206
208
|
to: this.contract.address,
|
|
209
|
+
abi: TallySlashingProposerAbi,
|
|
207
210
|
data: encodeFunctionData({
|
|
208
211
|
abi: TallySlashingProposerAbi,
|
|
209
212
|
functionName: 'vote',
|
|
@@ -222,6 +225,10 @@ import { encodeFunctionData, getContract } from 'viem';
|
|
|
222
225
|
*/ buildExecuteRoundRequest(round, committees) {
|
|
223
226
|
return {
|
|
224
227
|
to: this.contract.address,
|
|
228
|
+
abi: mergeAbis([
|
|
229
|
+
TallySlashingProposerAbi,
|
|
230
|
+
SlasherAbi
|
|
231
|
+
]),
|
|
225
232
|
data: encodeFunctionData({
|
|
226
233
|
abi: TallySlashingProposerAbi,
|
|
227
234
|
functionName: 'executeRound',
|
|
@@ -27,9 +27,17 @@ export interface ValidatorJson {
|
|
|
27
27
|
publicKeyInG2: G2PointJson;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* Gets the path to the l1-contracts directory.
|
|
30
|
+
* Gets the path to the l1-contracts foundry artifacts directory.
|
|
31
|
+
* These are copied from l1-contracts to yarn-project/l1-artifacts/l1-contracts
|
|
32
|
+
* during build to make yarn-project self-contained.
|
|
31
33
|
*/
|
|
32
34
|
export declare function getL1ContractsPath(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Prepares a temp directory for forge deployment.
|
|
37
|
+
* Copies all artifacts with preserved timestamps (required for forge cache validity).
|
|
38
|
+
* A fresh broadcast/ directory is created for deployment outputs.
|
|
39
|
+
*/
|
|
40
|
+
export declare function prepareL1ContractsForDeployment(): string;
|
|
33
41
|
/**
|
|
34
42
|
* Computes the validator data for passing to Solidity.
|
|
35
43
|
* Only computes the G2 public key (which requires scalar multiplication on G2, not available in EVM).
|
|
@@ -178,6 +186,7 @@ export declare function getDeployAztecL1ContractsEnvVars(args: DeployAztecL1Cont
|
|
|
178
186
|
readonly AZTEC_EJECTION_THRESHOLD: string;
|
|
179
187
|
readonly AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: string;
|
|
180
188
|
readonly AZTEC_GOVERNANCE_PROPOSER_QUORUM: string | undefined;
|
|
189
|
+
readonly AZTEC_GOVERNANCE_VOTING_DURATION: string | undefined;
|
|
181
190
|
readonly ZKPASSPORT_DOMAIN: string | undefined;
|
|
182
191
|
readonly ZKPASSPORT_SCOPE: string | undefined;
|
|
183
192
|
readonly INITIAL_VALIDATORS: string;
|
|
@@ -191,14 +200,17 @@ export declare function getDeployAztecL1ContractsEnvVars(args: DeployAztecL1Cont
|
|
|
191
200
|
readonly AZTEC_TARGET_COMMITTEE_SIZE: string;
|
|
192
201
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: string;
|
|
193
202
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: string;
|
|
203
|
+
readonly AZTEC_INBOX_LAG: string;
|
|
194
204
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: string;
|
|
195
205
|
readonly AZTEC_LOCAL_EJECTION_THRESHOLD: string;
|
|
196
206
|
readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: string;
|
|
207
|
+
readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: string;
|
|
197
208
|
readonly AZTEC_SLASHING_VETOER: `0x${string}`;
|
|
198
209
|
readonly AZTEC_SLASHING_DISABLE_DURATION: string;
|
|
199
210
|
readonly AZTEC_MANA_TARGET: string;
|
|
200
211
|
readonly AZTEC_EXIT_DELAY_SECONDS: string;
|
|
201
212
|
readonly AZTEC_PROVING_COST_PER_MANA: string;
|
|
213
|
+
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: string;
|
|
202
214
|
readonly AZTEC_SLASHER_FLAVOR: "empire" | "none" | "tally";
|
|
203
215
|
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: string;
|
|
204
216
|
readonly AZTEC_SLASHING_QUORUM: string | undefined;
|
|
@@ -219,14 +231,17 @@ export declare function getDeployRollupForUpgradeEnvVars(args: Omit<DeployAztecL
|
|
|
219
231
|
readonly AZTEC_TARGET_COMMITTEE_SIZE: string;
|
|
220
232
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: string;
|
|
221
233
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: string;
|
|
234
|
+
readonly AZTEC_INBOX_LAG: string;
|
|
222
235
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: string;
|
|
223
236
|
readonly AZTEC_LOCAL_EJECTION_THRESHOLD: string;
|
|
224
237
|
readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: string;
|
|
238
|
+
readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: string;
|
|
225
239
|
readonly AZTEC_SLASHING_VETOER: `0x${string}`;
|
|
226
240
|
readonly AZTEC_SLASHING_DISABLE_DURATION: string;
|
|
227
241
|
readonly AZTEC_MANA_TARGET: string;
|
|
228
242
|
readonly AZTEC_EXIT_DELAY_SECONDS: string;
|
|
229
243
|
readonly AZTEC_PROVING_COST_PER_MANA: string;
|
|
244
|
+
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: string;
|
|
230
245
|
readonly AZTEC_SLASHER_FLAVOR: "empire" | "none" | "tally";
|
|
231
246
|
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: string;
|
|
232
247
|
readonly AZTEC_SLASHING_QUORUM: string | undefined;
|
|
@@ -242,4 +257,4 @@ export declare const deployRollupForUpgrade: (privateKey: `0x${string}`, rpcUrl:
|
|
|
242
257
|
rollup: RollupContract;
|
|
243
258
|
slashFactoryAddress: `0x${string}`;
|
|
244
259
|
}>;
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2F6dGVjX2wxX2NvbnRyYWN0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGxveV9henRlY19sMV9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJM0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU0zQyxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLaEMsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUErRTNELE1BQU0sV0FBVyxXQUFXO0lBQzFCLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQ1gsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNYLEVBQUUsRUFBRSxNQUFNLENBQUM7Q0FDWjtBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxhQUFhO0lBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixxQ0FBcUM7SUFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixrRUFBa0U7SUFDbEUsYUFBYSxFQUFFLFdBQVcs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_aztec_l1_contracts.d.ts","sourceRoot":"","sources":["../src/deploy_aztec_l1_contracts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAIpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy_aztec_l1_contracts.d.ts","sourceRoot":"","sources":["../src/deploy_aztec_l1_contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,11 @@ import { promiseWithResolvers } from '@aztec/foundation/promise';
|
|
|
7
7
|
import { fileURLToPath } from '@aztec/foundation/url';
|
|
8
8
|
import { bn254 } from '@noble/curves/bn254';
|
|
9
9
|
import { spawn } from 'child_process';
|
|
10
|
-
import {
|
|
10
|
+
import { cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'fs';
|
|
11
|
+
import { tmpdir } from 'os';
|
|
12
|
+
import { dirname, join, resolve } from 'path';
|
|
11
13
|
import readline from 'readline';
|
|
12
|
-
import {
|
|
14
|
+
import { mainnet, sepolia } from 'viem/chains';
|
|
13
15
|
import { createEthereumChain, isAnvilTestChain } from './chain.js';
|
|
14
16
|
import { createExtendedL1Client } from './client.js';
|
|
15
17
|
import { deployMulticall3 } from './contracts/multicall.js';
|
|
@@ -17,9 +19,9 @@ import { RollupContract } from './contracts/rollup.js';
|
|
|
17
19
|
const logger = createLogger('ethereum:deploy_aztec_l1_contracts');
|
|
18
20
|
const JSON_DEPLOY_RESULT_PREFIX = 'JSON DEPLOY RESULT:';
|
|
19
21
|
/**
|
|
20
|
-
* Runs a process
|
|
21
|
-
*
|
|
22
|
-
*
|
|
22
|
+
* Runs a process and parses JSON deploy results from stdout.
|
|
23
|
+
* Lines starting with JSON_DEPLOY_RESULT_PREFIX are parsed and returned.
|
|
24
|
+
* All other stdout goes to logger.info, stderr goes to logger.warn.
|
|
23
25
|
*/ function runProcess(command, args, env, cwd) {
|
|
24
26
|
const { promise, resolve, reject } = promiseWithResolvers();
|
|
25
27
|
const proc = spawn(command, args, {
|
|
@@ -35,27 +37,42 @@ const JSON_DEPLOY_RESULT_PREFIX = 'JSON DEPLOY RESULT:';
|
|
|
35
37
|
]
|
|
36
38
|
});
|
|
37
39
|
let result;
|
|
40
|
+
let parseError;
|
|
41
|
+
let settled = false;
|
|
38
42
|
readline.createInterface({
|
|
39
43
|
input: proc.stdout
|
|
40
44
|
}).on('line', (line)=>{
|
|
41
45
|
const trimmedLine = line.trim();
|
|
42
46
|
if (trimmedLine.startsWith(JSON_DEPLOY_RESULT_PREFIX)) {
|
|
43
47
|
const jsonStr = trimmedLine.slice(JSON_DEPLOY_RESULT_PREFIX.length).trim();
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
try {
|
|
49
|
+
result = JSON.parse(jsonStr);
|
|
50
|
+
} catch {
|
|
51
|
+
parseError = new Error(`Failed to parse deploy result JSON: ${jsonStr.slice(0, 200)}`);
|
|
52
|
+
}
|
|
46
53
|
} else {
|
|
47
54
|
logger.info(line);
|
|
48
55
|
}
|
|
49
56
|
});
|
|
50
57
|
readline.createInterface({
|
|
51
58
|
input: proc.stderr
|
|
52
|
-
}).on('line', logger.
|
|
59
|
+
}).on('line', logger.warn.bind(logger));
|
|
53
60
|
proc.on('error', (error)=>{
|
|
61
|
+
if (settled) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
settled = true;
|
|
54
65
|
reject(new Error(`Failed to spawn ${command}: ${error.message}`));
|
|
55
66
|
});
|
|
56
67
|
proc.on('close', (code)=>{
|
|
68
|
+
if (settled) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
settled = true;
|
|
57
72
|
if (code !== 0) {
|
|
58
|
-
reject(new Error(`${command} exited with code ${code}
|
|
73
|
+
reject(new Error(`${command} exited with code ${code}`));
|
|
74
|
+
} else if (parseError) {
|
|
75
|
+
reject(parseError);
|
|
59
76
|
} else {
|
|
60
77
|
resolve(result);
|
|
61
78
|
}
|
|
@@ -78,14 +95,76 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
78
95
|
}
|
|
79
96
|
}
|
|
80
97
|
/**
|
|
81
|
-
* Gets the path to the l1-contracts directory.
|
|
98
|
+
* Gets the path to the l1-contracts foundry artifacts directory.
|
|
99
|
+
* These are copied from l1-contracts to yarn-project/l1-artifacts/l1-contracts
|
|
100
|
+
* during build to make yarn-project self-contained.
|
|
82
101
|
*/ export function getL1ContractsPath() {
|
|
83
|
-
// Try to find l1-contracts relative to this file
|
|
84
102
|
const currentDir = dirname(fileURLToPath(import.meta.url));
|
|
85
|
-
// Go up from yarn-project/ethereum/
|
|
86
|
-
const l1ContractsPath = resolve(currentDir, '..', '..', '
|
|
103
|
+
// Go up from yarn-project/ethereum/dest to yarn-project, then to l1-artifacts/l1-contracts
|
|
104
|
+
const l1ContractsPath = resolve(currentDir, '..', '..', 'l1-artifacts', 'l1-contracts');
|
|
87
105
|
return l1ContractsPath;
|
|
88
106
|
}
|
|
107
|
+
// Cached deployment directory
|
|
108
|
+
let preparedDeployDir;
|
|
109
|
+
function cleanupDeployDir() {
|
|
110
|
+
if (preparedDeployDir) {
|
|
111
|
+
try {
|
|
112
|
+
rmSync(preparedDeployDir, {
|
|
113
|
+
recursive: true,
|
|
114
|
+
force: true
|
|
115
|
+
});
|
|
116
|
+
} catch {
|
|
117
|
+
// ignore cleanup errors
|
|
118
|
+
}
|
|
119
|
+
preparedDeployDir = undefined;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Prepares a temp directory for forge deployment.
|
|
124
|
+
* Copies all artifacts with preserved timestamps (required for forge cache validity).
|
|
125
|
+
* A fresh broadcast/ directory is created for deployment outputs.
|
|
126
|
+
*/ export function prepareL1ContractsForDeployment() {
|
|
127
|
+
if (preparedDeployDir && existsSync(preparedDeployDir)) {
|
|
128
|
+
logger.verbose(`Using cached deployment directory: ${preparedDeployDir}`);
|
|
129
|
+
return preparedDeployDir;
|
|
130
|
+
}
|
|
131
|
+
const basePath = getL1ContractsPath();
|
|
132
|
+
logger.verbose(`Preparing L1 contracts from: ${basePath}`);
|
|
133
|
+
const tempDir = mkdtempSync(join(tmpdir(), '.foundry-deploy-'));
|
|
134
|
+
logger.verbose(`Created temp directory for deployment: ${tempDir}`);
|
|
135
|
+
preparedDeployDir = tempDir;
|
|
136
|
+
process.on('exit', cleanupDeployDir);
|
|
137
|
+
// Copy all dirs with preserved timestamps (required for forge cache validity)
|
|
138
|
+
const copyOpts = {
|
|
139
|
+
recursive: true,
|
|
140
|
+
preserveTimestamps: true
|
|
141
|
+
};
|
|
142
|
+
cpSync(join(basePath, 'out'), join(tempDir, 'out'), copyOpts);
|
|
143
|
+
cpSync(join(basePath, 'lib'), join(tempDir, 'lib'), copyOpts);
|
|
144
|
+
cpSync(join(basePath, 'cache'), join(tempDir, 'cache'), copyOpts);
|
|
145
|
+
cpSync(join(basePath, 'src'), join(tempDir, 'src'), copyOpts);
|
|
146
|
+
cpSync(join(basePath, 'script'), join(tempDir, 'script'), copyOpts);
|
|
147
|
+
cpSync(join(basePath, 'generated'), join(tempDir, 'generated'), copyOpts);
|
|
148
|
+
// Kludge: copy test/ to appease forge cache which references test/shouting.t.sol
|
|
149
|
+
cpSync(join(basePath, 'test'), join(tempDir, 'test'), copyOpts);
|
|
150
|
+
cpSync(join(basePath, 'foundry.lock'), join(tempDir, 'foundry.lock'));
|
|
151
|
+
// Update foundry.toml to use absolute path to solc binary (avoids copying to noexec tmpfs)
|
|
152
|
+
const foundryTomlPath = join(basePath, 'foundry.toml');
|
|
153
|
+
let foundryToml = readFileSync(foundryTomlPath, 'utf-8');
|
|
154
|
+
const solcPathMatch = foundryToml.match(/solc\s*=\s*"\.\/solc-([^"]+)"/);
|
|
155
|
+
// Did we find a hardcoded solc path that we need to make absolute?
|
|
156
|
+
// This code path happens in CI currently as we bundle solc there to avoid race conditions when
|
|
157
|
+
// downloading solc.
|
|
158
|
+
if (solcPathMatch) {
|
|
159
|
+
const solcVersion = solcPathMatch[1];
|
|
160
|
+
const absoluteSolcPath = join(basePath, `solc-${solcVersion}`);
|
|
161
|
+
foundryToml = foundryToml.replace(/solc\s*=\s*"\.\/solc-[^"]+"/, `solc = "${absoluteSolcPath}"`);
|
|
162
|
+
logger.verbose(`Updated solc path in foundry.toml to: ${absoluteSolcPath}`);
|
|
163
|
+
}
|
|
164
|
+
writeFileSync(join(tempDir, 'foundry.toml'), foundryToml);
|
|
165
|
+
mkdirSync(join(tempDir, 'broadcast'));
|
|
166
|
+
return tempDir;
|
|
167
|
+
}
|
|
89
168
|
/**
|
|
90
169
|
* Computes the validator data for passing to Solidity.
|
|
91
170
|
* Only computes the G2 public key (which requires scalar multiplication on G2, not available in EVM).
|
|
@@ -125,7 +204,6 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
125
204
|
if (args.initialValidators && args.initialValidators.length > 0 && args.existingTokenAddress) {
|
|
126
205
|
throw new Error('Cannot deploy with both initialValidators and existingTokenAddress. ' + 'Initial validator funding requires minting tokens, which is not possible with an external token.');
|
|
127
206
|
}
|
|
128
|
-
const currentDir = dirname(fileURLToPath(import.meta.url));
|
|
129
207
|
const chain = createEthereumChain([
|
|
130
208
|
rpcUrl
|
|
131
209
|
], chainId);
|
|
@@ -155,8 +233,8 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
155
233
|
logger.error(`Error setting block interval: ${e}`);
|
|
156
234
|
}
|
|
157
235
|
}
|
|
158
|
-
//
|
|
159
|
-
const l1ContractsPath =
|
|
236
|
+
// Use foundry-artifacts from l1-artifacts package
|
|
237
|
+
const l1ContractsPath = prepareL1ContractsForDeployment();
|
|
160
238
|
const FORGE_SCRIPT = 'script/deploy/DeployAztecL1Contracts.s.sol';
|
|
161
239
|
await maybeForgeForceProductionBuild(l1ContractsPath, FORGE_SCRIPT, chainId);
|
|
162
240
|
// Verify contracts on Etherscan when on mainnet/sepolia and ETHERSCAN_API_KEY is available.
|
|
@@ -165,11 +243,8 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
165
243
|
if (isVerifiableChain && !process.env.ETHERSCAN_API_KEY) {
|
|
166
244
|
logger.warn(`Deploying to chain ${chainId} (${chainId === mainnet.id ? 'mainnet' : 'sepolia'}) without ETHERSCAN_API_KEY. ` + `Contracts will NOT be verified on Etherscan. Set ETHERSCAN_API_KEY environment variable to enable verification.`);
|
|
167
245
|
}
|
|
168
|
-
|
|
169
|
-
const MAGIC_ANVIL_BATCH_SIZE = 12;
|
|
170
|
-
// Anvil seems to stall with unbounded batch size. Otherwise no max batch size is desirable.
|
|
246
|
+
const scriptPath = join(getL1ContractsPath(), 'scripts', 'forge_broadcast.js');
|
|
171
247
|
const forgeArgs = [
|
|
172
|
-
'script',
|
|
173
248
|
FORGE_SCRIPT,
|
|
174
249
|
'--sig',
|
|
175
250
|
'run()',
|
|
@@ -177,11 +252,6 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
177
252
|
privateKey,
|
|
178
253
|
'--rpc-url',
|
|
179
254
|
rpcUrl,
|
|
180
|
-
'--broadcast',
|
|
181
|
-
...chainId === foundry.id ? [
|
|
182
|
-
'--batch-size',
|
|
183
|
-
MAGIC_ANVIL_BATCH_SIZE.toString()
|
|
184
|
-
] : [],
|
|
185
255
|
...shouldVerify ? [
|
|
186
256
|
'--verify'
|
|
187
257
|
] : []
|
|
@@ -192,7 +262,10 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
192
262
|
FOUNDRY_PROFILE: chainId === mainnet.id ? 'production' : undefined,
|
|
193
263
|
...getDeployAztecL1ContractsEnvVars(args)
|
|
194
264
|
};
|
|
195
|
-
const result = await runProcess(
|
|
265
|
+
const result = await runProcess(process.execPath, [
|
|
266
|
+
scriptPath,
|
|
267
|
+
...forgeArgs
|
|
268
|
+
], forgeEnv, l1ContractsPath);
|
|
196
269
|
if (!result) {
|
|
197
270
|
throw new Error('Forge script did not output deployment result');
|
|
198
271
|
}
|
|
@@ -256,6 +329,7 @@ export function getDeployAztecL1ContractsEnvVars(args) {
|
|
|
256
329
|
AZTEC_EJECTION_THRESHOLD: args.ejectionThreshold?.toString(),
|
|
257
330
|
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: args.governanceProposerRoundSize?.toString(),
|
|
258
331
|
AZTEC_GOVERNANCE_PROPOSER_QUORUM: args.governanceProposerQuorum?.toString(),
|
|
332
|
+
AZTEC_GOVERNANCE_VOTING_DURATION: args.governanceVotingDuration?.toString(),
|
|
259
333
|
ZKPASSPORT_DOMAIN: args.zkPassportArgs?.zkPassportDomain,
|
|
260
334
|
ZKPASSPORT_SCOPE: args.zkPassportArgs?.zkPassportScope
|
|
261
335
|
};
|
|
@@ -276,14 +350,17 @@ export function getDeployRollupForUpgradeEnvVars(args) {
|
|
|
276
350
|
AZTEC_TARGET_COMMITTEE_SIZE: args.aztecTargetCommitteeSize.toString(),
|
|
277
351
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: args.lagInEpochsForValidatorSet.toString(),
|
|
278
352
|
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: args.lagInEpochsForRandao.toString(),
|
|
353
|
+
AZTEC_INBOX_LAG: args.inboxLag?.toString(),
|
|
279
354
|
AZTEC_PROOF_SUBMISSION_EPOCHS: args.aztecProofSubmissionEpochs.toString(),
|
|
280
355
|
AZTEC_LOCAL_EJECTION_THRESHOLD: args.localEjectionThreshold.toString(),
|
|
281
356
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: args.slashingLifetimeInRounds.toString(),
|
|
357
|
+
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: args.slashingExecutionDelayInRounds.toString(),
|
|
282
358
|
AZTEC_SLASHING_VETOER: args.slashingVetoer.toString(),
|
|
283
359
|
AZTEC_SLASHING_DISABLE_DURATION: args.slashingDisableDuration.toString(),
|
|
284
360
|
AZTEC_MANA_TARGET: args.manaTarget.toString(),
|
|
285
361
|
AZTEC_EXIT_DELAY_SECONDS: args.exitDelaySeconds.toString(),
|
|
286
362
|
AZTEC_PROVING_COST_PER_MANA: args.provingCostPerMana.toString(),
|
|
363
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: args.initialEthPerFeeAsset.toString(),
|
|
287
364
|
AZTEC_SLASHER_FLAVOR: args.slasherFlavor,
|
|
288
365
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: args.slashingRoundSizeInEpochs.toString(),
|
|
289
366
|
AZTEC_SLASHING_QUORUM: args.slashingQuorum?.toString(),
|
|
@@ -296,21 +373,19 @@ export function getDeployRollupForUpgradeEnvVars(args) {
|
|
|
296
373
|
/**
|
|
297
374
|
* Deploys a new rollup, using the existing canonical version to derive certain values (addresses of assets etc).
|
|
298
375
|
*/ export const deployRollupForUpgrade = async (privateKey, rpcUrl, chainId, registryAddress, args)=>{
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
const l1ContractsPath = resolve(currentDir, '..', '..', '..', 'l1-contracts');
|
|
376
|
+
// Use foundry-artifacts from l1-artifacts package
|
|
377
|
+
const l1ContractsPath = prepareL1ContractsForDeployment();
|
|
302
378
|
const FORGE_SCRIPT = 'script/deploy/DeployRollupForUpgrade.s.sol';
|
|
303
379
|
await maybeForgeForceProductionBuild(l1ContractsPath, FORGE_SCRIPT, chainId);
|
|
380
|
+
const scriptPath = join(getL1ContractsPath(), 'scripts', 'forge_broadcast.js');
|
|
304
381
|
const forgeArgs = [
|
|
305
|
-
'script',
|
|
306
382
|
FORGE_SCRIPT,
|
|
307
383
|
'--sig',
|
|
308
384
|
'run()',
|
|
309
385
|
'--private-key',
|
|
310
386
|
privateKey,
|
|
311
387
|
'--rpc-url',
|
|
312
|
-
rpcUrl
|
|
313
|
-
'--broadcast'
|
|
388
|
+
rpcUrl
|
|
314
389
|
];
|
|
315
390
|
const forgeEnv = {
|
|
316
391
|
FOUNDRY_PROFILE: chainId === mainnet.id ? 'production' : undefined,
|
|
@@ -319,7 +394,10 @@ export function getDeployRollupForUpgradeEnvVars(args) {
|
|
|
319
394
|
NETWORK: getActiveNetworkName(),
|
|
320
395
|
...getDeployRollupForUpgradeEnvVars(args)
|
|
321
396
|
};
|
|
322
|
-
const result = await runProcess(
|
|
397
|
+
const result = await runProcess(process.execPath, [
|
|
398
|
+
scriptPath,
|
|
399
|
+
...forgeArgs
|
|
400
|
+
], forgeEnv, l1ContractsPath);
|
|
323
401
|
if (!result) {
|
|
324
402
|
throw new Error('Forge script did not output deployment result');
|
|
325
403
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Default L1 contracts configuration values from network-defaults.yml */
|
|
2
|
+
export declare const l1ContractsDefaultEnv: {
|
|
3
|
+
readonly ETHEREUM_SLOT_DURATION: 12;
|
|
4
|
+
readonly AZTEC_SLOT_DURATION: 36;
|
|
5
|
+
readonly AZTEC_EPOCH_DURATION: 32;
|
|
6
|
+
readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
|
|
7
|
+
readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2;
|
|
8
|
+
readonly AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2;
|
|
9
|
+
readonly AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000;
|
|
10
|
+
readonly AZTEC_EJECTION_THRESHOLD: 50000000000000000000;
|
|
11
|
+
readonly AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000;
|
|
12
|
+
readonly AZTEC_EXIT_DELAY_SECONDS: 172800;
|
|
13
|
+
readonly AZTEC_INBOX_LAG: 1;
|
|
14
|
+
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
|
|
15
|
+
readonly AZTEC_MANA_TARGET: 100000000;
|
|
16
|
+
readonly AZTEC_PROVING_COST_PER_MANA: 100;
|
|
17
|
+
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
|
|
18
|
+
readonly AZTEC_SLASHER_FLAVOR: "tally";
|
|
19
|
+
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
|
|
20
|
+
readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
|
|
21
|
+
readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 0;
|
|
22
|
+
readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2;
|
|
23
|
+
readonly AZTEC_SLASHING_VETOER: "0x0000000000000000000000000000000000000000";
|
|
24
|
+
readonly AZTEC_SLASHING_DISABLE_DURATION: 432000;
|
|
25
|
+
readonly AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000;
|
|
26
|
+
readonly AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000;
|
|
27
|
+
readonly AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000;
|
|
28
|
+
readonly AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDEtY29udHJhY3RzLWRlZmF1bHRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkL2wxLWNvbnRyYWN0cy1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSwwRUFBMEU7QUFDMUUsZUFBTyxNQUFNLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMkJ4QixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l1-contracts-defaults.d.ts","sourceRoot":"","sources":["../../src/generated/l1-contracts-defaults.ts"],"names":[],"mappings":"AAGA,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BxB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Auto-generated from spartan/environments/network-defaults.yml
|
|
2
|
+
// Do not edit manually - run yarn generate to regenerate
|
|
3
|
+
/** Default L1 contracts configuration values from network-defaults.yml */ export const l1ContractsDefaultEnv = {
|
|
4
|
+
ETHEREUM_SLOT_DURATION: 12,
|
|
5
|
+
AZTEC_SLOT_DURATION: 36,
|
|
6
|
+
AZTEC_EPOCH_DURATION: 32,
|
|
7
|
+
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
8
|
+
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|
|
9
|
+
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
10
|
+
AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
|
|
11
|
+
AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
|
|
12
|
+
AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
|
|
13
|
+
AZTEC_EXIT_DELAY_SECONDS: 172800,
|
|
14
|
+
AZTEC_INBOX_LAG: 1,
|
|
15
|
+
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
16
|
+
AZTEC_MANA_TARGET: 100000000,
|
|
17
|
+
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
18
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
19
|
+
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
20
|
+
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
21
|
+
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
22
|
+
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 0,
|
|
23
|
+
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
24
|
+
AZTEC_SLASHING_VETOER: '0x0000000000000000000000000000000000000000',
|
|
25
|
+
AZTEC_SLASHING_DISABLE_DURATION: 432000,
|
|
26
|
+
AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
|
|
27
|
+
AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
|
|
28
|
+
AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
|
|
29
|
+
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300
|
|
30
|
+
};
|