@aztec/ethereum 0.0.1-commit.993d240 → 0.0.1-commit.9a89641
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/client.d.ts +11 -3
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +35 -3
- package/dest/config.d.ts +22 -3
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +54 -3
- package/dest/contracts/governance.d.ts +36 -11
- package/dest/contracts/governance.d.ts.map +1 -1
- package/dest/contracts/governance.js +54 -24
- package/dest/contracts/governance_proposer.d.ts +7 -8
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +7 -10
- package/dest/contracts/gse.d.ts +8 -2
- package/dest/contracts/gse.d.ts.map +1 -1
- package/dest/contracts/gse.js +11 -2
- package/dest/contracts/multicall.d.ts +5 -3
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +7 -5
- package/dest/contracts/outbox.d.ts +8 -2
- package/dest/contracts/outbox.d.ts.map +1 -1
- package/dest/contracts/outbox.js +6 -2
- package/dest/contracts/rollup.d.ts +176 -9
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +48 -8
- package/dest/contracts/slashing_proposer.d.ts +37 -6
- package/dest/contracts/slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/slashing_proposer.js +447 -17
- package/dest/deploy_aztec_l1_contracts.d.ts +16 -5
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_aztec_l1_contracts.js +26 -13
- package/dest/foundry_binary.d.ts +13 -0
- package/dest/foundry_binary.d.ts.map +1 -0
- package/dest/foundry_binary.js +52 -0
- package/dest/l1_artifacts.d.ts +1242 -95
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_tx_utils/config.js +3 -3
- package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +23 -4
- package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_fee_analyzer.js +65 -3
- package/dest/l1_tx_utils/l1_tx_utils.d.ts +1 -1
- package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_tx_utils.js +84 -22
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.js +2 -1
- package/dest/l1_tx_utils/types.d.ts +27 -1
- package/dest/l1_tx_utils/types.d.ts.map +1 -1
- package/dest/l1_tx_utils/types.js +10 -0
- package/dest/publisher_manager.d.ts +18 -6
- package/dest/publisher_manager.d.ts.map +1 -1
- package/dest/publisher_manager.js +44 -7
- package/dest/queries.d.ts +1 -1
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +7 -1
- package/dest/test/blob_kzg_warmup.d.ts +19 -0
- package/dest/test/blob_kzg_warmup.d.ts.map +1 -0
- package/dest/test/blob_kzg_warmup.js +64 -0
- package/dest/test/chain_monitor.d.ts +33 -2
- package/dest/test/chain_monitor.d.ts.map +1 -1
- package/dest/test/chain_monitor.js +71 -6
- package/dest/test/eth_cheat_codes.d.ts +26 -3
- package/dest/test/eth_cheat_codes.d.ts.map +1 -1
- package/dest/test/eth_cheat_codes.js +72 -37
- package/dest/test/index.d.ts +2 -1
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +1 -0
- package/dest/test/rollup_cheat_codes.d.ts +30 -1
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +27 -0
- package/dest/test/start_anvil.d.ts +1 -1
- package/dest/test/start_anvil.d.ts.map +1 -1
- package/dest/test/start_anvil.js +41 -5
- package/dest/utils.d.ts +2 -2
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +15 -6
- package/package.json +5 -6
- package/src/client.ts +39 -1
- package/src/config.ts +73 -3
- package/src/contracts/governance.ts +63 -20
- package/src/contracts/governance_proposer.ts +11 -15
- package/src/contracts/gse.ts +19 -2
- package/src/contracts/multicall.ts +8 -5
- package/src/contracts/outbox.ts +6 -2
- package/src/contracts/rollup.ts +57 -8
- package/src/contracts/slashing_proposer.ts +78 -15
- package/src/deploy_aztec_l1_contracts.ts +31 -13
- package/src/foundry_binary.ts +57 -0
- package/src/l1_tx_utils/config.ts +3 -3
- package/src/l1_tx_utils/l1_fee_analyzer.ts +75 -3
- package/src/l1_tx_utils/l1_tx_utils.ts +71 -20
- package/src/l1_tx_utils/readonly_l1_tx_utils.ts +2 -1
- package/src/l1_tx_utils/types.ts +32 -0
- package/src/publisher_manager.ts +54 -18
- package/src/queries.ts +6 -0
- package/src/test/blob_kzg_warmup.ts +65 -0
- package/src/test/chain_monitor.ts +88 -5
- package/src/test/eth_cheat_codes.ts +66 -41
- package/src/test/index.ts +1 -0
- package/src/test/rollup_cheat_codes.ts +51 -0
- package/src/test/start_anvil.ts +38 -6
- package/src/utils.ts +12 -6
- package/dest/generated/l1-contracts-defaults.d.ts +0 -30
- package/dest/generated/l1-contracts-defaults.d.ts.map +0 -1
- package/dest/generated/l1-contracts-defaults.js +0 -30
- package/src/generated/l1-contracts-defaults.ts +0 -32
package/src/test/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { ViemPublicClient } from '@aztec/ethereum/types';
|
|
|
4
4
|
import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
5
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
6
|
import { createLogger } from '@aztec/foundation/log';
|
|
7
|
+
import { retryUntil } from '@aztec/foundation/retry';
|
|
7
8
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
8
9
|
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
9
10
|
|
|
@@ -244,6 +245,56 @@ export class RollupCheatCodes {
|
|
|
244
245
|
});
|
|
245
246
|
}
|
|
246
247
|
|
|
248
|
+
/**
|
|
249
|
+
* Polls the rollup until its current epoch reaches `epoch`. Unlike {@link advanceToEpoch} this does
|
|
250
|
+
* not warp the L1 clock; it only waits for the chain to reach `epoch` through external activity.
|
|
251
|
+
*/
|
|
252
|
+
public async waitForEpoch(epoch: EpochNumber, opts: { timeout?: number; interval?: number } = {}): Promise<void> {
|
|
253
|
+
await retryUntil(
|
|
254
|
+
async () => (await this.getEpoch()) >= epoch || undefined,
|
|
255
|
+
`rollup epoch >= ${epoch}`,
|
|
256
|
+
opts.timeout ?? 60,
|
|
257
|
+
opts.interval ?? 1,
|
|
258
|
+
);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Polls the rollup until its current slot reaches `slot`. Unlike {@link advanceToSlot} this does not
|
|
263
|
+
* warp the L1 clock; it only waits for the chain to reach `slot` through external activity.
|
|
264
|
+
*/
|
|
265
|
+
public async waitForSlot(slot: SlotNumber, opts: { timeout?: number; interval?: number } = {}): Promise<void> {
|
|
266
|
+
await retryUntil(
|
|
267
|
+
async () => (await this.getSlot()) >= slot || undefined,
|
|
268
|
+
`rollup slot >= ${slot}`,
|
|
269
|
+
opts.timeout ?? 60,
|
|
270
|
+
opts.interval ?? 1,
|
|
271
|
+
);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Polls the rollup until its pending checkpoint settles below `checkpoint` on a freshly mined, non-zero
|
|
276
|
+
* checkpoint, and returns that new pending checkpoint number. Reads the L1 rollup contract directly
|
|
277
|
+
* rather than a node, since a rollback lands on L1 first.
|
|
278
|
+
*
|
|
279
|
+
* A prune can momentarily drop the pending checkpoint to 0 before the post-deadline propose mines its
|
|
280
|
+
* replacement, so a caller detecting a rollback wants the new lower checkpoint, not that transient
|
|
281
|
+
* empty state — hence the non-zero guard.
|
|
282
|
+
*/
|
|
283
|
+
public async waitForCheckpointBelow(
|
|
284
|
+
checkpoint: CheckpointNumber,
|
|
285
|
+
opts: { timeout?: number; interval?: number } = {},
|
|
286
|
+
): Promise<CheckpointNumber> {
|
|
287
|
+
return await retryUntil(
|
|
288
|
+
async () => {
|
|
289
|
+
const { pending } = await this.getTips();
|
|
290
|
+
return pending > 0 && pending < checkpoint ? pending : undefined;
|
|
291
|
+
},
|
|
292
|
+
`rollup checkpoint in (0, ${checkpoint})`,
|
|
293
|
+
opts.timeout ?? 60,
|
|
294
|
+
opts.interval ?? 1,
|
|
295
|
+
);
|
|
296
|
+
}
|
|
297
|
+
|
|
247
298
|
/**
|
|
248
299
|
* Overrides the inProgress field of the Inbox contract state
|
|
249
300
|
* @param howMuch - How many checkpoints to move it forward
|
package/src/test/start_anvil.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
2
|
import { makeBackoff, retry } from '@aztec/foundation/retry';
|
|
3
3
|
import type { TestDateProvider } from '@aztec/foundation/timer';
|
|
4
|
-
import { fileURLToPath } from '@aztec/foundation/url';
|
|
5
4
|
|
|
6
5
|
import { type ChildProcess, spawn } from 'child_process';
|
|
7
|
-
|
|
6
|
+
|
|
7
|
+
import { resolveFoundryBinary } from '../foundry_binary.js';
|
|
8
8
|
|
|
9
9
|
/** Minimal interface matching the @viem/anvil Anvil shape used by callers. */
|
|
10
10
|
export interface Anvil {
|
|
@@ -14,6 +14,30 @@ export interface Anvil {
|
|
|
14
14
|
stop(): Promise<void>;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
// Watchdog wrapper: instead of spawning anvil directly, we spawn a small bash supervisor that runs
|
|
18
|
+
// anvil as a background child and polls its own parent (this node process). If the parent dies for
|
|
19
|
+
// ANY reason — including SIGKILL / crash / OOM, where node's own exit handlers never run — the poll
|
|
20
|
+
// loop ends and the EXIT trap reaps anvil. The script is inlined (rather than shipped as a `.sh`) so
|
|
21
|
+
// it works from the published npm tarball too, and the resolved anvil binary is passed via
|
|
22
|
+
// `$ANVIL_BIN` so it works without `anvil` on PATH.
|
|
23
|
+
//
|
|
24
|
+
// `$@` is the anvil argv; `bash -c <script> bash <...args>` puts the args in `$@` and `$0` = 'bash'.
|
|
25
|
+
//
|
|
26
|
+
// The EXIT trap reaps anvil; INT/TERM just `exit` (which fires the EXIT trap) so a signal terminates
|
|
27
|
+
// the supervisor promptly instead of being swallowed — a trapped TERM does NOT terminate the shell,
|
|
28
|
+
// so trapping the kill directly on TERM would leave the poll loop running and the caller's teardown
|
|
29
|
+
// hanging until its SIGKILL escalation. `sleep & wait` makes the poll interruptible, so INT/TERM are
|
|
30
|
+
// handled immediately rather than after the current `sleep` returns.
|
|
31
|
+
const ANVIL_WATCHDOG = `
|
|
32
|
+
set -u
|
|
33
|
+
parent=$PPID
|
|
34
|
+
"$ANVIL_BIN" "$@" &
|
|
35
|
+
anvil_pid=$!
|
|
36
|
+
trap 'kill "$anvil_pid" 2>/dev/null' EXIT
|
|
37
|
+
trap 'exit 0' INT TERM
|
|
38
|
+
while kill -0 "$parent" 2>/dev/null; do sleep 1 & wait $!; done
|
|
39
|
+
`;
|
|
40
|
+
|
|
17
41
|
/**
|
|
18
42
|
* Ensures there's a running Anvil instance and returns the RPC URL.
|
|
19
43
|
*/
|
|
@@ -42,7 +66,7 @@ export async function startAnvil(
|
|
|
42
66
|
dateProvider?: TestDateProvider;
|
|
43
67
|
} = {},
|
|
44
68
|
): Promise<{ anvil: Anvil; methodCalls?: string[]; rpcUrl: string; stop: () => Promise<void> }> {
|
|
45
|
-
const anvilBinary =
|
|
69
|
+
const anvilBinary = resolveFoundryBinary('anvil');
|
|
46
70
|
const logger = opts.log ? createLogger('ethereum:anvil') : undefined;
|
|
47
71
|
const methodCalls = opts.captureMethodCalls ? ([] as string[]) : undefined;
|
|
48
72
|
|
|
@@ -50,6 +74,9 @@ export async function startAnvil(
|
|
|
50
74
|
|
|
51
75
|
const anvil = await retry(
|
|
52
76
|
async () => {
|
|
77
|
+
// `--port 0` lets anvil bind an OS-assigned ephemeral port; the actual port is read back from
|
|
78
|
+
// its "Listening on host:port" stdout below, so independent suites can spawn their own anvil
|
|
79
|
+
// in parallel without fighting over a fixed port.
|
|
53
80
|
const port = opts.port ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : 8545);
|
|
54
81
|
const args: string[] = [
|
|
55
82
|
'--host',
|
|
@@ -71,9 +98,11 @@ export async function startAnvil(
|
|
|
71
98
|
}
|
|
72
99
|
args.push('--slots-in-an-epoch', String(opts.slotsInAnEpoch ?? 1));
|
|
73
100
|
|
|
74
|
-
|
|
101
|
+
// Spawn the watchdog (see ANVIL_WATCHDOG). It launches anvil with these args and reaps it if we
|
|
102
|
+
// die; `$0` is 'bash' and `$@` is the anvil argv.
|
|
103
|
+
const child = spawn('bash', ['-c', ANVIL_WATCHDOG, 'bash', ...args], {
|
|
75
104
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
76
|
-
env: { ...process.env, RAYON_NUM_THREADS: '1' },
|
|
105
|
+
env: { ...process.env, ANVIL_BIN: anvilBinary, RAYON_NUM_THREADS: '1' },
|
|
77
106
|
});
|
|
78
107
|
|
|
79
108
|
// Wait for "Listening on" or an early exit.
|
|
@@ -183,7 +212,10 @@ function syncDateProviderFromAnvilOutput(text: string, dateProvider: TestDatePro
|
|
|
183
212
|
}
|
|
184
213
|
}
|
|
185
214
|
|
|
186
|
-
/**
|
|
215
|
+
/**
|
|
216
|
+
* Send SIGTERM to the watchdog, wait up to 5 s, then SIGKILL. The watchdog's trap forwards the
|
|
217
|
+
* signal to anvil, so terminating it tears down anvil too. All timers are always cleared.
|
|
218
|
+
*/
|
|
187
219
|
function killChild(child: ChildProcess): Promise<void> {
|
|
188
220
|
return new Promise<void>(resolve => {
|
|
189
221
|
if (child.exitCode !== null || child.killed) {
|
package/src/utils.ts
CHANGED
|
@@ -27,8 +27,8 @@ export interface L2Claim {
|
|
|
27
27
|
export class FormattedViemError extends Error {
|
|
28
28
|
metaMessages?: any[];
|
|
29
29
|
|
|
30
|
-
constructor(message: string, metaMessages?: any[]) {
|
|
31
|
-
super(message);
|
|
30
|
+
constructor(message: string, metaMessages?: any[], options?: ErrorOptions) {
|
|
31
|
+
super(message, options);
|
|
32
32
|
this.name = 'FormattedViemError';
|
|
33
33
|
this.metaMessages = metaMessages;
|
|
34
34
|
}
|
|
@@ -197,6 +197,8 @@ export function formatViemError(error: any, abi: Abi = ErrorsAbi): FormattedViem
|
|
|
197
197
|
return error;
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
+
const originalError = error;
|
|
201
|
+
|
|
200
202
|
// First try to decode as a custom error using the ABI
|
|
201
203
|
try {
|
|
202
204
|
const data = getNestedErrorData(error);
|
|
@@ -207,7 +209,9 @@ export function formatViemError(error: any, abi: Abi = ErrorsAbi): FormattedViem
|
|
|
207
209
|
data: data as Hex,
|
|
208
210
|
});
|
|
209
211
|
if (decoded) {
|
|
210
|
-
return new FormattedViemError(`${decoded.errorName}(${decoded.args?.join(', ') ?? ''})`, error?.metaMessages
|
|
212
|
+
return new FormattedViemError(`${decoded.errorName}(${decoded.args?.join(', ') ?? ''})`, error?.metaMessages, {
|
|
213
|
+
cause: originalError,
|
|
214
|
+
});
|
|
211
215
|
}
|
|
212
216
|
}
|
|
213
217
|
|
|
@@ -224,7 +228,7 @@ export function formatViemError(error: any, abi: Abi = ErrorsAbi): FormattedViem
|
|
|
224
228
|
revertError.metaMessages && revertError.metaMessages?.length > 1
|
|
225
229
|
? revertError.metaMessages[1].trimStart()
|
|
226
230
|
: '';
|
|
227
|
-
return new FormattedViemError(`${errorName}${args}`, error?.metaMessages);
|
|
231
|
+
return new FormattedViemError(`${errorName}${args}`, error?.metaMessages, { cause: originalError });
|
|
228
232
|
}
|
|
229
233
|
}
|
|
230
234
|
} catch {
|
|
@@ -247,10 +251,12 @@ export function formatViemError(error: any, abi: Abi = ErrorsAbi): FormattedViem
|
|
|
247
251
|
|
|
248
252
|
// If it's a regular Error instance, return it with its message
|
|
249
253
|
if (error instanceof Error) {
|
|
250
|
-
return new FormattedViemError(truncateErrorMessage(error.message), (error as any)?.metaMessages
|
|
254
|
+
return new FormattedViemError(truncateErrorMessage(error.message), (error as any)?.metaMessages, {
|
|
255
|
+
cause: originalError,
|
|
256
|
+
});
|
|
251
257
|
}
|
|
252
258
|
|
|
253
|
-
return new FormattedViemError(truncateErrorMessage(String(error)));
|
|
259
|
+
return new FormattedViemError(truncateErrorMessage(String(error)), undefined, { cause: originalError });
|
|
254
260
|
}
|
|
255
261
|
|
|
256
262
|
function stripAbis(obj: any) {
|
|
@@ -1,30 +0,0 @@
|
|
|
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: 72;
|
|
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_ENABLED: true;
|
|
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=
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
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: 72,
|
|
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_ENABLED: true,
|
|
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
|
-
};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Auto-generated from spartan/environments/network-defaults.yml
|
|
2
|
-
// Do not edit manually - run yarn generate to regenerate
|
|
3
|
-
|
|
4
|
-
/** Default L1 contracts configuration values from network-defaults.yml */
|
|
5
|
-
export const l1ContractsDefaultEnv = {
|
|
6
|
-
ETHEREUM_SLOT_DURATION: 12,
|
|
7
|
-
AZTEC_SLOT_DURATION: 72,
|
|
8
|
-
AZTEC_EPOCH_DURATION: 32,
|
|
9
|
-
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
10
|
-
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|
|
11
|
-
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
12
|
-
AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
|
|
13
|
-
AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
|
|
14
|
-
AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
|
|
15
|
-
AZTEC_EXIT_DELAY_SECONDS: 172800,
|
|
16
|
-
AZTEC_INBOX_LAG: 1,
|
|
17
|
-
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
18
|
-
AZTEC_MANA_TARGET: 100000000,
|
|
19
|
-
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
20
|
-
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
21
|
-
AZTEC_SLASHER_ENABLED: true,
|
|
22
|
-
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
23
|
-
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
24
|
-
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 0,
|
|
25
|
-
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
26
|
-
AZTEC_SLASHING_VETOER: '0x0000000000000000000000000000000000000000',
|
|
27
|
-
AZTEC_SLASHING_DISABLE_DURATION: 432000,
|
|
28
|
-
AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
|
|
29
|
-
AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
|
|
30
|
-
AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
|
|
31
|
-
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300,
|
|
32
|
-
} as const;
|