@aztec/cli 0.0.1-commit.85d7d01 → 0.0.1-commit.8655d4a
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/cached_fetch.d.ts +19 -10
- package/dest/config/cached_fetch.d.ts.map +1 -1
- package/dest/config/cached_fetch.js +110 -32
- package/dest/config/generated/networks.d.ts +34 -35
- package/dest/config/generated/networks.d.ts.map +1 -1
- package/dest/config/generated/networks.js +35 -36
- 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 +6 -2
- 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/cached_fetch.ts +119 -31
- package/src/config/generated/networks.ts +33 -34
- package/src/config/network_config.ts +6 -2
- 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
|
-
SLASH_MAX_PAYLOAD_SIZE:
|
|
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,
|
|
@@ -58,12 +57,9 @@ export const devnetConfig = {
|
|
|
58
57
|
BLOB_ALLOW_EMPTY_SOURCES: false,
|
|
59
58
|
P2P_MAX_PENDING_TX_COUNT: 1000,
|
|
60
59
|
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: false,
|
|
61
|
-
AUTO_UPDATE: 'none',
|
|
62
|
-
AUTO_UPDATE_URL: '',
|
|
63
60
|
PUBLIC_OTEL_OPT_OUT: true,
|
|
64
61
|
PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
|
|
65
62
|
PUBLIC_OTEL_COLLECT_FROM: '',
|
|
66
|
-
SLASH_PRUNE_PENALTY: 10000000000000000000,
|
|
67
63
|
SLASH_DATA_WITHHOLDING_PENALTY: 10000000000000000000,
|
|
68
64
|
SLASH_INACTIVITY_TARGET_PERCENTAGE: 0.9,
|
|
69
65
|
SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD: 1,
|
|
@@ -71,10 +67,13 @@ export const devnetConfig = {
|
|
|
71
67
|
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
72
68
|
SLASH_DUPLICATE_PROPOSAL_PENALTY: 10000000000000000000,
|
|
73
69
|
SLASH_DUPLICATE_ATTESTATION_PENALTY: 10000000000000000000,
|
|
74
|
-
|
|
70
|
+
SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY: 10000000000000000000,
|
|
71
|
+
SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 10000000000000000000,
|
|
75
72
|
SLASH_UNKNOWN_PENALTY: 10000000000000000000,
|
|
76
73
|
SLASH_INVALID_BLOCK_PENALTY: 10000000000000000000,
|
|
74
|
+
SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY: 0,
|
|
77
75
|
SLASH_GRACE_PERIOD_L2_SLOTS: 0,
|
|
76
|
+
ENABLE_VERSION_CHECK: true,
|
|
78
77
|
} as const;
|
|
79
78
|
|
|
80
79
|
export const testnetConfig = {
|
|
@@ -87,19 +86,18 @@ export const testnetConfig = {
|
|
|
87
86
|
AZTEC_INBOX_LAG: 1,
|
|
88
87
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
89
88
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
90
|
-
|
|
89
|
+
AZTEC_SLASHER_ENABLED: true,
|
|
91
90
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
92
91
|
AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
|
|
93
92
|
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
94
93
|
AZTEC_SLASHING_DISABLE_DURATION: 432000,
|
|
95
|
-
SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
|
|
96
|
-
SLASH_MAX_PENALTY_PERCENTAGE: 2,
|
|
97
94
|
SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
|
|
98
|
-
SLASH_MAX_PAYLOAD_SIZE:
|
|
95
|
+
SLASH_MAX_PAYLOAD_SIZE: 80,
|
|
99
96
|
SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
|
|
97
|
+
SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
|
|
100
98
|
P2P_ENABLED: true,
|
|
101
99
|
BOOTSTRAP_NODES: '',
|
|
102
|
-
SEQ_MIN_TX_PER_BLOCK:
|
|
100
|
+
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
103
101
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
104
102
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
105
103
|
SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
|
|
@@ -126,12 +124,12 @@ export const testnetConfig = {
|
|
|
126
124
|
AZTEC_SLASH_AMOUNT_LARGE: 1E+23,
|
|
127
125
|
L1_CHAIN_ID: 11155111,
|
|
128
126
|
TEST_ACCOUNTS: false,
|
|
129
|
-
SPONSORED_FPC:
|
|
127
|
+
SPONSORED_FPC: false,
|
|
130
128
|
TRANSACTIONS_DISABLED: false,
|
|
131
|
-
|
|
129
|
+
SEQ_MAX_TX_PER_CHECKPOINT: 72,
|
|
132
130
|
PROVER_REAL_PROOFS: true,
|
|
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,10 +137,13 @@ 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
|
+
ENABLE_VERSION_CHECK: true,
|
|
146
147
|
} as const;
|
|
147
148
|
|
|
148
149
|
export const mainnetConfig = {
|
|
@@ -154,17 +155,16 @@ export const mainnetConfig = {
|
|
|
154
155
|
AZTEC_INBOX_LAG: 1,
|
|
155
156
|
AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
|
|
156
157
|
AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
|
|
157
|
-
|
|
158
|
+
AZTEC_SLASHER_ENABLED: true,
|
|
158
159
|
AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
|
|
159
160
|
AZTEC_SLASHING_OFFSET_IN_ROUNDS: 2,
|
|
160
|
-
SLASH_MIN_PENALTY_PERCENTAGE: 0.5,
|
|
161
|
-
SLASH_MAX_PENALTY_PERCENTAGE: 2,
|
|
162
161
|
SLASH_OFFENSE_EXPIRATION_ROUNDS: 4,
|
|
163
|
-
SLASH_MAX_PAYLOAD_SIZE:
|
|
162
|
+
SLASH_MAX_PAYLOAD_SIZE: 80,
|
|
164
163
|
SLASH_EXECUTE_ROUNDS_LOOK_BACK: 4,
|
|
164
|
+
SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS: 3,
|
|
165
165
|
P2P_ENABLED: true,
|
|
166
166
|
BOOTSTRAP_NODES: '',
|
|
167
|
-
SEQ_MIN_TX_PER_BLOCK:
|
|
167
|
+
SEQ_MIN_TX_PER_BLOCK: 1,
|
|
168
168
|
SEQ_BUILD_CHECKPOINT_IF_EMPTY: true,
|
|
169
169
|
SEQ_BLOCK_DURATION_MS: 6000,
|
|
170
170
|
SEQ_L1_PUBLISHING_TIME_ALLOWANCE_IN_SLOT: 36,
|
|
@@ -178,7 +178,7 @@ export const mainnetConfig = {
|
|
|
178
178
|
AZTEC_SLOT_DURATION: 72,
|
|
179
179
|
AZTEC_ACTIVATION_THRESHOLD: 2E+23,
|
|
180
180
|
AZTEC_EJECTION_THRESHOLD: 1E+23,
|
|
181
|
-
AZTEC_LOCAL_EJECTION_THRESHOLD: 1.
|
|
181
|
+
AZTEC_LOCAL_EJECTION_THRESHOLD: 1.9E+23,
|
|
182
182
|
AZTEC_SLASH_AMOUNT_SMALL: 2E+21,
|
|
183
183
|
AZTEC_SLASH_AMOUNT_MEDIUM: 2E+21,
|
|
184
184
|
AZTEC_SLASH_AMOUNT_LARGE: 2E+21,
|
|
@@ -200,18 +200,15 @@ export const mainnetConfig = {
|
|
|
200
200
|
L1_CHAIN_ID: 1,
|
|
201
201
|
TEST_ACCOUNTS: false,
|
|
202
202
|
SPONSORED_FPC: false,
|
|
203
|
-
TRANSACTIONS_DISABLED:
|
|
204
|
-
|
|
203
|
+
TRANSACTIONS_DISABLED: false,
|
|
204
|
+
SEQ_MAX_TX_PER_CHECKPOINT: 72,
|
|
205
205
|
PROVER_REAL_PROOFS: true,
|
|
206
|
-
SYNC_SNAPSHOTS_URLS: 'https://aztec-labs-snapshots.com/mainnet/',
|
|
207
206
|
BLOB_ALLOW_EMPTY_SOURCES: true,
|
|
208
|
-
P2P_MAX_PENDING_TX_COUNT:
|
|
207
|
+
P2P_MAX_PENDING_TX_COUNT: 1000,
|
|
209
208
|
P2P_TX_POOL_DELETE_TXS_AFTER_REORG: true,
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
PUBLIC_OTEL_COLLECT_FROM: 'sequencer',
|
|
214
|
-
SLASH_PRUNE_PENALTY: 0,
|
|
209
|
+
PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: '',
|
|
210
|
+
PUBLIC_OTEL_COLLECT_FROM: '',
|
|
211
|
+
ENABLE_VERSION_CHECK: false,
|
|
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
|
|
|
@@ -9,7 +9,6 @@ import { enrichEthAddressVar, enrichVar } from './enrich_env.js';
|
|
|
9
9
|
const DEFAULT_CONFIG_URL =
|
|
10
10
|
'https://raw.githubusercontent.com/AztecProtocol/networks/refs/heads/main/network_config.json';
|
|
11
11
|
const FALLBACK_CONFIG_URL = 'https://metadata.aztec.network/network_config.json';
|
|
12
|
-
const NETWORK_CONFIG_CACHE_DURATION_MS = 60 * 60 * 1000; // 1 hour
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Fetches remote network configuration from GitHub with caching support.
|
|
@@ -87,7 +86,6 @@ async function fetchNetworkConfigFromUrl(
|
|
|
87
86
|
|
|
88
87
|
if (url.protocol === 'http:' || url.protocol === 'https:') {
|
|
89
88
|
rawConfig = await cachedFetch(url.href, {
|
|
90
|
-
cacheDurationMs: NETWORK_CONFIG_CACHE_DURATION_MS,
|
|
91
89
|
cacheFile: cacheDir ? join(cacheDir, networkName, 'network_config.json') : undefined,
|
|
92
90
|
});
|
|
93
91
|
} else if (url.protocol === 'file:') {
|
|
@@ -141,7 +139,13 @@ export async function enrichEnvironmentWithNetworkConfig(networkName: NetworkNam
|
|
|
141
139
|
if (networkConfig.blobFileStoreUrls?.length) {
|
|
142
140
|
enrichVar('BLOB_FILE_STORE_URLS', networkConfig.blobFileStoreUrls.join(','));
|
|
143
141
|
}
|
|
142
|
+
if (networkConfig.txCollectionFileStoreUrls?.length) {
|
|
143
|
+
enrichVar('TX_COLLECTION_FILE_STORE_URLS', networkConfig.txCollectionFileStoreUrls.join(','));
|
|
144
|
+
}
|
|
144
145
|
if (networkConfig.blockDurationMs !== undefined) {
|
|
145
146
|
enrichVar('SEQ_BLOCK_DURATION_MS', String(networkConfig.blockDurationMs));
|
|
146
147
|
}
|
|
148
|
+
if (networkConfig.txPublicSetupAllowListExtend) {
|
|
149
|
+
enrichVar('TX_PUBLIC_SETUP_ALLOWLIST', networkConfig.txPublicSetupAllowListExtend);
|
|
150
|
+
}
|
|
147
151
|
}
|
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
|
}
|