@aztec/cli 0.0.1-commit.d431d1c → 0.0.1-commit.d58ff9d0

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.
Files changed (95) hide show
  1. package/dest/cmds/aztec_node/block_number.js +1 -1
  2. package/dest/cmds/aztec_node/get_logs.d.ts +30 -4
  3. package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -1
  4. package/dest/cmds/aztec_node/get_logs.js +39 -29
  5. package/dest/cmds/aztec_node/get_node_info.d.ts +1 -1
  6. package/dest/cmds/aztec_node/get_node_info.d.ts.map +1 -1
  7. package/dest/cmds/aztec_node/get_node_info.js +0 -2
  8. package/dest/cmds/aztec_node/index.d.ts +1 -1
  9. package/dest/cmds/aztec_node/index.d.ts.map +1 -1
  10. package/dest/cmds/aztec_node/index.js +13 -3
  11. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +1 -1
  12. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -1
  13. package/dest/cmds/infrastructure/setup_l2_contract.js +12 -7
  14. package/dest/cmds/l1/assume_proven_through.d.ts +3 -2
  15. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
  16. package/dest/cmds/l1/assume_proven_through.js +3 -5
  17. package/dest/cmds/l1/compute_genesis_values.d.ts +4 -0
  18. package/dest/cmds/l1/compute_genesis_values.d.ts.map +1 -0
  19. package/dest/cmds/l1/compute_genesis_values.js +17 -0
  20. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts +1 -1
  21. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts.map +1 -1
  22. package/dest/cmds/l1/deploy_l1_contracts_cmd.js +0 -1
  23. package/dest/cmds/l1/deploy_new_rollup.d.ts +1 -1
  24. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
  25. package/dest/cmds/l1/deploy_new_rollup.js +2 -4
  26. package/dest/cmds/l1/index.d.ts +1 -1
  27. package/dest/cmds/l1/index.d.ts.map +1 -1
  28. package/dest/cmds/l1/index.js +7 -2
  29. package/dest/cmds/l1/update_l1_validators.d.ts +1 -1
  30. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
  31. package/dest/cmds/l1/update_l1_validators.js +5 -6
  32. package/dest/cmds/validator_keys/eth_json_v3_worker.d.ts +2 -0
  33. package/dest/cmds/validator_keys/eth_json_v3_worker.d.ts.map +1 -0
  34. package/dest/cmds/validator_keys/eth_json_v3_worker.js +27 -0
  35. package/dest/cmds/validator_keys/index.d.ts +1 -1
  36. package/dest/cmds/validator_keys/index.d.ts.map +1 -1
  37. package/dest/cmds/validator_keys/index.js +7 -6
  38. package/dest/cmds/validator_keys/new.d.ts +7 -1
  39. package/dest/cmds/validator_keys/new.d.ts.map +1 -1
  40. package/dest/cmds/validator_keys/new.js +98 -12
  41. package/dest/cmds/validator_keys/set_funding_account.d.ts +14 -0
  42. package/dest/cmds/validator_keys/set_funding_account.d.ts.map +1 -0
  43. package/dest/cmds/validator_keys/set_funding_account.js +37 -0
  44. package/dest/cmds/validator_keys/shared.d.ts +15 -2
  45. package/dest/cmds/validator_keys/shared.d.ts.map +1 -1
  46. package/dest/cmds/validator_keys/shared.js +100 -23
  47. package/dest/cmds/validator_keys/utils.d.ts +12 -2
  48. package/dest/cmds/validator_keys/utils.d.ts.map +1 -1
  49. package/dest/cmds/validator_keys/utils.js +34 -0
  50. package/dest/config/cached_fetch.d.ts +19 -10
  51. package/dest/config/cached_fetch.d.ts.map +1 -1
  52. package/dest/config/cached_fetch.js +110 -32
  53. package/dest/config/chain_l2_config.d.ts +7 -2
  54. package/dest/config/chain_l2_config.d.ts.map +1 -1
  55. package/dest/config/chain_l2_config.js +17 -2
  56. package/dest/config/generated/networks.d.ts +95 -58
  57. package/dest/config/generated/networks.d.ts.map +1 -1
  58. package/dest/config/generated/networks.js +96 -59
  59. package/dest/config/network_config.d.ts +1 -1
  60. package/dest/config/network_config.d.ts.map +1 -1
  61. package/dest/config/network_config.js +6 -2
  62. package/dest/utils/aztec.d.ts +1 -2
  63. package/dest/utils/aztec.d.ts.map +1 -1
  64. package/dest/utils/aztec.js +2 -3
  65. package/dest/utils/commands.d.ts +20 -11
  66. package/dest/utils/commands.d.ts.map +1 -1
  67. package/dest/utils/commands.js +29 -18
  68. package/dest/utils/inspect.d.ts +1 -1
  69. package/dest/utils/inspect.d.ts.map +1 -1
  70. package/dest/utils/inspect.js +15 -12
  71. package/package.json +30 -30
  72. package/src/cmds/aztec_node/block_number.ts +1 -1
  73. package/src/cmds/aztec_node/get_logs.ts +70 -38
  74. package/src/cmds/aztec_node/get_node_info.ts +0 -2
  75. package/src/cmds/aztec_node/index.ts +13 -8
  76. package/src/cmds/infrastructure/setup_l2_contract.ts +12 -7
  77. package/src/cmds/l1/assume_proven_through.ts +4 -7
  78. package/src/cmds/l1/compute_genesis_values.ts +29 -0
  79. package/src/cmds/l1/deploy_l1_contracts_cmd.ts +0 -1
  80. package/src/cmds/l1/deploy_new_rollup.ts +1 -3
  81. package/src/cmds/l1/index.ts +23 -4
  82. package/src/cmds/l1/update_l1_validators.ts +5 -6
  83. package/src/cmds/validator_keys/eth_json_v3_worker.ts +30 -0
  84. package/src/cmds/validator_keys/index.ts +48 -8
  85. package/src/cmds/validator_keys/new.ts +129 -9
  86. package/src/cmds/validator_keys/set_funding_account.ts +55 -0
  87. package/src/cmds/validator_keys/shared.ts +123 -35
  88. package/src/cmds/validator_keys/utils.ts +44 -1
  89. package/src/config/cached_fetch.ts +119 -31
  90. package/src/config/chain_l2_config.ts +17 -2
  91. package/src/config/generated/networks.ts +94 -57
  92. package/src/config/network_config.ts +6 -2
  93. package/src/utils/aztec.ts +12 -18
  94. package/src/utils/commands.ts +36 -22
  95. package/src/utils/inspect.ts +11 -9
