Files
Elle Mouton c945f6749e input+signrpc+lnwallet+multi: implement combined nonce support
Add CombinedNonce() and RegisterCombinedNonce() methods with full implementation
stack.

Interface and core implementation:
- input/musig2.go: Added methods to MuSig2Session and MuSig2Signer interfaces
- input/musig2_session_manager.go: MusigSessionManager implementation using
  HaveAllNonces flag for state tracking (simplified, no extra fields)
- internal/musig2v040: Stub implementations returning ErrUnsupportedMethod
- Mock implementations (MockInputSigner, MockSigner, DummySigner)

RPC layer:
- lnrpc/signrpc/signer.proto: RPC method definitions and messages
- lnrpc/signrpc/signer.yaml: REST API endpoint mappings
- Generated protobuf code (all .pb.go files)
- lnwallet/rpcwallet/rpcwallet.go: RPCKeyRing client implementation

The proto types and RPCKeyRing are added together since RPCKeyRing implements
the Signer interface and requires proto types to fulfill the contract.

For v0.4.0, these methods return ErrUnsupportedMethod. Use MuSig2Version100RC2
to access these features.
2025-12-10 07:15:06 +02:00

45 lines
1.4 KiB
YAML

type: google.api.Service
config_version: 3
http:
rules:
- selector: signrpc.Signer.SignOutputRaw
post: "/v2/signer/signraw"
body: "*"
- selector: signrpc.Signer.ComputeInputScript
post: "/v2/signer/inputscript"
body: "*"
- selector: signrpc.Signer.SignMessage
post: "/v2/signer/signmessage"
body: "*"
- selector: signrpc.Signer.VerifyMessage
post: "/v2/signer/verifymessage"
body: "*"
- selector: signrpc.Signer.DeriveSharedKey
post: "/v2/signer/sharedkey"
body: "*"
- selector: signrpc.Signer.MuSig2CombineKeys
post: "/v2/signer/musig2/combinekeys"
body: "*"
- selector: signrpc.Signer.MuSig2CreateSession
post: "/v2/signer/musig2/createsession"
body: "*"
- selector: signrpc.Signer.MuSig2RegisterNonces
post: "/v2/signer/musig2/registernonces"
body: "*"
- selector: signrpc.Signer.MuSig2RegisterCombinedNonce
post: "/v2/signer/musig2/registercombinednonce"
body: "*"
- selector: signrpc.Signer.MuSig2GetCombinedNonce
post: "/v2/signer/musig2/getcombinednonce"
body: "*"
- selector: signrpc.Signer.MuSig2Sign
post: "/v2/signer/musig2/sign"
body: "*"
- selector: signrpc.Signer.MuSig2CombineSig
post: "/v2/signer/musig2/combinesig"
body: "*"
- selector: signrpc.Signer.MuSig2Cleanup
post: "/v2/signer/musig2/cleanup"
body: "*"