@aztec/cli 0.0.1-commit.04852196a → 0.0.1-commit.04d373f
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/cmds/aztec_node/block_number.js +1 -1
- package/dest/cmds/aztec_node/get_logs.d.ts +30 -4
- package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -1
- package/dest/cmds/aztec_node/get_logs.js +39 -29
- package/dest/cmds/aztec_node/get_node_info.d.ts +1 -1
- package/dest/cmds/aztec_node/get_node_info.d.ts.map +1 -1
- package/dest/cmds/aztec_node/get_node_info.js +0 -2
- package/dest/cmds/aztec_node/index.d.ts +1 -1
- package/dest/cmds/aztec_node/index.d.ts.map +1 -1
- package/dest/cmds/aztec_node/index.js +13 -3
- package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts +1 -1
- package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts.map +1 -1
- package/dest/cmds/l1/deploy_l1_contracts_cmd.js +0 -1
- package/dest/cmds/l1/deploy_new_rollup.d.ts +1 -1
- package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
- package/dest/cmds/l1/deploy_new_rollup.js +2 -4
- package/dest/cmds/l1/update_l1_validators.d.ts +1 -1
- package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
- package/dest/cmds/l1/update_l1_validators.js +0 -1
- package/dest/config/generated/networks.d.ts +19 -20
- package/dest/config/generated/networks.d.ts.map +1 -1
- package/dest/config/generated/networks.js +18 -19
- package/dest/config/network_config.d.ts +1 -1
- package/dest/config/network_config.d.ts.map +1 -1
- package/dest/config/network_config.js +3 -0
- package/dest/utils/aztec.d.ts +1 -2
- package/dest/utils/aztec.d.ts.map +1 -1
- package/dest/utils/aztec.js +2 -3
- package/dest/utils/commands.d.ts +14 -6
- package/dest/utils/commands.d.ts.map +1 -1
- package/dest/utils/commands.js +19 -9
- package/dest/utils/inspect.d.ts +1 -1
- package/dest/utils/inspect.d.ts.map +1 -1
- package/dest/utils/inspect.js +6 -5
- package/package.json +30 -30
- package/src/cmds/aztec_node/block_number.ts +1 -1
- package/src/cmds/aztec_node/get_logs.ts +70 -38
- package/src/cmds/aztec_node/get_node_info.ts +0 -2
- package/src/cmds/aztec_node/index.ts +13 -8
- package/src/cmds/l1/deploy_l1_contracts_cmd.ts +0 -1
- package/src/cmds/l1/deploy_new_rollup.ts +1 -3
- package/src/cmds/l1/update_l1_validators.ts +0 -1
- package/src/config/generated/networks.ts +18 -19
- package/src/config/network_config.ts +3 -0
- package/src/utils/aztec.ts +12 -18
- package/src/utils/commands.ts +22 -9
- package/src/utils/inspect.ts +4 -5
|
@@ -14,7 +14,7 @@ export const devnetConfig = {
|
|
|
14
14
|
AZTEC_MANA_TARGET: 100000000,
|
|
15
15
|
AZTEC_PROVING_COST_PER_MANA: 100,
|
|
16
16
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
17
|
-
|
|
17
|
+
AZTEC_SLASHER_ENABLED: true,
|
|
18
18
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
19
19
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
20
20
|
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
@@ -24,14 +24,13 @@ export const devnetConfig = {
|
|
|
24
24
|
AZTEC_SLASH_AMOUNT_MEDIUM: 20000000000000000000,
|
|
25
25
|
AZTEC_SLASH_AMOUNT_LARGE: 50000000000000000000,
|
|
26
26
|
AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE: 300,
|
|
27
|
-
SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
|
|
28
|
-
SLASH_MAX_PENALTY_PERCENTAGE: 2,
|
|
29
27
|
SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
|
|
30
28
|
SLASH_MAX_PAYLOAD_SIZE: 80,
|
|
31
29
|
SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
|
|
30
|
+
SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
|
|
32
31
|
P2P_ENABLED: true,
|
|
33
32
|
BOOTSTRAP_NODES: '',
|
|
34
|
-
SEQ_MIN_TX_PER_BLOCK:
|
|
33
|
+
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
35
34
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
36
35
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
37
36
|
SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
|
|
@@ -61,7 +60,6 @@ export const devnetConfig = {
|
|
|
61
60
|
PUBLIC_OTEL_OPT_OUT: true,
|
|
62
61
|
PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
|
|
63
62
|
PUBLIC_OTEL_COLLECT_FROM: '',
|
|
64
|
-
SLASH_PRUNE_PENALTY: 10000000000000000000,
|
|
65
63
|
SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
|
|
66
64
|
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
|
|
67
65
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
@@ -69,9 +67,11 @@ export const devnetConfig = {
|
|
|
69
67
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
70
68
|
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
71
69
|
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
72
|
-
|
|
70
|
+
SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
71
|
+
SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 10000000000000000000,
|
|
73
72
|
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
74
73
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
74
|
+
SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
|
|
75
75
|
SLASH_GRACE_PERIOD_L2_SLOTS: 0,
|
|
76
76
|
ENABLE_VERSION_CHECK: true,
|
|
77
77
|
} as const;
|
|
@@ -86,19 +86,18 @@ export const testnetConfig = {
|
|
|
86
86
|
AZTEC_INBOX_LAG: 1,
|
|
87
87
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
88
88
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
89
|
-
|
|
89
|
+
AZTEC_SLASHER_ENABLED: true,
|
|
90
90
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
91
91
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
92
92
|
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
93
93
|
AZTEC_SLASHING_DISABLE_DURATION: 432000,
|
|
94
|
-
SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
|
|
95
|
-
SLASH_MAX_PENALTY_PERCENTAGE: 2,
|
|
96
94
|
SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
|
|
97
95
|
SLASH_MAX_PAYLOAD_SIZE: 80,
|
|
98
96
|
SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
|
|
97
|
+
SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
|
|
99
98
|
P2P_ENABLED: true,
|
|
100
99
|
BOOTSTRAP_NODES: '',
|
|
101
|
-
SEQ_MIN_TX_PER_BLOCK:
|
|
100
|
+
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
102
101
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
103
102
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
104
103
|
SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
|
|
@@ -131,7 +130,6 @@ export const testnetConfig = {
|
|
|
131
130
|
PROVER_REAL_PROOFS: true,
|
|
132
131
|
P2P_MAX_PENDING_TX_COUNT: 1000,
|
|
133
132
|
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
|
|
134
|
-
SLASH_PRUNE_PENALTY: 10000000000000000000,
|
|
135
133
|
SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
|
|
136
134
|
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
|
|
137
135
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
@@ -139,9 +137,11 @@ export const testnetConfig = {
|
|
|
139
137
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
140
138
|
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
141
139
|
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
142
|
-
|
|
140
|
+
SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
141
|
+
SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 10000000000000000000,
|
|
143
142
|
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
144
143
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
144
|
+
SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
|
|
145
145
|
SLASH_GRACE_PERIOD_L2_SLOTS: 64,
|
|
146
146
|
ENABLE_VERSION_CHECK: true,
|
|
147
147
|
} as const;
|
|
@@ -155,17 +155,16 @@ export const mainnetConfig = {
|
|
|
155
155
|
AZTEC_INBOX_LAG: 1,
|
|
156
156
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
157
157
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
158
|
-
|
|
158
|
+
AZTEC_SLASHER_ENABLED: true,
|
|
159
159
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
160
160
|
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
161
|
-
SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
|
|
162
|
-
SLASH_MAX_PENALTY_PERCENTAGE: 2,
|
|
163
161
|
SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
|
|
164
162
|
SLASH_MAX_PAYLOAD_SIZE: 80,
|
|
165
163
|
SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
|
|
164
|
+
SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
|
|
166
165
|
P2P_ENABLED: true,
|
|
167
166
|
BOOTSTRAP_NODES: '',
|
|
168
|
-
SEQ_MIN_TX_PER_BLOCK:
|
|
167
|
+
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
169
168
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
170
169
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
171
170
|
SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
|
|
@@ -204,14 +203,12 @@ export const mainnetConfig = {
|
|
|
204
203
|
TRANSACTIONS_DISABLED: false,
|
|
205
204
|
SEQ_MAX_TX_PER_CHECKPOINT: 72,
|
|
206
205
|
PROVER_REAL_PROOFS: true,
|
|
207
|
-
SYNC_SNAPSHOTS_URLS: 'https://aztec-labs-snapshots.com/mainnet/',
|
|
208
206
|
BLOB_ALLOW_EMPTY_SOURCES: true,
|
|
209
207
|
P2P_MAX_PENDING_TX_COUNT: 1000,
|
|
210
208
|
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
|
|
211
209
|
PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
|
|
212
210
|
PUBLIC_OTEL_COLLECT_FROM: '',
|
|
213
211
|
ENABLE_VERSION_CHECK: false,
|
|
214
|
-
SLASH_PRUNE_PENALTY: 0,
|
|
215
212
|
SLASH_DATA_WITHHOLDING_PENALTY: 0,
|
|
216
213
|
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.8,
|
|
217
214
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 2,
|
|
@@ -219,9 +216,11 @@ export const mainnetConfig = {
|
|
|
219
216
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 2E+21,
|
|
220
217
|
SLASH_DUPLICATE_PROPOSAL_PENALTY: 2E+21,
|
|
221
218
|
SLASH_DUPLICATE_ATTESTATION_PENALTY: 2E+21,
|
|
222
|
-
|
|
219
|
+
SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 2E+21,
|
|
220
|
+
SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 2E+21,
|
|
223
221
|
SLASH_UNKNOWN_PENALTY: 2E+21,
|
|
224
222
|
SLASH_INVALID_BLOCK_PENALTY: 2E+21,
|
|
223
|
+
SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
|
|
225
224
|
SLASH_GRACE_PERIOD_L2_SLOTS: 1200,
|
|
226
225
|
} as const;
|
|
227
226
|
|
|
@@ -139,6 +139,9 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
|
|
|
139
139
|
if (networkConfig.blobFileStoreUrls?.length) {
|
|
140
140
|
enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
|
|
141
141
|
}
|
|
142
|
+
if (networkConfig.txCollectionFileStoreUrls?.length) {
|
|
143
|
+
enrichVar('TX_COLLECTION_FILE_STORE_URLS', networkConfig.txCollectionFileStoreUrls.join(','));
|
|
144
|
+
}
|
|
142
145
|
if (networkConfig.blockDurationMs !== undefined) {
|
|
143
146
|
enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
|
|
144
147
|
}
|
package/src/utils/aztec.ts
CHANGED
|
@@ -49,7 +49,7 @@ export async function deployNewRollupContracts(
|
|
|
49
49
|
feeJuicePortalInitialBalance: bigint,
|
|
50
50
|
config: L1ContractsConfig,
|
|
51
51
|
realVerifier: boolean,
|
|
52
|
-
): Promise<{ rollup: RollupContract
|
|
52
|
+
): Promise<{ rollup: RollupContract }> {
|
|
53
53
|
const { deployRollupForUpgrade } = await import('@aztec/ethereum/deploy-aztec-l1-contracts');
|
|
54
54
|
const { mnemonicToAccount, privateKeyToAccount } = await import('viem/accounts');
|
|
55
55
|
const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
|
|
@@ -80,23 +80,17 @@ export async function deployNewRollupContracts(
|
|
|
80
80
|
logger.info('Initializing new rollup with old attesters', { initialValidators });
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
const { rollup
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
realVerifier,
|
|
95
|
-
...config,
|
|
96
|
-
},
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
return { rollup, slashFactoryAddress: EthAddress.fromString(slashFactoryAddress!) };
|
|
83
|
+
const { rollup } = await deployRollupForUpgrade(privateKey as Hex, rpcUrls[0], chainId, registryAddress, {
|
|
84
|
+
vkTreeRoot: getVKTreeRoot(),
|
|
85
|
+
protocolContractsHash,
|
|
86
|
+
genesisArchiveRoot,
|
|
87
|
+
initialValidators,
|
|
88
|
+
feeJuicePortalInitialBalance,
|
|
89
|
+
realVerifier,
|
|
90
|
+
...config,
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
return { rollup };
|
|
100
94
|
}
|
|
101
95
|
|
|
102
96
|
/**
|
package/src/utils/commands.ts
CHANGED
|
@@ -5,13 +5,15 @@ import type { PXE } from '@aztec/pxe/server';
|
|
|
5
5
|
import { FunctionSelector } from '@aztec/stdlib/abi/function-selector';
|
|
6
6
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
7
|
import { PublicKeys } from '@aztec/stdlib/keys';
|
|
8
|
-
import {
|
|
8
|
+
import { LogCursor, Tag } from '@aztec/stdlib/logs';
|
|
9
9
|
import { TxHash } from '@aztec/stdlib/tx/tx-hash';
|
|
10
10
|
|
|
11
11
|
import { type Command, CommanderError, InvalidArgumentError, Option } from 'commander';
|
|
12
12
|
import { lookup } from 'dns/promises';
|
|
13
13
|
import { rename, writeFile } from 'fs/promises';
|
|
14
14
|
|
|
15
|
+
export { LogCursor };
|
|
16
|
+
|
|
15
17
|
/**
|
|
16
18
|
* If we can successfully resolve 'host.docker.internal', then we are running in a container, and we should treat
|
|
17
19
|
* localhost as being host.docker.internal.
|
|
@@ -227,16 +229,27 @@ export function parseOptionalAztecAddress(address: string): AztecAddress | undef
|
|
|
227
229
|
}
|
|
228
230
|
|
|
229
231
|
/**
|
|
230
|
-
* Parses an optional
|
|
231
|
-
*
|
|
232
|
-
* @
|
|
233
|
-
* @
|
|
232
|
+
* Parses an optional `<blockNumber>-<txIndexWithinBlock>-<logIndexWithinTx>` triple into a {@link LogCursor},
|
|
233
|
+
* used as the `--after-log` argument of `get-logs` to resume pagination strictly after a previously-seen log.
|
|
234
|
+
* Thin wrapper over {@link LogCursor.parseOptional} that surfaces parse errors as commander's
|
|
235
|
+
* {@link InvalidArgumentError}.
|
|
234
236
|
*/
|
|
235
|
-
export function
|
|
236
|
-
|
|
237
|
-
return
|
|
237
|
+
export function parseOptionalLogCursor(value: string): LogCursor | undefined {
|
|
238
|
+
try {
|
|
239
|
+
return LogCursor.parseOptional(value);
|
|
240
|
+
} catch (err) {
|
|
241
|
+
throw new InvalidArgumentError(err instanceof Error ? err.message : String(err));
|
|
238
242
|
}
|
|
239
|
-
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Parses a log tag from a string. Tags are field-element values; we delegate to the {@link parseField} parser.
|
|
247
|
+
*
|
|
248
|
+
* @param tag - A hex string, integer, or boolean string representing the tag.
|
|
249
|
+
* @returns A {@link Tag} wrapping the parsed field.
|
|
250
|
+
*/
|
|
251
|
+
export function parseTag(tag: string): Tag {
|
|
252
|
+
return new Tag(parseField(tag));
|
|
240
253
|
}
|
|
241
254
|
|
|
242
255
|
/**
|
package/src/utils/inspect.ts
CHANGED
|
@@ -9,14 +9,13 @@ export async function inspectBlock(
|
|
|
9
9
|
log: LogFn,
|
|
10
10
|
opts: { showTxs?: boolean } = {},
|
|
11
11
|
) {
|
|
12
|
-
const block = await aztecNode.getBlock(blockNumber);
|
|
12
|
+
const block = await aztecNode.getBlock(blockNumber, { includeTransactions: opts.showTxs });
|
|
13
13
|
if (!block) {
|
|
14
14
|
log(`No block found for block number ${blockNumber}`);
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
log(`Block ${blockNumber} (${blockHash.toString()})`);
|
|
18
|
+
log(`Block ${blockNumber} (${block.hash.toString()})`);
|
|
20
19
|
log(` Total fees: ${block.header.totalFees.toBigInt()}`);
|
|
21
20
|
log(` Total mana used: ${block.header.totalManaUsed.toBigInt()}`);
|
|
22
21
|
log(
|
|
@@ -25,12 +24,12 @@ export async function inspectBlock(
|
|
|
25
24
|
log(` Coinbase: ${block.header.globalVariables.coinbase}`);
|
|
26
25
|
log(` Fee recipient: ${block.header.globalVariables.feeRecipient}`);
|
|
27
26
|
log(` Timestamp: ${new Date(Number(block.header.globalVariables.timestamp) * 500)}`);
|
|
28
|
-
if (opts.showTxs) {
|
|
27
|
+
if (opts.showTxs && block.body) {
|
|
29
28
|
log(``);
|
|
30
29
|
for (const txHash of block.body.txEffects.map(tx => tx.txHash)) {
|
|
31
30
|
await inspectTx(aztecNode, txHash, log, { includeBlockInfo: false });
|
|
32
31
|
}
|
|
33
|
-
} else {
|
|
32
|
+
} else if (block.body) {
|
|
34
33
|
log(` Transactions: ${block.body.txEffects.length}`);
|
|
35
34
|
}
|
|
36
35
|
}
|