@@ -2,17 +2,16 @@
2
2
  // Do not edit manually - run yarn generate to regenerate
3
3
  export const devnetConfig = {
4
4
  ETHEREUM_SLOT_DURATION: 12,
5
- AZTEC_SLOT_DURATION: 36,
6
- AZTEC_TARGET_COMMITTEE_SIZE: 48,
7
5
  AZTEC_ACTIVATION_THRESHOLD: 100000000000000000000,
8
6
  AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
9
7
  AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
10
8
  AZTEC_EXIT_DELAY_SECONDS: 172800,
11
- AZTEC_INBOX_LAG: 1,
9
+ AZTEC_INBOX_LAG: 2,
12
10
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
13
11
  AZTEC_MANA_TARGET: 100000000,
14
12
  AZTEC_PROVING_COST_PER_MANA: 100,
15
- AZTEC_SLASHER_FLAVOR: 'tally',
13
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
14
+ AZTEC_SLASHER_ENABLED: true,
16
15
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
17
16
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
18
17
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
@@ -22,15 +21,21 @@ export const devnetConfig = {
22
21
  AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
23
22
  AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
24
23
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300,
25
- SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
26
- SLASH_MAX_PENALTY_PERCENTAGE: 2,
24
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE: 0,
25
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE: 0,
26
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN: 48,
27
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT: 2,
28
+ AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE: 48,
27
29
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
28
- SLASH_MAX_PAYLOAD_SIZE: 50,
30
+ SLASH_MAX_PAYLOAD_SIZE: 80,
29
31
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
32
+ SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
30
33
  P2P_ENABLED: true,
31
34
  BOOTSTRAP_NODES: '',
32
- SEQ_MIN_TX_PER_BLOCK: 0,
35
+ SEQ_MIN_TX_PER_BLOCK: 1,
33
36
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
37
+ SEQ_BLOCK_DURATION_MS: 6000,
38
+ CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
34
39
  DATA_STORE_MAP_SIZE_KB: 134217728,
35
40
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
36
41
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -38,15 +43,21 @@ export const devnetConfig = {
38
43
  PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
39
44
  PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
40
45
  SENTINEL_ENABLED: true,
46
+ OFFENSE_COLLECTION_ENABLED: true,
47
+ AZTEC_SLOT_DURATION: 36,
41
48
  AZTEC_EPOCH_DURATION: 8,
42
49
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 1,
43
50
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 1,
51
+ AZTEC_TARGET_COMMITTEE_SIZE: 1,
52
+ MAX_BLOCKS_PER_CHECKPOINT: 4,
44
53
  AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 1,
54
+ AZTEC_SLASHING_QUORUM: 17,
55
+ AZTEC_GOVERNANCE_PROPOSER_QUORUM: 151,
45
56
  L1_CHAIN_ID: 11155111,
46
57
  TEST_ACCOUNTS: true,
47
58
  SPONSORED_FPC: true,
48
59
  TRANSACTIONS_DISABLED: false,
49
- SEQ_MAX_TX_PER_BLOCK: 32,
60
+ SEQ_MAX_TX_PER_BLOCK: 18,
50
61
  PROVER_REAL_PROOFS: false,
51
62
  PXE_PROVER_ENABLED: false,
52
63
  SYNC_SNAPSHOTS_URLS: '',
@@ -54,21 +65,23 @@ export const devnetConfig = {
54
65
  BLOB_ALLOW_EMPTY_SOURCES: false,
55
66
  P2P_MAX_PENDING_TX_COUNT: 1000,
56
67
  P2P_TX_POOL_DELETE_TXS_AFTER_REORG: false,
57
- AUTO_UPDATE: 'none',
58
- AUTO_UPDATE_URL: '',
59
68
  PUBLIC_OTEL_OPT_OUT: true,
60
69
  PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
61
70
  PUBLIC_OTEL_COLLECT_FROM: '',
62
- SLASH_PRUNE_PENALTY: 10000000000000000000,
63
71
  SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
64
72
  SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
65
73
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
66
74
  SLASH_INACTIVITY_PENALTY: 10000000000000000000,
67
75
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
68
- SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
76
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
77
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
78
+ SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
79
+ SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 10000000000000000000,
69
80
  SLASH_UNKNOWN_PENALTY: 10000000000000000000,
70
81
  SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
71
- SLASH_GRACE_PERIOD_L2_SLOTS: 0
82
+ SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
83
+ SLASH_GRACE_PERIOD_L2_SLOTS: 0,
84
+ ENABLE_AUTO_SHUTDOWN: false
72
85
  };
73
86
  export const testnetConfig = {
74
87
  ETHEREUM_SLOT_DURATION: 12,
@@ -77,26 +90,30 @@ export const testnetConfig = {
77
90
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
78
91
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
79
92
  AZTEC_EXIT_DELAY_SECONDS: 172800,
80
- AZTEC_INBOX_LAG: 1,
93
+ AZTEC_INBOX_LAG: 2,
81
94
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
82
- AZTEC_PROVING_COST_PER_MANA: 100,
83
- AZTEC_SLASHER_FLAVOR: 'tally',
95
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
96
+ AZTEC_SLASHER_ENABLED: true,
84
97
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
85
98
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
86
99
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
87
100
  AZTEC_SLASHING_DISABLE_DURATION: 432000,
88
- AZTEC_SLASH_AMOUNT_SMALL: 10000000000000000000,
89
- AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
90
- AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
91
- SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
92
- SLASH_MAX_PENALTY_PERCENTAGE: 2,
101
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE: 0,
102
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE: 0,
103
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN: 48,
104
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT: 2,
105
+ AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE: 48,
93
106
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
94
- SLASH_MAX_PAYLOAD_SIZE: 50,
107
+ SLASH_MAX_PAYLOAD_SIZE: 80,
95
108
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
109
+ SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
96
110
  P2P_ENABLED: true,
97
111
  BOOTSTRAP_NODES: '',
98
- SEQ_MIN_TX_PER_BLOCK: 0,
112
+ SEQ_MIN_TX_PER_BLOCK: 1,
99
113
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
114
+ SEQ_BLOCK_DURATION_MS: 6000,
115
+ MAX_BLOCKS_PER_CHECKPOINT: 10,
116
+ CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
100
117
  DATA_STORE_MAP_SIZE_KB: 134217728,
101
118
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
102
119
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -104,6 +121,7 @@ export const testnetConfig = {
104
121
  PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
105
122
  PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
106
123
  SENTINEL_ENABLED: true,
124
+ OFFENSE_COLLECTION_ENABLED: true,
107
125
  AZTEC_SLOT_DURATION: 72,
108
126
  AZTEC_ACTIVATION_THRESHOLD: 2E+23,
109
127
  AZTEC_EJECTION_THRESHOLD: 1E+23,
@@ -113,44 +131,57 @@ export const testnetConfig = {
113
131
  AZTEC_SLASHING_QUORUM: 33,
114
132
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 100,
115
133
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 60,
116
- AZTEC_MANA_TARGET: 150000000,
134
+ AZTEC_MANA_TARGET: 75000000,
135
+ AZTEC_PROVING_COST_PER_MANA: 12500000,
136
+ AZTEC_SLASH_AMOUNT_SMALL: 1E+23,
137
+ AZTEC_SLASH_AMOUNT_MEDIUM: 2.5E+23,
138
+ AZTEC_SLASH_AMOUNT_LARGE: 2.5E+23,
117
139
  L1_CHAIN_ID: 11155111,
118
140
  TEST_ACCOUNTS: false,
119
- SPONSORED_FPC: true,
141
+ SPONSORED_FPC: false,
120
142
  TRANSACTIONS_DISABLED: false,
121
- SEQ_MAX_TX_PER_BLOCK: 8,
143
+ SEQ_MAX_TX_PER_CHECKPOINT: 72,
122
144
  PROVER_REAL_PROOFS: true,
145
+ P2P_MAX_PENDING_TX_COUNT: 1000,
123
146
  P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
124
- SLASH_PRUNE_PENALTY: 10000000000000000000,
125
- SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
147
+ SLASH_DATA_WITHHOLDING_PENALTY: 0,
126
148
  SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
127
149
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
128
- SLASH_INACTIVITY_PENALTY: 10000000000000000000,
129
- SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
130
- SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 10000000000000000000,
131
- SLASH_UNKNOWN_PENALTY: 10000000000000000000,
132
- SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
133
- SLASH_GRACE_PERIOD_L2_SLOTS: 64
150
+ SLASH_INACTIVITY_PENALTY: 1E+23,
151
+ SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 1E+23,
152
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 2.5E+23,
153
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 2.5E+23,
154
+ SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 0,
155
+ SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
156
+ SLASH_UNKNOWN_PENALTY: 1E+23,
157
+ SLASH_INVALID_BLOCK_PENALTY: 1E+23,
158
+ SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 1E+23,
159
+ SLASH_GRACE_PERIOD_L2_SLOTS: 64,
160
+ ENABLE_AUTO_SHUTDOWN: false
134
161
  };
135
162
  export const mainnetConfig = {
136
163
  ETHEREUM_SLOT_DURATION: 12,
137
164
  AZTEC_EPOCH_DURATION: 32,
165
+ AZTEC_TARGET_COMMITTEE_SIZE: 48,
138
166
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
139
167
  AZTEC_LAG_IN_EPOCHS_FOR_RANDAO: 2,
140
- AZTEC_INBOX_LAG: 1,
168
+ AZTEC_INBOX_LAG: 2,
141
169
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
142
- AZTEC_SLASHER_FLAVOR: 'tally',
170
+ AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
171
+ AZTEC_SLASHER_ENABLED: true,
143
172
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
144
173
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
145
- SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
146
- SLASH_MAX_PENALTY_PERCENTAGE: 2,
147
174
  SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
148
- SLASH_MAX_PAYLOAD_SIZE: 50,
175
+ SLASH_MAX_PAYLOAD_SIZE: 80,
149
176
  SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
177
+ SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
150
178
  P2P_ENABLED: true,
151
179
  BOOTSTRAP_NODES: '',
152
- SEQ_MIN_TX_PER_BLOCK: 0,
180
+ SEQ_MIN_TX_PER_BLOCK: 1,
153
181
  SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
182
+ SEQ_BLOCK_DURATION_MS: 6000,
183
+ MAX_BLOCKS_PER_CHECKPOINT: 10,
184
+ CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS: 12,
154
185
  DATA_STORE_MAP_SIZE_KB: 134217728,
155
186
  ARCHIVER_STORE_MAP_SIZE_KB: 1073741824,
156
187
  NOTE_HASH_TREE_MAP_SIZE_KB: 1073741824,
@@ -158,46 +189,52 @@ export const mainnetConfig = {
158
189
  PUBLIC_DATA_TREE_MAP_SIZE_KB: 1073741824,
159
190
  PUBLIC_OTEL_INCLUDE_METRICS: 'aztec.validator,aztec.tx_collector,aztec.mempool,aztec.p2p.gossip.agg_,aztec.ivc_verifier.agg_',
160
191
  SENTINEL_ENABLED: true,
192
+ OFFENSE_COLLECTION_ENABLED: true,
161
193
  AZTEC_SLOT_DURATION: 72,
162
- AZTEC_TARGET_COMMITTEE_SIZE: 24,
163
194
  AZTEC_ACTIVATION_THRESHOLD: 2E+23,
164
195
  AZTEC_EJECTION_THRESHOLD: 1E+23,
165
- AZTEC_LOCAL_EJECTION_THRESHOLD: 1.96E+23,
196
+ AZTEC_LOCAL_EJECTION_THRESHOLD: 1.9E+23,
166
197
  AZTEC_SLASH_AMOUNT_SMALL: 2E+21,
167
- AZTEC_SLASH_AMOUNT_MEDIUM: 2E+21,
168
- AZTEC_SLASH_AMOUNT_LARGE: 2E+21,
198
+ AZTEC_SLASH_AMOUNT_MEDIUM: 5E+21,
199
+ AZTEC_SLASH_AMOUNT_LARGE: 5E+21,
169
200
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 34,
170
201
  AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 28,
171
202
  AZTEC_SLASHING_VETOER: '0xBbB4aF368d02827945748b28CD4b2D42e4A37480',
172
203
  AZTEC_SLASHING_QUORUM: 65,
173
204
  AZTEC_GOVERNANCE_PROPOSER_QUORUM: 600,
174
205
  AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 1000,
175
- AZTEC_MANA_TARGET: 0,
176
- AZTEC_PROVING_COST_PER_MANA: 0,
206
+ AZTEC_MANA_TARGET: 75000000,
207
+ AZTEC_PROVING_COST_PER_MANA: 12500000,
177
208
  AZTEC_EXIT_DELAY_SECONDS: 345600,
178
209
  AZTEC_SLASHING_DISABLE_DURATION: 259200,
210
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_VALIDATOR_SET_SIZE: 500,
211
+ AZTEC_ENTRY_QUEUE_BOOTSTRAP_FLUSH_SIZE: 500,
212
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_MIN: 1,
213
+ AZTEC_ENTRY_QUEUE_FLUSH_SIZE_QUOTIENT: 400,
214
+ AZTEC_ENTRY_QUEUE_MAX_FLUSH_SIZE: 4,
179
215
  L1_CHAIN_ID: 1,
180
216
  TEST_ACCOUNTS: false,
181
217
  SPONSORED_FPC: false,
182
- TRANSACTIONS_DISABLED: true,
183
- SEQ_MAX_TX_PER_BLOCK: 0,
218
+ TRANSACTIONS_DISABLED: false,
219
+ SEQ_MAX_TX_PER_CHECKPOINT: 72,
184
220
  PROVER_REAL_PROOFS: true,
185
- SYNC_SNAPSHOTS_URLS: 'https://aztec-labs-snapshots.com/mainnet/',
186
221
  BLOB_ALLOW_EMPTY_SOURCES: true,
187
- P2P_MAX_PENDING_TX_COUNT: 0,
222
+ P2P_MAX_PENDING_TX_COUNT: 1000,
188
223
  P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
189
- AUTO_UPDATE: 'notify',
190
- AUTO_UPDATE_URL: 'https://storage.googleapis.com/aztec-mainnet/auto-update/mainnet.json',
191
- PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: 'https://telemetry.alpha-testnet.aztec-labs.com/v1/metrics',
192
- PUBLIC_OTEL_COLLECT_FROM: 'sequencer',
193
- SLASH_PRUNE_PENALTY: 0,
224
+ PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
225
+ PUBLIC_OTEL_COLLECT_FROM: '',
226
+ ENABLE_AUTO_SHUTDOWN: false,
194
227
  SLASH_DATA_WITHHOLDING_PENALTY: 0,
195
- SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.8,
228
+ SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.7,
196
229
  SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
197
230
  SLASH_INACTIVITY_PENALTY: 2E+21,
198
231
  SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
199
- SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY: 2E+21,
232
+ SLASH_DUPLICATE_PROPOSAL_PENALTY: 5E+21,
233
+ SLASH_DUPLICATE_ATTESTATION_PENALTY: 5E+21,
234
+ SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 0,
235
+ SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
200
236
  SLASH_UNKNOWN_PENALTY: 2E+21,
201
237
  SLASH_INVALID_BLOCK_PENALTY: 2E+21,
202
- SLASH_GRACE_PERIOD_L2_SLOTS: 1200
238
+ SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 2E+21,
239
+ SLASH_GRACE_PERIOD_L2_SLOTS: 8400
203
240
  };
@@ -19,4 +19,4 @@ export declare function getNetworkConfig(networkName: NetworkNames, cacheDir?: s
19
19
  * Does not throw if the network simply doesn't exist in the config - just returns without enriching
20
20
  */
21
21
  export declare function enrichEnvironmentWithNetworkConfig(networkName: NetworkNames): Promise<void>;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXVERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkEyQmpGIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUEwQixLQUFLLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBWXpHOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxXQUFXLEVBQUUsWUFBWSxFQUN6QixRQUFRLENBQUMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBOEJwQztBQXNERDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsWUFBWSxpQkFpQ2pGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA0B,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAazG;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA8BpC;AAuDD;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CAAC,WAAW,EAAE,YAAY,iBA2BjF"}
1
+ {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA0B,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAYzG;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA8BpC;AAsDD;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CAAC,WAAW,EAAE,YAAY,iBAiCjF"}
@@ -5,7 +5,6 @@ import { cachedFetch } from './cached_fetch.js';
5
5
  import { enrichEthAddressVar, enrichVar } from './enrich_env.js';
6
6
  const DEFAULT_CONFIG_URL = 'https://raw.githubusercontent.com/AztecProtocol/networks/refs/heads/main/network_config.json';
7
7
  const FALLBACK_CONFIG_URL = 'https://metadata.aztec.network/network_config.json';
8
- const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
9
8
  /**
10
9
  * Fetches remote network configuration from GitHub with caching support.
11
10
  * Uses the reusable cachedFetch utility. Falls back to metadata.aztec.network if the default URL fails.
@@ -64,7 +63,6 @@ const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
64
63
  let rawConfig;
65
64
  if (url.protocol === 'http:' || url.protocol === 'https:') {
66
65
  rawConfig = await cachedFetch(url.href, {
67
- cacheDurationMs: NETWORK_CONFIG_CACHE_DURATION_MS,
68
66
  cacheFile: cacheDir ? join(cacheDir, networkName, 'network_config.json') : undefined
69
67
  });
70
68
  } else if (url.protocol === 'file:') {
@@ -109,7 +107,13 @@ const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
109
107
  if (networkConfig.blobFileStoreUrls?.length) {
110
108
  enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
111
109
  }
110
+ if (networkConfig.txCollectionFileStoreUrls?.length) {
111
+ enrichVar('TX_COLLECTION_FILE_STORE_URLS', networkConfig.txCollectionFileStoreUrls.join(','));
112
+ }
112
113
  if (networkConfig.blockDurationMs !== undefined) {
113
114
  enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
114
115
  }
116
+ if (networkConfig.txPublicSetupAllowListExtend) {
117
+ enrichVar('TX_PUBLIC_SETUP_ALLOWLIST', networkConfig.txPublicSetupAllowListExtend);
118
+ }
115
119
  }
@@ -15,7 +15,6 @@ import type { NoirPackageConfig } from '@aztec/foundation/noir';
15
15
  export declare function getFunctionAbi(artifact: ContractArtifact, fnName: string): FunctionAbi;
16
16
  export declare function deployNewRollupContracts(registryAddress: EthAddress, rpcUrls: string[], privateKey: string | undefined, chainId: number, mnemonic: string, mnemonicIndex: number, initialValidators: Operator[], genesisArchiveRoot: Fr, feeJuicePortalInitialBalance: bigint, config: L1ContractsConfig, realVerifier: boolean): Promise<{
17
17
  rollup: RollupContract;
18
- slashFactoryAddress: EthAddress;
19
18
  }>;
20
19
  /**
21
20
  * Gets all contracts available in \@aztec/noir-contracts.js.
@@ -54,4 +53,4 @@ export declare const stripLeadingHex: (hex: string) => string;
54
53
  */
55
54
  export declare const addLeadingHex: (hex: string) => `0x${string}`;
56
55
  export declare function prettyPrintNargoToml(config: NoirPackageConfig): string;
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9henRlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxXQUFXLEVBSWpCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxLQUFLLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVdoRTs7Ozs7R0FLRztBQUNILHdCQUFnQixjQUFjLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsV0FBVyxDQU10RjtBQUVELHdCQUFzQix3QkFBd0IsQ0FDNUMsZUFBZSxFQUFFLFVBQVUsRUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUNqQixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsT0FBTyxFQUFFLE1BQU0sRUFDZixRQUFRLEVBQUUsTUFBTSxFQUNoQixhQUFhLEVBQUUsTUFBTSxFQUNyQixpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFDN0Isa0JBQWtCLEVBQUUsRUFBRSxFQUN0Qiw0QkFBNEIsRUFBRSxNQUFNLEVBQ3BDLE1BQU0sRUFBRSxpQkFBaUIsRUFDekIsWUFBWSxFQUFFLE9BQU8sR0FDcEIsT0FBTyxDQUFDO0lBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQztJQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQTtDQUFFLENBQUMsQ0FnRHRFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUtqRTtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0IsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyw2QkE0QnBFO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFzQixNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSzs7OztHQU8zRztBQUVEOzs7O0dBSUc7QUFDSCxlQUFPLE1BQU0sZUFBZSx5QkFLM0IsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxlQUFPLE1BQU0sYUFBYSxnQ0FLekIsQ0FBQztBQU9GLHdCQUFnQixvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLEdBQUcsTUFBTSxDQVV0RSJ9
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9henRlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxXQUFXLEVBSWpCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxLQUFLLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVdoRTs7Ozs7R0FLRztBQUNILHdCQUFnQixjQUFjLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsV0FBVyxDQU10RjtBQUVELHdCQUFzQix3QkFBd0IsQ0FDNUMsZUFBZSxFQUFFLFVBQVUsRUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUNqQixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsT0FBTyxFQUFFLE1BQU0sRUFDZixRQUFRLEVBQUUsTUFBTSxFQUNoQixhQUFhLEVBQUUsTUFBTSxFQUNyQixpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFDN0Isa0JBQWtCLEVBQUUsRUFBRSxFQUN0Qiw0QkFBNEIsRUFBRSxNQUFNLEVBQ3BDLE1BQU0sRUFBRSxpQkFBaUIsRUFDekIsWUFBWSxFQUFFLE9BQU8sR0FDcEIsT0FBTyxDQUFDO0lBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQTtDQUFFLENBQUMsQ0EwQ3JDO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUtqRTtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0IsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyw2QkE0QnBFO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFzQixNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSzs7OztHQU8zRztBQUVEOzs7O0dBSUc7QUFDSCxlQUFPLE1BQU0sZUFBZSx5QkFLM0IsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxlQUFPLE1BQU0sYUFBYSxnQ0FLekIsQ0FBQztBQU9GLHdCQUFnQixvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLEdBQUcsTUFBTSxDQVV0RSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"aztec.d.ts","sourceRoot":"","sources":["../../src/utils/aztec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAIjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAWhE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAMtF;AAED,wBAAsB,wBAAwB,CAC5C,eAAe,EAAE,UAAU,EAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,kBAAkB,EAAE,EAAE,EACtB,4BAA4B,EAAE,MAAM,EACpC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,mBAAmB,EAAE,UAAU,CAAA;CAAE,CAAC,CAgDtE;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAKjE;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,6BA4BpE;AAED;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK;;;;GAO3G;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,yBAK3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,gCAKzB,CAAC;AAOF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAUtE"}
1
+ {"version":3,"file":"aztec.d.ts","sourceRoot":"","sources":["../../src/utils/aztec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAIjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAWhE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAMtF;AAED,wBAAsB,wBAAwB,CAC5C,eAAe,EAAE,UAAU,EAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,kBAAkB,EAAE,EAAE,EACtB,4BAA4B,EAAE,MAAM,EACpC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC,CA0CrC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAKjE;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,6BA4BpE;AAED;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK;;;;GAO3G;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,yBAK3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,gCAKzB,CAAC;AAOF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAUtE"}
@@ -51,7 +51,7 @@ export async function deployNewRollupContracts(registryAddress, rpcUrls, private
51
51
  initialValidators
52
52
  });
53
53
  }
54
- const { rollup, slashFactoryAddress } = await deployRollupForUpgrade(privateKey, rpcUrls[0], chainId, registryAddress, {
54
+ const { rollup } = await deployRollupForUpgrade(privateKey, rpcUrls[0], chainId, registryAddress, {
55
55
  vkTreeRoot: getVKTreeRoot(),
56
56
  protocolContractsHash,
57
57
  genesisArchiveRoot,
@@ -61,8 +61,7 @@ export async function deployNewRollupContracts(registryAddress, rpcUrls, private
61
61
  ...config
62
62
  });
63
63
  return {
64
- rollup,
65
- slashFactoryAddress: EthAddress.fromString(slashFactoryAddress)
64
+ rollup
66
65
  };
67
66
  }
68
67
  /**
@@ -1,13 +1,15 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import type { LogFn } from '@aztec/foundation/log';
4
5
  import type { PXE } from '@aztec/pxe/server';
5
6
  import { FunctionSelector } from '@aztec/stdlib/abi/function-selector';
6
7
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
8
  import { PublicKeys } from '@aztec/stdlib/keys';
8
- import { LogId } from '@aztec/stdlib/logs/log-id';
9
+ import { LogCursor, Tag } from '@aztec/stdlib/logs';
9
10
  import { TxHash } from '@aztec/stdlib/tx/tx-hash';
10
11
  import { type Command, Option } from 'commander';
12
+ export { LogCursor };
11
13
  /**
12
14
  * If we can successfully resolve 'host.docker.internal', then we are running in a container, and we should treat
13
15
  * localhost as being host.docker.internal.
@@ -19,7 +21,7 @@ export declare function addOptions(program: Command, options: Option[]): Command
19
21
  export declare const makeNodeOption: (mandatory: boolean) => Option;
20
22
  export declare const nodeOption: Option;
21
23
  export declare const l1ChainIdOption: Option;
22
- export declare const createSecretKeyOption: (description: string, mandatory: boolean, argsParser?: ((value: string, previous: Fr) => Fr) | undefined) => Option;
24
+ export declare const createSigningKeyOption: (description: string, mandatory: boolean, argsParser?: ((value: string, previous: import("@aztec/foundation/curves/bn254").Fq) => import("@aztec/foundation/curves/bn254").Fq) | undefined) => Option;
23
25
  export declare const logJson: (log: LogFn) => (obj: object) => void;
24
26
  /**
25
27
  * Updates a file in place atomically.
@@ -73,12 +75,19 @@ export declare function parseEthereumAddress(address: string): EthAddress;
73
75
  */
74
76
  export declare function parseOptionalAztecAddress(address: string): AztecAddress | undefined;
75
77
  /**
76
- * Parses an optional log ID string into a LogId object.
78
+ * Parses an optional `<blockNumber>-<txIndexWithinBlock>-<logIndexWithinTx>` triple into a {@link LogCursor},
79
+ * used as the `--after-log` argument of `get-logs` to resume pagination strictly after a previously-seen log.
80
+ * Thin wrapper over {@link LogCursor.parseOptional} that surfaces parse errors as commander's
81
+ * {@link InvalidArgumentError}.
82
+ */
83
+ export declare function parseOptionalLogCursor(value: string): LogCursor | undefined;
84
+ /**
85
+ * Parses a log tag from a string. Tags are field-element values; we delegate to the {@link parseField} parser.
77
86
  *
78
- * @param logId - The log ID string to parse.
79
- * @returns The parsed LogId object, or undefined if the log ID is missing or empty.
87
+ * @param tag - A hex string, integer, or boolean string representing the tag.
88
+ * @returns A {@link Tag} wrapping the parsed field.
80
89
  */
81
- export declare function parseOptionalLogId(logId: string): LogId | undefined;
90
+ export declare function parseTag(tag: string): Tag;
82
91
  /**
83
92
  * Parses a selector from a string.
84
93
  * @param selector - A serialized selector.
@@ -124,12 +133,12 @@ export declare function parsePublicKey(publicKey: string): PublicKeys | undefine
124
133
  */
125
134
  export declare function parsePartialAddress(address: string): Fr;
126
135
  /**
127
- * Parses a secret key from a string.
128
- * @param privateKey - A string
129
- * @returns A secret key
136
+ * Parses an account signing key from a string.
137
+ * @param signingKey - A string
138
+ * @returns A signing key
130
139
  * @throws InvalidArgumentError if the input string is not valid.
131
140
  */
132
- export declare function parseSecretKey(secretKey: string): Fr;
141
+ export declare function parseSigningKey(signingKey: string): GrumpkinScalar;
133
142
  /**
134
143
  * Parses a field from a string.
135
144
  * @param field - A string representing the field.
@@ -149,4 +158,4 @@ export declare function parseFields(fields: string[]): Fr[];
149
158
  * @returns A JSON string
150
159
  */
151
160
  export declare function prettyPrintJSON(data: Record<string, any>): string;
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb21tYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQXdDLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUl2Rjs7O0dBR0c7QUFDSCxlQUFPLE1BQU0sWUFBWSx1QkFHSSxDQUFDO0FBRTlCLGVBQU8sTUFBTSxTQUFTLFFBQXVCLENBQUM7QUFDOUMsZUFBTyxNQUFRLGNBQWMsVUFBK0IsV0FBVyxzQkFBRSxRQUFRLHNCQUFFLE9BQU8sc0JBQUUsV0FBVyxvQkFBZ0IsQ0FBQztBQUV4SCx3QkFBZ0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUc3RDtBQUVELGVBQU8sTUFBTSxjQUFjLGdDQUlRLENBQUM7QUFFcEMsZUFBTyxNQUFNLFVBQVUsUUFBdUIsQ0FBQztBQUUvQyxlQUFPLE1BQU0sZUFBZSxRQVN4QixDQUFDO0FBRUwsZUFBTyxN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
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb21tYW5kcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBd0MsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSXZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSCxlQUFPLE1BQU0sWUFBWSx1QkFHSSxDQUFDO0FBRTlCLGVBQU8sTUFBTSxTQUFTLFFBQXVCLENBQUM7QUFDOUMsZUFBTyxNQUFRLGNBQWMsVUFBK0IsV0FBVyxzQkFBRSxRQUFRLHNCQUFFLE9BQU8sc0JBQUUsV0FBVyxvQkFBZ0IsQ0FBQztBQUV4SCx3QkFBZ0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUc3RDtBQUVELGVBQU8sTUFBTSxjQUFjLGdD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
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/utils/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,KAAK,OAAO,EAAwC,MAAM,EAAE,MAAM,WAAW,CAAC;AAIvF;;;GAGG;AACH,eAAO,MAAM,YAAY,uBAGI,CAAC;AAE9B,eAAO,MAAM,SAAS,QAAuB,CAAC;AAC9C,eAAO,MAAQ,cAAc,UAA+B,WAAW,sBAAE,QAAQ,sBAAE,OAAO,sBAAE,WAAW,oBAAgB,CAAC;AAExH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAG7D;AAED,eAAO,MAAM,cAAc,gCAIQ,CAAC;AAEpC,eAAO,MAAM,UAAU,QAAuB,CAAC;AAE/C,eAAO,MAAM,eAAe,QASxB,CAAC;AAEL,eAAO,MAAM,qBAAqB,qHAQC,CAAC;AAEpC,eAAO,MAAM,OAAO,uCAAqE,CAAC;AAE1F;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAqBxE;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,yBAgBzD;AAED;;;;;;;GAOG;AAEH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAiBpE;AAcD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,CAqBvD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAM/D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAMhE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAKnF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAKnE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CASpF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,MAAgC,EACrC,GAAG,GAAE,MAAgC,GACpC,MAAM,GAAG,SAAS,CAepB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CASxE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE,CAMpD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAyB5C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAElD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAcjE"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/utils/commands.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import { FunctionSelector } from '@aztec/stdlib/abi/function-selector';
4
5
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
6
  import { PublicKeys } from '@aztec/stdlib/keys';
6
- import { LogId } from '@aztec/stdlib/logs/log-id';
7
+ import { LogCursor, Tag } from '@aztec/stdlib/logs';
7
8
  import { TxHash } from '@aztec/stdlib/tx/tx-hash';
8
9
  import { CommanderError, InvalidArgumentError, Option } from 'commander';
9
10
  import { lookup } from 'dns/promises';
10
11
  import { rename, writeFile } from 'fs/promises';
12
+ export { LogCursor };
11
13
  /**
12
14
  * If we can successfully resolve 'host.docker.internal', then we are running in a container, and we should treat
13
15
  * localhost as being host.docker.internal.
@@ -27,7 +29,7 @@ export const l1ChainIdOption = new Option('-c, --l1-chain-id <number>', 'Chain I
27
29
  }
28
30
  return parsedValue;
29
31
  });
30
- export const createSecretKeyOption = (description, mandatory, argsParser)=>new Option('-sk, --secret-key <string>', description).env('SECRET_KEY').argParser(argsParser ?? parseSecretKey).makeOptionMandatory(mandatory);
32
+ export const createSigningKeyOption = (description, mandatory, argsParser)=>new Option('-sk, --signing-key <string>', description).env('SIGNING_KEY').argParser(argsParser ?? parseSigningKey).makeOptionMandatory(mandatory);
31
33
  export const logJson = (log)=>(obj)=>log(JSON.stringify(obj, null, 2));
32
34
  /**
33
35
  * Updates a file in place atomically.
@@ -61,7 +63,7 @@ export const logJson = (log)=>(obj)=>log(JSON.stringify(obj, null, 2));
61
63
  let from;
62
64
  if (_from) {
63
65
  try {
64
- from = AztecAddress.fromString(_from);
66
+ from = AztecAddress.fromStringUnsafe(_from);
65
67
  } catch {
66
68
  throw new InvalidArgumentError(`Invalid option 'from' passed: ${_from}`);
67
69
  }
@@ -137,7 +139,7 @@ export function parseBigint(bigint) {
137
139
  * @throws InvalidArgumentError if the input string is not valid.
138
140
  */ export function parseAztecAddress(address) {
139
141
  try {
140
- return AztecAddress.fromString(address);
142
+ return AztecAddress.fromStringUnsafe(address);
141
143
  } catch {
142
144
  throw new InvalidArgumentError(`Invalid Aztec address: ${address}`);
143
145
  }
@@ -166,15 +168,24 @@ export function parseBigint(bigint) {
166
168
  return parseAztecAddress(address);
167
169
  }
168
170
  /**
169
- * Parses an optional log ID string into a LogId object.
170
- *
171
- * @param logId - The log ID string to parse.
172
- * @returns The parsed LogId object, or undefined if the log ID is missing or empty.
173
- */ export function parseOptionalLogId(logId) {
174
- if (!logId) {
175
- return undefined;
171
+ * Parses an optional `<blockNumber>-<txIndexWithinBlock>-<logIndexWithinTx>` triple into a {@link LogCursor},
172
+ * used as the `--after-log` argument of `get-logs` to resume pagination strictly after a previously-seen log.
173
+ * Thin wrapper over {@link LogCursor.parseOptional} that surfaces parse errors as commander's
174
+ * {@link InvalidArgumentError}.
175
+ */ export function parseOptionalLogCursor(value) {
176
+ try {
177
+ return LogCursor.parseOptional(value);
178
+ } catch (err) {
179
+ throw new InvalidArgumentError(err instanceof Error ? err.message : String(err));
176
180
  }
177
- return LogId.fromString(logId);
181
+ }
182
+ /**
183
+ * Parses a log tag from a string. Tags are field-element values; we delegate to the {@link parseField} parser.
184
+ *
185
+ * @param tag - A hex string, integer, or boolean string representing the tag.
186
+ * @returns A {@link Tag} wrapping the parsed field.
187
+ */ export function parseTag(tag) {
188
+ return new Tag(parseField(tag));
178
189
  }
179
190
  /**
180
191
  * Parses a selector from a string.
@@ -265,15 +276,15 @@ export function parseBigint(bigint) {
265
276
  }
266
277
  }
267
278
  /**
268
- * Parses a secret key from a string.
269
- * @param privateKey - A string
270
- * @returns A secret key
279
+ * Parses an account signing key from a string.
280
+ * @param signingKey - A string
281
+ * @returns A signing key
271
282
  * @throws InvalidArgumentError if the input string is not valid.
272
- */ export function parseSecretKey(secretKey) {
283
+ */ export function parseSigningKey(signingKey) {
273
284
  try {
274
- return Fr.fromHexString(secretKey);
285
+ return GrumpkinScalar.fromHexString(signingKey);
275
286
  } catch {
276
- throw new InvalidArgumentError(`Invalid encryption secret key: ${secretKey}`);
287
+ throw new InvalidArgumentError(`Invalid signing key: ${signingKey}`);
277
288
  }
278
289
  }
279
290
  /**
@@ -8,4 +8,4 @@ export declare function inspectBlock(aztecNode: AztecNode, blockNumber: BlockNum
8
8
  export declare function inspectTx(aztecNode: AztecNode, txHash: TxHash, log: LogFn, opts?: {
9
9
  includeBlockInfo?: boolean;
10
10
  }): Promise<void>;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2luc3BlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHdCQUFzQixZQUFZLENBQ2hDLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEdBQUcsRUFBRSxLQUFLLEVBQ1YsSUFBSSxHQUFFO0lBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQU8saUJBMEJqQztBQUVELHdCQUFzQixTQUFTLENBQzdCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxFQUFFLEtBQUssRUFDVixJQUFJLEdBQUU7SUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFPLGlCQW1FMUMifQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2luc3BlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLHdCQUFzQixZQUFZLENBQ2hDLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEdBQUcsRUFBRSxLQUFLLEVBQ1YsSUFBSSxHQUFFO0lBQUUsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQU8saUJBeUJqQztBQUVELHdCQUFzQixTQUFTLENBQzdCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxFQUFFLEtBQUssRUFDVixJQUFJLEdBQUU7SUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFPLGlCQXNFMUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/utils/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,iBA0BjC;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,iBAmE1C"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/utils/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,iBAyBjC;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,EACV,IAAI,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,iBAsE1C"}