From 8005aa98d1e68a969f85bdbe00fedc58bb99ebfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Olav?= Date: Tue, 2 Dec 2025 21:17:03 +0100 Subject: [PATCH] rpc: add signrawtransactionwithwallet --- gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go | 902 +++++++++++------- .../bitcoindv1alphaconnect/bitcoin.connect.go | 118 ++- proto/bitcoin/bitcoind/v1alpha/bitcoin.proto | 34 + server/server.go | 50 + 4 files changed, 724 insertions(+), 380 deletions(-) diff --git a/gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go b/gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go index b2ba954..462990c 100644 --- a/gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go +++ b/gen/bitcoin/bitcoind/v1alpha/bitcoin.pb.go @@ -6960,6 +6960,122 @@ func (x *GetZmqNotificationsResponse) GetNotifications() []*GetZmqNotificationsR return nil } +type SignRawTransactionWithWalletRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The transaction hex string + HexString string `protobuf:"bytes,1,opt,name=hex_string,json=hexString,proto3" json:"hex_string,omitempty"` + // Only needs to be set if dealing with multiple wallets at the same time. + Wallet string `protobuf:"bytes,2,opt,name=wallet,proto3" json:"wallet,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignRawTransactionWithWalletRequest) Reset() { + *x = SignRawTransactionWithWalletRequest{} + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignRawTransactionWithWalletRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignRawTransactionWithWalletRequest) ProtoMessage() {} + +func (x *SignRawTransactionWithWalletRequest) ProtoReflect() protoreflect.Message { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[99] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignRawTransactionWithWalletRequest.ProtoReflect.Descriptor instead. +func (*SignRawTransactionWithWalletRequest) Descriptor() ([]byte, []int) { + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{99} +} + +func (x *SignRawTransactionWithWalletRequest) GetHexString() string { + if x != nil { + return x.HexString + } + return "" +} + +func (x *SignRawTransactionWithWalletRequest) GetWallet() string { + if x != nil { + return x.Wallet + } + return "" +} + +type SignRawTransactionWithWalletResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The hex-encoded raw transaction with signature(s) + Hex string `protobuf:"bytes,1,opt,name=hex,proto3" json:"hex,omitempty"` + // If the transaction has a complete set of signatures + Complete bool `protobuf:"varint,2,opt,name=complete,proto3" json:"complete,omitempty"` + Errors []*SignRawTransactionWithWalletResponse_Error `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignRawTransactionWithWalletResponse) Reset() { + *x = SignRawTransactionWithWalletResponse{} + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignRawTransactionWithWalletResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignRawTransactionWithWalletResponse) ProtoMessage() {} + +func (x *SignRawTransactionWithWalletResponse) ProtoReflect() protoreflect.Message { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignRawTransactionWithWalletResponse.ProtoReflect.Descriptor instead. +func (*SignRawTransactionWithWalletResponse) Descriptor() ([]byte, []int) { + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{100} +} + +func (x *SignRawTransactionWithWalletResponse) GetHex() string { + if x != nil { + return x.Hex + } + return "" +} + +func (x *SignRawTransactionWithWalletResponse) GetComplete() bool { + if x != nil { + return x.Complete + } + return false +} + +func (x *SignRawTransactionWithWalletResponse) GetErrors() []*SignRawTransactionWithWalletResponse_Error { + if x != nil { + return x.Errors + } + return nil +} + type GetNetworkInfoResponse_Network struct { state protoimpl.MessageState `protogen:"open.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -6973,7 +7089,7 @@ type GetNetworkInfoResponse_Network struct { func (x *GetNetworkInfoResponse_Network) Reset() { *x = GetNetworkInfoResponse_Network{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[101] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6985,7 +7101,7 @@ func (x *GetNetworkInfoResponse_Network) String() string { func (*GetNetworkInfoResponse_Network) ProtoMessage() {} func (x *GetNetworkInfoResponse_Network) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[101] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7047,7 +7163,7 @@ type GetNetworkInfoResponse_LocalAddress struct { func (x *GetNetworkInfoResponse_LocalAddress) Reset() { *x = GetNetworkInfoResponse_LocalAddress{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[102] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7059,7 +7175,7 @@ func (x *GetNetworkInfoResponse_LocalAddress) String() string { func (*GetNetworkInfoResponse_LocalAddress) ProtoMessage() {} func (x *GetNetworkInfoResponse_LocalAddress) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[102] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7113,7 +7229,7 @@ type GetBalancesResponse_Mine struct { func (x *GetBalancesResponse_Mine) Reset() { *x = GetBalancesResponse_Mine{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[103] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7125,7 +7241,7 @@ func (x *GetBalancesResponse_Mine) String() string { func (*GetBalancesResponse_Mine) ProtoMessage() {} func (x *GetBalancesResponse_Mine) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[103] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7184,7 +7300,7 @@ type GetBalancesResponse_Watchonly struct { func (x *GetBalancesResponse_Watchonly) Reset() { *x = GetBalancesResponse_Watchonly{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[104] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7196,7 +7312,7 @@ func (x *GetBalancesResponse_Watchonly) String() string { func (*GetBalancesResponse_Watchonly) ProtoMessage() {} func (x *GetBalancesResponse_Watchonly) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[104] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7248,7 +7364,7 @@ type GetTransactionResponse_Details struct { func (x *GetTransactionResponse_Details) Reset() { *x = GetTransactionResponse_Details{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[105] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7260,7 +7376,7 @@ func (x *GetTransactionResponse_Details) String() string { func (*GetTransactionResponse_Details) ProtoMessage() {} func (x *GetTransactionResponse_Details) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[105] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7340,7 +7456,7 @@ type ImportDescriptorsRequest_Request struct { func (x *ImportDescriptorsRequest_Request) Reset() { *x = ImportDescriptorsRequest_Request{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[107] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7352,7 +7468,7 @@ func (x *ImportDescriptorsRequest_Request) String() string { func (*ImportDescriptorsRequest_Request) ProtoMessage() {} func (x *ImportDescriptorsRequest_Request) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[107] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7434,7 +7550,7 @@ type ImportDescriptorsResponse_Error struct { func (x *ImportDescriptorsResponse_Error) Reset() { *x = ImportDescriptorsResponse_Error{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[108] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7446,7 +7562,7 @@ func (x *ImportDescriptorsResponse_Error) String() string { func (*ImportDescriptorsResponse_Error) ProtoMessage() {} func (x *ImportDescriptorsResponse_Error) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[108] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7487,7 +7603,7 @@ type ImportDescriptorsResponse_Response struct { func (x *ImportDescriptorsResponse_Response) Reset() { *x = ImportDescriptorsResponse_Response{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[109] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7499,7 +7615,7 @@ func (x *ImportDescriptorsResponse_Response) String() string { func (*ImportDescriptorsResponse_Response) ProtoMessage() {} func (x *ImportDescriptorsResponse_Response) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[109] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7549,7 +7665,7 @@ type MempoolEntry_Fees struct { func (x *MempoolEntry_Fees) Reset() { *x = MempoolEntry_Fees{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[110] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7561,7 +7677,7 @@ func (x *MempoolEntry_Fees) String() string { func (*MempoolEntry_Fees) ProtoMessage() {} func (x *MempoolEntry_Fees) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[110] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7616,7 +7732,7 @@ type CreateRawTransactionRequest_Input struct { func (x *CreateRawTransactionRequest_Input) Reset() { *x = CreateRawTransactionRequest_Input{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[113] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7628,7 +7744,7 @@ func (x *CreateRawTransactionRequest_Input) String() string { func (*CreateRawTransactionRequest_Input) ProtoMessage() {} func (x *CreateRawTransactionRequest_Input) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[113] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7676,7 +7792,7 @@ type CreatePsbtRequest_Input struct { func (x *CreatePsbtRequest_Input) Reset() { *x = CreatePsbtRequest_Input{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[115] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7688,7 +7804,7 @@ func (x *CreatePsbtRequest_Input) String() string { func (*CreatePsbtRequest_Input) ProtoMessage() {} func (x *CreatePsbtRequest_Input) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[115] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7735,7 +7851,7 @@ type DecodePsbtResponse_WitnessUtxo struct { func (x *DecodePsbtResponse_WitnessUtxo) Reset() { *x = DecodePsbtResponse_WitnessUtxo{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[117] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7747,7 +7863,7 @@ func (x *DecodePsbtResponse_WitnessUtxo) String() string { func (*DecodePsbtResponse_WitnessUtxo) ProtoMessage() {} func (x *DecodePsbtResponse_WitnessUtxo) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[117] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7788,7 +7904,7 @@ type DecodePsbtResponse_RedeemScript struct { func (x *DecodePsbtResponse_RedeemScript) Reset() { *x = DecodePsbtResponse_RedeemScript{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[118] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7800,7 +7916,7 @@ func (x *DecodePsbtResponse_RedeemScript) String() string { func (*DecodePsbtResponse_RedeemScript) ProtoMessage() {} func (x *DecodePsbtResponse_RedeemScript) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[118] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7848,7 +7964,7 @@ type DecodePsbtResponse_Bip32Deriv struct { func (x *DecodePsbtResponse_Bip32Deriv) Reset() { *x = DecodePsbtResponse_Bip32Deriv{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[119] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7860,7 +7976,7 @@ func (x *DecodePsbtResponse_Bip32Deriv) String() string { func (*DecodePsbtResponse_Bip32Deriv) ProtoMessage() {} func (x *DecodePsbtResponse_Bip32Deriv) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[119] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7915,7 +8031,7 @@ type DecodePsbtResponse_Input struct { func (x *DecodePsbtResponse_Input) Reset() { *x = DecodePsbtResponse_Input{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[120] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7927,7 +8043,7 @@ func (x *DecodePsbtResponse_Input) String() string { func (*DecodePsbtResponse_Input) ProtoMessage() {} func (x *DecodePsbtResponse_Input) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[120] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8025,7 +8141,7 @@ type DecodePsbtResponse_Output struct { func (x *DecodePsbtResponse_Output) Reset() { *x = DecodePsbtResponse_Output{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[121] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8037,7 +8153,7 @@ func (x *DecodePsbtResponse_Output) String() string { func (*DecodePsbtResponse_Output) ProtoMessage() {} func (x *DecodePsbtResponse_Output) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[121] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8093,7 +8209,7 @@ type AnalyzePsbtResponse_Input struct { func (x *AnalyzePsbtResponse_Input) Reset() { *x = AnalyzePsbtResponse_Input{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[126] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8105,7 +8221,7 @@ func (x *AnalyzePsbtResponse_Input) String() string { func (*AnalyzePsbtResponse_Input) ProtoMessage() {} func (x *AnalyzePsbtResponse_Input) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[126] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8161,7 +8277,7 @@ type AnalyzePsbtResponse_Input_Missing struct { func (x *AnalyzePsbtResponse_Input_Missing) Reset() { *x = AnalyzePsbtResponse_Input_Missing{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[127] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8173,7 +8289,7 @@ func (x *AnalyzePsbtResponse_Input_Missing) String() string { func (*AnalyzePsbtResponse_Input_Missing) ProtoMessage() {} func (x *AnalyzePsbtResponse_Input_Missing) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[127] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8230,7 +8346,7 @@ type TestMempoolAcceptResponse_Result struct { func (x *TestMempoolAcceptResponse_Result) Reset() { *x = TestMempoolAcceptResponse_Result{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[128] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8242,7 +8358,7 @@ func (x *TestMempoolAcceptResponse_Result) String() string { func (*TestMempoolAcceptResponse_Result) ProtoMessage() {} func (x *TestMempoolAcceptResponse_Result) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[128] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8304,7 +8420,7 @@ type GetZmqNotificationsResponse_Notification struct { func (x *GetZmqNotificationsResponse_Notification) Reset() { *x = GetZmqNotificationsResponse_Notification{} - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[129] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8316,7 +8432,7 @@ func (x *GetZmqNotificationsResponse_Notification) String() string { func (*GetZmqNotificationsResponse_Notification) ProtoMessage() {} func (x *GetZmqNotificationsResponse_Notification) ProtoReflect() protoreflect.Message { - mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[129] + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8353,6 +8469,97 @@ func (x *GetZmqNotificationsResponse_Notification) GetHighWaterMark() int64 { return 0 } +// Script verification errors (if there are any) +type SignRawTransactionWithWalletResponse_Error struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The hash of the referenced, previous transaction + Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + // The index of the output to spent and used as input + Vout uint32 `protobuf:"varint,2,opt,name=vout,proto3" json:"vout,omitempty"` + // The witness data + Witness []string `protobuf:"bytes,3,rep,name=witness,proto3" json:"witness,omitempty"` + // The hex-encoded signature script + ScriptSig string `protobuf:"bytes,4,opt,name=script_sig,json=scriptSig,proto3" json:"script_sig,omitempty"` + // Script sequence number + Sequence uint32 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` + // Verification or signing error related to the input + Error string `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignRawTransactionWithWalletResponse_Error) Reset() { + *x = SignRawTransactionWithWalletResponse_Error{} + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignRawTransactionWithWalletResponse_Error) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignRawTransactionWithWalletResponse_Error) ProtoMessage() {} + +func (x *SignRawTransactionWithWalletResponse_Error) ProtoReflect() protoreflect.Message { + mi := &file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes[132] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignRawTransactionWithWalletResponse_Error.ProtoReflect.Descriptor instead. +func (*SignRawTransactionWithWalletResponse_Error) Descriptor() ([]byte, []int) { + return file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP(), []int{100, 0} +} + +func (x *SignRawTransactionWithWalletResponse_Error) GetTxid() string { + if x != nil { + return x.Txid + } + return "" +} + +func (x *SignRawTransactionWithWalletResponse_Error) GetVout() uint32 { + if x != nil { + return x.Vout + } + return 0 +} + +func (x *SignRawTransactionWithWalletResponse_Error) GetWitness() []string { + if x != nil { + return x.Witness + } + return nil +} + +func (x *SignRawTransactionWithWalletResponse_Error) GetScriptSig() string { + if x != nil { + return x.ScriptSig + } + return "" +} + +func (x *SignRawTransactionWithWalletResponse_Error) GetSequence() uint32 { + if x != nil { + return x.Sequence + } + return 0 +} + +func (x *SignRawTransactionWithWalletResponse_Error) GetError() string { + if x != nil { + return x.Error + } + return "" +} + var File_bitcoin_bitcoind_v1alpha_bitcoin_proto protoreflect.FileDescriptor const file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDesc = "" + @@ -9052,7 +9259,23 @@ const file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDesc = "" + "\fNotification\x12\x12\n" + "\x04type\x18\x01 \x01(\tR\x04type\x12\x18\n" + "\aaddress\x18\x02 \x01(\tR\aaddress\x12&\n" + - "\x0fhigh_water_mark\x18\x03 \x01(\x03R\rhighWaterMark2\x8f'\n" + + "\x0fhigh_water_mark\x18\x03 \x01(\x03R\rhighWaterMark\"\\\n" + + "#SignRawTransactionWithWalletRequest\x12\x1d\n" + + "\n" + + "hex_string\x18\x01 \x01(\tR\thexString\x12\x16\n" + + "\x06wallet\x18\x02 \x01(\tR\x06wallet\"\xcf\x02\n" + + "$SignRawTransactionWithWalletResponse\x12\x10\n" + + "\x03hex\x18\x01 \x01(\tR\x03hex\x12\x1a\n" + + "\bcomplete\x18\x02 \x01(\bR\bcomplete\x12\\\n" + + "\x06errors\x18\x03 \x03(\v2D.bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletResponse.ErrorR\x06errors\x1a\x9a\x01\n" + + "\x05Error\x12\x12\n" + + "\x04txid\x18\x01 \x01(\tR\x04txid\x12\x12\n" + + "\x04vout\x18\x02 \x01(\rR\x04vout\x12\x18\n" + + "\awitness\x18\x03 \x03(\tR\awitness\x12\x1d\n" + + "\n" + + "script_sig\x18\x04 \x01(\tR\tscriptSig\x12\x1a\n" + + "\bsequence\x18\x05 \x01(\rR\bsequence\x12\x14\n" + + "\x05error\x18\x06 \x01(\tR\x05error2\xaf(\n" + "\x0eBitcoinService\x12|\n" + "\x11GetBlockchainInfo\x122.bitcoin.bitcoind.v1alpha.GetBlockchainInfoRequest\x1a3.bitcoin.bitcoind.v1alpha.GetBlockchainInfoResponse\x12j\n" + "\vGetPeerInfo\x12,.bitcoin.bitcoind.v1alpha.GetPeerInfoRequest\x1a-.bitcoin.bitcoind.v1alpha.GetPeerInfoResponse\x12s\n" + @@ -9077,7 +9300,8 @@ const file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDesc = "" + "\x11GetRawTransaction\x122.bitcoin.bitcoind.v1alpha.GetRawTransactionRequest\x1a3.bitcoin.bitcoind.v1alpha.GetRawTransactionResponse\x12\x85\x01\n" + "\x14DecodeRawTransaction\x125.bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest\x1a6.bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse\x12\x85\x01\n" + "\x14CreateRawTransaction\x125.bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest\x1a6.bitcoin.bitcoind.v1alpha.CreateRawTransactionResponse\x12\x7f\n" + - "\x12SendRawTransaction\x123.bitcoin.bitcoind.v1alpha.SendRawTransactionRequest\x1a4.bitcoin.bitcoind.v1alpha.SendRawTransactionResponse\x12a\n" + + "\x12SendRawTransaction\x123.bitcoin.bitcoind.v1alpha.SendRawTransactionRequest\x1a4.bitcoin.bitcoind.v1alpha.SendRawTransactionResponse\x12\x9d\x01\n" + + "\x1cSignRawTransactionWithWallet\x12=.bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletRequest\x1a>.bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletResponse\x12a\n" + "\bGetBlock\x12).bitcoin.bitcoind.v1alpha.GetBlockRequest\x1a*.bitcoin.bitcoind.v1alpha.GetBlockResponse\x12m\n" + "\fGetBlockHash\x12-.bitcoin.bitcoind.v1alpha.GetBlockHashRequest\x1a..bitcoin.bitcoind.v1alpha.GetBlockHashResponse\x12m\n" + "\fCreateWallet\x12-.bitcoin.bitcoind.v1alpha.CreateWalletRequest\x1a..bitcoin.bitcoind.v1alpha.CreateWalletResponse\x12g\n" + @@ -9118,177 +9342,180 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDescGZIP() []byte { } var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_enumTypes = make([]protoimpl.EnumInfo, 8) -var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes = make([]protoimpl.MessageInfo, 130) +var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_msgTypes = make([]protoimpl.MessageInfo, 133) var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_goTypes = []any{ - (Peer_Network)(0), // 0: bitcoin.bitcoind.v1alpha.Peer.Network - (Peer_ConnectionType)(0), // 1: bitcoin.bitcoind.v1alpha.Peer.ConnectionType - (Peer_TransportProtocol)(0), // 2: bitcoin.bitcoind.v1alpha.Peer.TransportProtocol - (GetTransactionResponse_Replaceable)(0), // 3: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Replaceable - (GetTransactionResponse_Category)(0), // 4: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Category - (GetRawTransactionRequest_Verbosity)(0), // 5: bitcoin.bitcoind.v1alpha.GetRawTransactionRequest.Verbosity - (EstimateSmartFeeRequest_EstimateMode)(0), // 6: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest.EstimateMode - (GetBlockRequest_Verbosity)(0), // 7: bitcoin.bitcoind.v1alpha.GetBlockRequest.Verbosity - (*GetBlockchainInfoRequest)(nil), // 8: bitcoin.bitcoind.v1alpha.GetBlockchainInfoRequest - (*GetBlockchainInfoResponse)(nil), // 9: bitcoin.bitcoind.v1alpha.GetBlockchainInfoResponse - (*GetPeerInfoRequest)(nil), // 10: bitcoin.bitcoind.v1alpha.GetPeerInfoRequest - (*Peer)(nil), // 11: bitcoin.bitcoind.v1alpha.Peer - (*GetPeerInfoResponse)(nil), // 12: bitcoin.bitcoind.v1alpha.GetPeerInfoResponse - (*GetNetworkInfoRequest)(nil), // 13: bitcoin.bitcoind.v1alpha.GetNetworkInfoRequest - (*GetNetworkInfoResponse)(nil), // 14: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse - (*GetNetTotalsRequest)(nil), // 15: bitcoin.bitcoind.v1alpha.GetNetTotalsRequest - (*GetNetTotalsResponse)(nil), // 16: bitcoin.bitcoind.v1alpha.GetNetTotalsResponse - (*GetNewAddressRequest)(nil), // 17: bitcoin.bitcoind.v1alpha.GetNewAddressRequest - (*GetNewAddressResponse)(nil), // 18: bitcoin.bitcoind.v1alpha.GetNewAddressResponse - (*GetWalletInfoRequest)(nil), // 19: bitcoin.bitcoind.v1alpha.GetWalletInfoRequest - (*GetWalletInfoResponse)(nil), // 20: bitcoin.bitcoind.v1alpha.GetWalletInfoResponse - (*GetBalancesRequest)(nil), // 21: bitcoin.bitcoind.v1alpha.GetBalancesRequest - (*GetBalancesResponse)(nil), // 22: bitcoin.bitcoind.v1alpha.GetBalancesResponse - (*WalletScan)(nil), // 23: bitcoin.bitcoind.v1alpha.WalletScan - (*GetTransactionRequest)(nil), // 24: bitcoin.bitcoind.v1alpha.GetTransactionRequest - (*GetTransactionResponse)(nil), // 25: bitcoin.bitcoind.v1alpha.GetTransactionResponse - (*GetRawTransactionRequest)(nil), // 26: bitcoin.bitcoind.v1alpha.GetRawTransactionRequest - (*ScriptSig)(nil), // 27: bitcoin.bitcoind.v1alpha.ScriptSig - (*Input)(nil), // 28: bitcoin.bitcoind.v1alpha.Input - (*ScriptPubKey)(nil), // 29: bitcoin.bitcoind.v1alpha.ScriptPubKey - (*Output)(nil), // 30: bitcoin.bitcoind.v1alpha.Output - (*GetRawTransactionResponse)(nil), // 31: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse - (*SendRequest)(nil), // 32: bitcoin.bitcoind.v1alpha.SendRequest - (*SendResponse)(nil), // 33: bitcoin.bitcoind.v1alpha.SendResponse - (*SendToAddressRequest)(nil), // 34: bitcoin.bitcoind.v1alpha.SendToAddressRequest - (*SendToAddressResponse)(nil), // 35: bitcoin.bitcoind.v1alpha.SendToAddressResponse - (*EstimateSmartFeeRequest)(nil), // 36: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest - (*EstimateSmartFeeResponse)(nil), // 37: bitcoin.bitcoind.v1alpha.EstimateSmartFeeResponse - (*DecodeRawTransactionRequest)(nil), // 38: bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest - (*RawTransaction)(nil), // 39: bitcoin.bitcoind.v1alpha.RawTransaction - (*DecodeRawTransactionResponse)(nil), // 40: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse - (*ImportDescriptorsRequest)(nil), // 41: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest - (*ImportDescriptorsResponse)(nil), // 42: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse - (*GetDescriptorInfoRequest)(nil), // 43: bitcoin.bitcoind.v1alpha.GetDescriptorInfoRequest - (*GetDescriptorInfoResponse)(nil), // 44: bitcoin.bitcoind.v1alpha.GetDescriptorInfoResponse - (*GetBlockRequest)(nil), // 45: bitcoin.bitcoind.v1alpha.GetBlockRequest - (*GetBlockResponse)(nil), // 46: bitcoin.bitcoind.v1alpha.GetBlockResponse - (*BumpFeeRequest)(nil), // 47: bitcoin.bitcoind.v1alpha.BumpFeeRequest - (*BumpFeeResponse)(nil), // 48: bitcoin.bitcoind.v1alpha.BumpFeeResponse - (*ListSinceBlockRequest)(nil), // 49: bitcoin.bitcoind.v1alpha.ListSinceBlockRequest - (*ListSinceBlockResponse)(nil), // 50: bitcoin.bitcoind.v1alpha.ListSinceBlockResponse - (*GetRawMempoolRequest)(nil), // 51: bitcoin.bitcoind.v1alpha.GetRawMempoolRequest - (*MempoolEntry)(nil), // 52: bitcoin.bitcoind.v1alpha.MempoolEntry - (*GetRawMempoolResponse)(nil), // 53: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse - (*GetBlockHashRequest)(nil), // 54: bitcoin.bitcoind.v1alpha.GetBlockHashRequest - (*GetBlockHashResponse)(nil), // 55: bitcoin.bitcoind.v1alpha.GetBlockHashResponse - (*ListTransactionsRequest)(nil), // 56: bitcoin.bitcoind.v1alpha.ListTransactionsRequest - (*ListTransactionsResponse)(nil), // 57: bitcoin.bitcoind.v1alpha.ListTransactionsResponse - (*ListWalletsResponse)(nil), // 58: bitcoin.bitcoind.v1alpha.ListWalletsResponse - (*ListUnspentRequest)(nil), // 59: bitcoin.bitcoind.v1alpha.ListUnspentRequest - (*UnspentOutput)(nil), // 60: bitcoin.bitcoind.v1alpha.UnspentOutput - (*ListUnspentResponse)(nil), // 61: bitcoin.bitcoind.v1alpha.ListUnspentResponse - (*GetAddressInfoRequest)(nil), // 62: bitcoin.bitcoind.v1alpha.GetAddressInfoRequest - (*GetAddressInfoResponse)(nil), // 63: bitcoin.bitcoind.v1alpha.GetAddressInfoResponse - (*CreateWalletRequest)(nil), // 64: bitcoin.bitcoind.v1alpha.CreateWalletRequest - (*CreateWalletResponse)(nil), // 65: bitcoin.bitcoind.v1alpha.CreateWalletResponse - (*LoadWalletRequest)(nil), // 66: bitcoin.bitcoind.v1alpha.LoadWalletRequest - (*LoadWalletResponse)(nil), // 67: bitcoin.bitcoind.v1alpha.LoadWalletResponse - (*BackupWalletRequest)(nil), // 68: bitcoin.bitcoind.v1alpha.BackupWalletRequest - (*BackupWalletResponse)(nil), // 69: bitcoin.bitcoind.v1alpha.BackupWalletResponse - (*UnloadWalletRequest)(nil), // 70: bitcoin.bitcoind.v1alpha.UnloadWalletRequest - (*UnloadWalletResponse)(nil), // 71: bitcoin.bitcoind.v1alpha.UnloadWalletResponse - (*KeyPoolRefillRequest)(nil), // 72: bitcoin.bitcoind.v1alpha.KeyPoolRefillRequest - (*KeyPoolRefillResponse)(nil), // 73: bitcoin.bitcoind.v1alpha.KeyPoolRefillResponse - (*GetAccountRequest)(nil), // 74: bitcoin.bitcoind.v1alpha.GetAccountRequest - (*GetAccountResponse)(nil), // 75: bitcoin.bitcoind.v1alpha.GetAccountResponse - (*SetAccountRequest)(nil), // 76: bitcoin.bitcoind.v1alpha.SetAccountRequest - (*SetAccountResponse)(nil), // 77: bitcoin.bitcoind.v1alpha.SetAccountResponse - (*GetAddressesByAccountRequest)(nil), // 78: bitcoin.bitcoind.v1alpha.GetAddressesByAccountRequest - (*GetAddressesByAccountResponse)(nil), // 79: bitcoin.bitcoind.v1alpha.GetAddressesByAccountResponse - (*ListAccountsRequest)(nil), // 80: bitcoin.bitcoind.v1alpha.ListAccountsRequest - (*ListAccountsResponse)(nil), // 81: bitcoin.bitcoind.v1alpha.ListAccountsResponse - (*CreateMultisigRequest)(nil), // 82: bitcoin.bitcoind.v1alpha.CreateMultisigRequest - (*CreateMultisigResponse)(nil), // 83: bitcoin.bitcoind.v1alpha.CreateMultisigResponse - (*CreateRawTransactionRequest)(nil), // 84: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest - (*CreateRawTransactionResponse)(nil), // 85: bitcoin.bitcoind.v1alpha.CreateRawTransactionResponse - (*SendRawTransactionRequest)(nil), // 86: bitcoin.bitcoind.v1alpha.SendRawTransactionRequest - (*SendRawTransactionResponse)(nil), // 87: bitcoin.bitcoind.v1alpha.SendRawTransactionResponse - (*CreatePsbtRequest)(nil), // 88: bitcoin.bitcoind.v1alpha.CreatePsbtRequest - (*CreatePsbtResponse)(nil), // 89: bitcoin.bitcoind.v1alpha.CreatePsbtResponse - (*DecodePsbtRequest)(nil), // 90: bitcoin.bitcoind.v1alpha.DecodePsbtRequest - (*DecodePsbtResponse)(nil), // 91: bitcoin.bitcoind.v1alpha.DecodePsbtResponse - (*AnalyzePsbtRequest)(nil), // 92: bitcoin.bitcoind.v1alpha.AnalyzePsbtRequest - (*AnalyzePsbtResponse)(nil), // 93: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse - (*CombinePsbtRequest)(nil), // 94: bitcoin.bitcoind.v1alpha.CombinePsbtRequest - (*CombinePsbtResponse)(nil), // 95: bitcoin.bitcoind.v1alpha.CombinePsbtResponse - (*UtxoUpdatePsbtRequest)(nil), // 96: bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtRequest - (*UtxoUpdatePsbtResponse)(nil), // 97: bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtResponse - (*JoinPsbtsRequest)(nil), // 98: bitcoin.bitcoind.v1alpha.JoinPsbtsRequest - (*JoinPsbtsResponse)(nil), // 99: bitcoin.bitcoind.v1alpha.JoinPsbtsResponse - (*TestMempoolAcceptRequest)(nil), // 100: bitcoin.bitcoind.v1alpha.TestMempoolAcceptRequest - (*TestMempoolAcceptResponse)(nil), // 101: bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse - (*DescriptorRange)(nil), // 102: bitcoin.bitcoind.v1alpha.DescriptorRange - (*Range)(nil), // 103: bitcoin.bitcoind.v1alpha.Range - (*Descriptor)(nil), // 104: bitcoin.bitcoind.v1alpha.Descriptor - (*DescriptorObject)(nil), // 105: bitcoin.bitcoind.v1alpha.DescriptorObject - (*GetZmqNotificationsResponse)(nil), // 106: bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse - nil, // 107: bitcoin.bitcoind.v1alpha.Peer.BytesSentPerMsgEntry - nil, // 108: bitcoin.bitcoind.v1alpha.Peer.BytesReceivedPerMsgEntry - (*GetNetworkInfoResponse_Network)(nil), // 109: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.Network - (*GetNetworkInfoResponse_LocalAddress)(nil), // 110: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.LocalAddress - (*GetBalancesResponse_Mine)(nil), // 111: bitcoin.bitcoind.v1alpha.GetBalancesResponse.Mine - (*GetBalancesResponse_Watchonly)(nil), // 112: bitcoin.bitcoind.v1alpha.GetBalancesResponse.Watchonly - (*GetTransactionResponse_Details)(nil), // 113: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details - nil, // 114: bitcoin.bitcoind.v1alpha.SendRequest.DestinationsEntry - (*ImportDescriptorsRequest_Request)(nil), // 115: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request - (*ImportDescriptorsResponse_Error)(nil), // 116: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Error - (*ImportDescriptorsResponse_Response)(nil), // 117: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response - (*MempoolEntry_Fees)(nil), // 118: bitcoin.bitcoind.v1alpha.MempoolEntry.Fees - nil, // 119: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry - nil, // 120: bitcoin.bitcoind.v1alpha.ListAccountsResponse.AccountsEntry - (*CreateRawTransactionRequest_Input)(nil), // 121: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.Input - nil, // 122: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.OutputsEntry - (*CreatePsbtRequest_Input)(nil), // 123: bitcoin.bitcoind.v1alpha.CreatePsbtRequest.Input - nil, // 124: bitcoin.bitcoind.v1alpha.CreatePsbtRequest.OutputsEntry - (*DecodePsbtResponse_WitnessUtxo)(nil), // 125: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.WitnessUtxo - (*DecodePsbtResponse_RedeemScript)(nil), // 126: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript - (*DecodePsbtResponse_Bip32Deriv)(nil), // 127: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Bip32Deriv - (*DecodePsbtResponse_Input)(nil), // 128: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input - (*DecodePsbtResponse_Output)(nil), // 129: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output - nil, // 130: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.UnknownEntry - nil, // 131: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.PartialSignaturesEntry - nil, // 132: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.UnknownEntry - nil, // 133: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.UnknownEntry - (*AnalyzePsbtResponse_Input)(nil), // 134: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input - (*AnalyzePsbtResponse_Input_Missing)(nil), // 135: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input.Missing - (*TestMempoolAcceptResponse_Result)(nil), // 136: bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse.Result - (*GetZmqNotificationsResponse_Notification)(nil), // 137: bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse.Notification - (*timestamppb.Timestamp)(nil), // 138: google.protobuf.Timestamp - (*durationpb.Duration)(nil), // 139: google.protobuf.Duration - (*wrapperspb.BoolValue)(nil), // 140: google.protobuf.BoolValue - (*emptypb.Empty)(nil), // 141: google.protobuf.Empty + (Peer_Network)(0), // 0: bitcoin.bitcoind.v1alpha.Peer.Network + (Peer_ConnectionType)(0), // 1: bitcoin.bitcoind.v1alpha.Peer.ConnectionType + (Peer_TransportProtocol)(0), // 2: bitcoin.bitcoind.v1alpha.Peer.TransportProtocol + (GetTransactionResponse_Replaceable)(0), // 3: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Replaceable + (GetTransactionResponse_Category)(0), // 4: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Category + (GetRawTransactionRequest_Verbosity)(0), // 5: bitcoin.bitcoind.v1alpha.GetRawTransactionRequest.Verbosity + (EstimateSmartFeeRequest_EstimateMode)(0), // 6: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest.EstimateMode + (GetBlockRequest_Verbosity)(0), // 7: bitcoin.bitcoind.v1alpha.GetBlockRequest.Verbosity + (*GetBlockchainInfoRequest)(nil), // 8: bitcoin.bitcoind.v1alpha.GetBlockchainInfoRequest + (*GetBlockchainInfoResponse)(nil), // 9: bitcoin.bitcoind.v1alpha.GetBlockchainInfoResponse + (*GetPeerInfoRequest)(nil), // 10: bitcoin.bitcoind.v1alpha.GetPeerInfoRequest + (*Peer)(nil), // 11: bitcoin.bitcoind.v1alpha.Peer + (*GetPeerInfoResponse)(nil), // 12: bitcoin.bitcoind.v1alpha.GetPeerInfoResponse + (*GetNetworkInfoRequest)(nil), // 13: bitcoin.bitcoind.v1alpha.GetNetworkInfoRequest + (*GetNetworkInfoResponse)(nil), // 14: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse + (*GetNetTotalsRequest)(nil), // 15: bitcoin.bitcoind.v1alpha.GetNetTotalsRequest + (*GetNetTotalsResponse)(nil), // 16: bitcoin.bitcoind.v1alpha.GetNetTotalsResponse + (*GetNewAddressRequest)(nil), // 17: bitcoin.bitcoind.v1alpha.GetNewAddressRequest + (*GetNewAddressResponse)(nil), // 18: bitcoin.bitcoind.v1alpha.GetNewAddressResponse + (*GetWalletInfoRequest)(nil), // 19: bitcoin.bitcoind.v1alpha.GetWalletInfoRequest + (*GetWalletInfoResponse)(nil), // 20: bitcoin.bitcoind.v1alpha.GetWalletInfoResponse + (*GetBalancesRequest)(nil), // 21: bitcoin.bitcoind.v1alpha.GetBalancesRequest + (*GetBalancesResponse)(nil), // 22: bitcoin.bitcoind.v1alpha.GetBalancesResponse + (*WalletScan)(nil), // 23: bitcoin.bitcoind.v1alpha.WalletScan + (*GetTransactionRequest)(nil), // 24: bitcoin.bitcoind.v1alpha.GetTransactionRequest + (*GetTransactionResponse)(nil), // 25: bitcoin.bitcoind.v1alpha.GetTransactionResponse + (*GetRawTransactionRequest)(nil), // 26: bitcoin.bitcoind.v1alpha.GetRawTransactionRequest + (*ScriptSig)(nil), // 27: bitcoin.bitcoind.v1alpha.ScriptSig + (*Input)(nil), // 28: bitcoin.bitcoind.v1alpha.Input + (*ScriptPubKey)(nil), // 29: bitcoin.bitcoind.v1alpha.ScriptPubKey + (*Output)(nil), // 30: bitcoin.bitcoind.v1alpha.Output + (*GetRawTransactionResponse)(nil), // 31: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse + (*SendRequest)(nil), // 32: bitcoin.bitcoind.v1alpha.SendRequest + (*SendResponse)(nil), // 33: bitcoin.bitcoind.v1alpha.SendResponse + (*SendToAddressRequest)(nil), // 34: bitcoin.bitcoind.v1alpha.SendToAddressRequest + (*SendToAddressResponse)(nil), // 35: bitcoin.bitcoind.v1alpha.SendToAddressResponse + (*EstimateSmartFeeRequest)(nil), // 36: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest + (*EstimateSmartFeeResponse)(nil), // 37: bitcoin.bitcoind.v1alpha.EstimateSmartFeeResponse + (*DecodeRawTransactionRequest)(nil), // 38: bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest + (*RawTransaction)(nil), // 39: bitcoin.bitcoind.v1alpha.RawTransaction + (*DecodeRawTransactionResponse)(nil), // 40: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse + (*ImportDescriptorsRequest)(nil), // 41: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest + (*ImportDescriptorsResponse)(nil), // 42: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse + (*GetDescriptorInfoRequest)(nil), // 43: bitcoin.bitcoind.v1alpha.GetDescriptorInfoRequest + (*GetDescriptorInfoResponse)(nil), // 44: bitcoin.bitcoind.v1alpha.GetDescriptorInfoResponse + (*GetBlockRequest)(nil), // 45: bitcoin.bitcoind.v1alpha.GetBlockRequest + (*GetBlockResponse)(nil), // 46: bitcoin.bitcoind.v1alpha.GetBlockResponse + (*BumpFeeRequest)(nil), // 47: bitcoin.bitcoind.v1alpha.BumpFeeRequest + (*BumpFeeResponse)(nil), // 48: bitcoin.bitcoind.v1alpha.BumpFeeResponse + (*ListSinceBlockRequest)(nil), // 49: bitcoin.bitcoind.v1alpha.ListSinceBlockRequest + (*ListSinceBlockResponse)(nil), // 50: bitcoin.bitcoind.v1alpha.ListSinceBlockResponse + (*GetRawMempoolRequest)(nil), // 51: bitcoin.bitcoind.v1alpha.GetRawMempoolRequest + (*MempoolEntry)(nil), // 52: bitcoin.bitcoind.v1alpha.MempoolEntry + (*GetRawMempoolResponse)(nil), // 53: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse + (*GetBlockHashRequest)(nil), // 54: bitcoin.bitcoind.v1alpha.GetBlockHashRequest + (*GetBlockHashResponse)(nil), // 55: bitcoin.bitcoind.v1alpha.GetBlockHashResponse + (*ListTransactionsRequest)(nil), // 56: bitcoin.bitcoind.v1alpha.ListTransactionsRequest + (*ListTransactionsResponse)(nil), // 57: bitcoin.bitcoind.v1alpha.ListTransactionsResponse + (*ListWalletsResponse)(nil), // 58: bitcoin.bitcoind.v1alpha.ListWalletsResponse + (*ListUnspentRequest)(nil), // 59: bitcoin.bitcoind.v1alpha.ListUnspentRequest + (*UnspentOutput)(nil), // 60: bitcoin.bitcoind.v1alpha.UnspentOutput + (*ListUnspentResponse)(nil), // 61: bitcoin.bitcoind.v1alpha.ListUnspentResponse + (*GetAddressInfoRequest)(nil), // 62: bitcoin.bitcoind.v1alpha.GetAddressInfoRequest + (*GetAddressInfoResponse)(nil), // 63: bitcoin.bitcoind.v1alpha.GetAddressInfoResponse + (*CreateWalletRequest)(nil), // 64: bitcoin.bitcoind.v1alpha.CreateWalletRequest + (*CreateWalletResponse)(nil), // 65: bitcoin.bitcoind.v1alpha.CreateWalletResponse + (*LoadWalletRequest)(nil), // 66: bitcoin.bitcoind.v1alpha.LoadWalletRequest + (*LoadWalletResponse)(nil), // 67: bitcoin.bitcoind.v1alpha.LoadWalletResponse + (*BackupWalletRequest)(nil), // 68: bitcoin.bitcoind.v1alpha.BackupWalletRequest + (*BackupWalletResponse)(nil), // 69: bitcoin.bitcoind.v1alpha.BackupWalletResponse + (*UnloadWalletRequest)(nil), // 70: bitcoin.bitcoind.v1alpha.UnloadWalletRequest + (*UnloadWalletResponse)(nil), // 71: bitcoin.bitcoind.v1alpha.UnloadWalletResponse + (*KeyPoolRefillRequest)(nil), // 72: bitcoin.bitcoind.v1alpha.KeyPoolRefillRequest + (*KeyPoolRefillResponse)(nil), // 73: bitcoin.bitcoind.v1alpha.KeyPoolRefillResponse + (*GetAccountRequest)(nil), // 74: bitcoin.bitcoind.v1alpha.GetAccountRequest + (*GetAccountResponse)(nil), // 75: bitcoin.bitcoind.v1alpha.GetAccountResponse + (*SetAccountRequest)(nil), // 76: bitcoin.bitcoind.v1alpha.SetAccountRequest + (*SetAccountResponse)(nil), // 77: bitcoin.bitcoind.v1alpha.SetAccountResponse + (*GetAddressesByAccountRequest)(nil), // 78: bitcoin.bitcoind.v1alpha.GetAddressesByAccountRequest + (*GetAddressesByAccountResponse)(nil), // 79: bitcoin.bitcoind.v1alpha.GetAddressesByAccountResponse + (*ListAccountsRequest)(nil), // 80: bitcoin.bitcoind.v1alpha.ListAccountsRequest + (*ListAccountsResponse)(nil), // 81: bitcoin.bitcoind.v1alpha.ListAccountsResponse + (*CreateMultisigRequest)(nil), // 82: bitcoin.bitcoind.v1alpha.CreateMultisigRequest + (*CreateMultisigResponse)(nil), // 83: bitcoin.bitcoind.v1alpha.CreateMultisigResponse + (*CreateRawTransactionRequest)(nil), // 84: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest + (*CreateRawTransactionResponse)(nil), // 85: bitcoin.bitcoind.v1alpha.CreateRawTransactionResponse + (*SendRawTransactionRequest)(nil), // 86: bitcoin.bitcoind.v1alpha.SendRawTransactionRequest + (*SendRawTransactionResponse)(nil), // 87: bitcoin.bitcoind.v1alpha.SendRawTransactionResponse + (*CreatePsbtRequest)(nil), // 88: bitcoin.bitcoind.v1alpha.CreatePsbtRequest + (*CreatePsbtResponse)(nil), // 89: bitcoin.bitcoind.v1alpha.CreatePsbtResponse + (*DecodePsbtRequest)(nil), // 90: bitcoin.bitcoind.v1alpha.DecodePsbtRequest + (*DecodePsbtResponse)(nil), // 91: bitcoin.bitcoind.v1alpha.DecodePsbtResponse + (*AnalyzePsbtRequest)(nil), // 92: bitcoin.bitcoind.v1alpha.AnalyzePsbtRequest + (*AnalyzePsbtResponse)(nil), // 93: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse + (*CombinePsbtRequest)(nil), // 94: bitcoin.bitcoind.v1alpha.CombinePsbtRequest + (*CombinePsbtResponse)(nil), // 95: bitcoin.bitcoind.v1alpha.CombinePsbtResponse + (*UtxoUpdatePsbtRequest)(nil), // 96: bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtRequest + (*UtxoUpdatePsbtResponse)(nil), // 97: bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtResponse + (*JoinPsbtsRequest)(nil), // 98: bitcoin.bitcoind.v1alpha.JoinPsbtsRequest + (*JoinPsbtsResponse)(nil), // 99: bitcoin.bitcoind.v1alpha.JoinPsbtsResponse + (*TestMempoolAcceptRequest)(nil), // 100: bitcoin.bitcoind.v1alpha.TestMempoolAcceptRequest + (*TestMempoolAcceptResponse)(nil), // 101: bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse + (*DescriptorRange)(nil), // 102: bitcoin.bitcoind.v1alpha.DescriptorRange + (*Range)(nil), // 103: bitcoin.bitcoind.v1alpha.Range + (*Descriptor)(nil), // 104: bitcoin.bitcoind.v1alpha.Descriptor + (*DescriptorObject)(nil), // 105: bitcoin.bitcoind.v1alpha.DescriptorObject + (*GetZmqNotificationsResponse)(nil), // 106: bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse + (*SignRawTransactionWithWalletRequest)(nil), // 107: bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletRequest + (*SignRawTransactionWithWalletResponse)(nil), // 108: bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletResponse + nil, // 109: bitcoin.bitcoind.v1alpha.Peer.BytesSentPerMsgEntry + nil, // 110: bitcoin.bitcoind.v1alpha.Peer.BytesReceivedPerMsgEntry + (*GetNetworkInfoResponse_Network)(nil), // 111: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.Network + (*GetNetworkInfoResponse_LocalAddress)(nil), // 112: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.LocalAddress + (*GetBalancesResponse_Mine)(nil), // 113: bitcoin.bitcoind.v1alpha.GetBalancesResponse.Mine + (*GetBalancesResponse_Watchonly)(nil), // 114: bitcoin.bitcoind.v1alpha.GetBalancesResponse.Watchonly + (*GetTransactionResponse_Details)(nil), // 115: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details + nil, // 116: bitcoin.bitcoind.v1alpha.SendRequest.DestinationsEntry + (*ImportDescriptorsRequest_Request)(nil), // 117: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request + (*ImportDescriptorsResponse_Error)(nil), // 118: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Error + (*ImportDescriptorsResponse_Response)(nil), // 119: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response + (*MempoolEntry_Fees)(nil), // 120: bitcoin.bitcoind.v1alpha.MempoolEntry.Fees + nil, // 121: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry + nil, // 122: bitcoin.bitcoind.v1alpha.ListAccountsResponse.AccountsEntry + (*CreateRawTransactionRequest_Input)(nil), // 123: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.Input + nil, // 124: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.OutputsEntry + (*CreatePsbtRequest_Input)(nil), // 125: bitcoin.bitcoind.v1alpha.CreatePsbtRequest.Input + nil, // 126: bitcoin.bitcoind.v1alpha.CreatePsbtRequest.OutputsEntry + (*DecodePsbtResponse_WitnessUtxo)(nil), // 127: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.WitnessUtxo + (*DecodePsbtResponse_RedeemScript)(nil), // 128: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript + (*DecodePsbtResponse_Bip32Deriv)(nil), // 129: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Bip32Deriv + (*DecodePsbtResponse_Input)(nil), // 130: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input + (*DecodePsbtResponse_Output)(nil), // 131: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output + nil, // 132: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.UnknownEntry + nil, // 133: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.PartialSignaturesEntry + nil, // 134: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.UnknownEntry + nil, // 135: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.UnknownEntry + (*AnalyzePsbtResponse_Input)(nil), // 136: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input + (*AnalyzePsbtResponse_Input_Missing)(nil), // 137: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input.Missing + (*TestMempoolAcceptResponse_Result)(nil), // 138: bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse.Result + (*GetZmqNotificationsResponse_Notification)(nil), // 139: bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse.Notification + (*SignRawTransactionWithWalletResponse_Error)(nil), // 140: bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletResponse.Error + (*timestamppb.Timestamp)(nil), // 141: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 142: google.protobuf.Duration + (*wrapperspb.BoolValue)(nil), // 143: google.protobuf.BoolValue + (*emptypb.Empty)(nil), // 144: google.protobuf.Empty } var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_depIdxs = []int32{ 0, // 0: bitcoin.bitcoind.v1alpha.Peer.network:type_name -> bitcoin.bitcoind.v1alpha.Peer.Network - 138, // 1: bitcoin.bitcoind.v1alpha.Peer.last_send_at:type_name -> google.protobuf.Timestamp - 138, // 2: bitcoin.bitcoind.v1alpha.Peer.last_recv_at:type_name -> google.protobuf.Timestamp - 138, // 3: bitcoin.bitcoind.v1alpha.Peer.last_transaction_at:type_name -> google.protobuf.Timestamp - 138, // 4: bitcoin.bitcoind.v1alpha.Peer.last_block_at:type_name -> google.protobuf.Timestamp - 138, // 5: bitcoin.bitcoind.v1alpha.Peer.connected_at:type_name -> google.protobuf.Timestamp - 139, // 6: bitcoin.bitcoind.v1alpha.Peer.time_offset:type_name -> google.protobuf.Duration - 139, // 7: bitcoin.bitcoind.v1alpha.Peer.ping_time:type_name -> google.protobuf.Duration - 139, // 8: bitcoin.bitcoind.v1alpha.Peer.min_ping:type_name -> google.protobuf.Duration - 139, // 9: bitcoin.bitcoind.v1alpha.Peer.ping_wait:type_name -> google.protobuf.Duration - 107, // 10: bitcoin.bitcoind.v1alpha.Peer.bytes_sent_per_msg:type_name -> bitcoin.bitcoind.v1alpha.Peer.BytesSentPerMsgEntry - 108, // 11: bitcoin.bitcoind.v1alpha.Peer.bytes_received_per_msg:type_name -> bitcoin.bitcoind.v1alpha.Peer.BytesReceivedPerMsgEntry + 141, // 1: bitcoin.bitcoind.v1alpha.Peer.last_send_at:type_name -> google.protobuf.Timestamp + 141, // 2: bitcoin.bitcoind.v1alpha.Peer.last_recv_at:type_name -> google.protobuf.Timestamp + 141, // 3: bitcoin.bitcoind.v1alpha.Peer.last_transaction_at:type_name -> google.protobuf.Timestamp + 141, // 4: bitcoin.bitcoind.v1alpha.Peer.last_block_at:type_name -> google.protobuf.Timestamp + 141, // 5: bitcoin.bitcoind.v1alpha.Peer.connected_at:type_name -> google.protobuf.Timestamp + 142, // 6: bitcoin.bitcoind.v1alpha.Peer.time_offset:type_name -> google.protobuf.Duration + 142, // 7: bitcoin.bitcoind.v1alpha.Peer.ping_time:type_name -> google.protobuf.Duration + 142, // 8: bitcoin.bitcoind.v1alpha.Peer.min_ping:type_name -> google.protobuf.Duration + 142, // 9: bitcoin.bitcoind.v1alpha.Peer.ping_wait:type_name -> google.protobuf.Duration + 109, // 10: bitcoin.bitcoind.v1alpha.Peer.bytes_sent_per_msg:type_name -> bitcoin.bitcoind.v1alpha.Peer.BytesSentPerMsgEntry + 110, // 11: bitcoin.bitcoind.v1alpha.Peer.bytes_received_per_msg:type_name -> bitcoin.bitcoind.v1alpha.Peer.BytesReceivedPerMsgEntry 1, // 12: bitcoin.bitcoind.v1alpha.Peer.connection_type:type_name -> bitcoin.bitcoind.v1alpha.Peer.ConnectionType 2, // 13: bitcoin.bitcoind.v1alpha.Peer.transport_protocol:type_name -> bitcoin.bitcoind.v1alpha.Peer.TransportProtocol 11, // 14: bitcoin.bitcoind.v1alpha.GetPeerInfoResponse.peers:type_name -> bitcoin.bitcoind.v1alpha.Peer - 109, // 15: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.networks:type_name -> bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.Network - 110, // 16: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.local_addresses:type_name -> bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.LocalAddress + 111, // 15: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.networks:type_name -> bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.Network + 112, // 16: bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.local_addresses:type_name -> bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse.LocalAddress 23, // 17: bitcoin.bitcoind.v1alpha.GetWalletInfoResponse.scanning:type_name -> bitcoin.bitcoind.v1alpha.WalletScan - 111, // 18: bitcoin.bitcoind.v1alpha.GetBalancesResponse.mine:type_name -> bitcoin.bitcoind.v1alpha.GetBalancesResponse.Mine - 112, // 19: bitcoin.bitcoind.v1alpha.GetBalancesResponse.watchonly:type_name -> bitcoin.bitcoind.v1alpha.GetBalancesResponse.Watchonly - 138, // 20: bitcoin.bitcoind.v1alpha.GetTransactionResponse.block_time:type_name -> google.protobuf.Timestamp - 138, // 21: bitcoin.bitcoind.v1alpha.GetTransactionResponse.time:type_name -> google.protobuf.Timestamp - 138, // 22: bitcoin.bitcoind.v1alpha.GetTransactionResponse.time_received:type_name -> google.protobuf.Timestamp + 113, // 18: bitcoin.bitcoind.v1alpha.GetBalancesResponse.mine:type_name -> bitcoin.bitcoind.v1alpha.GetBalancesResponse.Mine + 114, // 19: bitcoin.bitcoind.v1alpha.GetBalancesResponse.watchonly:type_name -> bitcoin.bitcoind.v1alpha.GetBalancesResponse.Watchonly + 141, // 20: bitcoin.bitcoind.v1alpha.GetTransactionResponse.block_time:type_name -> google.protobuf.Timestamp + 141, // 21: bitcoin.bitcoind.v1alpha.GetTransactionResponse.time:type_name -> google.protobuf.Timestamp + 141, // 22: bitcoin.bitcoind.v1alpha.GetTransactionResponse.time_received:type_name -> google.protobuf.Timestamp 3, // 23: bitcoin.bitcoind.v1alpha.GetTransactionResponse.bip125_replaceable:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Replaceable - 113, // 24: bitcoin.bitcoind.v1alpha.GetTransactionResponse.details:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details + 115, // 24: bitcoin.bitcoind.v1alpha.GetTransactionResponse.details:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details 5, // 25: bitcoin.bitcoind.v1alpha.GetRawTransactionRequest.verbosity:type_name -> bitcoin.bitcoind.v1alpha.GetRawTransactionRequest.Verbosity 27, // 26: bitcoin.bitcoind.v1alpha.Input.script_sig:type_name -> bitcoin.bitcoind.v1alpha.ScriptSig 29, // 27: bitcoin.bitcoind.v1alpha.Output.script_pub_key:type_name -> bitcoin.bitcoind.v1alpha.ScriptPubKey @@ -9296,152 +9523,155 @@ var file_bitcoin_bitcoind_v1alpha_bitcoin_proto_depIdxs = []int32{ 39, // 29: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction 28, // 30: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.Input 30, // 31: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.outputs:type_name -> bitcoin.bitcoind.v1alpha.Output - 138, // 32: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.block_time:type_name -> google.protobuf.Timestamp - 114, // 33: bitcoin.bitcoind.v1alpha.SendRequest.destinations:type_name -> bitcoin.bitcoind.v1alpha.SendRequest.DestinationsEntry - 140, // 34: bitcoin.bitcoind.v1alpha.SendRequest.add_to_wallet:type_name -> google.protobuf.BoolValue + 141, // 32: bitcoin.bitcoind.v1alpha.GetRawTransactionResponse.block_time:type_name -> google.protobuf.Timestamp + 116, // 33: bitcoin.bitcoind.v1alpha.SendRequest.destinations:type_name -> bitcoin.bitcoind.v1alpha.SendRequest.DestinationsEntry + 143, // 34: bitcoin.bitcoind.v1alpha.SendRequest.add_to_wallet:type_name -> google.protobuf.BoolValue 39, // 35: bitcoin.bitcoind.v1alpha.SendResponse.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction 6, // 36: bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest.estimate_mode:type_name -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest.EstimateMode 39, // 37: bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction 28, // 38: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.Input 30, // 39: bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse.outputs:type_name -> bitcoin.bitcoind.v1alpha.Output - 115, // 40: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.requests:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request - 117, // 41: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.responses:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response + 117, // 40: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.requests:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request + 119, // 41: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.responses:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response 7, // 42: bitcoin.bitcoind.v1alpha.GetBlockRequest.verbosity:type_name -> bitcoin.bitcoind.v1alpha.GetBlockRequest.Verbosity - 138, // 43: bitcoin.bitcoind.v1alpha.GetBlockResponse.time:type_name -> google.protobuf.Timestamp + 141, // 43: bitcoin.bitcoind.v1alpha.GetBlockResponse.time:type_name -> google.protobuf.Timestamp 25, // 44: bitcoin.bitcoind.v1alpha.ListSinceBlockResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse - 138, // 45: bitcoin.bitcoind.v1alpha.MempoolEntry.time:type_name -> google.protobuf.Timestamp - 118, // 46: bitcoin.bitcoind.v1alpha.MempoolEntry.fees:type_name -> bitcoin.bitcoind.v1alpha.MempoolEntry.Fees - 119, // 47: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry + 141, // 45: bitcoin.bitcoind.v1alpha.MempoolEntry.time:type_name -> google.protobuf.Timestamp + 120, // 46: bitcoin.bitcoind.v1alpha.MempoolEntry.fees:type_name -> bitcoin.bitcoind.v1alpha.MempoolEntry.Fees + 121, // 47: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry 25, // 48: bitcoin.bitcoind.v1alpha.ListTransactionsResponse.transactions:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse 60, // 49: bitcoin.bitcoind.v1alpha.ListUnspentResponse.unspent:type_name -> bitcoin.bitcoind.v1alpha.UnspentOutput - 120, // 50: bitcoin.bitcoind.v1alpha.ListAccountsResponse.accounts:type_name -> bitcoin.bitcoind.v1alpha.ListAccountsResponse.AccountsEntry - 121, // 51: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.inputs:type_name -> bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.Input - 122, // 52: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.outputs:type_name -> bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.OutputsEntry + 122, // 50: bitcoin.bitcoind.v1alpha.ListAccountsResponse.accounts:type_name -> bitcoin.bitcoind.v1alpha.ListAccountsResponse.AccountsEntry + 123, // 51: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.inputs:type_name -> bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.Input + 124, // 52: bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.outputs:type_name -> bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest.OutputsEntry 39, // 53: bitcoin.bitcoind.v1alpha.CreateRawTransactionResponse.tx:type_name -> bitcoin.bitcoind.v1alpha.RawTransaction - 123, // 54: bitcoin.bitcoind.v1alpha.CreatePsbtRequest.inputs:type_name -> bitcoin.bitcoind.v1alpha.CreatePsbtRequest.Input - 124, // 55: bitcoin.bitcoind.v1alpha.CreatePsbtRequest.outputs:type_name -> bitcoin.bitcoind.v1alpha.CreatePsbtRequest.OutputsEntry + 125, // 54: bitcoin.bitcoind.v1alpha.CreatePsbtRequest.inputs:type_name -> bitcoin.bitcoind.v1alpha.CreatePsbtRequest.Input + 126, // 55: bitcoin.bitcoind.v1alpha.CreatePsbtRequest.outputs:type_name -> bitcoin.bitcoind.v1alpha.CreatePsbtRequest.OutputsEntry 40, // 56: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.tx:type_name -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse - 130, // 57: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.unknown:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.UnknownEntry - 128, // 58: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input - 129, // 59: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.outputs:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output - 134, // 60: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input + 132, // 57: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.unknown:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.UnknownEntry + 130, // 58: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input + 131, // 59: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.outputs:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output + 136, // 60: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.inputs:type_name -> bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input 104, // 61: bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtRequest.descriptors:type_name -> bitcoin.bitcoind.v1alpha.Descriptor - 136, // 62: bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse.results:type_name -> bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse.Result + 138, // 62: bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse.results:type_name -> bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse.Result 103, // 63: bitcoin.bitcoind.v1alpha.DescriptorRange.range:type_name -> bitcoin.bitcoind.v1alpha.Range 105, // 64: bitcoin.bitcoind.v1alpha.Descriptor.object_descriptor:type_name -> bitcoin.bitcoind.v1alpha.DescriptorObject 102, // 65: bitcoin.bitcoind.v1alpha.DescriptorObject.range:type_name -> bitcoin.bitcoind.v1alpha.DescriptorRange - 137, // 66: bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse.notifications:type_name -> bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse.Notification - 4, // 67: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details.category:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Category - 138, // 68: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request.timestamp:type_name -> google.protobuf.Timestamp - 116, // 69: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response.error:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Error - 52, // 70: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry.value:type_name -> bitcoin.bitcoind.v1alpha.MempoolEntry - 29, // 71: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.WitnessUtxo.script_pub_key:type_name -> bitcoin.bitcoind.v1alpha.ScriptPubKey - 40, // 72: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.non_witness_utxo:type_name -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse - 125, // 73: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.witness_utxo:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.WitnessUtxo - 131, // 74: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.partial_signatures:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.PartialSignaturesEntry - 126, // 75: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.redeem_script:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript - 126, // 76: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.witness_script:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript - 127, // 77: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.bip32_derivs:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Bip32Deriv - 27, // 78: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.final_scriptsig:type_name -> bitcoin.bitcoind.v1alpha.ScriptSig - 132, // 79: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.unknown:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.UnknownEntry - 126, // 80: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.redeem_script:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript - 126, // 81: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.witness_script:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript - 127, // 82: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.bip32_derivs:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Bip32Deriv - 133, // 83: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.unknown:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.UnknownEntry - 135, // 84: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input.missing:type_name -> bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input.Missing - 8, // 85: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo:input_type -> bitcoin.bitcoind.v1alpha.GetBlockchainInfoRequest - 10, // 86: bitcoin.bitcoind.v1alpha.BitcoinService.GetPeerInfo:input_type -> bitcoin.bitcoind.v1alpha.GetPeerInfoRequest - 13, // 87: bitcoin.bitcoind.v1alpha.BitcoinService.GetNetworkInfo:input_type -> bitcoin.bitcoind.v1alpha.GetNetworkInfoRequest - 15, // 88: bitcoin.bitcoind.v1alpha.BitcoinService.GetNetTotals:input_type -> bitcoin.bitcoind.v1alpha.GetNetTotalsRequest - 24, // 89: bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction:input_type -> bitcoin.bitcoind.v1alpha.GetTransactionRequest - 49, // 90: bitcoin.bitcoind.v1alpha.BitcoinService.ListSinceBlock:input_type -> bitcoin.bitcoind.v1alpha.ListSinceBlockRequest - 17, // 91: bitcoin.bitcoind.v1alpha.BitcoinService.GetNewAddress:input_type -> bitcoin.bitcoind.v1alpha.GetNewAddressRequest - 19, // 92: bitcoin.bitcoind.v1alpha.BitcoinService.GetWalletInfo:input_type -> bitcoin.bitcoind.v1alpha.GetWalletInfoRequest - 21, // 93: bitcoin.bitcoind.v1alpha.BitcoinService.GetBalances:input_type -> bitcoin.bitcoind.v1alpha.GetBalancesRequest - 32, // 94: bitcoin.bitcoind.v1alpha.BitcoinService.Send:input_type -> bitcoin.bitcoind.v1alpha.SendRequest - 34, // 95: bitcoin.bitcoind.v1alpha.BitcoinService.SendToAddress:input_type -> bitcoin.bitcoind.v1alpha.SendToAddressRequest - 47, // 96: bitcoin.bitcoind.v1alpha.BitcoinService.BumpFee:input_type -> bitcoin.bitcoind.v1alpha.BumpFeeRequest - 36, // 97: bitcoin.bitcoind.v1alpha.BitcoinService.EstimateSmartFee:input_type -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest - 41, // 98: bitcoin.bitcoind.v1alpha.BitcoinService.ImportDescriptors:input_type -> bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest - 141, // 99: bitcoin.bitcoind.v1alpha.BitcoinService.ListWallets:input_type -> google.protobuf.Empty - 59, // 100: bitcoin.bitcoind.v1alpha.BitcoinService.ListUnspent:input_type -> bitcoin.bitcoind.v1alpha.ListUnspentRequest - 56, // 101: bitcoin.bitcoind.v1alpha.BitcoinService.ListTransactions:input_type -> bitcoin.bitcoind.v1alpha.ListTransactionsRequest - 43, // 102: bitcoin.bitcoind.v1alpha.BitcoinService.GetDescriptorInfo:input_type -> bitcoin.bitcoind.v1alpha.GetDescriptorInfoRequest - 62, // 103: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressInfo:input_type -> bitcoin.bitcoind.v1alpha.GetAddressInfoRequest - 51, // 104: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawMempool:input_type -> bitcoin.bitcoind.v1alpha.GetRawMempoolRequest - 26, // 105: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.GetRawTransactionRequest - 38, // 106: bitcoin.bitcoind.v1alpha.BitcoinService.DecodeRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest - 84, // 107: bitcoin.bitcoind.v1alpha.BitcoinService.CreateRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest - 86, // 108: bitcoin.bitcoind.v1alpha.BitcoinService.SendRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.SendRawTransactionRequest - 45, // 109: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock:input_type -> bitcoin.bitcoind.v1alpha.GetBlockRequest - 54, // 110: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockHash:input_type -> bitcoin.bitcoind.v1alpha.GetBlockHashRequest - 64, // 111: bitcoin.bitcoind.v1alpha.BitcoinService.CreateWallet:input_type -> bitcoin.bitcoind.v1alpha.CreateWalletRequest - 66, // 112: bitcoin.bitcoind.v1alpha.BitcoinService.LoadWallet:input_type -> bitcoin.bitcoind.v1alpha.LoadWalletRequest - 68, // 113: bitcoin.bitcoind.v1alpha.BitcoinService.BackupWallet:input_type -> bitcoin.bitcoind.v1alpha.BackupWalletRequest - 70, // 114: bitcoin.bitcoind.v1alpha.BitcoinService.UnloadWallet:input_type -> bitcoin.bitcoind.v1alpha.UnloadWalletRequest - 72, // 115: bitcoin.bitcoind.v1alpha.BitcoinService.KeyPoolRefill:input_type -> bitcoin.bitcoind.v1alpha.KeyPoolRefillRequest - 74, // 116: bitcoin.bitcoind.v1alpha.BitcoinService.GetAccount:input_type -> bitcoin.bitcoind.v1alpha.GetAccountRequest - 76, // 117: bitcoin.bitcoind.v1alpha.BitcoinService.SetAccount:input_type -> bitcoin.bitcoind.v1alpha.SetAccountRequest - 78, // 118: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressesByAccount:input_type -> bitcoin.bitcoind.v1alpha.GetAddressesByAccountRequest - 80, // 119: bitcoin.bitcoind.v1alpha.BitcoinService.ListAccounts:input_type -> bitcoin.bitcoind.v1alpha.ListAccountsRequest - 82, // 120: bitcoin.bitcoind.v1alpha.BitcoinService.CreateMultisig:input_type -> bitcoin.bitcoind.v1alpha.CreateMultisigRequest - 88, // 121: bitcoin.bitcoind.v1alpha.BitcoinService.CreatePsbt:input_type -> bitcoin.bitcoind.v1alpha.CreatePsbtRequest - 90, // 122: bitcoin.bitcoind.v1alpha.BitcoinService.DecodePsbt:input_type -> bitcoin.bitcoind.v1alpha.DecodePsbtRequest - 92, // 123: bitcoin.bitcoind.v1alpha.BitcoinService.AnalyzePsbt:input_type -> bitcoin.bitcoind.v1alpha.AnalyzePsbtRequest - 94, // 124: bitcoin.bitcoind.v1alpha.BitcoinService.CombinePsbt:input_type -> bitcoin.bitcoind.v1alpha.CombinePsbtRequest - 96, // 125: bitcoin.bitcoind.v1alpha.BitcoinService.UtxoUpdatePsbt:input_type -> bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtRequest - 98, // 126: bitcoin.bitcoind.v1alpha.BitcoinService.JoinPsbts:input_type -> bitcoin.bitcoind.v1alpha.JoinPsbtsRequest - 100, // 127: bitcoin.bitcoind.v1alpha.BitcoinService.TestMempoolAccept:input_type -> bitcoin.bitcoind.v1alpha.TestMempoolAcceptRequest - 141, // 128: bitcoin.bitcoind.v1alpha.BitcoinService.GetZmqNotifications:input_type -> google.protobuf.Empty - 9, // 129: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo:output_type -> bitcoin.bitcoind.v1alpha.GetBlockchainInfoResponse - 12, // 130: bitcoin.bitcoind.v1alpha.BitcoinService.GetPeerInfo:output_type -> bitcoin.bitcoind.v1alpha.GetPeerInfoResponse - 14, // 131: bitcoin.bitcoind.v1alpha.BitcoinService.GetNetworkInfo:output_type -> bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse - 16, // 132: bitcoin.bitcoind.v1alpha.BitcoinService.GetNetTotals:output_type -> bitcoin.bitcoind.v1alpha.GetNetTotalsResponse - 25, // 133: bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction:output_type -> bitcoin.bitcoind.v1alpha.GetTransactionResponse - 50, // 134: bitcoin.bitcoind.v1alpha.BitcoinService.ListSinceBlock:output_type -> bitcoin.bitcoind.v1alpha.ListSinceBlockResponse - 18, // 135: bitcoin.bitcoind.v1alpha.BitcoinService.GetNewAddress:output_type -> bitcoin.bitcoind.v1alpha.GetNewAddressResponse - 20, // 136: bitcoin.bitcoind.v1alpha.BitcoinService.GetWalletInfo:output_type -> bitcoin.bitcoind.v1alpha.GetWalletInfoResponse - 22, // 137: bitcoin.bitcoind.v1alpha.BitcoinService.GetBalances:output_type -> bitcoin.bitcoind.v1alpha.GetBalancesResponse - 33, // 138: bitcoin.bitcoind.v1alpha.BitcoinService.Send:output_type -> bitcoin.bitcoind.v1alpha.SendResponse - 35, // 139: bitcoin.bitcoind.v1alpha.BitcoinService.SendToAddress:output_type -> bitcoin.bitcoind.v1alpha.SendToAddressResponse - 48, // 140: bitcoin.bitcoind.v1alpha.BitcoinService.BumpFee:output_type -> bitcoin.bitcoind.v1alpha.BumpFeeResponse - 37, // 141: bitcoin.bitcoind.v1alpha.BitcoinService.EstimateSmartFee:output_type -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeResponse - 42, // 142: bitcoin.bitcoind.v1alpha.BitcoinService.ImportDescriptors:output_type -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse - 58, // 143: bitcoin.bitcoind.v1alpha.BitcoinService.ListWallets:output_type -> bitcoin.bitcoind.v1alpha.ListWalletsResponse - 61, // 144: bitcoin.bitcoind.v1alpha.BitcoinService.ListUnspent:output_type -> bitcoin.bitcoind.v1alpha.ListUnspentResponse - 57, // 145: bitcoin.bitcoind.v1alpha.BitcoinService.ListTransactions:output_type -> bitcoin.bitcoind.v1alpha.ListTransactionsResponse - 44, // 146: bitcoin.bitcoind.v1alpha.BitcoinService.GetDescriptorInfo:output_type -> bitcoin.bitcoind.v1alpha.GetDescriptorInfoResponse - 63, // 147: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressInfo:output_type -> bitcoin.bitcoind.v1alpha.GetAddressInfoResponse - 53, // 148: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawMempool:output_type -> bitcoin.bitcoind.v1alpha.GetRawMempoolResponse - 31, // 149: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.GetRawTransactionResponse - 40, // 150: bitcoin.bitcoind.v1alpha.BitcoinService.DecodeRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse - 85, // 151: bitcoin.bitcoind.v1alpha.BitcoinService.CreateRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.CreateRawTransactionResponse - 87, // 152: bitcoin.bitcoind.v1alpha.BitcoinService.SendRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.SendRawTransactionResponse - 46, // 153: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock:output_type -> bitcoin.bitcoind.v1alpha.GetBlockResponse - 55, // 154: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockHash:output_type -> bitcoin.bitcoind.v1alpha.GetBlockHashResponse - 65, // 155: bitcoin.bitcoind.v1alpha.BitcoinService.CreateWallet:output_type -> bitcoin.bitcoind.v1alpha.CreateWalletResponse - 67, // 156: bitcoin.bitcoind.v1alpha.BitcoinService.LoadWallet:output_type -> bitcoin.bitcoind.v1alpha.LoadWalletResponse - 69, // 157: bitcoin.bitcoind.v1alpha.BitcoinService.BackupWallet:output_type -> bitcoin.bitcoind.v1alpha.BackupWalletResponse - 71, // 158: bitcoin.bitcoind.v1alpha.BitcoinService.UnloadWallet:output_type -> bitcoin.bitcoind.v1alpha.UnloadWalletResponse - 73, // 159: bitcoin.bitcoind.v1alpha.BitcoinService.KeyPoolRefill:output_type -> bitcoin.bitcoind.v1alpha.KeyPoolRefillResponse - 75, // 160: bitcoin.bitcoind.v1alpha.BitcoinService.GetAccount:output_type -> bitcoin.bitcoind.v1alpha.GetAccountResponse - 77, // 161: bitcoin.bitcoind.v1alpha.BitcoinService.SetAccount:output_type -> bitcoin.bitcoind.v1alpha.SetAccountResponse - 79, // 162: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressesByAccount:output_type -> bitcoin.bitcoind.v1alpha.GetAddressesByAccountResponse - 81, // 163: bitcoin.bitcoind.v1alpha.BitcoinService.ListAccounts:output_type -> bitcoin.bitcoind.v1alpha.ListAccountsResponse - 83, // 164: bitcoin.bitcoind.v1alpha.BitcoinService.CreateMultisig:output_type -> bitcoin.bitcoind.v1alpha.CreateMultisigResponse - 89, // 165: bitcoin.bitcoind.v1alpha.BitcoinService.CreatePsbt:output_type -> bitcoin.bitcoind.v1alpha.CreatePsbtResponse - 91, // 166: bitcoin.bitcoind.v1alpha.BitcoinService.DecodePsbt:output_type -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse - 93, // 167: bitcoin.bitcoind.v1alpha.BitcoinService.AnalyzePsbt:output_type -> bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse - 95, // 168: bitcoin.bitcoind.v1alpha.BitcoinService.CombinePsbt:output_type -> bitcoin.bitcoind.v1alpha.CombinePsbtResponse - 97, // 169: bitcoin.bitcoind.v1alpha.BitcoinService.UtxoUpdatePsbt:output_type -> bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtResponse - 99, // 170: bitcoin.bitcoind.v1alpha.BitcoinService.JoinPsbts:output_type -> bitcoin.bitcoind.v1alpha.JoinPsbtsResponse - 101, // 171: bitcoin.bitcoind.v1alpha.BitcoinService.TestMempoolAccept:output_type -> bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse - 106, // 172: bitcoin.bitcoind.v1alpha.BitcoinService.GetZmqNotifications:output_type -> bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse - 129, // [129:173] is the sub-list for method output_type - 85, // [85:129] is the sub-list for method input_type - 85, // [85:85] is the sub-list for extension type_name - 85, // [85:85] is the sub-list for extension extendee - 0, // [0:85] is the sub-list for field type_name + 139, // 66: bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse.notifications:type_name -> bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse.Notification + 140, // 67: bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletResponse.errors:type_name -> bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletResponse.Error + 4, // 68: bitcoin.bitcoind.v1alpha.GetTransactionResponse.Details.category:type_name -> bitcoin.bitcoind.v1alpha.GetTransactionResponse.Category + 141, // 69: bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest.Request.timestamp:type_name -> google.protobuf.Timestamp + 118, // 70: bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Response.error:type_name -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse.Error + 52, // 71: bitcoin.bitcoind.v1alpha.GetRawMempoolResponse.TransactionsEntry.value:type_name -> bitcoin.bitcoind.v1alpha.MempoolEntry + 29, // 72: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.WitnessUtxo.script_pub_key:type_name -> bitcoin.bitcoind.v1alpha.ScriptPubKey + 40, // 73: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.non_witness_utxo:type_name -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse + 127, // 74: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.witness_utxo:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.WitnessUtxo + 133, // 75: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.partial_signatures:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.PartialSignaturesEntry + 128, // 76: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.redeem_script:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript + 128, // 77: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.witness_script:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript + 129, // 78: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.bip32_derivs:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Bip32Deriv + 27, // 79: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.final_scriptsig:type_name -> bitcoin.bitcoind.v1alpha.ScriptSig + 134, // 80: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.unknown:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Input.UnknownEntry + 128, // 81: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.redeem_script:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript + 128, // 82: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.witness_script:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.RedeemScript + 129, // 83: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.bip32_derivs:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Bip32Deriv + 135, // 84: bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.unknown:type_name -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse.Output.UnknownEntry + 137, // 85: bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input.missing:type_name -> bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse.Input.Missing + 8, // 86: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo:input_type -> bitcoin.bitcoind.v1alpha.GetBlockchainInfoRequest + 10, // 87: bitcoin.bitcoind.v1alpha.BitcoinService.GetPeerInfo:input_type -> bitcoin.bitcoind.v1alpha.GetPeerInfoRequest + 13, // 88: bitcoin.bitcoind.v1alpha.BitcoinService.GetNetworkInfo:input_type -> bitcoin.bitcoind.v1alpha.GetNetworkInfoRequest + 15, // 89: bitcoin.bitcoind.v1alpha.BitcoinService.GetNetTotals:input_type -> bitcoin.bitcoind.v1alpha.GetNetTotalsRequest + 24, // 90: bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction:input_type -> bitcoin.bitcoind.v1alpha.GetTransactionRequest + 49, // 91: bitcoin.bitcoind.v1alpha.BitcoinService.ListSinceBlock:input_type -> bitcoin.bitcoind.v1alpha.ListSinceBlockRequest + 17, // 92: bitcoin.bitcoind.v1alpha.BitcoinService.GetNewAddress:input_type -> bitcoin.bitcoind.v1alpha.GetNewAddressRequest + 19, // 93: bitcoin.bitcoind.v1alpha.BitcoinService.GetWalletInfo:input_type -> bitcoin.bitcoind.v1alpha.GetWalletInfoRequest + 21, // 94: bitcoin.bitcoind.v1alpha.BitcoinService.GetBalances:input_type -> bitcoin.bitcoind.v1alpha.GetBalancesRequest + 32, // 95: bitcoin.bitcoind.v1alpha.BitcoinService.Send:input_type -> bitcoin.bitcoind.v1alpha.SendRequest + 34, // 96: bitcoin.bitcoind.v1alpha.BitcoinService.SendToAddress:input_type -> bitcoin.bitcoind.v1alpha.SendToAddressRequest + 47, // 97: bitcoin.bitcoind.v1alpha.BitcoinService.BumpFee:input_type -> bitcoin.bitcoind.v1alpha.BumpFeeRequest + 36, // 98: bitcoin.bitcoind.v1alpha.BitcoinService.EstimateSmartFee:input_type -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeRequest + 41, // 99: bitcoin.bitcoind.v1alpha.BitcoinService.ImportDescriptors:input_type -> bitcoin.bitcoind.v1alpha.ImportDescriptorsRequest + 144, // 100: bitcoin.bitcoind.v1alpha.BitcoinService.ListWallets:input_type -> google.protobuf.Empty + 59, // 101: bitcoin.bitcoind.v1alpha.BitcoinService.ListUnspent:input_type -> bitcoin.bitcoind.v1alpha.ListUnspentRequest + 56, // 102: bitcoin.bitcoind.v1alpha.BitcoinService.ListTransactions:input_type -> bitcoin.bitcoind.v1alpha.ListTransactionsRequest + 43, // 103: bitcoin.bitcoind.v1alpha.BitcoinService.GetDescriptorInfo:input_type -> bitcoin.bitcoind.v1alpha.GetDescriptorInfoRequest + 62, // 104: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressInfo:input_type -> bitcoin.bitcoind.v1alpha.GetAddressInfoRequest + 51, // 105: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawMempool:input_type -> bitcoin.bitcoind.v1alpha.GetRawMempoolRequest + 26, // 106: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.GetRawTransactionRequest + 38, // 107: bitcoin.bitcoind.v1alpha.BitcoinService.DecodeRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionRequest + 84, // 108: bitcoin.bitcoind.v1alpha.BitcoinService.CreateRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.CreateRawTransactionRequest + 86, // 109: bitcoin.bitcoind.v1alpha.BitcoinService.SendRawTransaction:input_type -> bitcoin.bitcoind.v1alpha.SendRawTransactionRequest + 107, // 110: bitcoin.bitcoind.v1alpha.BitcoinService.SignRawTransactionWithWallet:input_type -> bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletRequest + 45, // 111: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock:input_type -> bitcoin.bitcoind.v1alpha.GetBlockRequest + 54, // 112: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockHash:input_type -> bitcoin.bitcoind.v1alpha.GetBlockHashRequest + 64, // 113: bitcoin.bitcoind.v1alpha.BitcoinService.CreateWallet:input_type -> bitcoin.bitcoind.v1alpha.CreateWalletRequest + 66, // 114: bitcoin.bitcoind.v1alpha.BitcoinService.LoadWallet:input_type -> bitcoin.bitcoind.v1alpha.LoadWalletRequest + 68, // 115: bitcoin.bitcoind.v1alpha.BitcoinService.BackupWallet:input_type -> bitcoin.bitcoind.v1alpha.BackupWalletRequest + 70, // 116: bitcoin.bitcoind.v1alpha.BitcoinService.UnloadWallet:input_type -> bitcoin.bitcoind.v1alpha.UnloadWalletRequest + 72, // 117: bitcoin.bitcoind.v1alpha.BitcoinService.KeyPoolRefill:input_type -> bitcoin.bitcoind.v1alpha.KeyPoolRefillRequest + 74, // 118: bitcoin.bitcoind.v1alpha.BitcoinService.GetAccount:input_type -> bitcoin.bitcoind.v1alpha.GetAccountRequest + 76, // 119: bitcoin.bitcoind.v1alpha.BitcoinService.SetAccount:input_type -> bitcoin.bitcoind.v1alpha.SetAccountRequest + 78, // 120: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressesByAccount:input_type -> bitcoin.bitcoind.v1alpha.GetAddressesByAccountRequest + 80, // 121: bitcoin.bitcoind.v1alpha.BitcoinService.ListAccounts:input_type -> bitcoin.bitcoind.v1alpha.ListAccountsRequest + 82, // 122: bitcoin.bitcoind.v1alpha.BitcoinService.CreateMultisig:input_type -> bitcoin.bitcoind.v1alpha.CreateMultisigRequest + 88, // 123: bitcoin.bitcoind.v1alpha.BitcoinService.CreatePsbt:input_type -> bitcoin.bitcoind.v1alpha.CreatePsbtRequest + 90, // 124: bitcoin.bitcoind.v1alpha.BitcoinService.DecodePsbt:input_type -> bitcoin.bitcoind.v1alpha.DecodePsbtRequest + 92, // 125: bitcoin.bitcoind.v1alpha.BitcoinService.AnalyzePsbt:input_type -> bitcoin.bitcoind.v1alpha.AnalyzePsbtRequest + 94, // 126: bitcoin.bitcoind.v1alpha.BitcoinService.CombinePsbt:input_type -> bitcoin.bitcoind.v1alpha.CombinePsbtRequest + 96, // 127: bitcoin.bitcoind.v1alpha.BitcoinService.UtxoUpdatePsbt:input_type -> bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtRequest + 98, // 128: bitcoin.bitcoind.v1alpha.BitcoinService.JoinPsbts:input_type -> bitcoin.bitcoind.v1alpha.JoinPsbtsRequest + 100, // 129: bitcoin.bitcoind.v1alpha.BitcoinService.TestMempoolAccept:input_type -> bitcoin.bitcoind.v1alpha.TestMempoolAcceptRequest + 144, // 130: bitcoin.bitcoind.v1alpha.BitcoinService.GetZmqNotifications:input_type -> google.protobuf.Empty + 9, // 131: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo:output_type -> bitcoin.bitcoind.v1alpha.GetBlockchainInfoResponse + 12, // 132: bitcoin.bitcoind.v1alpha.BitcoinService.GetPeerInfo:output_type -> bitcoin.bitcoind.v1alpha.GetPeerInfoResponse + 14, // 133: bitcoin.bitcoind.v1alpha.BitcoinService.GetNetworkInfo:output_type -> bitcoin.bitcoind.v1alpha.GetNetworkInfoResponse + 16, // 134: bitcoin.bitcoind.v1alpha.BitcoinService.GetNetTotals:output_type -> bitcoin.bitcoind.v1alpha.GetNetTotalsResponse + 25, // 135: bitcoin.bitcoind.v1alpha.BitcoinService.GetTransaction:output_type -> bitcoin.bitcoind.v1alpha.GetTransactionResponse + 50, // 136: bitcoin.bitcoind.v1alpha.BitcoinService.ListSinceBlock:output_type -> bitcoin.bitcoind.v1alpha.ListSinceBlockResponse + 18, // 137: bitcoin.bitcoind.v1alpha.BitcoinService.GetNewAddress:output_type -> bitcoin.bitcoind.v1alpha.GetNewAddressResponse + 20, // 138: bitcoin.bitcoind.v1alpha.BitcoinService.GetWalletInfo:output_type -> bitcoin.bitcoind.v1alpha.GetWalletInfoResponse + 22, // 139: bitcoin.bitcoind.v1alpha.BitcoinService.GetBalances:output_type -> bitcoin.bitcoind.v1alpha.GetBalancesResponse + 33, // 140: bitcoin.bitcoind.v1alpha.BitcoinService.Send:output_type -> bitcoin.bitcoind.v1alpha.SendResponse + 35, // 141: bitcoin.bitcoind.v1alpha.BitcoinService.SendToAddress:output_type -> bitcoin.bitcoind.v1alpha.SendToAddressResponse + 48, // 142: bitcoin.bitcoind.v1alpha.BitcoinService.BumpFee:output_type -> bitcoin.bitcoind.v1alpha.BumpFeeResponse + 37, // 143: bitcoin.bitcoind.v1alpha.BitcoinService.EstimateSmartFee:output_type -> bitcoin.bitcoind.v1alpha.EstimateSmartFeeResponse + 42, // 144: bitcoin.bitcoind.v1alpha.BitcoinService.ImportDescriptors:output_type -> bitcoin.bitcoind.v1alpha.ImportDescriptorsResponse + 58, // 145: bitcoin.bitcoind.v1alpha.BitcoinService.ListWallets:output_type -> bitcoin.bitcoind.v1alpha.ListWalletsResponse + 61, // 146: bitcoin.bitcoind.v1alpha.BitcoinService.ListUnspent:output_type -> bitcoin.bitcoind.v1alpha.ListUnspentResponse + 57, // 147: bitcoin.bitcoind.v1alpha.BitcoinService.ListTransactions:output_type -> bitcoin.bitcoind.v1alpha.ListTransactionsResponse + 44, // 148: bitcoin.bitcoind.v1alpha.BitcoinService.GetDescriptorInfo:output_type -> bitcoin.bitcoind.v1alpha.GetDescriptorInfoResponse + 63, // 149: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressInfo:output_type -> bitcoin.bitcoind.v1alpha.GetAddressInfoResponse + 53, // 150: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawMempool:output_type -> bitcoin.bitcoind.v1alpha.GetRawMempoolResponse + 31, // 151: bitcoin.bitcoind.v1alpha.BitcoinService.GetRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.GetRawTransactionResponse + 40, // 152: bitcoin.bitcoind.v1alpha.BitcoinService.DecodeRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.DecodeRawTransactionResponse + 85, // 153: bitcoin.bitcoind.v1alpha.BitcoinService.CreateRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.CreateRawTransactionResponse + 87, // 154: bitcoin.bitcoind.v1alpha.BitcoinService.SendRawTransaction:output_type -> bitcoin.bitcoind.v1alpha.SendRawTransactionResponse + 108, // 155: bitcoin.bitcoind.v1alpha.BitcoinService.SignRawTransactionWithWallet:output_type -> bitcoin.bitcoind.v1alpha.SignRawTransactionWithWalletResponse + 46, // 156: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock:output_type -> bitcoin.bitcoind.v1alpha.GetBlockResponse + 55, // 157: bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockHash:output_type -> bitcoin.bitcoind.v1alpha.GetBlockHashResponse + 65, // 158: bitcoin.bitcoind.v1alpha.BitcoinService.CreateWallet:output_type -> bitcoin.bitcoind.v1alpha.CreateWalletResponse + 67, // 159: bitcoin.bitcoind.v1alpha.BitcoinService.LoadWallet:output_type -> bitcoin.bitcoind.v1alpha.LoadWalletResponse + 69, // 160: bitcoin.bitcoind.v1alpha.BitcoinService.BackupWallet:output_type -> bitcoin.bitcoind.v1alpha.BackupWalletResponse + 71, // 161: bitcoin.bitcoind.v1alpha.BitcoinService.UnloadWallet:output_type -> bitcoin.bitcoind.v1alpha.UnloadWalletResponse + 73, // 162: bitcoin.bitcoind.v1alpha.BitcoinService.KeyPoolRefill:output_type -> bitcoin.bitcoind.v1alpha.KeyPoolRefillResponse + 75, // 163: bitcoin.bitcoind.v1alpha.BitcoinService.GetAccount:output_type -> bitcoin.bitcoind.v1alpha.GetAccountResponse + 77, // 164: bitcoin.bitcoind.v1alpha.BitcoinService.SetAccount:output_type -> bitcoin.bitcoind.v1alpha.SetAccountResponse + 79, // 165: bitcoin.bitcoind.v1alpha.BitcoinService.GetAddressesByAccount:output_type -> bitcoin.bitcoind.v1alpha.GetAddressesByAccountResponse + 81, // 166: bitcoin.bitcoind.v1alpha.BitcoinService.ListAccounts:output_type -> bitcoin.bitcoind.v1alpha.ListAccountsResponse + 83, // 167: bitcoin.bitcoind.v1alpha.BitcoinService.CreateMultisig:output_type -> bitcoin.bitcoind.v1alpha.CreateMultisigResponse + 89, // 168: bitcoin.bitcoind.v1alpha.BitcoinService.CreatePsbt:output_type -> bitcoin.bitcoind.v1alpha.CreatePsbtResponse + 91, // 169: bitcoin.bitcoind.v1alpha.BitcoinService.DecodePsbt:output_type -> bitcoin.bitcoind.v1alpha.DecodePsbtResponse + 93, // 170: bitcoin.bitcoind.v1alpha.BitcoinService.AnalyzePsbt:output_type -> bitcoin.bitcoind.v1alpha.AnalyzePsbtResponse + 95, // 171: bitcoin.bitcoind.v1alpha.BitcoinService.CombinePsbt:output_type -> bitcoin.bitcoind.v1alpha.CombinePsbtResponse + 97, // 172: bitcoin.bitcoind.v1alpha.BitcoinService.UtxoUpdatePsbt:output_type -> bitcoin.bitcoind.v1alpha.UtxoUpdatePsbtResponse + 99, // 173: bitcoin.bitcoind.v1alpha.BitcoinService.JoinPsbts:output_type -> bitcoin.bitcoind.v1alpha.JoinPsbtsResponse + 101, // 174: bitcoin.bitcoind.v1alpha.BitcoinService.TestMempoolAccept:output_type -> bitcoin.bitcoind.v1alpha.TestMempoolAcceptResponse + 106, // 175: bitcoin.bitcoind.v1alpha.BitcoinService.GetZmqNotifications:output_type -> bitcoin.bitcoind.v1alpha.GetZmqNotificationsResponse + 131, // [131:176] is the sub-list for method output_type + 86, // [86:131] is the sub-list for method input_type + 86, // [86:86] is the sub-list for extension type_name + 86, // [86:86] is the sub-list for extension extendee + 0, // [0:86] is the sub-list for field type_name } func init() { file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() } @@ -9466,7 +9696,7 @@ func file_bitcoin_bitcoind_v1alpha_bitcoin_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDesc), len(file_bitcoin_bitcoind_v1alpha_bitcoin_proto_rawDesc)), NumEnums: 8, - NumMessages: 130, + NumMessages: 133, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/bitcoin/bitcoind/v1alpha/bitcoindv1alphaconnect/bitcoin.connect.go b/gen/bitcoin/bitcoind/v1alpha/bitcoindv1alphaconnect/bitcoin.connect.go index 907f57e..4b3be37 100644 --- a/gen/bitcoin/bitcoind/v1alpha/bitcoindv1alphaconnect/bitcoin.connect.go +++ b/gen/bitcoin/bitcoind/v1alpha/bitcoindv1alphaconnect/bitcoin.connect.go @@ -104,6 +104,9 @@ const ( // BitcoinServiceSendRawTransactionProcedure is the fully-qualified name of the BitcoinService's // SendRawTransaction RPC. BitcoinServiceSendRawTransactionProcedure = "/bitcoin.bitcoind.v1alpha.BitcoinService/SendRawTransaction" + // BitcoinServiceSignRawTransactionWithWalletProcedure is the fully-qualified name of the + // BitcoinService's SignRawTransactionWithWallet RPC. + BitcoinServiceSignRawTransactionWithWalletProcedure = "/bitcoin.bitcoind.v1alpha.BitcoinService/SignRawTransactionWithWallet" // BitcoinServiceGetBlockProcedure is the fully-qualified name of the BitcoinService's GetBlock RPC. BitcoinServiceGetBlockProcedure = "/bitcoin.bitcoind.v1alpha.BitcoinService/GetBlock" // BitcoinServiceGetBlockHashProcedure is the fully-qualified name of the BitcoinService's @@ -198,6 +201,7 @@ type BitcoinServiceClient interface { DecodeRawTransaction(context.Context, *connect.Request[v1alpha.DecodeRawTransactionRequest]) (*connect.Response[v1alpha.DecodeRawTransactionResponse], error) CreateRawTransaction(context.Context, *connect.Request[v1alpha.CreateRawTransactionRequest]) (*connect.Response[v1alpha.CreateRawTransactionResponse], error) SendRawTransaction(context.Context, *connect.Request[v1alpha.SendRawTransactionRequest]) (*connect.Response[v1alpha.SendRawTransactionResponse], error) + SignRawTransactionWithWallet(context.Context, *connect.Request[v1alpha.SignRawTransactionWithWalletRequest]) (*connect.Response[v1alpha.SignRawTransactionWithWalletResponse], error) GetBlock(context.Context, *connect.Request[v1alpha.GetBlockRequest]) (*connect.Response[v1alpha.GetBlockResponse], error) GetBlockHash(context.Context, *connect.Request[v1alpha.GetBlockHashRequest]) (*connect.Response[v1alpha.GetBlockHashResponse], error) // Wallet management @@ -382,6 +386,12 @@ func NewBitcoinServiceClient(httpClient connect.HTTPClient, baseURL string, opts connect.WithSchema(bitcoinServiceMethods.ByName("SendRawTransaction")), connect.WithClientOptions(opts...), ), + signRawTransactionWithWallet: connect.NewClient[v1alpha.SignRawTransactionWithWalletRequest, v1alpha.SignRawTransactionWithWalletResponse]( + httpClient, + baseURL+BitcoinServiceSignRawTransactionWithWalletProcedure, + connect.WithSchema(bitcoinServiceMethods.ByName("SignRawTransactionWithWallet")), + connect.WithClientOptions(opts...), + ), getBlock: connect.NewClient[v1alpha.GetBlockRequest, v1alpha.GetBlockResponse]( httpClient, baseURL+BitcoinServiceGetBlockProcedure, @@ -507,50 +517,51 @@ func NewBitcoinServiceClient(httpClient connect.HTTPClient, baseURL string, opts // bitcoinServiceClient implements BitcoinServiceClient. type bitcoinServiceClient struct { - getBlockchainInfo *connect.Client[v1alpha.GetBlockchainInfoRequest, v1alpha.GetBlockchainInfoResponse] - getPeerInfo *connect.Client[v1alpha.GetPeerInfoRequest, v1alpha.GetPeerInfoResponse] - getNetworkInfo *connect.Client[v1alpha.GetNetworkInfoRequest, v1alpha.GetNetworkInfoResponse] - getNetTotals *connect.Client[v1alpha.GetNetTotalsRequest, v1alpha.GetNetTotalsResponse] - getTransaction *connect.Client[v1alpha.GetTransactionRequest, v1alpha.GetTransactionResponse] - listSinceBlock *connect.Client[v1alpha.ListSinceBlockRequest, v1alpha.ListSinceBlockResponse] - getNewAddress *connect.Client[v1alpha.GetNewAddressRequest, v1alpha.GetNewAddressResponse] - getWalletInfo *connect.Client[v1alpha.GetWalletInfoRequest, v1alpha.GetWalletInfoResponse] - getBalances *connect.Client[v1alpha.GetBalancesRequest, v1alpha.GetBalancesResponse] - send *connect.Client[v1alpha.SendRequest, v1alpha.SendResponse] - sendToAddress *connect.Client[v1alpha.SendToAddressRequest, v1alpha.SendToAddressResponse] - bumpFee *connect.Client[v1alpha.BumpFeeRequest, v1alpha.BumpFeeResponse] - estimateSmartFee *connect.Client[v1alpha.EstimateSmartFeeRequest, v1alpha.EstimateSmartFeeResponse] - importDescriptors *connect.Client[v1alpha.ImportDescriptorsRequest, v1alpha.ImportDescriptorsResponse] - listWallets *connect.Client[emptypb.Empty, v1alpha.ListWalletsResponse] - listUnspent *connect.Client[v1alpha.ListUnspentRequest, v1alpha.ListUnspentResponse] - listTransactions *connect.Client[v1alpha.ListTransactionsRequest, v1alpha.ListTransactionsResponse] - getDescriptorInfo *connect.Client[v1alpha.GetDescriptorInfoRequest, v1alpha.GetDescriptorInfoResponse] - getAddressInfo *connect.Client[v1alpha.GetAddressInfoRequest, v1alpha.GetAddressInfoResponse] - getRawMempool *connect.Client[v1alpha.GetRawMempoolRequest, v1alpha.GetRawMempoolResponse] - getRawTransaction *connect.Client[v1alpha.GetRawTransactionRequest, v1alpha.GetRawTransactionResponse] - decodeRawTransaction *connect.Client[v1alpha.DecodeRawTransactionRequest, v1alpha.DecodeRawTransactionResponse] - createRawTransaction *connect.Client[v1alpha.CreateRawTransactionRequest, v1alpha.CreateRawTransactionResponse] - sendRawTransaction *connect.Client[v1alpha.SendRawTransactionRequest, v1alpha.SendRawTransactionResponse] - getBlock *connect.Client[v1alpha.GetBlockRequest, v1alpha.GetBlockResponse] - getBlockHash *connect.Client[v1alpha.GetBlockHashRequest, v1alpha.GetBlockHashResponse] - createWallet *connect.Client[v1alpha.CreateWalletRequest, v1alpha.CreateWalletResponse] - loadWallet *connect.Client[v1alpha.LoadWalletRequest, v1alpha.LoadWalletResponse] - backupWallet *connect.Client[v1alpha.BackupWalletRequest, v1alpha.BackupWalletResponse] - unloadWallet *connect.Client[v1alpha.UnloadWalletRequest, v1alpha.UnloadWalletResponse] - keyPoolRefill *connect.Client[v1alpha.KeyPoolRefillRequest, v1alpha.KeyPoolRefillResponse] - getAccount *connect.Client[v1alpha.GetAccountRequest, v1alpha.GetAccountResponse] - setAccount *connect.Client[v1alpha.SetAccountRequest, v1alpha.SetAccountResponse] - getAddressesByAccount *connect.Client[v1alpha.GetAddressesByAccountRequest, v1alpha.GetAddressesByAccountResponse] - listAccounts *connect.Client[v1alpha.ListAccountsRequest, v1alpha.ListAccountsResponse] - createMultisig *connect.Client[v1alpha.CreateMultisigRequest, v1alpha.CreateMultisigResponse] - createPsbt *connect.Client[v1alpha.CreatePsbtRequest, v1alpha.CreatePsbtResponse] - decodePsbt *connect.Client[v1alpha.DecodePsbtRequest, v1alpha.DecodePsbtResponse] - analyzePsbt *connect.Client[v1alpha.AnalyzePsbtRequest, v1alpha.AnalyzePsbtResponse] - combinePsbt *connect.Client[v1alpha.CombinePsbtRequest, v1alpha.CombinePsbtResponse] - utxoUpdatePsbt *connect.Client[v1alpha.UtxoUpdatePsbtRequest, v1alpha.UtxoUpdatePsbtResponse] - joinPsbts *connect.Client[v1alpha.JoinPsbtsRequest, v1alpha.JoinPsbtsResponse] - testMempoolAccept *connect.Client[v1alpha.TestMempoolAcceptRequest, v1alpha.TestMempoolAcceptResponse] - getZmqNotifications *connect.Client[emptypb.Empty, v1alpha.GetZmqNotificationsResponse] + getBlockchainInfo *connect.Client[v1alpha.GetBlockchainInfoRequest, v1alpha.GetBlockchainInfoResponse] + getPeerInfo *connect.Client[v1alpha.GetPeerInfoRequest, v1alpha.GetPeerInfoResponse] + getNetworkInfo *connect.Client[v1alpha.GetNetworkInfoRequest, v1alpha.GetNetworkInfoResponse] + getNetTotals *connect.Client[v1alpha.GetNetTotalsRequest, v1alpha.GetNetTotalsResponse] + getTransaction *connect.Client[v1alpha.GetTransactionRequest, v1alpha.GetTransactionResponse] + listSinceBlock *connect.Client[v1alpha.ListSinceBlockRequest, v1alpha.ListSinceBlockResponse] + getNewAddress *connect.Client[v1alpha.GetNewAddressRequest, v1alpha.GetNewAddressResponse] + getWalletInfo *connect.Client[v1alpha.GetWalletInfoRequest, v1alpha.GetWalletInfoResponse] + getBalances *connect.Client[v1alpha.GetBalancesRequest, v1alpha.GetBalancesResponse] + send *connect.Client[v1alpha.SendRequest, v1alpha.SendResponse] + sendToAddress *connect.Client[v1alpha.SendToAddressRequest, v1alpha.SendToAddressResponse] + bumpFee *connect.Client[v1alpha.BumpFeeRequest, v1alpha.BumpFeeResponse] + estimateSmartFee *connect.Client[v1alpha.EstimateSmartFeeRequest, v1alpha.EstimateSmartFeeResponse] + importDescriptors *connect.Client[v1alpha.ImportDescriptorsRequest, v1alpha.ImportDescriptorsResponse] + listWallets *connect.Client[emptypb.Empty, v1alpha.ListWalletsResponse] + listUnspent *connect.Client[v1alpha.ListUnspentRequest, v1alpha.ListUnspentResponse] + listTransactions *connect.Client[v1alpha.ListTransactionsRequest, v1alpha.ListTransactionsResponse] + getDescriptorInfo *connect.Client[v1alpha.GetDescriptorInfoRequest, v1alpha.GetDescriptorInfoResponse] + getAddressInfo *connect.Client[v1alpha.GetAddressInfoRequest, v1alpha.GetAddressInfoResponse] + getRawMempool *connect.Client[v1alpha.GetRawMempoolRequest, v1alpha.GetRawMempoolResponse] + getRawTransaction *connect.Client[v1alpha.GetRawTransactionRequest, v1alpha.GetRawTransactionResponse] + decodeRawTransaction *connect.Client[v1alpha.DecodeRawTransactionRequest, v1alpha.DecodeRawTransactionResponse] + createRawTransaction *connect.Client[v1alpha.CreateRawTransactionRequest, v1alpha.CreateRawTransactionResponse] + sendRawTransaction *connect.Client[v1alpha.SendRawTransactionRequest, v1alpha.SendRawTransactionResponse] + signRawTransactionWithWallet *connect.Client[v1alpha.SignRawTransactionWithWalletRequest, v1alpha.SignRawTransactionWithWalletResponse] + getBlock *connect.Client[v1alpha.GetBlockRequest, v1alpha.GetBlockResponse] + getBlockHash *connect.Client[v1alpha.GetBlockHashRequest, v1alpha.GetBlockHashResponse] + createWallet *connect.Client[v1alpha.CreateWalletRequest, v1alpha.CreateWalletResponse] + loadWallet *connect.Client[v1alpha.LoadWalletRequest, v1alpha.LoadWalletResponse] + backupWallet *connect.Client[v1alpha.BackupWalletRequest, v1alpha.BackupWalletResponse] + unloadWallet *connect.Client[v1alpha.UnloadWalletRequest, v1alpha.UnloadWalletResponse] + keyPoolRefill *connect.Client[v1alpha.KeyPoolRefillRequest, v1alpha.KeyPoolRefillResponse] + getAccount *connect.Client[v1alpha.GetAccountRequest, v1alpha.GetAccountResponse] + setAccount *connect.Client[v1alpha.SetAccountRequest, v1alpha.SetAccountResponse] + getAddressesByAccount *connect.Client[v1alpha.GetAddressesByAccountRequest, v1alpha.GetAddressesByAccountResponse] + listAccounts *connect.Client[v1alpha.ListAccountsRequest, v1alpha.ListAccountsResponse] + createMultisig *connect.Client[v1alpha.CreateMultisigRequest, v1alpha.CreateMultisigResponse] + createPsbt *connect.Client[v1alpha.CreatePsbtRequest, v1alpha.CreatePsbtResponse] + decodePsbt *connect.Client[v1alpha.DecodePsbtRequest, v1alpha.DecodePsbtResponse] + analyzePsbt *connect.Client[v1alpha.AnalyzePsbtRequest, v1alpha.AnalyzePsbtResponse] + combinePsbt *connect.Client[v1alpha.CombinePsbtRequest, v1alpha.CombinePsbtResponse] + utxoUpdatePsbt *connect.Client[v1alpha.UtxoUpdatePsbtRequest, v1alpha.UtxoUpdatePsbtResponse] + joinPsbts *connect.Client[v1alpha.JoinPsbtsRequest, v1alpha.JoinPsbtsResponse] + testMempoolAccept *connect.Client[v1alpha.TestMempoolAcceptRequest, v1alpha.TestMempoolAcceptResponse] + getZmqNotifications *connect.Client[emptypb.Empty, v1alpha.GetZmqNotificationsResponse] } // GetBlockchainInfo calls bitcoin.bitcoind.v1alpha.BitcoinService.GetBlockchainInfo. @@ -673,6 +684,12 @@ func (c *bitcoinServiceClient) SendRawTransaction(ctx context.Context, req *conn return c.sendRawTransaction.CallUnary(ctx, req) } +// SignRawTransactionWithWallet calls +// bitcoin.bitcoind.v1alpha.BitcoinService.SignRawTransactionWithWallet. +func (c *bitcoinServiceClient) SignRawTransactionWithWallet(ctx context.Context, req *connect.Request[v1alpha.SignRawTransactionWithWalletRequest]) (*connect.Response[v1alpha.SignRawTransactionWithWalletResponse], error) { + return c.signRawTransactionWithWallet.CallUnary(ctx, req) +} + // GetBlock calls bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock. func (c *bitcoinServiceClient) GetBlock(ctx context.Context, req *connect.Request[v1alpha.GetBlockRequest]) (*connect.Response[v1alpha.GetBlockResponse], error) { return c.getBlock.CallUnary(ctx, req) @@ -807,6 +824,7 @@ type BitcoinServiceHandler interface { DecodeRawTransaction(context.Context, *connect.Request[v1alpha.DecodeRawTransactionRequest]) (*connect.Response[v1alpha.DecodeRawTransactionResponse], error) CreateRawTransaction(context.Context, *connect.Request[v1alpha.CreateRawTransactionRequest]) (*connect.Response[v1alpha.CreateRawTransactionResponse], error) SendRawTransaction(context.Context, *connect.Request[v1alpha.SendRawTransactionRequest]) (*connect.Response[v1alpha.SendRawTransactionResponse], error) + SignRawTransactionWithWallet(context.Context, *connect.Request[v1alpha.SignRawTransactionWithWalletRequest]) (*connect.Response[v1alpha.SignRawTransactionWithWalletResponse], error) GetBlock(context.Context, *connect.Request[v1alpha.GetBlockRequest]) (*connect.Response[v1alpha.GetBlockResponse], error) GetBlockHash(context.Context, *connect.Request[v1alpha.GetBlockHashRequest]) (*connect.Response[v1alpha.GetBlockHashResponse], error) // Wallet management @@ -987,6 +1005,12 @@ func NewBitcoinServiceHandler(svc BitcoinServiceHandler, opts ...connect.Handler connect.WithSchema(bitcoinServiceMethods.ByName("SendRawTransaction")), connect.WithHandlerOptions(opts...), ) + bitcoinServiceSignRawTransactionWithWalletHandler := connect.NewUnaryHandler( + BitcoinServiceSignRawTransactionWithWalletProcedure, + svc.SignRawTransactionWithWallet, + connect.WithSchema(bitcoinServiceMethods.ByName("SignRawTransactionWithWallet")), + connect.WithHandlerOptions(opts...), + ) bitcoinServiceGetBlockHandler := connect.NewUnaryHandler( BitcoinServiceGetBlockProcedure, svc.GetBlock, @@ -1157,6 +1181,8 @@ func NewBitcoinServiceHandler(svc BitcoinServiceHandler, opts ...connect.Handler bitcoinServiceCreateRawTransactionHandler.ServeHTTP(w, r) case BitcoinServiceSendRawTransactionProcedure: bitcoinServiceSendRawTransactionHandler.ServeHTTP(w, r) + case BitcoinServiceSignRawTransactionWithWalletProcedure: + bitcoinServiceSignRawTransactionWithWalletHandler.ServeHTTP(w, r) case BitcoinServiceGetBlockProcedure: bitcoinServiceGetBlockHandler.ServeHTTP(w, r) case BitcoinServiceGetBlockHashProcedure: @@ -1302,6 +1328,10 @@ func (UnimplementedBitcoinServiceHandler) SendRawTransaction(context.Context, *c return nil, connect.NewError(connect.CodeUnimplemented, errors.New("bitcoin.bitcoind.v1alpha.BitcoinService.SendRawTransaction is not implemented")) } +func (UnimplementedBitcoinServiceHandler) SignRawTransactionWithWallet(context.Context, *connect.Request[v1alpha.SignRawTransactionWithWalletRequest]) (*connect.Response[v1alpha.SignRawTransactionWithWalletResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("bitcoin.bitcoind.v1alpha.BitcoinService.SignRawTransactionWithWallet is not implemented")) +} + func (UnimplementedBitcoinServiceHandler) GetBlock(context.Context, *connect.Request[v1alpha.GetBlockRequest]) (*connect.Response[v1alpha.GetBlockResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("bitcoin.bitcoind.v1alpha.BitcoinService.GetBlock is not implemented")) } diff --git a/proto/bitcoin/bitcoind/v1alpha/bitcoin.proto b/proto/bitcoin/bitcoind/v1alpha/bitcoin.proto index fe308d1..0f07ba8 100644 --- a/proto/bitcoin/bitcoind/v1alpha/bitcoin.proto +++ b/proto/bitcoin/bitcoind/v1alpha/bitcoin.proto @@ -45,6 +45,7 @@ service BitcoinService { rpc DecodeRawTransaction(DecodeRawTransactionRequest) returns (DecodeRawTransactionResponse); rpc CreateRawTransaction(CreateRawTransactionRequest) returns (CreateRawTransactionResponse); rpc SendRawTransaction(SendRawTransactionRequest) returns (SendRawTransactionResponse); + rpc SignRawTransactionWithWallet(SignRawTransactionWithWalletRequest) returns (SignRawTransactionWithWalletResponse); rpc GetBlock(GetBlockRequest) returns (GetBlockResponse); rpc GetBlockHash(GetBlockHashRequest) returns (GetBlockHashResponse); @@ -1283,3 +1284,36 @@ message GetZmqNotificationsResponse { } repeated Notification notifications = 1; } + +message SignRawTransactionWithWalletRequest { + // The transaction hex string + string hex_string = 1; + + // Only needs to be set if dealing with multiple wallets at the same time. + string wallet = 2; +} + +message SignRawTransactionWithWalletResponse { + // The hex-encoded raw transaction with signature(s) + string hex = 1; + + // If the transaction has a complete set of signatures + bool complete = 2; + + // Script verification errors (if there are any) + message Error { + // The hash of the referenced, previous transaction + string txid = 1; + // The index of the output to spent and used as input + uint32 vout = 2; + // The witness data + repeated string witness = 3; + // The hex-encoded signature script + string script_sig = 4; + // Script sequence number + uint32 sequence = 5; + // Verification or signing error related to the input + string error = 6; + } + repeated Error errors = 3; +} diff --git a/server/server.go b/server/server.go index 6a25bfa..5f94f39 100644 --- a/server/server.go +++ b/server/server.go @@ -1709,6 +1709,56 @@ func (b *Bitcoind) SendRawTransaction(ctx context.Context, c *connect.Request[pb }) } +// SignRawTransactionWithWallet implements bitcoindv1alphaconnect.BitcoinServiceHandler. +func (b *Bitcoind) SignRawTransactionWithWallet(ctx context.Context, c *connect.Request[pb.SignRawTransactionWithWalletRequest]) (*connect.Response[pb.SignRawTransactionWithWalletResponse], error) { + if c.Msg.HexString == "" { + return nil, connect.NewError(connect.CodeInvalidArgument, errors.New("hex_string is required")) + } + + rpc, err := b.rpcForWallet(ctx, c.Msg) + if err != nil { + return nil, err + } + + return withCancel( + ctx, b.conf, + func(ctx context.Context) (btcjson.SignRawTransactionWithWalletResult, error) { + cmd, err := btcjson.NewCmd("signrawtransactionwithwallet", c.Msg.HexString) + if err != nil { + return btcjson.SignRawTransactionWithWalletResult{}, err + } + + res, err := rpcclient.ReceiveFuture(rpc.SendCmd(ctx, cmd)) + if err != nil { + return btcjson.SignRawTransactionWithWalletResult{}, fmt.Errorf("send signrawtransactionwithwallet: %w", err) + } + + var result btcjson.SignRawTransactionWithWalletResult + if err := json.Unmarshal(res, &result); err != nil { + return btcjson.SignRawTransactionWithWalletResult{}, fmt.Errorf("unmarshal signrawtransactionwithwallet response: %w", err) + } + + return result, nil + }, + func(r btcjson.SignRawTransactionWithWalletResult) *pb.SignRawTransactionWithWalletResponse { + var errors []*pb.SignRawTransactionWithWalletResponse_Error + for _, e := range r.Errors { + errors = append(errors, &pb.SignRawTransactionWithWalletResponse_Error{ + Txid: e.TxID, + Vout: e.Vout, + ScriptSig: e.ScriptSig, + Sequence: e.Sequence, + Error: e.Error, + }) + } + return &pb.SignRawTransactionWithWalletResponse{ + Hex: r.Hex, + Complete: r.Complete, + Errors: errors, + } + }) +} + // DecodePsbt implements bitcoindv1alphaconnect.BitcoinServiceHandler. func (b *Bitcoind) DecodePsbt(ctx context.Context, c *connect.Request[pb.DecodePsbtRequest]) (*connect.Response[pb.DecodePsbtResponse], error) { if c.Msg.Psbt == "" {