@@ -63,27 +63,19 @@ pub fn derive_key_pair_from_mnemonic(mnemonic: &str, account: u32, index: u32) -
6363 . derive ( ed25519_bip32:: DerivationScheme :: V2 , 0 )
6464 . derive ( ed25519_bip32:: DerivationScheme :: V2 , index)
6565 . extended_secret_key ( ) ;
66- // stake key 1852'/1815'/<account>'/2/<index>
67- let stake_xprv = & xprv
68- . derive ( ed25519_bip32:: DerivationScheme :: V2 , harden_index ( 1852 ) )
69- . derive ( ed25519_bip32:: DerivationScheme :: V2 , harden_index ( 1815 ) )
70- . derive ( ed25519_bip32:: DerivationScheme :: V2 , harden_index ( account) )
71- . derive ( ed25519_bip32:: DerivationScheme :: V2 , 2 )
72- . derive ( ed25519_bip32:: DerivationScheme :: V2 , index)
73- . extended_secret_key ( ) ;
7466 unsafe {
75- let pay_priv = SecretKeyExtended :: from_bytes_unchecked ( * pay_xprv) ;
76- let pay_pub = pay_priv. public_key ( ) ;
77- let stake_pub = SecretKeyExtended :: from_bytes_unchecked ( * stake_xprv) . public_key ( ) ;
67+ let sk = SecretKeyExtended :: from_bytes_unchecked ( * pay_xprv) ;
68+ let vk = sk. public_key ( ) ;
7869
70+ // Cardano (Shelley) address derivation
7971 let addr = ShelleyAddress :: new (
80- Network :: Mainnet ,
81- ShelleyPaymentPart :: key_hash ( pay_pub . compute_hash ( ) ) ,
82- ShelleyDelegationPart :: key_hash ( stake_pub . compute_hash ( ) )
72+ Network :: Mainnet , // Assuming Mainnet environment
73+ ShelleyPaymentPart :: key_hash ( vk . compute_hash ( ) ) ,
74+ ShelleyDelegationPart :: Null
8375 ) ;
84- let sk_flex: FlexibleSecretKey = FlexibleSecretKey :: Extended ( pay_priv ) ;
76+ let sk_flex: FlexibleSecretKey = FlexibleSecretKey :: Extended ( sk ) ;
8577
86- ( sk_flex, pay_pub , addr)
78+ ( sk_flex, vk , addr)
8779 }
8880
8981}
@@ -221,4 +213,4 @@ pub fn cip8_sign(kp: &KeyPairAndAddress, message: &str) -> (String, String) {
221213 let cose_sign1_cbor = pallas:: codec:: minicbor:: to_vec ( & cose_struct) . unwrap ( ) ;
222214
223215 ( hex:: encode ( & cose_sign1_cbor) . to_string ( ) , hex:: encode ( pubkey) . to_string ( ) )
224- }
216+ }
0 commit comments