lnrpc+itest: implement MuSig2Cleanup RPC

This commit is contained in:
Oliver Gugger committed 2022-05-04 19:23:58 +02:00
1 parent 7e11f64650
commit 52e42fc107
2 files changed
+41 -1

No files matched your search

+22
View File
@@ -92,6 +92,10 @@ var (
Entity: "signer",
Action: "generate",
}},
"/signrpc.Signer/MuSig2Cleanup": {{
Entity: "signer",
Action: "generate",
}},
}
// DefaultSignerMacFilename is the default name of the signer macaroon
@@ -940,6 +944,24 @@ func (s *Server) MuSig2CombineSig(_ context.Context,
}, nil
}
// MuSig2Cleanup removes a session from memory to free up resources.
func (s *Server) MuSig2Cleanup(_ context.Context,
in *MuSig2CleanupRequest) (*MuSig2CleanupResponse, error) {
// Check session ID length.
sessionID, err := parseMuSig2SessionID(in.SessionId)
if err != nil {
return nil, fmt.Errorf("error parsing session ID: %v", err)
}
err = s.cfg.Signer.MuSig2Cleanup(sessionID)
if err != nil {
return nil, fmt.Errorf("error cleaning up session: %v", err)
}
return &MuSig2CleanupResponse{}, nil
}
// parseRawKeyBytes checks that the provided raw public key is valid and returns
// the public key. A nil public key is returned if the length of the rawKeyBytes
// is zero.