@aztec/cli 0.0.0-test.1 → 0.0.1-commit.017a351
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 +33 -0
- package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -0
- package/dest/cmds/aztec_node/get_logs.js +61 -0
- 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 +13 -16
- 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 +38 -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 +13 -15
- 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 +8 -10
- package/dest/cmds/infrastructure/sequencers.d.ts +5 -6
- package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -1
- package/dest/cmds/infrastructure/sequencers.js +38 -18
- 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 +15 -23
- 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 +8 -6
- 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 +10 -10
- package/dest/cmds/l1/bridge_erc20.d.ts +3 -3
- package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -1
- package/dest/cmds/l1/bridge_erc20.js +6 -5
- 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_cmd.js +80 -0
- package/dest/cmds/l1/deploy_new_rollup.d.ts +4 -3
- package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
- package/dest/cmds/l1/deploy_new_rollup.js +16 -9
- 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 +19 -17
- package/dest/cmds/l1/index.d.ts +1 -1
- package/dest/cmds/l1/index.d.ts.map +1 -1
- package/dest/cmds/l1/index.js +41 -44
- 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 +6 -0
- package/dest/cmds/l1/trigger_seed_snapshot.d.ts.map +1 -0
- package/dest/cmds/l1/trigger_seed_snapshot.js +20 -0
- package/dest/cmds/l1/update_l1_validators.d.ts +21 -6
- package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
- package/dest/cmds/l1/update_l1_validators.js +198 -104
- 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 +2 -2
- package/dest/cmds/misc/generate_bootnode_enr.d.ts.map +1 -1
- package/dest/cmds/misc/generate_bootnode_enr.js +2 -2
- package/dest/cmds/misc/generate_p2p_private_key.d.ts +1 -1
- package/dest/cmds/misc/generate_secret_and_hash.d.ts +2 -2
- package/dest/cmds/misc/generate_secret_and_hash.d.ts.map +1 -1
- package/dest/cmds/misc/generate_secret_and_hash.js +4 -4
- 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 +3 -0
- package/dest/cmds/misc/get_canonical_sponsored_fpc_address.d.ts.map +1 -0
- package/dest/cmds/misc/get_canonical_sponsored_fpc_address.js +4 -0
- 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 +8 -4
- package/dest/cmds/misc/update/common.d.ts +1 -1
- package/dest/cmds/misc/update/github.d.ts +1 -2
- package/dest/cmds/misc/update/github.d.ts.map +1 -1
- package/dest/cmds/misc/update/github.js +0 -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/misc/update.d.ts.map +1 -1
- package/dest/cmds/misc/update.js +2 -3
- 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 +27 -0
- package/dest/config/cached_fetch.d.ts.map +1 -0
- package/dest/config/cached_fetch.js +132 -0
- package/dest/config/chain_l2_config.d.ts +14 -0
- package/dest/config/chain_l2_config.d.ts.map +1 -0
- package/dest/config/chain_l2_config.js +47 -0
- package/dest/config/enrich_env.d.ts +4 -0
- package/dest/config/enrich_env.d.ts.map +1 -0
- package/dest/config/enrich_env.js +12 -0
- package/dest/config/generated/networks.d.ts +221 -0
- package/dest/config/generated/networks.d.ts.map +1 -0
- package/dest/config/generated/networks.js +222 -0
- package/dest/config/get_l1_config.d.ts +9 -0
- package/dest/config/get_l1_config.d.ts.map +1 -0
- package/dest/config/get_l1_config.js +24 -0
- package/dest/config/index.d.ts +5 -0
- package/dest/config/index.d.ts.map +1 -0
- package/dest/config/index.js +4 -0
- package/dest/config/network_config.d.ts +22 -0
- package/dest/config/network_config.d.ts.map +1 -0
- package/dest/config/network_config.js +119 -0
- package/dest/utils/aztec.d.ts +14 -26
- package/dest/utils/aztec.d.ts.map +1 -1
- package/dest/utils/aztec.js +54 -71
- package/dest/utils/commands.d.ts +34 -17
- package/dest/utils/commands.d.ts.map +1 -1
- package/dest/utils/commands.js +61 -24
- package/dest/utils/encoding.d.ts +1 -1
- package/dest/utils/encoding.js +2 -2
- package/dest/utils/github.d.ts +1 -2
- package/dest/utils/github.d.ts.map +1 -1
- package/dest/utils/github.js +0 -1
- package/dest/utils/index.d.ts +2 -1
- package/dest/utils/index.d.ts.map +1 -1
- package/dest/utils/index.js +1 -0
- package/dest/utils/inspect.d.ts +5 -11
- package/dest/utils/inspect.d.ts.map +1 -1
- package/dest/utils/inspect.js +30 -117
- package/dest/utils/setup_contracts.d.ts +3 -0
- package/dest/utils/setup_contracts.d.ts.map +1 -0
- package/dest/utils/setup_contracts.js +16 -0
- package/package.json +61 -37
- 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/aztec_node/get_logs.ts +100 -0
- package/src/cmds/{pxe → aztec_node}/get_node_info.ts +15 -25
- package/src/cmds/aztec_node/index.ts +92 -0
- package/src/cmds/contracts/inspect_contract.ts +20 -17
- package/src/cmds/infrastructure/index.ts +8 -11
- package/src/cmds/infrastructure/sequencers.ts +41 -22
- package/src/cmds/infrastructure/setup_l2_contract.ts +18 -25
- package/src/cmds/l1/advance_epoch.ts +7 -5
- package/src/cmds/l1/assume_proven_through.ts +11 -10
- package/src/cmds/l1/bridge_erc20.ts +8 -4
- package/src/cmds/l1/compute_genesis_values.ts +29 -0
- package/src/cmds/l1/deploy_l1_contracts_cmd.ts +106 -0
- package/src/cmds/l1/deploy_new_rollup.ts +22 -15
- 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 +20 -24
- package/src/cmds/l1/index.ts +95 -113
- package/src/cmds/l1/prover_stats.ts +42 -31
- package/src/cmds/l1/trigger_seed_snapshot.ts +32 -0
- package/src/cmds/l1/update_l1_validators.ts +218 -98
- package/src/cmds/misc/generate_bootnode_enr.ts +3 -2
- package/src/cmds/misc/generate_secret_and_hash.ts +4 -4
- package/src/cmds/misc/generate_secret_key.ts +1 -1
- package/src/cmds/misc/get_canonical_sponsored_fpc_address.ts +7 -0
- package/src/cmds/misc/index.ts +14 -5
- package/src/cmds/misc/update/github.ts +0 -1
- package/src/cmds/misc/update/npm.ts +1 -1
- package/src/cmds/misc/update.ts +1 -7
- 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 +155 -0
- package/src/config/chain_l2_config.ts +59 -0
- package/src/config/enrich_env.ts +15 -0
- package/src/config/generated/networks.ts +226 -0
- package/src/config/get_l1_config.ts +31 -0
- package/src/config/index.ts +4 -0
- package/src/config/network_config.ts +151 -0
- package/src/utils/aztec.ts +77 -129
- package/src/utils/commands.ts +78 -28
- package/src/utils/encoding.ts +2 -2
- package/src/utils/github.ts +0 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/inspect.ts +33 -130
- package/src/utils/setup_contracts.ts +19 -0
- package/dest/cmds/devnet/bootstrap_network.d.ts +0 -3
- package/dest/cmds/devnet/bootstrap_network.d.ts.map +0 -1
- package/dest/cmds/devnet/bootstrap_network.js +0 -196
- package/dest/cmds/devnet/faucet.d.ts +0 -4
- package/dest/cmds/devnet/faucet.d.ts.map +0 -1
- package/dest/cmds/devnet/faucet.js +0 -26
- package/dest/cmds/devnet/index.d.ts +0 -4
- package/dest/cmds/devnet/index.d.ts.map +0 -1
- package/dest/cmds/devnet/index.js +0 -14
- 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/l1/deploy_l1_contracts.js +0 -29
- package/dest/cmds/l1/deploy_l1_verifier.d.ts +0 -5
- package/dest/cmds/l1/deploy_l1_verifier.d.ts.map +0 -1
- package/dest/cmds/l1/deploy_l1_verifier.js +0 -54
- package/dest/cmds/misc/setup_contracts.d.ts +0 -7
- package/dest/cmds/misc/setup_contracts.d.ts.map +0 -1
- package/dest/cmds/misc/setup_contracts.js +0 -27
- 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_logs.js +0 -51
- 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/devnet/bootstrap_network.ts +0 -318
- package/src/cmds/devnet/faucet.ts +0 -33
- package/src/cmds/devnet/index.ts +0 -60
- package/src/cmds/l1/deploy_l1_contracts.ts +0 -65
- package/src/cmds/l1/deploy_l1_verifier.ts +0 -105
- package/src/cmds/misc/setup_contracts.ts +0 -40
- 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_logs.ts +0 -66
- package/src/cmds/pxe/get_pxe_info.ts +0 -13
- package/src/cmds/pxe/index.ts +0 -170
package/dest/utils/inspect.js
CHANGED
|
@@ -1,53 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const block = await pxe.getBlock(blockNumber);
|
|
1
|
+
export async function inspectBlock(aztecNode, blockNumber, log, opts = {}) {
|
|
2
|
+
const block = await aztecNode.getBlock(blockNumber, {
|
|
3
|
+
includeTransactions: opts.showTxs
|
|
4
|
+
});
|
|
6
5
|
if (!block) {
|
|
7
6
|
log(`No block found for block number ${blockNumber}`);
|
|
8
7
|
return;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
log(`Block ${blockNumber} (${blockHash.toString()})`);
|
|
9
|
+
log(`Block ${blockNumber} (${block.hash.toString()})`);
|
|
12
10
|
log(` Total fees: ${block.header.totalFees.toBigInt()}`);
|
|
13
11
|
log(` Total mana used: ${block.header.totalManaUsed.toBigInt()}`);
|
|
14
|
-
log(` Fee per gas unit: DA=${block.header.globalVariables.gasFees.feePerDaGas
|
|
12
|
+
log(` Fee per gas unit: DA=${block.header.globalVariables.gasFees.feePerDaGas} L2=${block.header.globalVariables.gasFees.feePerL2Gas}`);
|
|
15
13
|
log(` Coinbase: ${block.header.globalVariables.coinbase}`);
|
|
16
14
|
log(` Fee recipient: ${block.header.globalVariables.feeRecipient}`);
|
|
17
|
-
log(` Timestamp: ${new Date(block.header.globalVariables.timestamp
|
|
18
|
-
if (opts.showTxs) {
|
|
15
|
+
log(` Timestamp: ${new Date(Number(block.header.globalVariables.timestamp) * 500)}`);
|
|
16
|
+
if (opts.showTxs && block.body) {
|
|
19
17
|
log(``);
|
|
20
|
-
const artifactMap = await getKnownArtifacts(pxe);
|
|
21
18
|
for (const txHash of block.body.txEffects.map((tx)=>tx.txHash)){
|
|
22
|
-
await inspectTx(
|
|
23
|
-
includeBlockInfo: false
|
|
24
|
-
artifactMap
|
|
19
|
+
await inspectTx(aztecNode, txHash, log, {
|
|
20
|
+
includeBlockInfo: false
|
|
25
21
|
});
|
|
26
22
|
}
|
|
27
|
-
} else {
|
|
23
|
+
} else if (block.body) {
|
|
28
24
|
log(` Transactions: ${block.body.txEffects.length}`);
|
|
29
25
|
}
|
|
30
26
|
}
|
|
31
|
-
export async function inspectTx(
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
pxe.getNotes({
|
|
36
|
-
txHash,
|
|
37
|
-
status: NoteStatus.ACTIVE_OR_NULLIFIED
|
|
38
|
-
})
|
|
39
|
-
]);
|
|
27
|
+
export async function inspectTx(aztecNode, txHash, log, opts = {}) {
|
|
28
|
+
const receipt = await aztecNode.getTxReceipt(txHash, {
|
|
29
|
+
includeTxEffect: true
|
|
30
|
+
});
|
|
40
31
|
// Base tx data
|
|
41
32
|
log(`Tx ${txHash.toString()}`);
|
|
42
|
-
log(` Status: ${receipt.status}
|
|
33
|
+
log(` Status: ${receipt.status}`);
|
|
34
|
+
if (receipt.executionResult) {
|
|
35
|
+
log(` Execution result: ${receipt.executionResult}`);
|
|
36
|
+
}
|
|
43
37
|
if (receipt.error) {
|
|
44
38
|
log(` Error: ${receipt.error}`);
|
|
45
39
|
}
|
|
46
|
-
if (!
|
|
40
|
+
if (!receipt.isMined() || !receipt.txEffect) {
|
|
47
41
|
return;
|
|
48
42
|
}
|
|
49
|
-
const effects =
|
|
50
|
-
const artifactMap = opts?.artifactMap ?? await getKnownArtifacts(pxe);
|
|
43
|
+
const effects = receipt.txEffect;
|
|
51
44
|
if (opts.includeBlockInfo) {
|
|
52
45
|
log(` Block: ${receipt.blockNumber} (${receipt.blockHash?.toString()})`);
|
|
53
46
|
}
|
|
@@ -74,39 +67,17 @@ export async function inspectTx(pxe, txHash, log, opts = {}) {
|
|
|
74
67
|
const notes = effects.noteHashes;
|
|
75
68
|
if (notes.length > 0) {
|
|
76
69
|
log(' Created notes:');
|
|
77
|
-
log(` Total: ${notes.length}
|
|
78
|
-
|
|
79
|
-
log(
|
|
80
|
-
for (const note of getNotes){
|
|
81
|
-
inspectNote(note, artifactMap, log);
|
|
82
|
-
}
|
|
70
|
+
log(` Total: ${notes.length}`);
|
|
71
|
+
for (const note of notes){
|
|
72
|
+
log(` Note hash: ${note.toShortString()}`);
|
|
83
73
|
}
|
|
84
74
|
}
|
|
85
|
-
//
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const [note] = await pxe.getNotes({
|
|
92
|
-
siloedNullifier: nullifier
|
|
93
|
-
});
|
|
94
|
-
const deployed = deployNullifiers[nullifier.toString()];
|
|
95
|
-
const initialized = initNullifiers[nullifier.toString()];
|
|
96
|
-
const registered = classNullifiers[nullifier.toString()];
|
|
97
|
-
if (nullifier.toBuffer().equals(txHash.toBuffer())) {
|
|
98
|
-
log(` Transaction hash nullifier ${nullifier.toShortString()}`);
|
|
99
|
-
} else if (note) {
|
|
100
|
-
inspectNote(note, artifactMap, log, `Nullifier ${nullifier.toShortString()} for note`);
|
|
101
|
-
} else if (deployed) {
|
|
102
|
-
log(` Contract ${toFriendlyAddress(deployed, artifactMap)} deployed via nullifier ${nullifier.toShortString()}`);
|
|
103
|
-
} else if (initialized) {
|
|
104
|
-
log(` Contract ${toFriendlyAddress(initialized, artifactMap)} initialized via nullifier ${nullifier.toShortString()}`);
|
|
105
|
-
} else if (registered) {
|
|
106
|
-
log(` Class ${registered} registered via nullifier ${nullifier.toShortString()}`);
|
|
107
|
-
} else {
|
|
108
|
-
log(` Unknown nullifier ${nullifier.toString()}`);
|
|
109
|
-
}
|
|
75
|
+
// Created nullifiers
|
|
76
|
+
const nullifiers = effects.nullifiers;
|
|
77
|
+
if (nullifiers.length > 0) {
|
|
78
|
+
log(' Created nullifiers:');
|
|
79
|
+
for (const nullifier of nullifiers){
|
|
80
|
+
log(` Nullifier: ${nullifier.toShortString()}`);
|
|
110
81
|
}
|
|
111
82
|
}
|
|
112
83
|
// L2 to L1 messages
|
|
@@ -117,61 +88,3 @@ export async function inspectTx(pxe, txHash, log, opts = {}) {
|
|
|
117
88
|
}
|
|
118
89
|
}
|
|
119
90
|
}
|
|
120
|
-
function inspectNote(note, artifactMap, log, text = 'Note') {
|
|
121
|
-
const artifact = artifactMap[note.contractAddress.toString()];
|
|
122
|
-
const contract = artifact?.name ?? note.contractAddress.toString();
|
|
123
|
-
const type = artifact?.notes[note.noteTypeId.toString()]?.typ ?? note.noteTypeId.toField().toShortString();
|
|
124
|
-
log(` ${text} type ${type} at ${contract}`);
|
|
125
|
-
log(` Owner: ${toFriendlyAddress(note.owner, artifactMap)}`);
|
|
126
|
-
for (const field of note.note.items){
|
|
127
|
-
log(` ${field.toString()}`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
function toFriendlyAddress(address, artifactMap) {
|
|
131
|
-
const artifact = artifactMap[address.toString()];
|
|
132
|
-
if (!artifact) {
|
|
133
|
-
return address.toString();
|
|
134
|
-
}
|
|
135
|
-
return `${artifact.name}<${address.toString()}>`;
|
|
136
|
-
}
|
|
137
|
-
async function getKnownNullifiers(pxe, artifactMap) {
|
|
138
|
-
const knownContracts = await pxe.getContracts();
|
|
139
|
-
const deployerAddress = ProtocolContractAddress.ContractInstanceDeployer;
|
|
140
|
-
const registererAddress = ProtocolContractAddress.ContractClassRegisterer;
|
|
141
|
-
const initNullifiers = {};
|
|
142
|
-
const deployNullifiers = {};
|
|
143
|
-
const classNullifiers = {};
|
|
144
|
-
for (const contract of knownContracts){
|
|
145
|
-
initNullifiers[siloNullifier(contract, contract.toField()).toString()] = contract;
|
|
146
|
-
deployNullifiers[siloNullifier(deployerAddress, contract.toField()).toString()] = contract;
|
|
147
|
-
}
|
|
148
|
-
for (const artifact of Object.values(artifactMap)){
|
|
149
|
-
classNullifiers[siloNullifier(registererAddress, artifact.classId).toString()] = `${artifact.name}Class<${artifact.classId}>`;
|
|
150
|
-
}
|
|
151
|
-
return {
|
|
152
|
-
initNullifiers,
|
|
153
|
-
deployNullifiers,
|
|
154
|
-
classNullifiers
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
async function getKnownArtifacts(pxe) {
|
|
158
|
-
const knownContractAddresses = await pxe.getContracts();
|
|
159
|
-
const knownContracts = (await Promise.all(knownContractAddresses.map((contractAddress)=>pxe.getContractMetadata(contractAddress)))).map((contractMetadata)=>contractMetadata.contractInstance);
|
|
160
|
-
const classIds = [
|
|
161
|
-
...new Set(knownContracts.map((contract)=>contract?.currentContractClassId))
|
|
162
|
-
];
|
|
163
|
-
const knownArtifacts = (await Promise.all(classIds.map((classId)=>classId ? pxe.getContractClassMetadata(classId) : undefined))).map((contractClassMetadata)=>contractClassMetadata ? {
|
|
164
|
-
...contractClassMetadata.artifact,
|
|
165
|
-
classId: contractClassMetadata.contractClass?.id
|
|
166
|
-
} : undefined);
|
|
167
|
-
const map = {};
|
|
168
|
-
for (const instance of knownContracts){
|
|
169
|
-
if (instance) {
|
|
170
|
-
const artifact = knownArtifacts.find((a)=>a?.classId?.equals(instance.currentContractClassId));
|
|
171
|
-
if (artifact) {
|
|
172
|
-
map[instance.address.toString()] = artifact;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
return map;
|
|
177
|
-
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
+
export declare function getSponsoredFPCAddress(): Promise<AztecAddress>;
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfY29udHJhY3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc2V0dXBfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBWTlELHdCQUFzQixzQkFBc0IsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBTXBFIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup_contracts.d.ts","sourceRoot":"","sources":["../../src/utils/setup_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAY9D,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,YAAY,CAAC,CAMpE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getContractInstanceFromInstantiationParams } from '@aztec/aztec.js/contracts';
|
|
2
|
+
import { Fr } from '@aztec/aztec.js/fields';
|
|
3
|
+
import { SPONSORED_FPC_SALT } from '@aztec/constants';
|
|
4
|
+
async function getSponsoredFPCContract() {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
6
|
+
// @ts-ignore - Importing noir-contracts.js even in devDeps results in a circular dependency error. Need to ignore because this line doesn't cause an error in a dev environment
|
|
7
|
+
const { SponsoredFPCContract } = await import('@aztec/noir-contracts.js/SponsoredFPC');
|
|
8
|
+
return SponsoredFPCContract;
|
|
9
|
+
}
|
|
10
|
+
export async function getSponsoredFPCAddress() {
|
|
11
|
+
const SponsoredFPCContract = await getSponsoredFPCContract();
|
|
12
|
+
const sponsoredFPCInstance = await getContractInstanceFromInstantiationParams(SponsoredFPCContract.artifact, {
|
|
13
|
+
salt: new Fr(SPONSORED_FPC_SALT)
|
|
14
|
+
});
|
|
15
|
+
return sponsoredFPCInstance.address;
|
|
16
|
+
}
|
package/package.json
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1-commit.017a351",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./contracts": "./dest/cmds/contracts/index.js",
|
|
7
7
|
"./devnet": "./dest/cmds/devnet/index.js",
|
|
8
8
|
"./infrastructure": "./dest/cmds/infrastructure/index.js",
|
|
9
9
|
"./l1": "./dest/cmds/l1/index.js",
|
|
10
|
-
"./
|
|
10
|
+
"./l1/validators": "./dest/cmds/l1/update_l1_validators.js",
|
|
11
|
+
"./aztec_node": "./dest/cmds/aztec_node/index.js",
|
|
11
12
|
"./cli-utils": "./dest/utils/index.js",
|
|
12
13
|
"./misc": "./dest/cmds/misc/index.js",
|
|
14
|
+
"./validator_keys": "./dest/cmds/validator_keys/index.js",
|
|
13
15
|
"./setup-contracts": "./dest/cmds/misc/setup_contracts.js",
|
|
14
16
|
"./utils": "./dest/utils/index.js",
|
|
15
|
-
"./inspect": "./dest/utils/inspect.js"
|
|
17
|
+
"./inspect": "./dest/utils/inspect.js",
|
|
18
|
+
"./config": "./dest/config/index.js",
|
|
19
|
+
"./config/chain": "./dest/config/chain_l2_config.js",
|
|
20
|
+
"./config/network": "./dest/config/network_config.js"
|
|
16
21
|
},
|
|
17
22
|
"typedocOptions": {
|
|
18
23
|
"entryPoints": [
|
|
@@ -22,15 +27,16 @@
|
|
|
22
27
|
"tsconfig": "./tsconfig.json"
|
|
23
28
|
},
|
|
24
29
|
"scripts": {
|
|
25
|
-
"build": "yarn clean && tsc
|
|
26
|
-
"build:dev": "tsc
|
|
30
|
+
"build": "yarn clean && ../scripts/tsc.sh",
|
|
31
|
+
"build:dev": "../scripts/tsc.sh --watch",
|
|
27
32
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
33
|
+
"copy-generated": "mkdir -p dest/config/generated/networks && cp src/config/generated/networks/*.json dest/config/generated/networks/",
|
|
34
|
+
"generate": "./scripts/generate.sh",
|
|
30
35
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
31
36
|
},
|
|
32
37
|
"inherits": [
|
|
33
|
-
"../package.common.json"
|
|
38
|
+
"../package.common.json",
|
|
39
|
+
"./package.local.json"
|
|
34
40
|
],
|
|
35
41
|
"jest": {
|
|
36
42
|
"preset": "ts-jest/presets/default-esm",
|
|
@@ -64,62 +70,80 @@
|
|
|
64
70
|
"testTimeout": 120000,
|
|
65
71
|
"setupFiles": [
|
|
66
72
|
"../../foundation/src/jest/setup.mjs"
|
|
73
|
+
],
|
|
74
|
+
"testEnvironment": "../../foundation/src/jest/env.mjs",
|
|
75
|
+
"setupFilesAfterEnv": [
|
|
76
|
+
"../../foundation/src/jest/setupAfterEnv.mjs"
|
|
67
77
|
]
|
|
68
78
|
},
|
|
69
79
|
"dependencies": {
|
|
70
|
-
"@aztec/
|
|
71
|
-
"@aztec/
|
|
72
|
-
"@aztec/
|
|
73
|
-
"@aztec/
|
|
74
|
-
"@aztec/
|
|
75
|
-
"@aztec/
|
|
76
|
-
"@aztec/
|
|
77
|
-
"@aztec/
|
|
80
|
+
"@aztec/accounts": "0.0.1-commit.017a351",
|
|
81
|
+
"@aztec/archiver": "0.0.1-commit.017a351",
|
|
82
|
+
"@aztec/aztec.js": "0.0.1-commit.017a351",
|
|
83
|
+
"@aztec/constants": "0.0.1-commit.017a351",
|
|
84
|
+
"@aztec/entrypoints": "0.0.1-commit.017a351",
|
|
85
|
+
"@aztec/ethereum": "0.0.1-commit.017a351",
|
|
86
|
+
"@aztec/foundation": "0.0.1-commit.017a351",
|
|
87
|
+
"@aztec/l1-artifacts": "0.0.1-commit.017a351",
|
|
88
|
+
"@aztec/node-keystore": "0.0.1-commit.017a351",
|
|
89
|
+
"@aztec/node-lib": "0.0.1-commit.017a351",
|
|
90
|
+
"@aztec/p2p": "0.0.1-commit.017a351",
|
|
91
|
+
"@aztec/protocol-contracts": "0.0.1-commit.017a351",
|
|
92
|
+
"@aztec/sequencer-client": "0.0.1-commit.017a351",
|
|
93
|
+
"@aztec/slasher": "0.0.1-commit.017a351",
|
|
94
|
+
"@aztec/stdlib": "0.0.1-commit.017a351",
|
|
95
|
+
"@aztec/wallets": "0.0.1-commit.017a351",
|
|
96
|
+
"@aztec/world-state": "0.0.1-commit.017a351",
|
|
97
|
+
"@ethersproject/wallet": "^5.8.0",
|
|
78
98
|
"@iarna/toml": "^2.2.5",
|
|
79
99
|
"@libp2p/peer-id-factory": "^3.0.4",
|
|
100
|
+
"@scure/bip39": "^2.0.1",
|
|
80
101
|
"commander": "^12.1.0",
|
|
81
102
|
"lodash.chunk": "^4.2.0",
|
|
82
103
|
"lodash.groupby": "^4.6.0",
|
|
83
104
|
"semver": "^7.5.4",
|
|
84
105
|
"source-map-support": "^0.5.21",
|
|
85
106
|
"tslib": "^2.4.0",
|
|
86
|
-
"viem": "2.
|
|
107
|
+
"viem": "npm:@aztec/viem@2.38.2"
|
|
87
108
|
},
|
|
88
109
|
"devDependencies": {
|
|
89
|
-
"@aztec/
|
|
90
|
-
"@aztec/
|
|
91
|
-
"@aztec/
|
|
92
|
-
"@jest/globals": "^
|
|
93
|
-
"@types/jest": "^
|
|
110
|
+
"@aztec/aztec-node": "0.0.1-commit.017a351",
|
|
111
|
+
"@aztec/kv-store": "0.0.1-commit.017a351",
|
|
112
|
+
"@aztec/telemetry-client": "0.0.1-commit.017a351",
|
|
113
|
+
"@jest/globals": "^30.0.0",
|
|
114
|
+
"@types/jest": "^30.0.0",
|
|
94
115
|
"@types/lodash.chunk": "^4.2.9",
|
|
95
116
|
"@types/lodash.groupby": "^4.6.9",
|
|
96
117
|
"@types/lodash.startcase": "^4.4.7",
|
|
97
|
-
"@types/node": "^
|
|
118
|
+
"@types/node": "^22.15.17",
|
|
98
119
|
"@types/semver": "^7.5.2",
|
|
99
120
|
"@types/source-map-support": "^0.5.10",
|
|
100
|
-
"
|
|
101
|
-
"jest
|
|
102
|
-
"
|
|
121
|
+
"@typescript/native-preview": "7.0.0-dev.20260113.1",
|
|
122
|
+
"jest": "^30.0.0",
|
|
123
|
+
"jest-mock-extended": "^4.0.0",
|
|
124
|
+
"ts-jest": "^29.4.0",
|
|
103
125
|
"ts-node": "^10.9.1",
|
|
104
|
-
"typescript": "^5.
|
|
126
|
+
"typescript": "^5.3.3"
|
|
105
127
|
},
|
|
106
128
|
"peerDependencies": {
|
|
107
|
-
"@aztec/accounts": "0.0.
|
|
108
|
-
"@aztec/bb-prover": "0.0.
|
|
109
|
-
"@aztec/ethereum": "0.0.
|
|
110
|
-
"@aztec/l1-artifacts": "0.0.
|
|
111
|
-
"@aztec/noir-contracts.js": "0.0.
|
|
112
|
-
"@aztec/noir-protocol-circuits-types": "0.0.
|
|
113
|
-
"@aztec/
|
|
114
|
-
"@aztec/
|
|
129
|
+
"@aztec/accounts": "0.0.1-commit.017a351",
|
|
130
|
+
"@aztec/bb-prover": "0.0.1-commit.017a351",
|
|
131
|
+
"@aztec/ethereum": "0.0.1-commit.017a351",
|
|
132
|
+
"@aztec/l1-artifacts": "0.0.1-commit.017a351",
|
|
133
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.017a351",
|
|
134
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.017a351",
|
|
135
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.017a351",
|
|
136
|
+
"@aztec/protocol-contracts": "0.0.1-commit.017a351",
|
|
137
|
+
"@aztec/stdlib": "0.0.1-commit.017a351"
|
|
115
138
|
},
|
|
116
139
|
"files": [
|
|
117
140
|
"dest",
|
|
118
141
|
"src",
|
|
119
|
-
"!*.test.*"
|
|
142
|
+
"!*.test.*",
|
|
143
|
+
"public_include_metric_prefixes.json"
|
|
120
144
|
],
|
|
121
145
|
"types": "./dest/index.d.ts",
|
|
122
146
|
"engines": {
|
|
123
|
-
"node": ">=
|
|
147
|
+
"node": ">=20.10"
|
|
124
148
|
}
|
|
125
149
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
["aztec.validator", "aztec.tx_collector", "aztec.mempool", "aztec.p2p.gossip.agg_", "aztec.ivc_verifier.agg_"]
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
export async function blockNumber(nodeUrl: string, log: LogFn) {
|
|
5
|
+
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
6
|
+
const [latestNum, provenNum] = await Promise.all([aztecNode.getBlockNumber(), aztecNode.getBlockNumber('proven')]);
|
|
7
|
+
log(`Latest block: ${latestNum}`);
|
|
8
|
+
log(`Proven block: ${provenNum}`);
|
|
9
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
4
|
+
|
|
5
|
+
import { inspectBlock } from '../../utils/inspect.js';
|
|
6
|
+
|
|
7
|
+
export async function getBlock(nodeUrl: string, maybeBlockNumber: number | undefined, log: LogFn) {
|
|
8
|
+
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
9
|
+
const blockNumber: BlockNumber = maybeBlockNumber ? BlockNumber(maybeBlockNumber) : await aztecNode.getBlockNumber();
|
|
10
|
+
await inspectBlock(aztecNode, blockNumber, log, { showTxs: true });
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
|
+
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
|
+
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
4
|
+
|
|
5
|
+
export async function getCurrentMinFee(nodeUrl: string, debugLogger: Logger, log: LogFn) {
|
|
6
|
+
const node = createAztecNodeClient(nodeUrl);
|
|
7
|
+
const fees = await node.getCurrentMinFees();
|
|
8
|
+
log(`Current fees: ${jsonStringify(fees)}`);
|
|
9
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
+
import type { Fr } from '@aztec/aztec.js/fields';
|
|
3
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
4
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
5
|
+
import { getNonNullifiedL1ToL2MessageWitness } from '@aztec/stdlib/messaging';
|
|
6
|
+
|
|
7
|
+
export async function getL1ToL2MessageWitness(
|
|
8
|
+
nodeUrl: string,
|
|
9
|
+
contractAddress: AztecAddress,
|
|
10
|
+
messageHash: Fr,
|
|
11
|
+
secret: Fr,
|
|
12
|
+
log: LogFn,
|
|
13
|
+
) {
|
|
14
|
+
const node = createAztecNodeClient(nodeUrl);
|
|
15
|
+
const messageWitness = await getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret);
|
|
16
|
+
|
|
17
|
+
log(
|
|
18
|
+
messageWitness === undefined
|
|
19
|
+
? `
|
|
20
|
+
L1 to L2 Message not found.
|
|
21
|
+
`
|
|
22
|
+
: `
|
|
23
|
+
L1 to L2 message index: ${messageWitness[0]}
|
|
24
|
+
L1 to L2 message sibling path: ${messageWitness[1]}
|
|
25
|
+
`,
|
|
26
|
+
);
|
|
27
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
3
|
+
import type { TxHash } from '@aztec/aztec.js/tx';
|
|
4
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
5
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
6
|
+
import { sleep } from '@aztec/foundation/sleep';
|
|
7
|
+
import {
|
|
8
|
+
LogCursor,
|
|
9
|
+
type PublicLogsQuery,
|
|
10
|
+
type Tag,
|
|
11
|
+
logResultToHumanReadable,
|
|
12
|
+
queryAllPublicLogsByTags,
|
|
13
|
+
} from '@aztec/stdlib/logs';
|
|
14
|
+
|
|
15
|
+
/** Options for the `get-logs` CLI command. */
|
|
16
|
+
export type GetLogsOptions = {
|
|
17
|
+
/** Contract address that emitted the logs (required). */
|
|
18
|
+
contractAddress: AztecAddress;
|
|
19
|
+
/** Tag to filter logs by (required). */
|
|
20
|
+
tag: Tag;
|
|
21
|
+
/** Restrict the search to this tx hash. Mutually exclusive with `fromBlock`/`toBlock`. */
|
|
22
|
+
txHash?: TxHash;
|
|
23
|
+
/** Lower block bound, inclusive. */
|
|
24
|
+
fromBlock?: BlockNumber;
|
|
25
|
+
/** Upper block bound, exclusive. */
|
|
26
|
+
toBlock?: BlockNumber;
|
|
27
|
+
/** Log cursor to resume pagination strictly after a previously-seen log. */
|
|
28
|
+
afterLog?: LogCursor;
|
|
29
|
+
/** Node RPC URL. */
|
|
30
|
+
nodeUrl: string;
|
|
31
|
+
/** When set, polls indefinitely for new logs. Incompatible with `txHash` and `toBlock`. */
|
|
32
|
+
follow: boolean;
|
|
33
|
+
/** Log function. */
|
|
34
|
+
log: LogFn;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Fetches public logs for a (contract, tag) pair, draining all pages via the stdlib pagination helper.
|
|
39
|
+
* In `--follow` mode, polls indefinitely: each round drains all currently-available logs, then sleeps
|
|
40
|
+
* until the next poll if nothing new was found.
|
|
41
|
+
*/
|
|
42
|
+
export async function getLogs(options: GetLogsOptions): Promise<void> {
|
|
43
|
+
const { txHash, fromBlock, toBlock, contractAddress, tag, nodeUrl, follow, log } = options;
|
|
44
|
+
let afterLog = options.afterLog;
|
|
45
|
+
|
|
46
|
+
if (follow) {
|
|
47
|
+
if (txHash) {
|
|
48
|
+
throw Error('Cannot use --follow with --tx-hash');
|
|
49
|
+
}
|
|
50
|
+
if (toBlock) {
|
|
51
|
+
throw Error('Cannot use --follow with --to-block');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (txHash !== undefined && (fromBlock !== undefined || toBlock !== undefined)) {
|
|
55
|
+
throw Error('Cannot combine --tx-hash with --from-block / --to-block');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const node = createAztecNodeClient(nodeUrl);
|
|
59
|
+
|
|
60
|
+
const drainLogs = async () => {
|
|
61
|
+
const query: PublicLogsQuery = {
|
|
62
|
+
contractAddress,
|
|
63
|
+
tags: [afterLog !== undefined ? { tag, afterLog } : tag],
|
|
64
|
+
fromBlock,
|
|
65
|
+
toBlock,
|
|
66
|
+
txHash,
|
|
67
|
+
};
|
|
68
|
+
const [logsForTag] = await queryAllPublicLogsByTags(node, query);
|
|
69
|
+
if (logsForTag.length > 0) {
|
|
70
|
+
afterLog = LogCursor.fromLog(logsForTag[logsForTag.length - 1]);
|
|
71
|
+
}
|
|
72
|
+
return logsForTag;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
if (follow) {
|
|
76
|
+
log('Fetching logs...');
|
|
77
|
+
while (true) {
|
|
78
|
+
const results = await drainLogs();
|
|
79
|
+
if (results.length === 0) {
|
|
80
|
+
await sleep(1000);
|
|
81
|
+
} else {
|
|
82
|
+
results.forEach(r => log(logResultToHumanReadable(r)));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
} else {
|
|
86
|
+
const results = await drainLogs();
|
|
87
|
+
if (results.length === 0) {
|
|
88
|
+
log(
|
|
89
|
+
`No logs found for {contractAddress: ${contractAddress.toString()}, tag: ${tag.toString()}` +
|
|
90
|
+
`${txHash ? `, txHash: ${txHash.toString()}` : ''}` +
|
|
91
|
+
`${fromBlock !== undefined ? `, fromBlock: ${fromBlock}` : ''}` +
|
|
92
|
+
`${toBlock !== undefined ? `, toBlock: ${toBlock}` : ''}` +
|
|
93
|
+
`${afterLog ? `, afterLog: ${afterLog.toString()}` : ''}}`,
|
|
94
|
+
);
|
|
95
|
+
} else {
|
|
96
|
+
log('Logs found: \n');
|
|
97
|
+
results.forEach(r => log(logResultToHumanReadable(r)));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -1,26 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { LogFn
|
|
1
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
export async function getNodeInfo(nodeUrl: string, json: boolean, log: LogFn, logJson: (output: any) => void) {
|
|
5
|
+
const client = createAztecNodeClient(nodeUrl);
|
|
3
6
|
|
|
4
|
-
export async function getNodeInfo(
|
|
5
|
-
rpcUrl: string,
|
|
6
|
-
pxeRequest: boolean,
|
|
7
|
-
debugLogger: Logger,
|
|
8
|
-
json: boolean,
|
|
9
|
-
log: LogFn,
|
|
10
|
-
logJson: (output: any) => void,
|
|
11
|
-
) {
|
|
12
|
-
let client: AztecNode | PXE;
|
|
13
|
-
if (pxeRequest) {
|
|
14
|
-
client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
15
|
-
} else {
|
|
16
|
-
client = createAztecNodeClient(rpcUrl);
|
|
17
|
-
}
|
|
18
7
|
const info = await client.getNodeInfo();
|
|
19
8
|
if (json) {
|
|
20
9
|
logJson({
|
|
21
10
|
nodeVersion: info.nodeVersion,
|
|
22
11
|
l1ChainId: info.l1ChainId,
|
|
23
|
-
|
|
12
|
+
rollupVersion: info.rollupVersion,
|
|
24
13
|
enr: info.enr,
|
|
25
14
|
l1ContractAddresses: {
|
|
26
15
|
rollup: info.l1ContractAddresses.rollupAddress.toString(),
|
|
@@ -34,19 +23,20 @@ export async function getNodeInfo(
|
|
|
34
23
|
rewardDistributor: info.l1ContractAddresses.rewardDistributorAddress.toString(),
|
|
35
24
|
governanceProposer: info.l1ContractAddresses.governanceProposerAddress.toString(),
|
|
36
25
|
governance: info.l1ContractAddresses.governanceAddress.toString(),
|
|
37
|
-
|
|
26
|
+
feeAssetHandler: info.l1ContractAddresses.feeAssetHandlerAddress?.toString(),
|
|
27
|
+
stakingAssetHandler: info.l1ContractAddresses.stakingAssetHandlerAddress?.toString(),
|
|
38
28
|
},
|
|
39
29
|
protocolContractAddresses: {
|
|
40
|
-
|
|
30
|
+
classRegistry: info.protocolContractAddresses.classRegistry.toString(),
|
|
41
31
|
feeJuice: info.protocolContractAddresses.feeJuice.toString(),
|
|
42
|
-
|
|
32
|
+
instanceRegistry: info.protocolContractAddresses.instanceRegistry.toString(),
|
|
43
33
|
multiCallEntrypoint: info.protocolContractAddresses.multiCallEntrypoint.toString(),
|
|
44
34
|
},
|
|
45
35
|
});
|
|
46
36
|
} else {
|
|
47
37
|
log(`Node Version: ${info.nodeVersion}`);
|
|
48
38
|
log(`Chain Id: ${info.l1ChainId}`);
|
|
49
|
-
log(`
|
|
39
|
+
log(`Rollup Version: ${info.rollupVersion}`);
|
|
50
40
|
log(`Node ENR: ${info.enr}`);
|
|
51
41
|
log(`L1 Contract Addresses:`);
|
|
52
42
|
log(` Rollup Address: ${info.l1ContractAddresses.rollupAddress.toString()}`);
|
|
@@ -60,12 +50,12 @@ export async function getNodeInfo(
|
|
|
60
50
|
log(` RewardDistributor Address: ${info.l1ContractAddresses.rewardDistributorAddress.toString()}`);
|
|
61
51
|
log(` GovernanceProposer Address: ${info.l1ContractAddresses.governanceProposerAddress.toString()}`);
|
|
62
52
|
log(` Governance Address: ${info.l1ContractAddresses.governanceAddress.toString()}`);
|
|
63
|
-
log(`
|
|
64
|
-
|
|
53
|
+
log(` FeeAssetHandler Address: ${info.l1ContractAddresses.feeAssetHandlerAddress?.toString()}`);
|
|
54
|
+
log(` StakingAssetHandler Address: ${info.l1ContractAddresses.stakingAssetHandlerAddress?.toString()}`);
|
|
65
55
|
log(`L2 Contract Addresses:`);
|
|
66
|
-
log(` Class
|
|
56
|
+
log(` Class Registry: ${info.protocolContractAddresses.classRegistry.toString()}`);
|
|
67
57
|
log(` Fee Juice: ${info.protocolContractAddresses.feeJuice.toString()}`);
|
|
68
|
-
log(` Instance Deployer: ${info.protocolContractAddresses.
|
|
58
|
+
log(` Instance Deployer: ${info.protocolContractAddresses.instanceRegistry.toString()}`);
|
|
69
59
|
log(` MultiCall: ${info.protocolContractAddresses.multiCallEntrypoint.toString()}`);
|
|
70
60
|
}
|
|
71
61
|
}
|