@aztec/cli 0.0.1-fake-ceab37513c → 0.0.2-commit.217f559981
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/README.md +2 -428
- package/dest/cmds/aztec_node/block_number.d.ts +3 -0
- package/dest/cmds/aztec_node/block_number.d.ts.map +1 -0
- package/dest/cmds/aztec_node/block_number.js +10 -0
- package/dest/cmds/aztec_node/get_block.d.ts +3 -0
- package/dest/cmds/aztec_node/get_block.d.ts.map +1 -0
- package/dest/cmds/aztec_node/get_block.js +10 -0
- package/dest/cmds/aztec_node/get_current_min_fee.d.ts +3 -0
- package/dest/cmds/aztec_node/get_current_min_fee.d.ts.map +1 -0
- package/dest/cmds/aztec_node/get_current_min_fee.js +7 -0
- package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.d.ts +5 -0
- package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.d.ts.map +1 -0
- package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.js +12 -0
- package/dest/cmds/aztec_node/get_logs.d.ts +7 -0
- package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -0
- package/dest/cmds/{pxe → aztec_node}/get_logs.js +4 -4
- package/dest/cmds/aztec_node/get_node_info.d.ts +3 -0
- package/dest/cmds/aztec_node/get_node_info.d.ts.map +1 -0
- package/dest/cmds/{pxe → aztec_node}/get_node_info.js +3 -8
- package/dest/cmds/aztec_node/index.d.ts +4 -0
- package/dest/cmds/aztec_node/index.d.ts.map +1 -0
- package/dest/cmds/aztec_node/index.js +28 -0
- package/dest/cmds/contracts/index.d.ts +1 -1
- package/dest/cmds/contracts/inspect_contract.d.ts +1 -1
- package/dest/cmds/contracts/inspect_contract.d.ts.map +1 -1
- package/dest/cmds/contracts/inspect_contract.js +4 -10
- package/dest/cmds/contracts/parse_parameter_struct.d.ts +1 -1
- package/dest/cmds/infrastructure/index.d.ts +3 -3
- package/dest/cmds/infrastructure/index.d.ts.map +1 -1
- package/dest/cmds/infrastructure/index.js +7 -9
- package/dest/cmds/infrastructure/sequencers.d.ts +3 -5
- package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -1
- package/dest/cmds/infrastructure/sequencers.js +15 -7
- package/dest/cmds/infrastructure/setup_l2_contract.d.ts +2 -2
- package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -1
- package/dest/cmds/infrastructure/setup_l2_contract.js +11 -25
- package/dest/cmds/l1/advance_epoch.d.ts +2 -2
- package/dest/cmds/l1/advance_epoch.d.ts.map +1 -1
- package/dest/cmds/l1/advance_epoch.js +6 -5
- package/dest/cmds/l1/assume_proven_through.d.ts +3 -2
- package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
- package/dest/cmds/l1/assume_proven_through.js +8 -8
- package/dest/cmds/l1/bridge_erc20.d.ts +2 -2
- package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -1
- package/dest/cmds/l1/bridge_erc20.js +3 -2
- package/dest/cmds/l1/compute_genesis_values.d.ts +4 -0
- package/dest/cmds/l1/compute_genesis_values.d.ts.map +1 -0
- package/dest/cmds/l1/compute_genesis_values.js +17 -0
- package/dest/cmds/l1/create_l1_account.d.ts +1 -1
- package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts +4 -0
- package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts.map +1 -0
- package/dest/cmds/l1/{deploy_l1_contracts.js → deploy_l1_contracts_cmd.js} +42 -7
- package/dest/cmds/l1/deploy_new_rollup.d.ts +4 -4
- package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
- package/dest/cmds/l1/deploy_new_rollup.js +5 -5
- package/dest/cmds/l1/get_l1_addresses.d.ts +2 -2
- package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -1
- package/dest/cmds/l1/get_l1_addresses.js +5 -2
- package/dest/cmds/l1/get_l1_balance.d.ts +1 -1
- package/dest/cmds/l1/get_l1_balance.js +4 -2
- package/dest/cmds/l1/governance_utils.d.ts +5 -5
- package/dest/cmds/l1/governance_utils.d.ts.map +1 -1
- package/dest/cmds/l1/governance_utils.js +3 -1
- package/dest/cmds/l1/index.d.ts +1 -2
- package/dest/cmds/l1/index.d.ts.map +1 -1
- package/dest/cmds/l1/index.js +20 -13
- package/dest/cmds/l1/prover_stats.d.ts +1 -1
- package/dest/cmds/l1/prover_stats.d.ts.map +1 -1
- package/dest/cmds/l1/prover_stats.js +32 -30
- package/dest/cmds/l1/trigger_seed_snapshot.d.ts +2 -2
- package/dest/cmds/l1/trigger_seed_snapshot.d.ts.map +1 -1
- package/dest/cmds/l1/trigger_seed_snapshot.js +2 -1
- package/dest/cmds/l1/update_l1_validators.d.ts +7 -7
- package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
- package/dest/cmds/l1/update_l1_validators.js +62 -22
- package/dest/cmds/misc/compute_selector.d.ts +1 -1
- package/dest/cmds/misc/example_contracts.d.ts +1 -1
- package/dest/cmds/misc/generate_bootnode_enr.d.ts +1 -1
- package/dest/cmds/misc/generate_p2p_private_key.d.ts +1 -1
- package/dest/cmds/misc/generate_secret_and_hash.d.ts +1 -1
- package/dest/cmds/misc/generate_secret_and_hash.js +2 -2
- package/dest/cmds/misc/generate_secret_key.d.ts +2 -2
- package/dest/cmds/misc/generate_secret_key.d.ts.map +1 -1
- package/dest/cmds/misc/generate_secret_key.js +1 -1
- package/dest/cmds/misc/get_canonical_sponsored_fpc_address.d.ts +1 -1
- package/dest/cmds/misc/index.d.ts +1 -1
- package/dest/cmds/misc/index.d.ts.map +1 -1
- package/dest/cmds/misc/index.js +1 -1
- package/dest/cmds/misc/update/common.d.ts +1 -1
- package/dest/cmds/misc/update/github.d.ts +1 -1
- package/dest/cmds/misc/update/noir.d.ts +1 -1
- package/dest/cmds/misc/update/npm.d.ts +1 -1
- package/dest/cmds/misc/update/npm.js +1 -1
- package/dest/cmds/misc/update/utils.d.ts +1 -1
- package/dest/cmds/misc/update.d.ts +1 -1
- package/dest/cmds/validator_keys/add.d.ts +5 -0
- package/dest/cmds/validator_keys/add.d.ts.map +1 -0
- package/dest/cmds/validator_keys/add.js +83 -0
- package/dest/cmds/validator_keys/generate_bls_keypair.d.ts +12 -0
- package/dest/cmds/validator_keys/generate_bls_keypair.d.ts.map +1 -0
- package/dest/cmds/validator_keys/generate_bls_keypair.js +27 -0
- package/dest/cmds/validator_keys/index.d.ts +4 -0
- package/dest/cmds/validator_keys/index.d.ts.map +1 -0
- package/dest/cmds/validator_keys/index.js +32 -0
- package/dest/cmds/validator_keys/new.d.ts +29 -0
- package/dest/cmds/validator_keys/new.d.ts.map +1 -0
- package/dest/cmds/validator_keys/new.js +134 -0
- package/dest/cmds/validator_keys/shared.d.ts +68 -0
- package/dest/cmds/validator_keys/shared.d.ts.map +1 -0
- package/dest/cmds/validator_keys/shared.js +274 -0
- package/dest/cmds/validator_keys/staker.d.ts +38 -0
- package/dest/cmds/validator_keys/staker.d.ts.map +1 -0
- package/dest/cmds/validator_keys/staker.js +210 -0
- package/dest/cmds/validator_keys/utils.d.ts +25 -0
- package/dest/cmds/validator_keys/utils.d.ts.map +1 -0
- package/dest/cmds/validator_keys/utils.js +52 -0
- package/dest/config/cached_fetch.d.ts +2 -2
- package/dest/config/cached_fetch.d.ts.map +1 -1
- package/dest/config/cached_fetch.js +1 -1
- package/dest/config/chain_l2_config.d.ts +13 -37
- package/dest/config/chain_l2_config.d.ts.map +1 -1
- package/dest/config/chain_l2_config.js +34 -363
- package/dest/config/enrich_env.d.ts +1 -1
- package/dest/config/enrich_env.js +1 -1
- package/dest/config/generated/networks.d.ts +211 -0
- package/dest/config/generated/networks.d.ts.map +1 -0
- package/dest/config/generated/networks.js +212 -0
- package/dest/config/get_l1_config.d.ts +3 -2
- package/dest/config/get_l1_config.d.ts.map +1 -1
- package/dest/config/get_l1_config.js +3 -1
- package/dest/config/index.d.ts +1 -1
- package/dest/config/network_config.d.ts +7 -4
- package/dest/config/network_config.d.ts.map +1 -1
- package/dest/config/network_config.js +65 -29
- package/dest/utils/aztec.d.ts +8 -20
- package/dest/utils/aztec.d.ts.map +1 -1
- package/dest/utils/aztec.js +22 -68
- package/dest/utils/commands.d.ts +21 -12
- package/dest/utils/commands.d.ts.map +1 -1
- package/dest/utils/commands.js +38 -11
- package/dest/utils/encoding.d.ts +1 -1
- package/dest/utils/encoding.js +1 -1
- package/dest/utils/github.d.ts +1 -1
- package/dest/utils/index.d.ts +1 -1
- package/dest/utils/inspect.d.ts +5 -11
- package/dest/utils/inspect.d.ts.map +1 -1
- package/dest/utils/inspect.js +17 -96
- package/dest/utils/setup_contracts.d.ts +2 -4
- package/dest/utils/setup_contracts.d.ts.map +1 -1
- package/dest/utils/setup_contracts.js +2 -22
- package/package.json +48 -30
- package/public_include_metric_prefixes.json +1 -0
- package/src/cmds/aztec_node/block_number.ts +9 -0
- package/src/cmds/aztec_node/get_block.ts +11 -0
- package/src/cmds/aztec_node/get_current_min_fee.ts +9 -0
- package/src/cmds/aztec_node/get_l1_to_l2_message_witness.ts +27 -0
- package/src/cmds/{pxe → aztec_node}/get_logs.ts +11 -9
- package/src/cmds/{pxe → aztec_node}/get_node_info.ts +5 -16
- package/src/cmds/aztec_node/index.ts +87 -0
- package/src/cmds/contracts/inspect_contract.ts +4 -11
- package/src/cmds/infrastructure/index.ts +7 -18
- package/src/cmds/infrastructure/sequencers.ts +13 -11
- package/src/cmds/infrastructure/setup_l2_contract.ts +14 -30
- package/src/cmds/l1/advance_epoch.ts +6 -5
- package/src/cmds/l1/assume_proven_through.ts +10 -9
- package/src/cmds/l1/bridge_erc20.ts +5 -2
- package/src/cmds/l1/compute_genesis_values.ts +29 -0
- package/src/cmds/l1/{deploy_l1_contracts.ts → deploy_l1_contracts_cmd.ts} +43 -25
- package/src/cmds/l1/deploy_new_rollup.ts +6 -11
- package/src/cmds/l1/get_l1_addresses.ts +5 -3
- package/src/cmds/l1/get_l1_balance.ts +2 -2
- package/src/cmds/l1/governance_utils.ts +3 -8
- package/src/cmds/l1/index.ts +34 -25
- package/src/cmds/l1/prover_stats.ts +42 -31
- package/src/cmds/l1/trigger_seed_snapshot.ts +2 -1
- package/src/cmds/l1/update_l1_validators.ts +56 -34
- package/src/cmds/misc/generate_secret_and_hash.ts +2 -2
- package/src/cmds/misc/generate_secret_key.ts +1 -1
- package/src/cmds/misc/index.ts +1 -1
- package/src/cmds/misc/update/npm.ts +1 -1
- package/src/cmds/validator_keys/add.ts +123 -0
- package/src/cmds/validator_keys/generate_bls_keypair.ts +34 -0
- package/src/cmds/validator_keys/index.ts +142 -0
- package/src/cmds/validator_keys/new.ts +207 -0
- package/src/cmds/validator_keys/shared.ts +326 -0
- package/src/cmds/validator_keys/staker.ts +301 -0
- package/src/cmds/validator_keys/utils.ts +81 -0
- package/src/config/cached_fetch.ts +1 -1
- package/src/config/chain_l2_config.ts +36 -470
- package/src/config/enrich_env.ts +1 -1
- package/src/config/generated/networks.ts +216 -0
- package/src/config/get_l1_config.ts +4 -1
- package/src/config/network_config.ts +75 -30
- package/src/utils/aztec.ts +27 -122
- package/src/utils/commands.ts +52 -15
- package/src/utils/encoding.ts +1 -1
- package/src/utils/inspect.ts +23 -112
- package/src/utils/setup_contracts.ts +4 -43
- package/dest/cmds/l1/deploy_l1_contracts.d.ts +0 -4
- package/dest/cmds/l1/deploy_l1_contracts.d.ts.map +0 -1
- package/dest/cmds/pxe/add_contract.d.ts +0 -5
- package/dest/cmds/pxe/add_contract.d.ts.map +0 -1
- package/dest/cmds/pxe/add_contract.js +0 -29
- package/dest/cmds/pxe/block_number.d.ts +0 -3
- package/dest/cmds/pxe/block_number.d.ts.map +0 -1
- package/dest/cmds/pxe/block_number.js +0 -10
- package/dest/cmds/pxe/get_account.d.ts +0 -4
- package/dest/cmds/pxe/get_account.d.ts.map +0 -1
- package/dest/cmds/pxe/get_account.js +0 -10
- package/dest/cmds/pxe/get_accounts.d.ts +0 -3
- package/dest/cmds/pxe/get_accounts.d.ts.map +0 -1
- package/dest/cmds/pxe/get_accounts.js +0 -25
- package/dest/cmds/pxe/get_block.d.ts +0 -3
- package/dest/cmds/pxe/get_block.d.ts.map +0 -1
- package/dest/cmds/pxe/get_block.js +0 -9
- package/dest/cmds/pxe/get_contract_data.d.ts +0 -4
- package/dest/cmds/pxe/get_contract_data.d.ts.map +0 -1
- package/dest/cmds/pxe/get_contract_data.js +0 -31
- package/dest/cmds/pxe/get_current_base_fee.d.ts +0 -3
- package/dest/cmds/pxe/get_current_base_fee.d.ts.map +0 -1
- package/dest/cmds/pxe/get_current_base_fee.js +0 -7
- package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts +0 -4
- package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts.map +0 -1
- package/dest/cmds/pxe/get_l1_to_l2_message_witness.js +0 -11
- package/dest/cmds/pxe/get_logs.d.ts +0 -4
- package/dest/cmds/pxe/get_logs.d.ts.map +0 -1
- package/dest/cmds/pxe/get_node_info.d.ts +0 -3
- package/dest/cmds/pxe/get_node_info.d.ts.map +0 -1
- package/dest/cmds/pxe/get_pxe_info.d.ts +0 -3
- package/dest/cmds/pxe/get_pxe_info.d.ts.map +0 -1
- package/dest/cmds/pxe/get_pxe_info.js +0 -11
- package/dest/cmds/pxe/index.d.ts +0 -4
- package/dest/cmds/pxe/index.d.ts.map +0 -1
- package/dest/cmds/pxe/index.js +0 -55
- package/src/cmds/pxe/add_contract.ts +0 -41
- package/src/cmds/pxe/block_number.ts +0 -9
- package/src/cmds/pxe/get_account.ts +0 -16
- package/src/cmds/pxe/get_accounts.ts +0 -35
- package/src/cmds/pxe/get_block.ts +0 -10
- package/src/cmds/pxe/get_contract_data.ts +0 -51
- package/src/cmds/pxe/get_current_base_fee.ts +0 -9
- package/src/cmds/pxe/get_l1_to_l2_message_witness.ts +0 -25
- package/src/cmds/pxe/get_pxe_info.ts +0 -13
- package/src/cmds/pxe/index.ts +0 -170
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
// Auto-generated from spartan/environments/network-defaults.yml
|
|
2
|
+
// Do not edit manually - run yarn generate to regenerate
|
|
3
|
+
|
|
4
|
+
export const devnetConfig = {
|
|
5
|
+
ETHEREUM_SLOT_DURATION: 12,
|
|
6
|
+
AZTEC_SLOT_DURATION: 36,
|
|
7
|
+
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
8
|
+
AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
|
|
9
|
+
AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
|
|
10
|
+
AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
|
|
11
|
+
AZTEC_EXIT_DELAY_SECONDS: 172800,
|
|
12
|
+
AZTEC_INBOX_LAG: 1,
|
|
13
|
+
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
14
|
+
AZTEC_MANA_TARGET: 100000000,
|
|
15
|
+
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
16
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
17
|
+
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
18
|
+
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
19
|
+
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
20
|
+
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
21
|
+
AZTEC_SLASHING_VETOER: '0x0000000000000000000000000000000000000000',
|
|
22
|
+
AZTEC_SLASHING_DISABLE_DURATION: 432000,
|
|
23
|
+
AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
|
|
24
|
+
AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
|
|
25
|
+
AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
|
|
26
|
+
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300,
|
|
27
|
+
SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
|
|
28
|
+
SLASH_MAX_PENALTY_PERCENTAGE: 2,
|
|
29
|
+
SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
|
|
30
|
+
SLASH_MAX_PAYLOAD_SIZE: 50,
|
|
31
|
+
SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
|
|
32
|
+
P2P_ENABLED: true,
|
|
33
|
+
BOOTSTRAP_NODES: '',
|
|
34
|
+
SEQ_MIN_TX_PER_BLOCK: 0,
|
|
35
|
+
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
36
|
+
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
37
|
+
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
38
|
+
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
39
|
+
NULLIFIER_TREE_MAP_SIZE_KB: 1073741824,
|
|
40
|
+
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
41
|
+
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
42
|
+
SENTINEL_ENABLED: true,
|
|
43
|
+
AZTEC_EPOCH_DURATION: 8,
|
|
44
|
+
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1,
|
|
45
|
+
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1,
|
|
46
|
+
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1,
|
|
47
|
+
L1_CHAIN_ID: 11155111,
|
|
48
|
+
TEST_ACCOUNTS: true,
|
|
49
|
+
SPONSORED_FPC: true,
|
|
50
|
+
TRANSACTIONS_DISABLED: false,
|
|
51
|
+
SEQ_MAX_TX_PER_BLOCK: 32,
|
|
52
|
+
PROVER_REAL_PROOFS: false,
|
|
53
|
+
PXE_PROVER_ENABLED: false,
|
|
54
|
+
SYNC_SNAPSHOTS_URLS: '',
|
|
55
|
+
SKIP_ARCHIVER_INITIAL_SYNC: false,
|
|
56
|
+
BLOB_ALLOW_EMPTY_SOURCES: false,
|
|
57
|
+
P2P_MAX_PENDING_TX_COUNT: 1000,
|
|
58
|
+
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: false,
|
|
59
|
+
AUTO_UPDATE: 'none',
|
|
60
|
+
AUTO_UPDATE_URL: '',
|
|
61
|
+
PUBLIC_OTEL_OPT_OUT: true,
|
|
62
|
+
PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
|
|
63
|
+
PUBLIC_OTEL_COLLECT_FROM: '',
|
|
64
|
+
SLASH_PRUNE_PENALTY: 10000000000000000000,
|
|
65
|
+
SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
|
|
66
|
+
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
|
|
67
|
+
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
68
|
+
SLASH_INACTIVITY_PENALTY: 10000000000000000000,
|
|
69
|
+
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
70
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
71
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
72
|
+
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
|
|
73
|
+
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
74
|
+
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
75
|
+
SLASH_GRACE_PERIOD_L2_SLOTS: 0,
|
|
76
|
+
} as const;
|
|
77
|
+
|
|
78
|
+
export const testnetConfig = {
|
|
79
|
+
ETHEREUM_SLOT_DURATION: 12,
|
|
80
|
+
AZTEC_EPOCH_DURATION: 32,
|
|
81
|
+
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
82
|
+
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|
|
83
|
+
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
84
|
+
AZTEC_EXIT_DELAY_SECONDS: 172800,
|
|
85
|
+
AZTEC_INBOX_LAG: 1,
|
|
86
|
+
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
87
|
+
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
88
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
89
|
+
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
90
|
+
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
91
|
+
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
92
|
+
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
93
|
+
AZTEC_SLASHING_DISABLE_DURATION: 432000,
|
|
94
|
+
AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
|
|
95
|
+
AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
|
|
96
|
+
AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
|
|
97
|
+
SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
|
|
98
|
+
SLASH_MAX_PENALTY_PERCENTAGE: 2,
|
|
99
|
+
SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
|
|
100
|
+
SLASH_MAX_PAYLOAD_SIZE: 50,
|
|
101
|
+
SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
|
|
102
|
+
P2P_ENABLED: true,
|
|
103
|
+
BOOTSTRAP_NODES: '',
|
|
104
|
+
SEQ_MIN_TX_PER_BLOCK: 0,
|
|
105
|
+
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
106
|
+
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
107
|
+
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
108
|
+
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
109
|
+
NULLIFIER_TREE_MAP_SIZE_KB: 1073741824,
|
|
110
|
+
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
111
|
+
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
112
|
+
SENTINEL_ENABLED: true,
|
|
113
|
+
AZTEC_SLOT_DURATION: 72,
|
|
114
|
+
AZTEC_ACTIVATION_THRESHOLD: 2E+23,
|
|
115
|
+
AZTEC_EJECTION_THRESHOLD: 1E+23,
|
|
116
|
+
AZTEC_LOCAL_EJECTION_THRESHOLD: 1.99E+23,
|
|
117
|
+
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 2,
|
|
118
|
+
AZTEC_SLASHING_VETOER: '0xdfe19Da6a717b7088621d8bBB66be59F2d78e924',
|
|
119
|
+
AZTEC_SLASHING_QUORUM: 33,
|
|
120
|
+
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100,
|
|
121
|
+
AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60,
|
|
122
|
+
AZTEC_MANA_TARGET: 150000000,
|
|
123
|
+
L1_CHAIN_ID: 11155111,
|
|
124
|
+
TEST_ACCOUNTS: false,
|
|
125
|
+
SPONSORED_FPC: true,
|
|
126
|
+
TRANSACTIONS_DISABLED: false,
|
|
127
|
+
SEQ_MAX_TX_PER_BLOCK: 8,
|
|
128
|
+
PROVER_REAL_PROOFS: true,
|
|
129
|
+
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
|
|
130
|
+
SLASH_PRUNE_PENALTY: 10000000000000000000,
|
|
131
|
+
SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
|
|
132
|
+
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
|
|
133
|
+
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
134
|
+
SLASH_INACTIVITY_PENALTY: 10000000000000000000,
|
|
135
|
+
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
136
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
137
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
138
|
+
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
|
|
139
|
+
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
140
|
+
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
141
|
+
SLASH_GRACE_PERIOD_L2_SLOTS: 64,
|
|
142
|
+
} as const;
|
|
143
|
+
|
|
144
|
+
export const mainnetConfig = {
|
|
145
|
+
ETHEREUM_SLOT_DURATION: 12,
|
|
146
|
+
AZTEC_EPOCH_DURATION: 32,
|
|
147
|
+
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|
|
148
|
+
AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
|
|
149
|
+
AZTEC_INBOX_LAG: 1,
|
|
150
|
+
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
151
|
+
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
152
|
+
AZTEC_SLASHER_FLAVOR: 'tally',
|
|
153
|
+
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
154
|
+
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
155
|
+
SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
|
|
156
|
+
SLASH_MAX_PENALTY_PERCENTAGE: 2,
|
|
157
|
+
SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
|
|
158
|
+
SLASH_MAX_PAYLOAD_SIZE: 50,
|
|
159
|
+
SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
|
|
160
|
+
P2P_ENABLED: true,
|
|
161
|
+
BOOTSTRAP_NODES: '',
|
|
162
|
+
SEQ_MIN_TX_PER_BLOCK: 0,
|
|
163
|
+
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
164
|
+
DATA_STORE_MAP_SIZE_KB: 134217728,
|
|
165
|
+
ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
|
|
166
|
+
NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
|
|
167
|
+
NULLIFIER_TREE_MAP_SIZE_KB: 1073741824,
|
|
168
|
+
PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
|
|
169
|
+
PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
|
|
170
|
+
SENTINEL_ENABLED: true,
|
|
171
|
+
AZTEC_SLOT_DURATION: 72,
|
|
172
|
+
AZTEC_TARGET_COMMITTEE_SIZE: 24,
|
|
173
|
+
AZTEC_ACTIVATION_THRESHOLD: 2E+23,
|
|
174
|
+
AZTEC_EJECTION_THRESHOLD: 1E+23,
|
|
175
|
+
AZTEC_LOCAL_EJECTION_THRESHOLD: 1.96E+23,
|
|
176
|
+
AZTEC_SLASH_AMOUNT_SMALL: 2E+21,
|
|
177
|
+
AZTEC_SLASH_AMOUNT_MEDIUM: 2E+21,
|
|
178
|
+
AZTEC_SLASH_AMOUNT_LARGE: 2E+21,
|
|
179
|
+
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 34,
|
|
180
|
+
AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 28,
|
|
181
|
+
AZTEC_SLASHING_VETOER: '0xBbB4aF368d02827945748b28CD4b2D42e4A37480',
|
|
182
|
+
AZTEC_SLASHING_QUORUM: 65,
|
|
183
|
+
AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600,
|
|
184
|
+
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000,
|
|
185
|
+
AZTEC_MANA_TARGET: 0,
|
|
186
|
+
AZTEC_PROVING_COST_PER_MANA: 0,
|
|
187
|
+
AZTEC_EXIT_DELAY_SECONDS: 345600,
|
|
188
|
+
AZTEC_SLASHING_DISABLE_DURATION: 259200,
|
|
189
|
+
L1_CHAIN_ID: 1,
|
|
190
|
+
TEST_ACCOUNTS: false,
|
|
191
|
+
SPONSORED_FPC: false,
|
|
192
|
+
TRANSACTIONS_DISABLED: true,
|
|
193
|
+
SEQ_MAX_TX_PER_BLOCK: 0,
|
|
194
|
+
PROVER_REAL_PROOFS: true,
|
|
195
|
+
SYNC_SNAPSHOTS_URLS: 'https://aztec-labs-snapshots.com/mainnet/',
|
|
196
|
+
BLOB_ALLOW_EMPTY_SOURCES: true,
|
|
197
|
+
P2P_MAX_PENDING_TX_COUNT: 0,
|
|
198
|
+
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
|
|
199
|
+
AUTO_UPDATE: 'notify',
|
|
200
|
+
AUTO_UPDATE_URL: 'https://storage.googleapis.com/aztec-mainnet/auto-update/mainnet.json',
|
|
201
|
+
PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
|
|
202
|
+
PUBLIC_OTEL_COLLECT_FROM: 'sequencer',
|
|
203
|
+
SLASH_PRUNE_PENALTY: 0,
|
|
204
|
+
SLASH_DATA_WITHHOLDING_PENALTY: 0,
|
|
205
|
+
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.8,
|
|
206
|
+
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
|
|
207
|
+
SLASH_INACTIVITY_PENALTY: 2E+21,
|
|
208
|
+
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
|
|
209
|
+
SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
|
|
210
|
+
SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
|
|
211
|
+
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
|
|
212
|
+
SLASH_UNKNOWN_PENALTY: 2E+21,
|
|
213
|
+
SLASH_INVALID_BLOCK_PENALTY: 2E+21,
|
|
214
|
+
SLASH_GRACE_PERIOD_L2_SLOTS: 1200,
|
|
215
|
+
} as const;
|
|
216
|
+
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getPublicClient } from '@aztec/ethereum/client';
|
|
2
|
+
import { RegistryContract } from '@aztec/ethereum/contracts';
|
|
3
|
+
import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
4
|
+
import { getL1ContractsConfig } from '@aztec/ethereum/queries';
|
|
2
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
6
|
|
|
4
7
|
export async function getL1Config(
|
|
@@ -8,27 +8,67 @@ import { enrichEthAddressVar, enrichVar } from './enrich_env.js';
|
|
|
8
8
|
|
|
9
9
|
const DEFAULT_CONFIG_URL =
|
|
10
10
|
'https://raw.githubusercontent.com/AztecProtocol/networks/refs/heads/main/network_config.json';
|
|
11
|
+
const FALLBACK_CONFIG_URL = 'https://metadata.aztec.network/network_config.json';
|
|
11
12
|
const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Fetches remote network configuration from GitHub with caching support.
|
|
15
|
-
* Uses the reusable cachedFetch utility.
|
|
16
|
+
* Uses the reusable cachedFetch utility. Falls back to metadata.aztec.network if the default URL fails.
|
|
16
17
|
*
|
|
17
18
|
* @param networkName - The network name to fetch config for
|
|
18
19
|
* @param cacheDir - Optional cache directory for storing fetched config
|
|
19
|
-
* @returns Remote configuration for the specified network, or undefined if not found
|
|
20
|
+
* @returns Remote configuration for the specified network, or undefined if network not found in config
|
|
21
|
+
* @throws Error if both primary and fallback URLs fail to fetch
|
|
20
22
|
*/
|
|
21
23
|
export async function getNetworkConfig(
|
|
22
24
|
networkName: NetworkNames,
|
|
23
25
|
cacheDir?: string,
|
|
24
26
|
): Promise<NetworkConfig | undefined> {
|
|
25
|
-
|
|
27
|
+
// Try with the primary URL (env var or default)
|
|
26
28
|
const configLocation = process.env.NETWORK_CONFIG_LOCATION || DEFAULT_CONFIG_URL;
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
let primaryError: Error | undefined;
|
|
31
|
+
let config: NetworkConfig | undefined;
|
|
32
|
+
|
|
33
|
+
// First try the primary config location
|
|
34
|
+
try {
|
|
35
|
+
config = await fetchNetworkConfigFromUrl(configLocation, networkName, cacheDir);
|
|
36
|
+
} catch (error) {
|
|
37
|
+
primaryError = error as Error;
|
|
30
38
|
}
|
|
31
39
|
|
|
40
|
+
// If primary fails and we were using the default URL, try the fallback
|
|
41
|
+
if (!config && configLocation === DEFAULT_CONFIG_URL) {
|
|
42
|
+
try {
|
|
43
|
+
config = await fetchNetworkConfigFromUrl(FALLBACK_CONFIG_URL, networkName, cacheDir);
|
|
44
|
+
} catch {
|
|
45
|
+
// Both failed - throw the primary error
|
|
46
|
+
if (primaryError) {
|
|
47
|
+
throw primaryError;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
} else if (primaryError) {
|
|
51
|
+
// Primary failed and no fallback to try
|
|
52
|
+
throw primaryError;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return config;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Helper function to fetch network config from a specific URL.
|
|
60
|
+
* @param configLocation - The URL or file path to fetch from
|
|
61
|
+
* @param networkName - The network name to fetch config for
|
|
62
|
+
* @param cacheDir - Optional cache directory for storing fetched config
|
|
63
|
+
* @returns Remote configuration for the specified network, or undefined if network not found in config, or undefined if URL invalid
|
|
64
|
+
* @throws Error if fetch/parse fails
|
|
65
|
+
*/
|
|
66
|
+
async function fetchNetworkConfigFromUrl(
|
|
67
|
+
configLocation: string,
|
|
68
|
+
networkName: NetworkNames,
|
|
69
|
+
cacheDir?: string,
|
|
70
|
+
): Promise<NetworkConfig | undefined> {
|
|
71
|
+
let url: URL | undefined;
|
|
32
72
|
try {
|
|
33
73
|
if (configLocation.includes('://')) {
|
|
34
74
|
url = new URL(configLocation);
|
|
@@ -43,31 +83,27 @@ export async function getNetworkConfig(
|
|
|
43
83
|
return undefined;
|
|
44
84
|
}
|
|
45
85
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
86
|
+
let rawConfig: any;
|
|
87
|
+
|
|
88
|
+
if (url.protocol === 'http:' || url.protocol === 'https:') {
|
|
89
|
+
rawConfig = await cachedFetch(url.href, {
|
|
90
|
+
cacheDurationMs: NETWORK_CONFIG_CACHE_DURATION_MS,
|
|
91
|
+
cacheFile: cacheDir ? join(cacheDir, networkName, 'network_config.json') : undefined,
|
|
92
|
+
});
|
|
93
|
+
} else if (url.protocol === 'file:') {
|
|
94
|
+
rawConfig = JSON.parse(await readFile(url.pathname, 'utf-8'));
|
|
95
|
+
} else {
|
|
96
|
+
throw new Error('Unsupported Aztec network config protocol: ' + url.href);
|
|
97
|
+
}
|
|
59
98
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
99
|
+
if (!rawConfig) {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
63
102
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
} catch {
|
|
103
|
+
const networkConfigMap = NetworkConfigMapSchema.parse(rawConfig);
|
|
104
|
+
if (networkName in networkConfigMap) {
|
|
105
|
+
return networkConfigMap[networkName];
|
|
106
|
+
} else {
|
|
71
107
|
return undefined;
|
|
72
108
|
}
|
|
73
109
|
}
|
|
@@ -75,9 +111,11 @@ export async function getNetworkConfig(
|
|
|
75
111
|
/**
|
|
76
112
|
* Enriches environment variables with remote network configuration.
|
|
77
113
|
* This function is called before node config initialization to set env vars
|
|
78
|
-
* from the remote config
|
|
114
|
+
* from the remote config.
|
|
79
115
|
*
|
|
80
116
|
* @param networkName - The network name to fetch remote config for
|
|
117
|
+
* @throws Error if network config fetch fails (network errors, parse errors, etc.)
|
|
118
|
+
* Does not throw if the network simply doesn't exist in the config - just returns without enriching
|
|
81
119
|
*/
|
|
82
120
|
export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNames) {
|
|
83
121
|
if (networkName === 'local') {
|
|
@@ -88,7 +126,7 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
|
|
|
88
126
|
const networkConfig = await getNetworkConfig(networkName, cacheDir);
|
|
89
127
|
|
|
90
128
|
if (!networkConfig) {
|
|
91
|
-
return;
|
|
129
|
+
return; // Network not found in config, continue without enriching
|
|
92
130
|
}
|
|
93
131
|
|
|
94
132
|
enrichVar('BOOTSTRAP_NODES', networkConfig.bootnodes.join(','));
|
|
@@ -99,4 +137,11 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
|
|
|
99
137
|
if (networkConfig.feeAssetHandlerAddress) {
|
|
100
138
|
enrichEthAddressVar('FEE_ASSET_HANDLER_CONTRACT_ADDRESS', networkConfig.feeAssetHandlerAddress.toString());
|
|
101
139
|
}
|
|
140
|
+
|
|
141
|
+
if (networkConfig.blobFileStoreUrls?.length) {
|
|
142
|
+
enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
|
|
143
|
+
}
|
|
144
|
+
if (networkConfig.blockDurationMs !== undefined) {
|
|
145
|
+
enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
|
|
146
|
+
}
|
|
102
147
|
}
|
package/src/utils/aztec.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EthAddress, type PXE } from '@aztec/aztec.js';
|
|
2
1
|
import {
|
|
3
2
|
type ContractArtifact,
|
|
4
3
|
type FunctionAbi,
|
|
@@ -6,24 +5,24 @@ import {
|
|
|
6
5
|
getAllFunctionAbis,
|
|
7
6
|
loadContractArtifact,
|
|
8
7
|
} from '@aztec/aztec.js/abi';
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
RollupContract,
|
|
14
|
-
} from '@aztec/ethereum';
|
|
8
|
+
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
9
|
+
import type { L1ContractsConfig } from '@aztec/ethereum/config';
|
|
10
|
+
import { RollupContract } from '@aztec/ethereum/contracts';
|
|
11
|
+
import type { Operator } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
15
12
|
import { SecretValue } from '@aztec/foundation/config';
|
|
16
|
-
import { Fr } from '@aztec/foundation/
|
|
17
|
-
import type
|
|
13
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
14
|
+
import { type LogFn, createLogger } from '@aztec/foundation/log';
|
|
18
15
|
import type { NoirPackageConfig } from '@aztec/foundation/noir';
|
|
19
|
-
import {
|
|
16
|
+
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
20
17
|
|
|
21
18
|
import TOML from '@iarna/toml';
|
|
22
19
|
import { readFile } from 'fs/promises';
|
|
23
|
-
import {
|
|
20
|
+
import type { HDAccount, Hex, PrivateKeyAccount } from 'viem';
|
|
24
21
|
|
|
25
22
|
import { encodeArgs } from './encoding.js';
|
|
26
23
|
|
|
24
|
+
const logger = createLogger('cli:utils:aztec');
|
|
25
|
+
|
|
27
26
|
/**
|
|
28
27
|
* Helper to get an ABI function or throw error if it doesn't exist.
|
|
29
28
|
* @param artifact - Contract's build artifact in JSON format.
|
|
@@ -38,89 +37,32 @@ export function getFunctionAbi(artifact: ContractArtifact, fnName: string): Func
|
|
|
38
37
|
return fn;
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
/**
|
|
42
|
-
* Function to execute the 'deployRollupContracts' command.
|
|
43
|
-
* @param rpcUrls - The RPC URL of the ethereum node.
|
|
44
|
-
* @param chainId - The chain ID of the L1 host.
|
|
45
|
-
* @param privateKey - The private key to be used in contract deployment.
|
|
46
|
-
* @param mnemonic - The mnemonic to be used in contract deployment.
|
|
47
|
-
*/
|
|
48
|
-
export async function deployAztecContracts(
|
|
49
|
-
rpcUrls: string[],
|
|
50
|
-
chainId: number,
|
|
51
|
-
privateKey: string | undefined,
|
|
52
|
-
mnemonic: string,
|
|
53
|
-
mnemonicIndex: number,
|
|
54
|
-
salt: number | undefined,
|
|
55
|
-
initialValidators: Operator[],
|
|
56
|
-
genesisArchiveRoot: Fr,
|
|
57
|
-
feeJuicePortalInitialBalance: bigint,
|
|
58
|
-
acceleratedTestDeployments: boolean,
|
|
59
|
-
config: L1ContractsConfig,
|
|
60
|
-
existingToken: EthAddress | undefined,
|
|
61
|
-
realVerifier: boolean,
|
|
62
|
-
createVerificationJson: string | false,
|
|
63
|
-
debugLogger: Logger,
|
|
64
|
-
): Promise<DeployL1ContractsReturnType> {
|
|
65
|
-
const { createEthereumChain, deployL1Contracts } = await import('@aztec/ethereum');
|
|
66
|
-
const { mnemonicToAccount, privateKeyToAccount } = await import('viem/accounts');
|
|
67
|
-
|
|
68
|
-
const account = !privateKey
|
|
69
|
-
? mnemonicToAccount(mnemonic!, { addressIndex: mnemonicIndex })
|
|
70
|
-
: privateKeyToAccount(addLeadingHex(privateKey));
|
|
71
|
-
const chain = createEthereumChain(rpcUrls, chainId);
|
|
72
|
-
|
|
73
|
-
const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
|
|
74
|
-
|
|
75
|
-
const result = await deployL1Contracts(
|
|
76
|
-
chain.rpcUrls,
|
|
77
|
-
account,
|
|
78
|
-
chain.chainInfo,
|
|
79
|
-
debugLogger,
|
|
80
|
-
{
|
|
81
|
-
vkTreeRoot: getVKTreeRoot(),
|
|
82
|
-
protocolContractTreeRoot,
|
|
83
|
-
genesisArchiveRoot,
|
|
84
|
-
salt,
|
|
85
|
-
initialValidators,
|
|
86
|
-
acceleratedTestDeployments,
|
|
87
|
-
feeJuicePortalInitialBalance,
|
|
88
|
-
realVerifier,
|
|
89
|
-
existingTokenAddress: existingToken,
|
|
90
|
-
...config,
|
|
91
|
-
},
|
|
92
|
-
config,
|
|
93
|
-
createVerificationJson,
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
return result;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
40
|
export async function deployNewRollupContracts(
|
|
100
41
|
registryAddress: EthAddress,
|
|
101
42
|
rpcUrls: string[],
|
|
102
|
-
chainId: number,
|
|
103
43
|
privateKey: string | undefined,
|
|
44
|
+
chainId: number,
|
|
104
45
|
mnemonic: string,
|
|
105
46
|
mnemonicIndex: number,
|
|
106
|
-
salt: number | undefined,
|
|
107
47
|
initialValidators: Operator[],
|
|
108
48
|
genesisArchiveRoot: Fr,
|
|
109
49
|
feeJuicePortalInitialBalance: bigint,
|
|
110
50
|
config: L1ContractsConfig,
|
|
111
51
|
realVerifier: boolean,
|
|
112
|
-
createVerificationJson: string | false,
|
|
113
|
-
logger: Logger,
|
|
114
52
|
): Promise<{ rollup: RollupContract; slashFactoryAddress: EthAddress }> {
|
|
115
|
-
const {
|
|
53
|
+
const { deployRollupForUpgrade } = await import('@aztec/ethereum/deploy-aztec-l1-contracts');
|
|
116
54
|
const { mnemonicToAccount, privateKeyToAccount } = await import('viem/accounts');
|
|
117
55
|
const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
|
|
118
56
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
57
|
+
let account: HDAccount | PrivateKeyAccount;
|
|
58
|
+
if (privateKey) {
|
|
59
|
+
account = privateKeyToAccount(addLeadingHex(privateKey));
|
|
60
|
+
} else {
|
|
61
|
+
account = mnemonicToAccount(mnemonic!, { addressIndex: mnemonicIndex });
|
|
62
|
+
const privateKeyBuf = account.getHdKey().privateKey;
|
|
63
|
+
const privateKeyHex = Buffer.from(privateKeyBuf!).toString('hex');
|
|
64
|
+
privateKey = `0x${privateKeyHex}`;
|
|
65
|
+
}
|
|
124
66
|
|
|
125
67
|
if (!initialValidators || initialValidators.length === 0) {
|
|
126
68
|
// initialize the new rollup with Amin's validator address.
|
|
@@ -139,24 +81,22 @@ export async function deployNewRollupContracts(
|
|
|
139
81
|
}
|
|
140
82
|
|
|
141
83
|
const { rollup, slashFactoryAddress } = await deployRollupForUpgrade(
|
|
142
|
-
|
|
84
|
+
privateKey as Hex,
|
|
85
|
+
rpcUrls[0],
|
|
86
|
+
chainId,
|
|
87
|
+
registryAddress,
|
|
143
88
|
{
|
|
144
|
-
salt,
|
|
145
89
|
vkTreeRoot: getVKTreeRoot(),
|
|
146
|
-
|
|
90
|
+
protocolContractsHash,
|
|
147
91
|
genesisArchiveRoot,
|
|
148
92
|
initialValidators,
|
|
149
93
|
feeJuicePortalInitialBalance,
|
|
150
94
|
realVerifier,
|
|
151
95
|
...config,
|
|
152
96
|
},
|
|
153
|
-
registryAddress,
|
|
154
|
-
logger,
|
|
155
|
-
config,
|
|
156
|
-
createVerificationJson,
|
|
157
97
|
);
|
|
158
98
|
|
|
159
|
-
return { rollup, slashFactoryAddress };
|
|
99
|
+
return { rollup, slashFactoryAddress: EthAddress.fromString(slashFactoryAddress!) };
|
|
160
100
|
}
|
|
161
101
|
|
|
162
102
|
/**
|
|
@@ -262,38 +202,3 @@ export function prettyPrintNargoToml(config: NoirPackageConfig): string {
|
|
|
262
202
|
|
|
263
203
|
return partialToml + '\n[dependencies]\n' + dependenciesToml.join('\n') + '\n';
|
|
264
204
|
}
|
|
265
|
-
|
|
266
|
-
/** Mismatch between server and client versions. */
|
|
267
|
-
class VersionMismatchError extends Error {}
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Checks that Private eXecution Environment (PXE) version matches the expected one by this CLI. Throws if not.
|
|
271
|
-
* @param pxe - PXE client.
|
|
272
|
-
* @param expectedVersionRange - Expected version by CLI.
|
|
273
|
-
*/
|
|
274
|
-
export async function checkServerVersion(pxe: PXE, expectedVersionRange: string) {
|
|
275
|
-
const serverName = 'Aztec Node';
|
|
276
|
-
const { nodeVersion } = await pxe.getNodeInfo();
|
|
277
|
-
if (!nodeVersion) {
|
|
278
|
-
throw new VersionMismatchError(`Couldn't determine ${serverName} version. You may run into issues.`);
|
|
279
|
-
}
|
|
280
|
-
if (!nodeVersion || !valid(nodeVersion)) {
|
|
281
|
-
throw new VersionMismatchError(
|
|
282
|
-
`Missing or invalid version identifier for ${serverName} (${nodeVersion ?? 'empty'}).`,
|
|
283
|
-
);
|
|
284
|
-
} else if (!satisfies(nodeVersion, expectedVersionRange)) {
|
|
285
|
-
if (gtr(nodeVersion, expectedVersionRange)) {
|
|
286
|
-
throw new VersionMismatchError(
|
|
287
|
-
`${serverName} is running version ${nodeVersion} which is newer than the expected by this CLI (${expectedVersionRange}). Consider upgrading your CLI to a newer version.`,
|
|
288
|
-
);
|
|
289
|
-
} else if (ltr(nodeVersion, expectedVersionRange)) {
|
|
290
|
-
throw new VersionMismatchError(
|
|
291
|
-
`${serverName} is running version ${nodeVersion} which is older than the expected by this CLI (${expectedVersionRange}). Consider upgrading your ${serverName} to a newer version.`,
|
|
292
|
-
);
|
|
293
|
-
} else {
|
|
294
|
-
throw new VersionMismatchError(
|
|
295
|
-
`${serverName} is running version ${nodeVersion} which does not match the expected by this CLI (${expectedVersionRange}).`,
|
|
296
|
-
);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|