@aztec/ethereum 4.0.0-nightly.20260112 → 4.0.0-nightly.20260114
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 +11 -28
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +36 -55
- package/dest/contracts/inbox.d.ts +18 -1
- package/dest/contracts/inbox.d.ts.map +1 -1
- package/dest/contracts/inbox.js +32 -1
- package/dest/contracts/index.d.ts +2 -1
- package/dest/contracts/index.d.ts.map +1 -1
- package/dest/contracts/index.js +1 -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/rollup.d.ts +17 -1
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +18 -0
- package/dest/deploy_aztec_l1_contracts.d.ts +12 -2
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_aztec_l1_contracts.js +62 -12
- package/dest/generated/l1-contracts-defaults.d.ts +29 -0
- package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
- package/dest/generated/l1-contracts-defaults.js +29 -0
- package/dest/l1_artifacts.d.ts +448 -40
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/config.ts +41 -54
- package/src/contracts/README.md +157 -0
- package/src/contracts/inbox.ts +48 -1
- package/src/contracts/index.ts +1 -0
- package/src/contracts/log.ts +13 -0
- package/src/contracts/rollup.ts +35 -0
- package/src/deploy_aztec_l1_contracts.ts +63 -14
- package/src/generated/l1-contracts-defaults.ts +31 -0
|
@@ -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).
|
|
@@ -195,6 +203,7 @@ export declare function getDeployAztecL1ContractsEnvVars(args: DeployAztecL1Cont
|
|
|
195
203
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: string;
|
|
196
204
|
readonly AZTEC_LOCAL_EJECTION_THRESHOLD: string;
|
|
197
205
|
readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: string;
|
|
206
|
+
readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: string;
|
|
198
207
|
readonly AZTEC_SLASHING_VETOER: `0x${string}`;
|
|
199
208
|
readonly AZTEC_SLASHING_DISABLE_DURATION: string;
|
|
200
209
|
readonly AZTEC_MANA_TARGET: string;
|
|
@@ -224,6 +233,7 @@ export declare function getDeployRollupForUpgradeEnvVars(args: Omit<DeployAztecL
|
|
|
224
233
|
readonly AZTEC_PROOF_SUBMISSION_EPOCHS: string;
|
|
225
234
|
readonly AZTEC_LOCAL_EJECTION_THRESHOLD: string;
|
|
226
235
|
readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: string;
|
|
236
|
+
readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: string;
|
|
227
237
|
readonly AZTEC_SLASHING_VETOER: `0x${string}`;
|
|
228
238
|
readonly AZTEC_SLASHING_DISABLE_DURATION: string;
|
|
229
239
|
readonly AZTEC_MANA_TARGET: string;
|
|
@@ -244,4 +254,4 @@ export declare const deployRollupForUpgrade: (privateKey: `0x${string}`, rpcUrl:
|
|
|
244
254
|
rollup: RollupContract;
|
|
245
255
|
slashFactoryAddress: `0x${string}`;
|
|
246
256
|
}>;
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2F6dGVjX2wxX2NvbnRyYWN0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGxveV9henRlY19sMV9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJM0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU0zQyxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLaEMsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFnRTNELE1BQU0sV0FBVyxXQUFXO0lBQzFCLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQ1gsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNYLEVBQUUsRUFBRSxNQUFNLENBQUM7Q0FDWjtBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxhQUFhO0lBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixxQ0FBcUM7SUFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixrRUFBa0U7SUFDbEUsYUFBYSxFQUFFLFdBQVcs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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,7 +7,9 @@ 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, readdirSync, rmSync } from 'fs';
|
|
11
|
+
import { tmpdir } from 'os';
|
|
12
|
+
import { dirname, join, resolve } from 'path';
|
|
11
13
|
import readline from 'readline';
|
|
12
14
|
import { foundry, mainnet, sepolia } from 'viem/chains';
|
|
13
15
|
import { createEthereumChain, isAnvilTestChain } from './chain.js';
|
|
@@ -78,14 +80,63 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
78
80
|
}
|
|
79
81
|
}
|
|
80
82
|
/**
|
|
81
|
-
* Gets the path to the l1-contracts directory.
|
|
83
|
+
* Gets the path to the l1-contracts foundry artifacts directory.
|
|
84
|
+
* These are copied from l1-contracts to yarn-project/l1-artifacts/l1-contracts
|
|
85
|
+
* during build to make yarn-project self-contained.
|
|
82
86
|
*/ export function getL1ContractsPath() {
|
|
83
|
-
// Try to find l1-contracts relative to this file
|
|
84
87
|
const currentDir = dirname(fileURLToPath(import.meta.url));
|
|
85
|
-
// Go up from yarn-project/ethereum/
|
|
86
|
-
const l1ContractsPath = resolve(currentDir, '..', '..', '
|
|
88
|
+
// Go up from yarn-project/ethereum/dest to yarn-project, then to l1-artifacts/l1-contracts
|
|
89
|
+
const l1ContractsPath = resolve(currentDir, '..', '..', 'l1-artifacts', 'l1-contracts');
|
|
87
90
|
return l1ContractsPath;
|
|
88
91
|
}
|
|
92
|
+
// Cached deployment directory
|
|
93
|
+
let preparedDeployDir;
|
|
94
|
+
function cleanupDeployDir() {
|
|
95
|
+
if (preparedDeployDir) {
|
|
96
|
+
try {
|
|
97
|
+
rmSync(preparedDeployDir, {
|
|
98
|
+
recursive: true,
|
|
99
|
+
force: true
|
|
100
|
+
});
|
|
101
|
+
} catch {
|
|
102
|
+
// ignore cleanup errors
|
|
103
|
+
}
|
|
104
|
+
preparedDeployDir = undefined;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Prepares a temp directory for forge deployment.
|
|
109
|
+
* Copies all artifacts with preserved timestamps (required for forge cache validity).
|
|
110
|
+
* A fresh broadcast/ directory is created for deployment outputs.
|
|
111
|
+
*/ export function prepareL1ContractsForDeployment() {
|
|
112
|
+
if (preparedDeployDir && existsSync(preparedDeployDir)) {
|
|
113
|
+
return preparedDeployDir;
|
|
114
|
+
}
|
|
115
|
+
const basePath = getL1ContractsPath();
|
|
116
|
+
const tempDir = mkdtempSync(join(tmpdir(), '.foundry-deploy-'));
|
|
117
|
+
preparedDeployDir = tempDir;
|
|
118
|
+
process.on('exit', cleanupDeployDir);
|
|
119
|
+
// Copy all dirs with preserved timestamps (required for forge cache validity)
|
|
120
|
+
const copyOpts = {
|
|
121
|
+
recursive: true,
|
|
122
|
+
preserveTimestamps: true
|
|
123
|
+
};
|
|
124
|
+
cpSync(join(basePath, 'out'), join(tempDir, 'out'), copyOpts);
|
|
125
|
+
cpSync(join(basePath, 'lib'), join(tempDir, 'lib'), copyOpts);
|
|
126
|
+
cpSync(join(basePath, 'cache'), join(tempDir, 'cache'), copyOpts);
|
|
127
|
+
cpSync(join(basePath, 'src'), join(tempDir, 'src'), copyOpts);
|
|
128
|
+
cpSync(join(basePath, 'script'), join(tempDir, 'script'), copyOpts);
|
|
129
|
+
cpSync(join(basePath, 'generated'), join(tempDir, 'generated'), copyOpts);
|
|
130
|
+
cpSync(join(basePath, 'foundry.toml'), join(tempDir, 'foundry.toml'));
|
|
131
|
+
cpSync(join(basePath, 'foundry.lock'), join(tempDir, 'foundry.lock'));
|
|
132
|
+
for (const file of readdirSync(basePath)){
|
|
133
|
+
if (file.startsWith('solc-')) {
|
|
134
|
+
cpSync(join(basePath, file), join(tempDir, file));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
mkdirSync(join(tempDir, 'broadcast'));
|
|
138
|
+
return tempDir;
|
|
139
|
+
}
|
|
89
140
|
/**
|
|
90
141
|
* Computes the validator data for passing to Solidity.
|
|
91
142
|
* Only computes the G2 public key (which requires scalar multiplication on G2, not available in EVM).
|
|
@@ -125,7 +176,6 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
125
176
|
if (args.initialValidators && args.initialValidators.length > 0 && args.existingTokenAddress) {
|
|
126
177
|
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
178
|
}
|
|
128
|
-
const currentDir = dirname(fileURLToPath(import.meta.url));
|
|
129
179
|
const chain = createEthereumChain([
|
|
130
180
|
rpcUrl
|
|
131
181
|
], chainId);
|
|
@@ -155,8 +205,8 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
155
205
|
logger.error(`Error setting block interval: ${e}`);
|
|
156
206
|
}
|
|
157
207
|
}
|
|
158
|
-
//
|
|
159
|
-
const l1ContractsPath =
|
|
208
|
+
// Use foundry-artifacts from l1-artifacts package
|
|
209
|
+
const l1ContractsPath = prepareL1ContractsForDeployment();
|
|
160
210
|
const FORGE_SCRIPT = 'script/deploy/DeployAztecL1Contracts.s.sol';
|
|
161
211
|
await maybeForgeForceProductionBuild(l1ContractsPath, FORGE_SCRIPT, chainId);
|
|
162
212
|
// Verify contracts on Etherscan when on mainnet/sepolia and ETHERSCAN_API_KEY is available.
|
|
@@ -166,7 +216,7 @@ async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId)
|
|
|
166
216
|
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
217
|
}
|
|
168
218
|
// From heuristic testing. More caused issues with anvil.
|
|
169
|
-
const MAGIC_ANVIL_BATCH_SIZE =
|
|
219
|
+
const MAGIC_ANVIL_BATCH_SIZE = 8;
|
|
170
220
|
// Anvil seems to stall with unbounded batch size. Otherwise no max batch size is desirable.
|
|
171
221
|
const forgeArgs = [
|
|
172
222
|
'script',
|
|
@@ -280,6 +330,7 @@ export function getDeployRollupForUpgradeEnvVars(args) {
|
|
|
280
330
|
AZTEC_PROOF_SUBMISSION_EPOCHS: args.aztecProofSubmissionEpochs.toString(),
|
|
281
331
|
AZTEC_LOCAL_EJECTION_THRESHOLD: args.localEjectionThreshold.toString(),
|
|
282
332
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: args.slashingLifetimeInRounds.toString(),
|
|
333
|
+
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: args.slashingExecutionDelayInRounds.toString(),
|
|
283
334
|
AZTEC_SLASHING_VETOER: args.slashingVetoer.toString(),
|
|
284
335
|
AZTEC_SLASHING_DISABLE_DURATION: args.slashingDisableDuration.toString(),
|
|
285
336
|
AZTEC_MANA_TARGET: args.manaTarget.toString(),
|
|
@@ -297,9 +348,8 @@ export function getDeployRollupForUpgradeEnvVars(args) {
|
|
|
297
348
|
/**
|
|
298
349
|
* Deploys a new rollup, using the existing canonical version to derive certain values (addresses of assets etc).
|
|
299
350
|
*/ export const deployRollupForUpgrade = async (privateKey, rpcUrl, chainId, registryAddress, args)=>{
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
const l1ContractsPath = resolve(currentDir, '..', '..', '..', 'l1-contracts');
|
|
351
|
+
// Use foundry-artifacts from l1-artifacts package
|
|
352
|
+
const l1ContractsPath = prepareL1ContractsForDeployment();
|
|
303
353
|
const FORGE_SCRIPT = 'script/deploy/DeployRollupForUpgrade.s.sol';
|
|
304
354
|
await maybeForgeForceProductionBuild(l1ContractsPath, FORGE_SCRIPT, chainId);
|
|
305
355
|
const forgeArgs = [
|
|
@@ -0,0 +1,29 @@
|
|
|
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_SLASHER_FLAVOR: "tally";
|
|
18
|
+
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
|
|
19
|
+
readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
|
|
20
|
+
readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 0;
|
|
21
|
+
readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2;
|
|
22
|
+
readonly AZTEC_SLASHING_VETOER: "0x0000000000000000000000000000000000000000";
|
|
23
|
+
readonly AZTEC_SLASHING_DISABLE_DURATION: 432000;
|
|
24
|
+
readonly AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000;
|
|
25
|
+
readonly AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000;
|
|
26
|
+
readonly AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000;
|
|
27
|
+
readonly AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDEtY29udHJhY3RzLWRlZmF1bHRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkL2wxLWNvbnRyYWN0cy1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSwwRUFBMEU7QUFDMUUsZUFBTyxNQUFNLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EwQnhCLENBQUMifQ==
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BxB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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_SLASHER_FLAVOR: 'tally',
|
|
19
|
+
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
20
|
+
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
21
|
+
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 0,
|
|
22
|
+
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
23
|
+
AZTEC_SLASHING_VETOER: '0x0000000000000000000000000000000000000000',
|
|
24
|
+
AZTEC_SLASHING_DISABLE_DURATION: 432000,
|
|
25
|
+
AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
|
|
26
|
+
AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
|
|
27
|
+
AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
|
|
28
|
+
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300
|
|
29
|
+
};
|