From 035b0f386701a2cdd5bda8f83359f5d16b5f3d8f Mon Sep 17 00:00:00 2001 From: Gabor Szabo Date: Fri, 22 Nov 2024 13:48:25 +0100 Subject: [PATCH] ExtendedSigningKey from hd wallet: use key type from class --- pycardano/key.py | 4 ++-- test/pycardano/test_key.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pycardano/key.py b/pycardano/key.py index 35cce25a..26a05d12 100644 --- a/pycardano/key.py +++ b/pycardano/key.py @@ -211,8 +211,8 @@ def from_hdwallet(cls, hdwallet: HDWallet) -> ExtendedSigningKey: return cls( payload=hdwallet.xprivate_key + hdwallet.public_key + hdwallet.chain_code, - key_type="PaymentExtendedSigningKeyShelley_ed25519_bip32", - description="Payment Signing Key", + key_type=cls.KEY_TYPE, + description=cls.DESCRIPTION, ) diff --git a/test/pycardano/test_key.py b/test/pycardano/test_key.py index ccd34589..c5f0221b 100644 --- a/test/pycardano/test_key.py +++ b/test/pycardano/test_key.py @@ -1,12 +1,17 @@ import pathlib import tempfile +from mnemonic import Mnemonic + +from pycardano import HDWallet from pycardano.key import ( ExtendedSigningKey, ExtendedVerificationKey, + PaymentExtendedSigningKey, PaymentKeyPair, PaymentSigningKey, PaymentVerificationKey, + StakeExtendedSigningKey, StakePoolKeyPair, StakePoolSigningKey, StakePoolVerificationKey, @@ -191,3 +196,15 @@ def test_stake_pool_key_hash(): assert len(sk_set) == 1 assert len(vk_set) == 1 + + +def test_extended_signing_key_from_hd_wallet_uses_type_and_description_from_class(): + hd_wallet = HDWallet.from_mnemonic(Mnemonic().generate()) + + extended_payment_key = PaymentExtendedSigningKey.from_hdwallet(hd_wallet) + assert extended_payment_key.key_type == PaymentExtendedSigningKey.KEY_TYPE + assert extended_payment_key.description == PaymentExtendedSigningKey.DESCRIPTION + + extended_stake_key = StakeExtendedSigningKey.from_hdwallet(hd_wallet) + assert extended_stake_key.key_type == StakeExtendedSigningKey.KEY_TYPE + assert extended_stake_key.description == StakeExtendedSigningKey.DESCRIPTION