@aztec/ethereum 0.0.1-commit.7d4e6cd → 0.0.1-commit.9372f48
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 +15 -28
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +46 -55
- 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 +1 -1
- package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
- package/dest/contracts/fee_asset_handler.js +2 -0
- 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 +4 -1
- 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/multicall.d.ts +1 -1
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +2 -1
- package/dest/contracts/rollup.d.ts +34 -3
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +71 -3
- 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 +6 -1
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_aztec_l1_contracts.js +20 -7
- 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 +1394 -471
- 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/l1_tx_utils.js +6 -6
- package/dest/l1_tx_utils/readonly_l1_tx_utils.js +3 -3
- 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 +4 -1
- 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 +4 -2
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +10 -1
- 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 +55 -54
- package/src/contracts/README.md +157 -0
- package/src/contracts/empire_slashing_proposer.ts +16 -27
- package/src/contracts/fee_asset_handler.ts +2 -0
- package/src/contracts/governance.ts +10 -1
- package/src/contracts/governance_proposer.ts +4 -1
- package/src/contracts/inbox.ts +48 -1
- package/src/contracts/index.ts +1 -0
- package/src/contracts/log.ts +13 -0
- package/src/contracts/multicall.ts +5 -2
- package/src/contracts/rollup.ts +100 -4
- package/src/contracts/tally_slashing_proposer.ts +5 -1
- package/src/deploy_aztec_l1_contracts.ts +21 -7
- package/src/generated/l1-contracts-defaults.ts +32 -0
- package/src/l1_tx_utils/constants.ts +2 -2
- package/src/l1_tx_utils/l1_tx_utils.ts +6 -6
- package/src/l1_tx_utils/readonly_l1_tx_utils.ts +3 -3
- package/src/publisher_manager.ts +4 -2
- package/src/queries.ts +3 -1
- package/src/test/rollup_cheat_codes.ts +11 -2
- package/src/test/start_anvil.ts +1 -1
- package/src/utils.ts +53 -0
|
@@ -7,7 +7,7 @@ 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 { cpSync, existsSync, mkdirSync, mkdtempSync,
|
|
10
|
+
import { cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'fs';
|
|
11
11
|
import { tmpdir } from 'os';
|
|
12
12
|
import { dirname, join, resolve } from 'path';
|
|
13
13
|
import readline from 'readline';
|
|
@@ -110,10 +110,13 @@ function cleanupDeployDir() {
|
|
|
110
110
|
* A fresh broadcast/ directory is created for deployment outputs.
|
|
111
111
|
*/ export function prepareL1ContractsForDeployment() {
|
|
112
112
|
if (preparedDeployDir && existsSync(preparedDeployDir)) {
|
|
113
|
+
logger.verbose(`Using cached deployment directory: ${preparedDeployDir}`);
|
|
113
114
|
return preparedDeployDir;
|
|
114
115
|
}
|
|
115
116
|
const basePath = getL1ContractsPath();
|
|
117
|
+
logger.verbose(`Preparing L1 contracts from: ${basePath}`);
|
|
116
118
|
const tempDir = mkdtempSync(join(tmpdir(), '.foundry-deploy-'));
|
|
119
|
+
logger.verbose(`Created temp directory for deployment: ${tempDir}`);
|
|
117
120
|
preparedDeployDir = tempDir;
|
|
118
121
|
process.on('exit', cleanupDeployDir);
|
|
119
122
|
// Copy all dirs with preserved timestamps (required for forge cache validity)
|
|
@@ -127,13 +130,20 @@ function cleanupDeployDir() {
|
|
|
127
130
|
cpSync(join(basePath, 'src'), join(tempDir, 'src'), copyOpts);
|
|
128
131
|
cpSync(join(basePath, 'script'), join(tempDir, 'script'), copyOpts);
|
|
129
132
|
cpSync(join(basePath, 'generated'), join(tempDir, 'generated'), copyOpts);
|
|
130
|
-
|
|
133
|
+
// Kludge: copy test/ to appease forge cache which references test/shouting.t.sol
|
|
134
|
+
cpSync(join(basePath, 'test'), join(tempDir, 'test'), copyOpts);
|
|
131
135
|
cpSync(join(basePath, 'foundry.lock'), join(tempDir, 'foundry.lock'));
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
+
// Update foundry.toml to use absolute path to solc binary (avoids copying to noexec tmpfs)
|
|
137
|
+
const foundryTomlPath = join(basePath, 'foundry.toml');
|
|
138
|
+
let foundryToml = readFileSync(foundryTomlPath, 'utf-8');
|
|
139
|
+
const solcPathMatch = foundryToml.match(/solc\s*=\s*"\.\/solc-([^"]+)"/);
|
|
140
|
+
if (solcPathMatch) {
|
|
141
|
+
const solcVersion = solcPathMatch[1];
|
|
142
|
+
const absoluteSolcPath = join(basePath, `solc-${solcVersion}`);
|
|
143
|
+
foundryToml = foundryToml.replace(/solc\s*=\s*"\.\/solc-[^"]+"/, `solc = "${absoluteSolcPath}"`);
|
|
144
|
+
logger.verbose(`Updated solc path in foundry.toml to: ${absoluteSolcPath}`);
|
|
136
145
|
}
|
|
146
|
+
writeFileSync(join(tempDir, 'foundry.toml'), foundryToml);
|
|
137
147
|
mkdirSync(join(tempDir, 'broadcast'));
|
|
138
148
|
return tempDir;
|
|
139
149
|
}
|
|
@@ -216,7 +226,7 @@ function cleanupDeployDir() {
|
|
|
216
226
|
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.`);
|
|
217
227
|
}
|
|
218
228
|
// From heuristic testing. More caused issues with anvil.
|
|
219
|
-
const MAGIC_ANVIL_BATCH_SIZE =
|
|
229
|
+
const MAGIC_ANVIL_BATCH_SIZE = 8;
|
|
220
230
|
// Anvil seems to stall with unbounded batch size. Otherwise no max batch size is desirable.
|
|
221
231
|
const forgeArgs = [
|
|
222
232
|
'script',
|
|
@@ -306,6 +316,7 @@ export function getDeployAztecL1ContractsEnvVars(args) {
|
|
|
306
316
|
AZTEC_EJECTION_THRESHOLD: args.ejectionThreshold?.toString(),
|
|
307
317
|
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: args.governanceProposerRoundSize?.toString(),
|
|
308
318
|
AZTEC_GOVERNANCE_PROPOSER_QUORUM: args.governanceProposerQuorum?.toString(),
|
|
319
|
+
AZTEC_GOVERNANCE_VOTING_DURATION: args.governanceVotingDuration?.toString(),
|
|
309
320
|
ZKPASSPORT_DOMAIN: args.zkPassportArgs?.zkPassportDomain,
|
|
310
321
|
ZKPASSPORT_SCOPE: args.zkPassportArgs?.zkPassportScope
|
|
311
322
|
};
|
|
@@ -330,11 +341,13 @@ export function getDeployRollupForUpgradeEnvVars(args) {
|
|
|
330
341
|
AZTEC_PROOF_SUBMISSION_EPOCHS: args.aztecProofSubmissionEpochs.toString(),
|
|
331
342
|
AZTEC_LOCAL_EJECTION_THRESHOLD: args.localEjectionThreshold.toString(),
|
|
332
343
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: args.slashingLifetimeInRounds.toString(),
|
|
344
|
+
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: args.slashingExecutionDelayInRounds.toString(),
|
|
333
345
|
AZTEC_SLASHING_VETOER: args.slashingVetoer.toString(),
|
|
334
346
|
AZTEC_SLASHING_DISABLE_DURATION: args.slashingDisableDuration.toString(),
|
|
335
347
|
AZTEC_MANA_TARGET: args.manaTarget.toString(),
|
|
336
348
|
AZTEC_EXIT_DELAY_SECONDS: args.exitDelaySeconds.toString(),
|
|
337
349
|
AZTEC_PROVING_COST_PER_MANA: args.provingCostPerMana.toString(),
|
|
350
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: args.initialEthPerFeeAsset.toString(),
|
|
338
351
|
AZTEC_SLASHER_FLAVOR: args.slasherFlavor,
|
|
339
352
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: args.slashingRoundSizeInEpochs.toString(),
|
|
340
353
|
AZTEC_SLASHING_QUORUM: args.slashingQuorum?.toString(),
|
|
@@ -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
|
+
};
|