from libcrypto import Wallet


def print_addresses(wallet: Wallet, coin: str) -> None:
    print(f"\n[{coin}]")
    addresses = wallet.get_all_addresses(coin)

    for address_type, address in addresses.items():
        print(f"{address_type}: {address}")


def main() -> None:
    private_key = "0000000000000000000000000000000000000000000000000000000000000001"
    wallet = Wallet(private_key)

    coins = [
        "bitcoin",
        "testnet",
        "ethereum",
        "tron",
        "litecoin",
        "dogecoin",
        "dash",
        "bitcoin_cash",
        "digibyte",
        "namecoin",
        "bsc",
        "polygon",
        "avalanche",
        "arbitrum",
        "optimism",
        "base",
        "ethereum_classic",
    ]

    for coin in coins:
        print_addresses(wallet, coin)


if __name__ == "__main__":
    main()