Skip to content

Commit

Permalink
add explicit property for deriveMultisigPublicKey and deriveMultisigP…
Browse files Browse the repository at this point in the history
…rivateKey
  • Loading branch information
paweljakubas committed Sep 18, 2020
1 parent f2d3383 commit ec0ee26
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion core/test/Cardano/Address/Style/ShelleySpec.hs
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ import Cardano.Address.Derivation
import Cardano.Address.Style.Shelley
( Role (..)
, Shelley (..)
, deriveMultisigPrivateKey
, deriveMultisigPublicKey
, deriveStakingPrivateKey
, liftXPub
, mkNetworkDiscriminant
Expand Down Expand Up @@ -89,8 +91,10 @@ spec = do
describe "BIP-0044 Derivation Properties" $ do
it "deriveAccountPrivateKey works for various indexes" $
property prop_accountKeyDerivation
it "N(CKDpriv((kpar, cpar), i)) === CKDpub(N(kpar, cpar), i)" $
it "N(CKDpriv((kpar, cpar), i)) === CKDpub(N(kpar, cpar), i) for any key" $
property prop_publicChildKeyDerivation
it "N(CKDpriv((kpar, cpar), i)) === CKDpub(N(kpar, cpar), i) for multisig" $
property prop_publicMultisigDerivation

describe "Bounded / Enum relationship" $ do
it "Calling toEnum for invalid value gives a runtime err (Role)"
Expand Down Expand Up @@ -832,6 +836,18 @@ prop_publicChildKeyDerivation (mw, (SndFactor sndFactor)) cc ix =
addrXPub1 = toXPub <$> deriveAddressPrivateKey accXPrv cc ix
addrXPub2 = deriveAddressPublicKey (toXPub <$> accXPrv) cc ix

prop_publicMultisigDerivation
:: (SomeMnemonic, SndFactor)
-> Index 'Soft 'AddressK
-> Property
prop_publicMultisigDerivation (mw, (SndFactor sndFactor)) ix =
multisigXPub1 === multisigXPub2
where
rootXPrv = genMasterKeyFromMnemonic mw sndFactor :: Shelley 'RootK XPrv
accXPrv = deriveAccountPrivateKey rootXPrv minBound
multisigXPub1 = toXPub <$> deriveMultisigPrivateKey accXPrv ix
multisigXPub2 = deriveMultisigPublicKey (toXPub <$> accXPrv) ix

prop_accountKeyDerivation
:: (SomeMnemonic, SndFactor)
-> Index 'Hardened 'AccountK
Expand Down

0 comments on commit ec0ee26

Please sign in to comment.