Repository: OpenBB-finance/OpenBBTerminal
File: openbb_terminal/cryptocurrency/onchain/onchain_controller.py (Python)

Code before:
                """,
        )

        parser.add_argument(
            "-o",
            "--org",
            dest="org_slug",
            type=str,
            help="Organization Slug [tensor]",
            default=None,
        )
        parser.add_argument(
            "-q",
            "--query",
            dest="query_slug",
            type=str,
            help="Query Slug [daily-transactions/weekly-transactions/monthly-transactions"
            "/daily-users/monthly-users/weekly-users/daily-gmv-sol/weekly-gmv/"
            "monthly-gmv/daily-tvl/weekly-tvl/monthly-tvl/top-traders-by-gmv]",
            default=None,
        )
        ns_parser = self.parse_known_args_and_warn(
            parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
        )
        if ns_parser:
            topledger_view.display_topledger_data(
                org_slug=ns_parser.org_slug,
                query_slug=ns_parser.query_slug,
                export=ns_parser.export,
                sheet_name=" ".join(ns_parser.sheet_name)
                if ns_parser.sheet_name
                else None,
            )

    @log_start_end(log=logger)
    def call_address(self, other_args: List[str]):
        """Process address command"""
        parser = argparse.ArgumentParser(
            add_help=False,
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
            prog="address",
            description="""
                Load address for further analysis. You can analyze account address, token address or transaction hash.
                [Source: Ethplorer]
            """,
        )

        parser.add_argument(
            "-a",
            action="store_true",
            help="Account address",

Review comment (suggestion):
we can add the choices as an array to get some sweet autocompletions

like 
```
choices=["daily-transactions", "...."]
```

Code after:
                    [Source: Topledger]
                """,
        )

        parser.add_argument(
            "-o",
            "--org",
            dest="org_slug",
            type=str,
            help="Organization Slug",
            choices=list(topledger_model.MAPPING.keys()),
            default=None,
        )
        parser.add_argument(
            "-q",
            "--query",
            dest="query_slug",
            type=str,
            help="Query Slug",
            choices=[
                query.get("slug")
                for section in topledger_model.MAPPING.values()
                for query in section.get("queries", [])
                if query.get("slug")
            ],
            default=None,
        )
        ns_parser = self.parse_known_args_and_warn(
            parser, other_args, EXPORT_ONLY_RAW_DATA_ALLOWED
        )
        if ns_parser:
            topledger_view.display_topledger_data(
                org_slug=ns_parser.org_slug,
                query_slug=ns_parser.query_slug,
                export=ns_parser.export,
                sheet_name=" ".join(ns_parser.sheet_name)
                if ns_parser.sheet_name
                else None,
            )

    @log_start_end(log=logger)
    def call_address(self, other_args: List[str]):
        """Process address command"""
        parser = argparse.ArgumentParser(
            add_help=False,
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
            prog="address",
            description="""
                Load address for further analysis. You can analyze account address, token address or transaction hash.
                [Source: Ethplorer]
            """,