From 608a57c71dc6412cb2c389595584f1df92487b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20F=C3=BCrderer?= Date: Mon, 25 Mar 2024 21:28:04 +0100 Subject: [PATCH] Make the wallet backwards-compatible --- wallet.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/wallet.py b/wallet.py index 5c46e82..f11f7dc 100755 --- a/wallet.py +++ b/wallet.py @@ -2,6 +2,7 @@ import base64, socket, sys, time from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey, Ed25519PublicKey +from cryptography.hazmat.primitives.serialization import Encoding, PrivateFormat, PublicFormat, NoEncryption def format_address(raw_address): return base64.b64encode(raw_address).decode() @@ -23,7 +24,7 @@ def write_transaction(timestamp, message, amount): print(f"{formatted_time} {message:<44} {format_amount(amount):>14}") def show_balance(public_key): - public_key_raw = public_key.public_bytes_raw() + public_key_raw = public_key.public_bytes(Encoding.Raw, PublicFormat.Raw) with open("blockchain", "rb") as f: total_amount = 0 while True: @@ -101,7 +102,7 @@ def send_payment(private_key, target, amount, fee): if amount == 0: raise Exception("Amount must not be zero") fee = parse_amount_checked(fee) - public_key_raw = private_key.public_key().public_bytes_raw() + public_key_raw = private_key.public_key().public_bytes(Encoding.Raw, PublicFormat.Raw) transaction_id = find_free_id(public_key_raw) transaction_prefix = transaction_id.to_bytes(4, "big") + \ public_key_raw + \ @@ -141,12 +142,12 @@ def main(): private_key = Ed25519PrivateKey.from_private_bytes(private_key_raw) except FileNotFoundError: private_key = Ed25519PrivateKey.generate() - private_key_raw = private_key.private_bytes_raw() + private_key_raw = private_key.private_bytes(Encoding.Raw, PrivateFormat.Raw, NoEncryption()) with open("wallet-key", "wb") as f: f.write(private_key_raw) public_key = private_key.public_key() - wallet_addr = format_address(public_key.public_bytes_raw()) + wallet_addr = format_address(public_key.public_bytes(Encoding.Raw, PublicFormat.Raw)) print(f"Your wallet address: {wallet_addr}\n") if len(sys.argv) == 1: