lnwallet: update TestRevocationKeyDerivation to use new derivation
This commit is contained in:
parent
44ffcf2156
commit
016f56e8e3
@ -185,24 +185,28 @@ func TestCommitmentSpendValidation(t *testing.T) {
|
|||||||
func TestRevocationKeyDerivation(t *testing.T) {
|
func TestRevocationKeyDerivation(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
revocationPreimage := testHdSeed[:]
|
// First, we'll generate a commitment point, and a commitment secret.
|
||||||
|
// These will be used to derive the ultimate revocation keys.
|
||||||
|
revocationPreimage := testHdSeed.CloneBytes()
|
||||||
|
commitSecret, commitPoint := btcec.PrivKeyFromBytes(btcec.S256(),
|
||||||
|
revocationPreimage)
|
||||||
|
|
||||||
priv, pub := btcec.PrivKeyFromBytes(btcec.S256(), testWalletPrivKey)
|
// With the commitment secrets generated, we'll now create the base
|
||||||
|
// keys we'll use to derive the revocation key from.
|
||||||
|
basePriv, basePub := btcec.PrivKeyFromBytes(btcec.S256(),
|
||||||
|
testWalletPrivKey)
|
||||||
|
|
||||||
revocationPub := DeriveRevocationPubkey(pub, revocationPreimage)
|
// With the point and key obtained, we can now derive the revocation
|
||||||
|
// key itself.
|
||||||
|
revocationPub := DeriveRevocationPubkey(basePub, commitPoint)
|
||||||
|
|
||||||
revocationPriv := DeriveRevocationPrivKey(priv, revocationPreimage)
|
// The revocation public key derived from the original public key, and
|
||||||
x, y := btcec.S256().ScalarBaseMult(revocationPriv.D.Bytes())
|
// the one derived from the private key should be identical.
|
||||||
derivedRevPub := &btcec.PublicKey{
|
revocationPriv := DeriveRevocationPrivKey(basePriv, commitSecret)
|
||||||
Curve: btcec.S256(),
|
if !revocationPub.IsEqual(revocationPriv.PubKey()) {
|
||||||
X: x,
|
t.Fatalf("derived public keys don't match!")
|
||||||
Y: y,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// The the revocation public key derived from the original public key,
|
|
||||||
// and the one derived from the private key should be identical.
|
|
||||||
if !revocationPub.IsEqual(derivedRevPub) {
|
|
||||||
t.Fatalf("derived public keys don't match!")
|
|
||||||
// TestTweakKeyDerivation tests that given a public key, and commitment tweak,
|
// TestTweakKeyDerivation tests that given a public key, and commitment tweak,
|
||||||
// then we're able to properly derive a tweaked private key that corresponds to
|
// then we're able to properly derive a tweaked private key that corresponds to
|
||||||
// the computed tweak public key. This scenario ensure that our key derivation
|
// the computed tweak public key. This scenario ensure that our key derivation
|
||||||
|
Loading…
Reference in New Issue
Block a user