-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathcli_ledger.py
35 lines (24 loc) · 1.23 KB
/
cli_ledger.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import logging
from typing import Any
from multiversx_sdk_cli import cli_shared
from multiversx_sdk_cli.ledger.ledger_app_handler import LedgerApp
logger = logging.getLogger("cli.ledger")
def setup_parser(subparsers: Any) -> Any:
parser = cli_shared.add_group_subparser(subparsers, "ledger", "Get Ledger App addresses and version")
subparsers = parser.add_subparsers()
sub = cli_shared.add_command_subparser(subparsers, "ledger", "addresses", "Get the addresses within Ledger")
sub.add_argument("--num-addresses", required=False, type=int, default=10, help="The number of addresses to fetch")
sub.set_defaults(func=print_addresses)
sub = cli_shared.add_command_subparser(subparsers, "ledger", "version", "Get the version of the MultiversX App for Ledger")
sub.set_defaults(func=print_version)
return subparsers
def print_addresses(args: Any):
ledger_app = LedgerApp()
for i in range(args.num_addresses):
address = ledger_app.get_address(0, i)
print('account index = %d | address index = %d | address: %s' % (0, i, address))
ledger_app.close()
def print_version(args: Any):
ledger_app = LedgerApp()
print("MultiversX App version: " + ledger_app.get_version())
ledger_app.close()