|
1 | 1 | import { type AztecNode, type PXE, createAztecNodeClient, createCompatibleClient } from '@aztec/aztec.js';
|
2 | 2 | import { type LogFn, type Logger } from '@aztec/foundation/log';
|
3 | 3 |
|
4 |
| -export async function getNodeInfo(rpcUrl: string, pxeRequest: boolean, debugLogger: Logger, log: LogFn) { |
| 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 | +) { |
5 | 12 | let client: AztecNode | PXE;
|
6 | 13 | if (pxeRequest) {
|
7 | 14 | client = await createCompatibleClient(rpcUrl, debugLogger);
|
8 | 15 | } else {
|
9 | 16 | client = createAztecNodeClient(rpcUrl);
|
10 | 17 | }
|
11 | 18 | const info = await client.getNodeInfo();
|
12 |
| - log(`Node Version: ${info.nodeVersion}`); |
13 |
| - log(`Chain Id: ${info.l1ChainId}`); |
14 |
| - log(`Protocol Version: ${info.protocolVersion}`); |
15 |
| - log(`Node ENR: ${info.enr}`); |
16 |
| - log(`L1 Contract Addresses:`); |
17 |
| - log(` Rollup Address: ${info.l1ContractAddresses.rollupAddress.toString()}`); |
18 |
| - log(` Registry Address: ${info.l1ContractAddresses.registryAddress.toString()}`); |
19 |
| - log(` L1 -> L2 Inbox Address: ${info.l1ContractAddresses.inboxAddress.toString()}`); |
20 |
| - log(` L2 -> L1 Outbox Address: ${info.l1ContractAddresses.outboxAddress.toString()}`); |
21 |
| - log(` Fee Juice Address: ${info.l1ContractAddresses.feeJuiceAddress.toString()}`); |
22 |
| - log(` Staking Asset Address: ${info.l1ContractAddresses.stakingAssetAddress.toString()}`); |
23 |
| - log(` Fee Juice Portal Address: ${info.l1ContractAddresses.feeJuicePortalAddress.toString()}`); |
24 |
| - log(` CoinIssuer Address: ${info.l1ContractAddresses.coinIssuerAddress.toString()}`); |
25 |
| - log(` RewardDistributor Address: ${info.l1ContractAddresses.rewardDistributorAddress.toString()}`); |
26 |
| - log(` GovernanceProposer Address: ${info.l1ContractAddresses.governanceProposerAddress.toString()}`); |
27 |
| - log(` Governance Address: ${info.l1ContractAddresses.governanceAddress.toString()}`); |
| 19 | + if (json) { |
| 20 | + logJson({ |
| 21 | + nodeVersion: info.nodeVersion, |
| 22 | + l1ChainId: info.l1ChainId, |
| 23 | + protocolVersion: info.protocolVersion, |
| 24 | + enr: info.enr, |
| 25 | + l1ContractAddresses: { |
| 26 | + rollup: info.l1ContractAddresses.rollupAddress.toString(), |
| 27 | + registry: info.l1ContractAddresses.registryAddress.toString(), |
| 28 | + inbox: info.l1ContractAddresses.inboxAddress.toString(), |
| 29 | + outbox: info.l1ContractAddresses.outboxAddress.toString(), |
| 30 | + feeJuice: info.l1ContractAddresses.feeJuiceAddress.toString(), |
| 31 | + stakingAsset: info.l1ContractAddresses.stakingAssetAddress.toString(), |
| 32 | + feeJuicePortal: info.l1ContractAddresses.feeJuicePortalAddress.toString(), |
| 33 | + coinIssuer: info.l1ContractAddresses.coinIssuerAddress.toString(), |
| 34 | + rewardDistributor: info.l1ContractAddresses.rewardDistributorAddress.toString(), |
| 35 | + governanceProposer: info.l1ContractAddresses.governanceProposerAddress.toString(), |
| 36 | + governance: info.l1ContractAddresses.governanceAddress.toString(), |
| 37 | + }, |
| 38 | + protocolContractAddresses: { |
| 39 | + classRegisterer: info.protocolContractAddresses.classRegisterer.toString(), |
| 40 | + feeJuice: info.protocolContractAddresses.feeJuice.toString(), |
| 41 | + instanceDeployer: info.protocolContractAddresses.instanceDeployer.toString(), |
| 42 | + multiCallEntrypoint: info.protocolContractAddresses.multiCallEntrypoint.toString(), |
| 43 | + }, |
| 44 | + }); |
| 45 | + } else { |
| 46 | + log(`Node Version: ${info.nodeVersion}`); |
| 47 | + log(`Chain Id: ${info.l1ChainId}`); |
| 48 | + log(`Protocol Version: ${info.protocolVersion}`); |
| 49 | + log(`Node ENR: ${info.enr}`); |
| 50 | + log(`L1 Contract Addresses:`); |
| 51 | + log(` Rollup Address: ${info.l1ContractAddresses.rollupAddress.toString()}`); |
| 52 | + log(` Registry Address: ${info.l1ContractAddresses.registryAddress.toString()}`); |
| 53 | + log(` L1 -> L2 Inbox Address: ${info.l1ContractAddresses.inboxAddress.toString()}`); |
| 54 | + log(` L2 -> L1 Outbox Address: ${info.l1ContractAddresses.outboxAddress.toString()}`); |
| 55 | + log(` Fee Juice Address: ${info.l1ContractAddresses.feeJuiceAddress.toString()}`); |
| 56 | + log(` Staking Asset Address: ${info.l1ContractAddresses.stakingAssetAddress.toString()}`); |
| 57 | + log(` Fee Juice Portal Address: ${info.l1ContractAddresses.feeJuicePortalAddress.toString()}`); |
| 58 | + log(` CoinIssuer Address: ${info.l1ContractAddresses.coinIssuerAddress.toString()}`); |
| 59 | + log(` RewardDistributor Address: ${info.l1ContractAddresses.rewardDistributorAddress.toString()}`); |
| 60 | + log(` GovernanceProposer Address: ${info.l1ContractAddresses.governanceProposerAddress.toString()}`); |
| 61 | + log(` Governance Address: ${info.l1ContractAddresses.governanceAddress.toString()}`); |
28 | 62 |
|
29 |
| - log(`L2 Contract Addresses:`); |
30 |
| - log(` Class Registerer: ${info.protocolContractAddresses.classRegisterer.toString()}`); |
31 |
| - log(` Fee Juice: ${info.protocolContractAddresses.feeJuice.toString()}`); |
32 |
| - log(` Instance Deployer: ${info.protocolContractAddresses.instanceDeployer.toString()}`); |
33 |
| - log(` MultiCall: ${info.protocolContractAddresses.multiCallEntrypoint.toString()}`); |
| 63 | + log(`L2 Contract Addresses:`); |
| 64 | + log(` Class Registerer: ${info.protocolContractAddresses.classRegisterer.toString()}`); |
| 65 | + log(` Fee Juice: ${info.protocolContractAddresses.feeJuice.toString()}`); |
| 66 | + log(` Instance Deployer: ${info.protocolContractAddresses.instanceDeployer.toString()}`); |
| 67 | + log(` MultiCall: ${info.protocolContractAddresses.multiCallEntrypoint.toString()}`); |
| 68 | + } |
34 | 69 | }
|
0 commit comments