lnrpc: re-compile protos w/ Go 1.19
This commit is contained in:
24 files changed
+2773
-3481
No files matched your search
+150
-209
@@ -23,21 +23,17 @@ const (
|
||||
type SignMethod int32
|
||||
|
||||
const (
|
||||
//
|
||||
//Specifies that a SegWit v0 (p2wkh, np2wkh, p2wsh) input script should be
|
||||
//signed.
|
||||
// Specifies that a SegWit v0 (p2wkh, np2wkh, p2wsh) input script should be
|
||||
// signed.
|
||||
SignMethod_SIGN_METHOD_WITNESS_V0 SignMethod = 0
|
||||
//
|
||||
//Specifies that a SegWit v1 (p2tr) input should be signed by using the
|
||||
//BIP0086 method (commit to internal key only).
|
||||
// Specifies that a SegWit v1 (p2tr) input should be signed by using the
|
||||
// BIP0086 method (commit to internal key only).
|
||||
SignMethod_SIGN_METHOD_TAPROOT_KEY_SPEND_BIP0086 SignMethod = 1
|
||||
//
|
||||
//Specifies that a SegWit v1 (p2tr) input should be signed by using a given
|
||||
//taproot hash to commit to in addition to the internal key.
|
||||
// Specifies that a SegWit v1 (p2tr) input should be signed by using a given
|
||||
// taproot hash to commit to in addition to the internal key.
|
||||
SignMethod_SIGN_METHOD_TAPROOT_KEY_SPEND SignMethod = 2
|
||||
//
|
||||
//Specifies that a SegWit v1 (p2tr) input should be spent using the script
|
||||
//path and that a specific leaf script should be signed for.
|
||||
// Specifies that a SegWit v1 (p2tr) input should be spent using the script
|
||||
// path and that a specific leaf script should be signed for.
|
||||
SignMethod_SIGN_METHOD_TAPROOT_SCRIPT_SPEND SignMethod = 3
|
||||
)
|
||||
|
||||
@@ -146,13 +142,11 @@ type KeyDescriptor struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The raw bytes of the public key in the key pair being identified. Either
|
||||
//this or the KeyLocator must be specified.
|
||||
// The raw bytes of the public key in the key pair being identified. Either
|
||||
// this or the KeyLocator must be specified.
|
||||
RawKeyBytes []byte `protobuf:"bytes,1,opt,name=raw_key_bytes,json=rawKeyBytes,proto3" json:"raw_key_bytes,omitempty"`
|
||||
//
|
||||
//The key locator that identifies which private key to use for signing.
|
||||
//Either this or the raw bytes of the target public key must be specified.
|
||||
// The key locator that identifies which private key to use for signing.
|
||||
// Either this or the raw bytes of the target public key must be specified.
|
||||
KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
|
||||
}
|
||||
|
||||
@@ -264,65 +258,56 @@ type SignDescriptor struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// A descriptor that precisely describes *which* key to use for signing. This
|
||||
// may provide the raw public key directly, or require the Signer to re-derive
|
||||
// the key according to the populated derivation path.
|
||||
//
|
||||
//A descriptor that precisely describes *which* key to use for signing. This
|
||||
//may provide the raw public key directly, or require the Signer to re-derive
|
||||
//the key according to the populated derivation path.
|
||||
//
|
||||
//Note that if the key descriptor was obtained through walletrpc.DeriveKey,
|
||||
//then the key locator MUST always be provided, since the derived keys are not
|
||||
//persisted unlike with DeriveNextKey.
|
||||
// Note that if the key descriptor was obtained through walletrpc.DeriveKey,
|
||||
// then the key locator MUST always be provided, since the derived keys are not
|
||||
// persisted unlike with DeriveNextKey.
|
||||
KeyDesc *KeyDescriptor `protobuf:"bytes,1,opt,name=key_desc,json=keyDesc,proto3" json:"key_desc,omitempty"`
|
||||
//
|
||||
//A scalar value that will be added to the private key corresponding to the
|
||||
//above public key to obtain the private key to be used to sign this input.
|
||||
//This value is typically derived via the following computation:
|
||||
// A scalar value that will be added to the private key corresponding to the
|
||||
// above public key to obtain the private key to be used to sign this input.
|
||||
// This value is typically derived via the following computation:
|
||||
//
|
||||
// derivedKey = privkey + sha256(perCommitmentPoint || pubKey) mod N
|
||||
SingleTweak []byte `protobuf:"bytes,2,opt,name=single_tweak,json=singleTweak,proto3" json:"single_tweak,omitempty"`
|
||||
//
|
||||
//A private key that will be used in combination with its corresponding
|
||||
//private key to derive the private key that is to be used to sign the target
|
||||
//input. Within the Lightning protocol, this value is typically the
|
||||
//commitment secret from a previously revoked commitment transaction. This
|
||||
//value is in combination with two hash values, and the original private key
|
||||
//to derive the private key to be used when signing.
|
||||
// A private key that will be used in combination with its corresponding
|
||||
// private key to derive the private key that is to be used to sign the target
|
||||
// input. Within the Lightning protocol, this value is typically the
|
||||
// commitment secret from a previously revoked commitment transaction. This
|
||||
// value is in combination with two hash values, and the original private key
|
||||
// to derive the private key to be used when signing.
|
||||
//
|
||||
// k = (privKey*sha256(pubKey || tweakPub) +
|
||||
//tweakPriv*sha256(tweakPub || pubKey)) mod N
|
||||
// tweakPriv*sha256(tweakPub || pubKey)) mod N
|
||||
DoubleTweak []byte `protobuf:"bytes,3,opt,name=double_tweak,json=doubleTweak,proto3" json:"double_tweak,omitempty"`
|
||||
// The 32 byte input to the taproot tweak derivation that is used to derive
|
||||
// the output key from an internal key: outputKey = internalKey +
|
||||
// tagged_hash("tapTweak", internalKey || tapTweak).
|
||||
//
|
||||
//The 32 byte input to the taproot tweak derivation that is used to derive
|
||||
//the output key from an internal key: outputKey = internalKey +
|
||||
//tagged_hash("tapTweak", internalKey || tapTweak).
|
||||
// When doing a BIP 86 spend, this field can be an empty byte slice.
|
||||
//
|
||||
//When doing a BIP 86 spend, this field can be an empty byte slice.
|
||||
//
|
||||
//When doing a normal key path spend, with the output key committing to an
|
||||
//actual script root, then this field should be: the tapscript root hash.
|
||||
// When doing a normal key path spend, with the output key committing to an
|
||||
// actual script root, then this field should be: the tapscript root hash.
|
||||
TapTweak []byte `protobuf:"bytes,10,opt,name=tap_tweak,json=tapTweak,proto3" json:"tap_tweak,omitempty"`
|
||||
//
|
||||
//The full script required to properly redeem the output. This field will
|
||||
//only be populated if a p2tr, p2wsh or a p2sh output is being signed. If a
|
||||
//taproot script path spend is being attempted, then this should be the raw
|
||||
//leaf script.
|
||||
// The full script required to properly redeem the output. This field will
|
||||
// only be populated if a p2tr, p2wsh or a p2sh output is being signed. If a
|
||||
// taproot script path spend is being attempted, then this should be the raw
|
||||
// leaf script.
|
||||
WitnessScript []byte `protobuf:"bytes,4,opt,name=witness_script,json=witnessScript,proto3" json:"witness_script,omitempty"`
|
||||
//
|
||||
//A description of the output being spent. The value and script MUST be
|
||||
//provided.
|
||||
// A description of the output being spent. The value and script MUST be
|
||||
// provided.
|
||||
Output *TxOut `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"`
|
||||
//
|
||||
//The target sighash type that should be used when generating the final
|
||||
//sighash, and signature.
|
||||
// The target sighash type that should be used when generating the final
|
||||
// sighash, and signature.
|
||||
Sighash uint32 `protobuf:"varint,7,opt,name=sighash,proto3" json:"sighash,omitempty"`
|
||||
//
|
||||
//The target input within the transaction that should be signed.
|
||||
// The target input within the transaction that should be signed.
|
||||
InputIndex int32 `protobuf:"varint,8,opt,name=input_index,json=inputIndex,proto3" json:"input_index,omitempty"`
|
||||
//
|
||||
//The sign method specifies how the input should be signed. Depending on the
|
||||
//method, either the tap_tweak, witness_script or both need to be specified.
|
||||
//Defaults to SegWit v0 signing to be backward compatible with older RPC
|
||||
//clients.
|
||||
// The sign method specifies how the input should be signed. Depending on the
|
||||
// method, either the tap_tweak, witness_script or both need to be specified.
|
||||
// Defaults to SegWit v0 signing to be backward compatible with older RPC
|
||||
// clients.
|
||||
SignMethod SignMethod `protobuf:"varint,9,opt,name=sign_method,json=signMethod,proto3,enum=signrpc.SignMethod" json:"sign_method,omitempty"`
|
||||
}
|
||||
|
||||
@@ -430,9 +415,8 @@ type SignReq struct {
|
||||
RawTxBytes []byte `protobuf:"bytes,1,opt,name=raw_tx_bytes,json=rawTxBytes,proto3" json:"raw_tx_bytes,omitempty"`
|
||||
// A set of sign descriptors, for each input to be signed.
|
||||
SignDescs []*SignDescriptor `protobuf:"bytes,2,rep,name=sign_descs,json=signDescs,proto3" json:"sign_descs,omitempty"`
|
||||
//
|
||||
//The full list of UTXO information for each of the inputs being spent. This
|
||||
//is required when spending one or more taproot (SegWit v1) outputs.
|
||||
// The full list of UTXO information for each of the inputs being spent. This
|
||||
// is required when spending one or more taproot (SegWit v1) outputs.
|
||||
PrevOutputs []*TxOut `protobuf:"bytes,3,rep,name=prev_outputs,json=prevOutputs,proto3" json:"prev_outputs,omitempty"`
|
||||
}
|
||||
|
||||
@@ -494,9 +478,8 @@ type SignResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//A set of signatures realized in a fixed 64-byte format ordered in ascending
|
||||
//input order.
|
||||
// A set of signatures realized in a fixed 64-byte format ordered in ascending
|
||||
// input order.
|
||||
RawSigs [][]byte `protobuf:"bytes,1,rep,name=raw_sigs,json=rawSigs,proto3" json:"raw_sigs,omitempty"`
|
||||
}
|
||||
|
||||
@@ -546,9 +529,8 @@ type InputScript struct {
|
||||
|
||||
// The serializes witness stack for the specified input.
|
||||
Witness [][]byte `protobuf:"bytes,1,rep,name=witness,proto3" json:"witness,omitempty"`
|
||||
//
|
||||
//The optional sig script for the specified witness that will only be set if
|
||||
//the input specified is a nested p2sh witness program.
|
||||
// The optional sig script for the specified witness that will only be set if
|
||||
// the input specified is a nested p2sh witness program.
|
||||
SigScript []byte `protobuf:"bytes,2,opt,name=sig_script,json=sigScript,proto3" json:"sig_script,omitempty"`
|
||||
}
|
||||
|
||||
@@ -651,25 +633,21 @@ type SignMessageReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The message to be signed. When using REST, this field must be encoded as
|
||||
//base64.
|
||||
// The message to be signed. When using REST, this field must be encoded as
|
||||
// base64.
|
||||
Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
|
||||
// The key locator that identifies which key to use for signing.
|
||||
KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
|
||||
// Double-SHA256 hash instead of just the default single round.
|
||||
DoubleHash bool `protobuf:"varint,3,opt,name=double_hash,json=doubleHash,proto3" json:"double_hash,omitempty"`
|
||||
//
|
||||
//Use the compact (pubkey recoverable) format instead of the raw lnwire
|
||||
//format. This option cannot be used with Schnorr signatures.
|
||||
// Use the compact (pubkey recoverable) format instead of the raw lnwire
|
||||
// format. This option cannot be used with Schnorr signatures.
|
||||
CompactSig bool `protobuf:"varint,4,opt,name=compact_sig,json=compactSig,proto3" json:"compact_sig,omitempty"`
|
||||
//
|
||||
//Use Schnorr signature. This option cannot be used with compact format.
|
||||
// Use Schnorr signature. This option cannot be used with compact format.
|
||||
SchnorrSig bool `protobuf:"varint,5,opt,name=schnorr_sig,json=schnorrSig,proto3" json:"schnorr_sig,omitempty"`
|
||||
//
|
||||
//The optional Taproot tweak bytes to apply to the private key before creating
|
||||
//a Schnorr signature. The private key is tweaked as described in BIP-341:
|
||||
//privKey + h_tapTweak(internalKey || tapTweak)
|
||||
// The optional Taproot tweak bytes to apply to the private key before creating
|
||||
// a Schnorr signature. The private key is tweaked as described in BIP-341:
|
||||
// privKey + h_tapTweak(internalKey || tapTweak)
|
||||
SchnorrSigTapTweak []byte `protobuf:"bytes,6,opt,name=schnorr_sig_tap_tweak,json=schnorrSigTapTweak,proto3" json:"schnorr_sig_tap_tweak,omitempty"`
|
||||
}
|
||||
|
||||
@@ -752,8 +730,7 @@ type SignMessageResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The signature for the given message in the fixed-size LN wire format.
|
||||
// The signature for the given message in the fixed-size LN wire format.
|
||||
Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
}
|
||||
|
||||
@@ -804,18 +781,15 @@ type VerifyMessageReq struct {
|
||||
// The message over which the signature is to be verified. When using
|
||||
// REST, this field must be encoded as base64.
|
||||
Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
|
||||
//
|
||||
//The fixed-size LN wire encoded signature to be verified over the given
|
||||
//message. When using REST, this field must be encoded as base64.
|
||||
// The fixed-size LN wire encoded signature to be verified over the given
|
||||
// message. When using REST, this field must be encoded as base64.
|
||||
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
||||
//
|
||||
//The public key the signature has to be valid for. When using REST, this
|
||||
//field must be encoded as base64. If the is_schnorr_sig option is true, then
|
||||
//the public key is expected to be in the 32-byte x-only serialization
|
||||
//according to BIP-340.
|
||||
// The public key the signature has to be valid for. When using REST, this
|
||||
// field must be encoded as base64. If the is_schnorr_sig option is true, then
|
||||
// the public key is expected to be in the 32-byte x-only serialization
|
||||
// according to BIP-340.
|
||||
Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
|
||||
//
|
||||
//Specifies if the signature is a Schnorr signature.
|
||||
// Specifies if the signature is a Schnorr signature.
|
||||
IsSchnorrSig bool `protobuf:"varint,4,opt,name=is_schnorr_sig,json=isSchnorrSig,proto3" json:"is_schnorr_sig,omitempty"`
|
||||
}
|
||||
|
||||
@@ -934,17 +908,15 @@ type SharedKeyRequest struct {
|
||||
|
||||
// The ephemeral public key to use for the DH key derivation.
|
||||
EphemeralPubkey []byte `protobuf:"bytes,1,opt,name=ephemeral_pubkey,json=ephemeralPubkey,proto3" json:"ephemeral_pubkey,omitempty"`
|
||||
//
|
||||
//Deprecated. The optional key locator of the local key that should be used.
|
||||
//If this parameter is not set then the node's identity private key will be
|
||||
//used.
|
||||
// Deprecated. The optional key locator of the local key that should be used.
|
||||
// If this parameter is not set then the node's identity private key will be
|
||||
// used.
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
|
||||
//
|
||||
//A key descriptor describes the key used for performing ECDH. Either a key
|
||||
//locator or a raw public key is expected, if neither is supplied, defaults to
|
||||
//the node's identity private key.
|
||||
// A key descriptor describes the key used for performing ECDH. Either a key
|
||||
// locator or a raw public key is expected, if neither is supplied, defaults to
|
||||
// the node's identity private key.
|
||||
KeyDesc *KeyDescriptor `protobuf:"bytes,3,opt,name=key_desc,json=keyDesc,proto3" json:"key_desc,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1055,13 +1027,11 @@ type TweakDesc struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//Tweak is the 32-byte value that will modify the public key.
|
||||
// Tweak is the 32-byte value that will modify the public key.
|
||||
Tweak []byte `protobuf:"bytes,1,opt,name=tweak,proto3" json:"tweak,omitempty"`
|
||||
//
|
||||
//Specifies if the target key should be converted to an x-only public key
|
||||
//before tweaking. If true, then the public key will be mapped to an x-only
|
||||
//key before the tweaking operation is applied.
|
||||
// Specifies if the target key should be converted to an x-only public key
|
||||
// before tweaking. If true, then the public key will be mapped to an x-only
|
||||
// key before the tweaking operation is applied.
|
||||
IsXOnly bool `protobuf:"varint,2,opt,name=is_x_only,json=isXOnly,proto3" json:"is_x_only,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1116,18 +1086,16 @@ type TaprootTweakDesc struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The root hash of the tapscript tree if a script path is committed to. If
|
||||
//the MuSig2 key put on chain doesn't also commit to a script path (BIP-0086
|
||||
//key spend only), then this needs to be empty and the key_spend_only field
|
||||
//below must be set to true. This is required because gRPC cannot
|
||||
//differentiate between a zero-size byte slice and a nil byte slice (both
|
||||
//would be serialized the same way). So the extra boolean is required.
|
||||
// The root hash of the tapscript tree if a script path is committed to. If
|
||||
// the MuSig2 key put on chain doesn't also commit to a script path (BIP-0086
|
||||
// key spend only), then this needs to be empty and the key_spend_only field
|
||||
// below must be set to true. This is required because gRPC cannot
|
||||
// differentiate between a zero-size byte slice and a nil byte slice (both
|
||||
// would be serialized the same way). So the extra boolean is required.
|
||||
ScriptRoot []byte `protobuf:"bytes,1,opt,name=script_root,json=scriptRoot,proto3" json:"script_root,omitempty"`
|
||||
//
|
||||
//Indicates that the above script_root is expected to be empty because this
|
||||
//is a BIP-0086 key spend only commitment where only the internal key is
|
||||
//committed to instead of also including a script root hash.
|
||||
// Indicates that the above script_root is expected to be empty because this
|
||||
// is a BIP-0086 key spend only commitment where only the internal key is
|
||||
// committed to instead of also including a script root hash.
|
||||
KeySpendOnly bool `protobuf:"varint,2,opt,name=key_spend_only,json=keySpendOnly,proto3" json:"key_spend_only,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1182,20 +1150,17 @@ type MuSig2CombineKeysRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//A list of all public keys (serialized in 32-byte x-only format!)
|
||||
//participating in the signing session. The list will always be sorted
|
||||
//lexicographically internally. This must include the local key which is
|
||||
//described by the above key_loc.
|
||||
// A list of all public keys (serialized in 32-byte x-only format!)
|
||||
// participating in the signing session. The list will always be sorted
|
||||
// lexicographically internally. This must include the local key which is
|
||||
// described by the above key_loc.
|
||||
AllSignerPubkeys [][]byte `protobuf:"bytes,1,rep,name=all_signer_pubkeys,json=allSignerPubkeys,proto3" json:"all_signer_pubkeys,omitempty"`
|
||||
//
|
||||
//A series of optional generic tweaks to be applied to the the aggregated
|
||||
//public key.
|
||||
// A series of optional generic tweaks to be applied to the the aggregated
|
||||
// public key.
|
||||
Tweaks []*TweakDesc `protobuf:"bytes,2,rep,name=tweaks,proto3" json:"tweaks,omitempty"`
|
||||
//
|
||||
//An optional taproot specific tweak that must be specified if the MuSig2
|
||||
//combined key will be used as the main taproot key of a taproot output
|
||||
//on-chain.
|
||||
// An optional taproot specific tweak that must be specified if the MuSig2
|
||||
// combined key will be used as the main taproot key of a taproot output
|
||||
// on-chain.
|
||||
TaprootTweak *TaprootTweakDesc `protobuf:"bytes,3,opt,name=taproot_tweak,json=taprootTweak,proto3" json:"taproot_tweak,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1257,16 +1222,14 @@ type MuSig2CombineKeysResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The combined public key (in the 32-byte x-only format) with all tweaks
|
||||
//applied to it. If a taproot tweak is specified, this corresponds to the
|
||||
//taproot key that can be put into the on-chain output.
|
||||
// The combined public key (in the 32-byte x-only format) with all tweaks
|
||||
// applied to it. If a taproot tweak is specified, this corresponds to the
|
||||
// taproot key that can be put into the on-chain output.
|
||||
CombinedKey []byte `protobuf:"bytes,1,opt,name=combined_key,json=combinedKey,proto3" json:"combined_key,omitempty"`
|
||||
//
|
||||
//The raw combined public key (in the 32-byte x-only format) before any tweaks
|
||||
//are applied to it. If a taproot tweak is specified, this corresponds to the
|
||||
//internal key that needs to be put into the witness if the script spend path
|
||||
//is used.
|
||||
// The raw combined public key (in the 32-byte x-only format) before any tweaks
|
||||
// are applied to it. If a taproot tweak is specified, this corresponds to the
|
||||
// internal key that needs to be put into the witness if the script spend path
|
||||
// is used.
|
||||
TaprootInternalKey []byte `protobuf:"bytes,2,opt,name=taproot_internal_key,json=taprootInternalKey,proto3" json:"taproot_internal_key,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1321,27 +1284,22 @@ type MuSig2SessionRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The key locator that identifies which key to use for signing.
|
||||
// The key locator that identifies which key to use for signing.
|
||||
KeyLoc *KeyLocator `protobuf:"bytes,1,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
|
||||
//
|
||||
//A list of all public keys (serialized in 32-byte x-only format!)
|
||||
//participating in the signing session. The list will always be sorted
|
||||
//lexicographically internally. This must include the local key which is
|
||||
//described by the above key_loc.
|
||||
// A list of all public keys (serialized in 32-byte x-only format!)
|
||||
// participating in the signing session. The list will always be sorted
|
||||
// lexicographically internally. This must include the local key which is
|
||||
// described by the above key_loc.
|
||||
AllSignerPubkeys [][]byte `protobuf:"bytes,2,rep,name=all_signer_pubkeys,json=allSignerPubkeys,proto3" json:"all_signer_pubkeys,omitempty"`
|
||||
//
|
||||
//An optional list of all public nonces of other signing participants that
|
||||
//might already be known.
|
||||
// An optional list of all public nonces of other signing participants that
|
||||
// might already be known.
|
||||
OtherSignerPublicNonces [][]byte `protobuf:"bytes,3,rep,name=other_signer_public_nonces,json=otherSignerPublicNonces,proto3" json:"other_signer_public_nonces,omitempty"`
|
||||
//
|
||||
//A series of optional generic tweaks to be applied to the the aggregated
|
||||
//public key.
|
||||
// A series of optional generic tweaks to be applied to the the aggregated
|
||||
// public key.
|
||||
Tweaks []*TweakDesc `protobuf:"bytes,4,rep,name=tweaks,proto3" json:"tweaks,omitempty"`
|
||||
//
|
||||
//An optional taproot specific tweak that must be specified if the MuSig2
|
||||
//combined key will be used as the main taproot key of a taproot output
|
||||
//on-chain.
|
||||
// An optional taproot specific tweak that must be specified if the MuSig2
|
||||
// combined key will be used as the main taproot key of a taproot output
|
||||
// on-chain.
|
||||
TaprootTweak *TaprootTweakDesc `protobuf:"bytes,5,opt,name=taproot_tweak,json=taprootTweak,proto3" json:"taproot_tweak,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1417,30 +1375,25 @@ type MuSig2SessionResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The unique ID that represents this signing session. A session can be used
|
||||
//for producing a signature a single time. If the signing fails for any
|
||||
//reason, a new session with the same participants needs to be created.
|
||||
// The unique ID that represents this signing session. A session can be used
|
||||
// for producing a signature a single time. If the signing fails for any
|
||||
// reason, a new session with the same participants needs to be created.
|
||||
SessionId []byte `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
||||
//
|
||||
//The combined public key (in the 32-byte x-only format) with all tweaks
|
||||
//applied to it. If a taproot tweak is specified, this corresponds to the
|
||||
//taproot key that can be put into the on-chain output.
|
||||
// The combined public key (in the 32-byte x-only format) with all tweaks
|
||||
// applied to it. If a taproot tweak is specified, this corresponds to the
|
||||
// taproot key that can be put into the on-chain output.
|
||||
CombinedKey []byte `protobuf:"bytes,2,opt,name=combined_key,json=combinedKey,proto3" json:"combined_key,omitempty"`
|
||||
//
|
||||
//The raw combined public key (in the 32-byte x-only format) before any tweaks
|
||||
//are applied to it. If a taproot tweak is specified, this corresponds to the
|
||||
//internal key that needs to be put into the witness if the script spend path
|
||||
//is used.
|
||||
// The raw combined public key (in the 32-byte x-only format) before any tweaks
|
||||
// are applied to it. If a taproot tweak is specified, this corresponds to the
|
||||
// internal key that needs to be put into the witness if the script spend path
|
||||
// is used.
|
||||
TaprootInternalKey []byte `protobuf:"bytes,3,opt,name=taproot_internal_key,json=taprootInternalKey,proto3" json:"taproot_internal_key,omitempty"`
|
||||
//
|
||||
//The two public nonces the local signer uses, combined into a single value
|
||||
//of 66 bytes. Can be split into the two 33-byte points to get the individual
|
||||
//nonces.
|
||||
// The two public nonces the local signer uses, combined into a single value
|
||||
// of 66 bytes. Can be split into the two 33-byte points to get the individual
|
||||
// nonces.
|
||||
LocalPublicNonces []byte `protobuf:"bytes,4,opt,name=local_public_nonces,json=localPublicNonces,proto3" json:"local_public_nonces,omitempty"`
|
||||
//
|
||||
//Indicates whether all nonces required to start the signing process are known
|
||||
//now.
|
||||
// Indicates whether all nonces required to start the signing process are known
|
||||
// now.
|
||||
HaveAllNonces bool `protobuf:"varint,5,opt,name=have_all_nonces,json=haveAllNonces,proto3" json:"have_all_nonces,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1516,12 +1469,10 @@ type MuSig2RegisterNoncesRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The unique ID of the signing session those nonces should be registered with.
|
||||
// The unique ID of the signing session those nonces should be registered with.
|
||||
SessionId []byte `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
||||
//
|
||||
//A list of all public nonces of other signing participants that should be
|
||||
//registered.
|
||||
// A list of all public nonces of other signing participants that should be
|
||||
// registered.
|
||||
OtherSignerPublicNonces [][]byte `protobuf:"bytes,3,rep,name=other_signer_public_nonces,json=otherSignerPublicNonces,proto3" json:"other_signer_public_nonces,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1576,9 +1527,8 @@ type MuSig2RegisterNoncesResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//Indicates whether all nonces required to start the signing process are known
|
||||
//now.
|
||||
// Indicates whether all nonces required to start the signing process are known
|
||||
// now.
|
||||
HaveAllNonces bool `protobuf:"varint,1,opt,name=have_all_nonces,json=haveAllNonces,proto3" json:"have_all_nonces,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1626,16 +1576,13 @@ type MuSig2SignRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The unique ID of the signing session to use for signing.
|
||||
// The unique ID of the signing session to use for signing.
|
||||
SessionId []byte `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
||||
//
|
||||
//The 32-byte SHA256 digest of the message to sign.
|
||||
// The 32-byte SHA256 digest of the message to sign.
|
||||
MessageDigest []byte `protobuf:"bytes,2,opt,name=message_digest,json=messageDigest,proto3" json:"message_digest,omitempty"`
|
||||
//
|
||||
//Cleanup indicates that after signing, the session state can be cleaned up,
|
||||
//since another participant is going to be responsible for combining the
|
||||
//partial signatures.
|
||||
// Cleanup indicates that after signing, the session state can be cleaned up,
|
||||
// since another participant is going to be responsible for combining the
|
||||
// partial signatures.
|
||||
Cleanup bool `protobuf:"varint,3,opt,name=cleanup,proto3" json:"cleanup,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1697,8 +1644,7 @@ type MuSig2SignResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The partial signature created by the local signer.
|
||||
// The partial signature created by the local signer.
|
||||
LocalPartialSignature []byte `protobuf:"bytes,1,opt,name=local_partial_signature,json=localPartialSignature,proto3" json:"local_partial_signature,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1746,12 +1692,10 @@ type MuSig2CombineSigRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The unique ID of the signing session to combine the signatures for.
|
||||
// The unique ID of the signing session to combine the signatures for.
|
||||
SessionId []byte `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
||||
//
|
||||
//The list of all other participants' partial signatures to add to the current
|
||||
//session.
|
||||
// The list of all other participants' partial signatures to add to the current
|
||||
// session.
|
||||
OtherPartialSignatures [][]byte `protobuf:"bytes,2,rep,name=other_partial_signatures,json=otherPartialSignatures,proto3" json:"other_partial_signatures,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1806,13 +1750,11 @@ type MuSig2CombineSigResponse struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//Indicates whether all partial signatures required to create a final, full
|
||||
//signature are known yet. If this is true, then the final_signature field is
|
||||
//set, otherwise it is empty.
|
||||
// Indicates whether all partial signatures required to create a final, full
|
||||
// signature are known yet. If this is true, then the final_signature field is
|
||||
// set, otherwise it is empty.
|
||||
HaveAllSignatures bool `protobuf:"varint,1,opt,name=have_all_signatures,json=haveAllSignatures,proto3" json:"have_all_signatures,omitempty"`
|
||||
//
|
||||
//The final, full signature that is valid for the combined public key.
|
||||
// The final, full signature that is valid for the combined public key.
|
||||
FinalSignature []byte `protobuf:"bytes,2,opt,name=final_signature,json=finalSignature,proto3" json:"final_signature,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1867,8 +1809,7 @@ type MuSig2CleanupRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
//
|
||||
//The unique ID of the signing session that should be removed/cleaned up.
|
||||
// The unique ID of the signing session that should be removed/cleaned up.
|
||||
SessionId []byte `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
|
||||
}
|
||||
|
||||
|
||||
+158
-180
@@ -18,116 +18,105 @@ const _ = grpc.SupportPackageIsVersion7
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type SignerClient interface {
|
||||
// SignOutputRaw is a method that can be used to generated a signature for a
|
||||
// set of inputs/outputs to a transaction. Each request specifies details
|
||||
// concerning how the outputs should be signed, which keys they should be
|
||||
// signed with, and also any optional tweaks. The return value is a fixed
|
||||
// 64-byte signature (the same format as we use on the wire in Lightning).
|
||||
//
|
||||
//SignOutputRaw is a method that can be used to generated a signature for a
|
||||
//set of inputs/outputs to a transaction. Each request specifies details
|
||||
//concerning how the outputs should be signed, which keys they should be
|
||||
//signed with, and also any optional tweaks. The return value is a fixed
|
||||
//64-byte signature (the same format as we use on the wire in Lightning).
|
||||
//
|
||||
//If we are unable to sign using the specified keys, then an error will be
|
||||
//returned.
|
||||
// If we are unable to sign using the specified keys, then an error will be
|
||||
// returned.
|
||||
SignOutputRaw(ctx context.Context, in *SignReq, opts ...grpc.CallOption) (*SignResp, error)
|
||||
// ComputeInputScript generates a complete InputIndex for the passed
|
||||
// transaction with the signature as defined within the passed SignDescriptor.
|
||||
// This method should be capable of generating the proper input script for both
|
||||
// regular p2wkh/p2tr outputs and p2wkh outputs nested within a regular p2sh
|
||||
// output.
|
||||
//
|
||||
//ComputeInputScript generates a complete InputIndex for the passed
|
||||
//transaction with the signature as defined within the passed SignDescriptor.
|
||||
//This method should be capable of generating the proper input script for both
|
||||
//regular p2wkh/p2tr outputs and p2wkh outputs nested within a regular p2sh
|
||||
//output.
|
||||
//
|
||||
//Note that when using this method to sign inputs belonging to the wallet,
|
||||
//the only items of the SignDescriptor that need to be populated are pkScript
|
||||
//in the TxOut field, the value in that same field, and finally the input
|
||||
//index.
|
||||
// Note that when using this method to sign inputs belonging to the wallet,
|
||||
// the only items of the SignDescriptor that need to be populated are pkScript
|
||||
// in the TxOut field, the value in that same field, and finally the input
|
||||
// index.
|
||||
ComputeInputScript(ctx context.Context, in *SignReq, opts ...grpc.CallOption) (*InputScriptResp, error)
|
||||
// SignMessage signs a message with the key specified in the key locator. The
|
||||
// returned signature is fixed-size LN wire format encoded.
|
||||
//
|
||||
//SignMessage signs a message with the key specified in the key locator. The
|
||||
//returned signature is fixed-size LN wire format encoded.
|
||||
//
|
||||
//The main difference to SignMessage in the main RPC is that a specific key is
|
||||
//used to sign the message instead of the node identity private key.
|
||||
// The main difference to SignMessage in the main RPC is that a specific key is
|
||||
// used to sign the message instead of the node identity private key.
|
||||
SignMessage(ctx context.Context, in *SignMessageReq, opts ...grpc.CallOption) (*SignMessageResp, error)
|
||||
// VerifyMessage verifies a signature over a message using the public key
|
||||
// provided. The signature must be fixed-size LN wire format encoded.
|
||||
//
|
||||
//VerifyMessage verifies a signature over a message using the public key
|
||||
//provided. The signature must be fixed-size LN wire format encoded.
|
||||
//
|
||||
//The main difference to VerifyMessage in the main RPC is that the public key
|
||||
//used to sign the message does not have to be a node known to the network.
|
||||
// The main difference to VerifyMessage in the main RPC is that the public key
|
||||
// used to sign the message does not have to be a node known to the network.
|
||||
VerifyMessage(ctx context.Context, in *VerifyMessageReq, opts ...grpc.CallOption) (*VerifyMessageResp, error)
|
||||
//
|
||||
//DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key
|
||||
//derivation between the ephemeral public key in the request and the node's
|
||||
//key specified in the key_desc parameter. Either a key locator or a raw
|
||||
//public key is expected in the key_desc, if neither is supplied, defaults to
|
||||
//the node's identity private key:
|
||||
//P_shared = privKeyNode * ephemeralPubkey
|
||||
//The resulting shared public key is serialized in the compressed format and
|
||||
//hashed with sha256, resulting in the final key length of 256bit.
|
||||
// DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key
|
||||
// derivation between the ephemeral public key in the request and the node's
|
||||
// key specified in the key_desc parameter. Either a key locator or a raw
|
||||
// public key is expected in the key_desc, if neither is supplied, defaults to
|
||||
// the node's identity private key:
|
||||
// P_shared = privKeyNode * ephemeralPubkey
|
||||
// The resulting shared public key is serialized in the compressed format and
|
||||
// hashed with sha256, resulting in the final key length of 256bit.
|
||||
DeriveSharedKey(ctx context.Context, in *SharedKeyRequest, opts ...grpc.CallOption) (*SharedKeyResponse, error)
|
||||
// MuSig2CombineKeys (experimental!) is a stateless helper RPC that can be used
|
||||
// to calculate the combined MuSig2 public key from a list of all participating
|
||||
// signers' public keys. This RPC is completely stateless and deterministic and
|
||||
// does not create any signing session. It can be used to determine the Taproot
|
||||
// public key that should be put in an on-chain output once all public keys are
|
||||
// known. A signing session is only needed later when that output should be
|
||||
// _spent_ again.
|
||||
//
|
||||
//MuSig2CombineKeys (experimental!) is a stateless helper RPC that can be used
|
||||
//to calculate the combined MuSig2 public key from a list of all participating
|
||||
//signers' public keys. This RPC is completely stateless and deterministic and
|
||||
//does not create any signing session. It can be used to determine the Taproot
|
||||
//public key that should be put in an on-chain output once all public keys are
|
||||
//known. A signing session is only needed later when that output should be
|
||||
//_spent_ again.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2CombineKeys(ctx context.Context, in *MuSig2CombineKeysRequest, opts ...grpc.CallOption) (*MuSig2CombineKeysResponse, error)
|
||||
// MuSig2CreateSession (experimental!) creates a new MuSig2 signing session
|
||||
// using the local key identified by the key locator. The complete list of all
|
||||
// public keys of all signing parties must be provided, including the public
|
||||
// key of the local signing key. If nonces of other parties are already known,
|
||||
// they can be submitted as well to reduce the number of RPC calls necessary
|
||||
// later on.
|
||||
//
|
||||
//MuSig2CreateSession (experimental!) creates a new MuSig2 signing session
|
||||
//using the local key identified by the key locator. The complete list of all
|
||||
//public keys of all signing parties must be provided, including the public
|
||||
//key of the local signing key. If nonces of other parties are already known,
|
||||
//they can be submitted as well to reduce the number of RPC calls necessary
|
||||
//later on.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2CreateSession(ctx context.Context, in *MuSig2SessionRequest, opts ...grpc.CallOption) (*MuSig2SessionResponse, error)
|
||||
// MuSig2RegisterNonces (experimental!) registers one or more public nonces of
|
||||
// other signing participants for a session identified by its ID. This RPC can
|
||||
// be called multiple times until all nonces are registered.
|
||||
//
|
||||
//MuSig2RegisterNonces (experimental!) registers one or more public nonces of
|
||||
//other signing participants for a session identified by its ID. This RPC can
|
||||
//be called multiple times until all nonces are registered.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2RegisterNonces(ctx context.Context, in *MuSig2RegisterNoncesRequest, opts ...grpc.CallOption) (*MuSig2RegisterNoncesResponse, error)
|
||||
// MuSig2Sign (experimental!) creates a partial signature using the local
|
||||
// signing key that was specified when the session was created. This can only
|
||||
// be called when all public nonces of all participants are known and have been
|
||||
// registered with the session. If this node isn't responsible for combining
|
||||
// all the partial signatures, then the cleanup flag should be set, indicating
|
||||
// that the session can be removed from memory once the signature was produced.
|
||||
//
|
||||
//MuSig2Sign (experimental!) creates a partial signature using the local
|
||||
//signing key that was specified when the session was created. This can only
|
||||
//be called when all public nonces of all participants are known and have been
|
||||
//registered with the session. If this node isn't responsible for combining
|
||||
//all the partial signatures, then the cleanup flag should be set, indicating
|
||||
//that the session can be removed from memory once the signature was produced.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2Sign(ctx context.Context, in *MuSig2SignRequest, opts ...grpc.CallOption) (*MuSig2SignResponse, error)
|
||||
// MuSig2CombineSig (experimental!) combines the given partial signature(s)
|
||||
// with the local one, if it already exists. Once a partial signature of all
|
||||
// participants is registered, the final signature will be combined and
|
||||
// returned.
|
||||
//
|
||||
//MuSig2CombineSig (experimental!) combines the given partial signature(s)
|
||||
//with the local one, if it already exists. Once a partial signature of all
|
||||
//participants is registered, the final signature will be combined and
|
||||
//returned.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2CombineSig(ctx context.Context, in *MuSig2CombineSigRequest, opts ...grpc.CallOption) (*MuSig2CombineSigResponse, error)
|
||||
// MuSig2Cleanup (experimental!) allows a caller to clean up a session early in
|
||||
// cases where it's obvious that the signing session won't succeed and the
|
||||
// resources can be released.
|
||||
//
|
||||
//MuSig2Cleanup (experimental!) allows a caller to clean up a session early in
|
||||
//cases where it's obvious that the signing session won't succeed and the
|
||||
//resources can be released.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2Cleanup(ctx context.Context, in *MuSig2CleanupRequest, opts ...grpc.CallOption) (*MuSig2CleanupResponse, error)
|
||||
}
|
||||
|
||||
@@ -242,116 +231,105 @@ func (c *signerClient) MuSig2Cleanup(ctx context.Context, in *MuSig2CleanupReque
|
||||
// All implementations must embed UnimplementedSignerServer
|
||||
// for forward compatibility
|
||||
type SignerServer interface {
|
||||
// SignOutputRaw is a method that can be used to generated a signature for a
|
||||
// set of inputs/outputs to a transaction. Each request specifies details
|
||||
// concerning how the outputs should be signed, which keys they should be
|
||||
// signed with, and also any optional tweaks. The return value is a fixed
|
||||
// 64-byte signature (the same format as we use on the wire in Lightning).
|
||||
//
|
||||
//SignOutputRaw is a method that can be used to generated a signature for a
|
||||
//set of inputs/outputs to a transaction. Each request specifies details
|
||||
//concerning how the outputs should be signed, which keys they should be
|
||||
//signed with, and also any optional tweaks. The return value is a fixed
|
||||
//64-byte signature (the same format as we use on the wire in Lightning).
|
||||
//
|
||||
//If we are unable to sign using the specified keys, then an error will be
|
||||
//returned.
|
||||
// If we are unable to sign using the specified keys, then an error will be
|
||||
// returned.
|
||||
SignOutputRaw(context.Context, *SignReq) (*SignResp, error)
|
||||
// ComputeInputScript generates a complete InputIndex for the passed
|
||||
// transaction with the signature as defined within the passed SignDescriptor.
|
||||
// This method should be capable of generating the proper input script for both
|
||||
// regular p2wkh/p2tr outputs and p2wkh outputs nested within a regular p2sh
|
||||
// output.
|
||||
//
|
||||
//ComputeInputScript generates a complete InputIndex for the passed
|
||||
//transaction with the signature as defined within the passed SignDescriptor.
|
||||
//This method should be capable of generating the proper input script for both
|
||||
//regular p2wkh/p2tr outputs and p2wkh outputs nested within a regular p2sh
|
||||
//output.
|
||||
//
|
||||
//Note that when using this method to sign inputs belonging to the wallet,
|
||||
//the only items of the SignDescriptor that need to be populated are pkScript
|
||||
//in the TxOut field, the value in that same field, and finally the input
|
||||
//index.
|
||||
// Note that when using this method to sign inputs belonging to the wallet,
|
||||
// the only items of the SignDescriptor that need to be populated are pkScript
|
||||
// in the TxOut field, the value in that same field, and finally the input
|
||||
// index.
|
||||
ComputeInputScript(context.Context, *SignReq) (*InputScriptResp, error)
|
||||
// SignMessage signs a message with the key specified in the key locator. The
|
||||
// returned signature is fixed-size LN wire format encoded.
|
||||
//
|
||||
//SignMessage signs a message with the key specified in the key locator. The
|
||||
//returned signature is fixed-size LN wire format encoded.
|
||||
//
|
||||
//The main difference to SignMessage in the main RPC is that a specific key is
|
||||
//used to sign the message instead of the node identity private key.
|
||||
// The main difference to SignMessage in the main RPC is that a specific key is
|
||||
// used to sign the message instead of the node identity private key.
|
||||
SignMessage(context.Context, *SignMessageReq) (*SignMessageResp, error)
|
||||
// VerifyMessage verifies a signature over a message using the public key
|
||||
// provided. The signature must be fixed-size LN wire format encoded.
|
||||
//
|
||||
//VerifyMessage verifies a signature over a message using the public key
|
||||
//provided. The signature must be fixed-size LN wire format encoded.
|
||||
//
|
||||
//The main difference to VerifyMessage in the main RPC is that the public key
|
||||
//used to sign the message does not have to be a node known to the network.
|
||||
// The main difference to VerifyMessage in the main RPC is that the public key
|
||||
// used to sign the message does not have to be a node known to the network.
|
||||
VerifyMessage(context.Context, *VerifyMessageReq) (*VerifyMessageResp, error)
|
||||
//
|
||||
//DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key
|
||||
//derivation between the ephemeral public key in the request and the node's
|
||||
//key specified in the key_desc parameter. Either a key locator or a raw
|
||||
//public key is expected in the key_desc, if neither is supplied, defaults to
|
||||
//the node's identity private key:
|
||||
//P_shared = privKeyNode * ephemeralPubkey
|
||||
//The resulting shared public key is serialized in the compressed format and
|
||||
//hashed with sha256, resulting in the final key length of 256bit.
|
||||
// DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key
|
||||
// derivation between the ephemeral public key in the request and the node's
|
||||
// key specified in the key_desc parameter. Either a key locator or a raw
|
||||
// public key is expected in the key_desc, if neither is supplied, defaults to
|
||||
// the node's identity private key:
|
||||
// P_shared = privKeyNode * ephemeralPubkey
|
||||
// The resulting shared public key is serialized in the compressed format and
|
||||
// hashed with sha256, resulting in the final key length of 256bit.
|
||||
DeriveSharedKey(context.Context, *SharedKeyRequest) (*SharedKeyResponse, error)
|
||||
// MuSig2CombineKeys (experimental!) is a stateless helper RPC that can be used
|
||||
// to calculate the combined MuSig2 public key from a list of all participating
|
||||
// signers' public keys. This RPC is completely stateless and deterministic and
|
||||
// does not create any signing session. It can be used to determine the Taproot
|
||||
// public key that should be put in an on-chain output once all public keys are
|
||||
// known. A signing session is only needed later when that output should be
|
||||
// _spent_ again.
|
||||
//
|
||||
//MuSig2CombineKeys (experimental!) is a stateless helper RPC that can be used
|
||||
//to calculate the combined MuSig2 public key from a list of all participating
|
||||
//signers' public keys. This RPC is completely stateless and deterministic and
|
||||
//does not create any signing session. It can be used to determine the Taproot
|
||||
//public key that should be put in an on-chain output once all public keys are
|
||||
//known. A signing session is only needed later when that output should be
|
||||
//_spent_ again.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2CombineKeys(context.Context, *MuSig2CombineKeysRequest) (*MuSig2CombineKeysResponse, error)
|
||||
// MuSig2CreateSession (experimental!) creates a new MuSig2 signing session
|
||||
// using the local key identified by the key locator. The complete list of all
|
||||
// public keys of all signing parties must be provided, including the public
|
||||
// key of the local signing key. If nonces of other parties are already known,
|
||||
// they can be submitted as well to reduce the number of RPC calls necessary
|
||||
// later on.
|
||||
//
|
||||
//MuSig2CreateSession (experimental!) creates a new MuSig2 signing session
|
||||
//using the local key identified by the key locator. The complete list of all
|
||||
//public keys of all signing parties must be provided, including the public
|
||||
//key of the local signing key. If nonces of other parties are already known,
|
||||
//they can be submitted as well to reduce the number of RPC calls necessary
|
||||
//later on.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2CreateSession(context.Context, *MuSig2SessionRequest) (*MuSig2SessionResponse, error)
|
||||
// MuSig2RegisterNonces (experimental!) registers one or more public nonces of
|
||||
// other signing participants for a session identified by its ID. This RPC can
|
||||
// be called multiple times until all nonces are registered.
|
||||
//
|
||||
//MuSig2RegisterNonces (experimental!) registers one or more public nonces of
|
||||
//other signing participants for a session identified by its ID. This RPC can
|
||||
//be called multiple times until all nonces are registered.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2RegisterNonces(context.Context, *MuSig2RegisterNoncesRequest) (*MuSig2RegisterNoncesResponse, error)
|
||||
// MuSig2Sign (experimental!) creates a partial signature using the local
|
||||
// signing key that was specified when the session was created. This can only
|
||||
// be called when all public nonces of all participants are known and have been
|
||||
// registered with the session. If this node isn't responsible for combining
|
||||
// all the partial signatures, then the cleanup flag should be set, indicating
|
||||
// that the session can be removed from memory once the signature was produced.
|
||||
//
|
||||
//MuSig2Sign (experimental!) creates a partial signature using the local
|
||||
//signing key that was specified when the session was created. This can only
|
||||
//be called when all public nonces of all participants are known and have been
|
||||
//registered with the session. If this node isn't responsible for combining
|
||||
//all the partial signatures, then the cleanup flag should be set, indicating
|
||||
//that the session can be removed from memory once the signature was produced.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2Sign(context.Context, *MuSig2SignRequest) (*MuSig2SignResponse, error)
|
||||
// MuSig2CombineSig (experimental!) combines the given partial signature(s)
|
||||
// with the local one, if it already exists. Once a partial signature of all
|
||||
// participants is registered, the final signature will be combined and
|
||||
// returned.
|
||||
//
|
||||
//MuSig2CombineSig (experimental!) combines the given partial signature(s)
|
||||
//with the local one, if it already exists. Once a partial signature of all
|
||||
//participants is registered, the final signature will be combined and
|
||||
//returned.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2CombineSig(context.Context, *MuSig2CombineSigRequest) (*MuSig2CombineSigResponse, error)
|
||||
// MuSig2Cleanup (experimental!) allows a caller to clean up a session early in
|
||||
// cases where it's obvious that the signing session won't succeed and the
|
||||
// resources can be released.
|
||||
//
|
||||
//MuSig2Cleanup (experimental!) allows a caller to clean up a session early in
|
||||
//cases where it's obvious that the signing session won't succeed and the
|
||||
//resources can be released.
|
||||
//
|
||||
//NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
//considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
//releases. Backward compatibility is not guaranteed!
|
||||
// NOTE: The MuSig2 BIP is not final yet and therefore this API must be
|
||||
// considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
|
||||
// releases. Backward compatibility is not guaranteed!
|
||||
MuSig2Cleanup(context.Context, *MuSig2CleanupRequest) (*MuSig2CleanupResponse, error)
|
||||
mustEmbedUnimplementedSignerServer()
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user