lnrpc 0.14.3.1 → 0.15.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,106 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: neutrinorpc/neutrino.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("neutrinorpc/neutrino.proto", :syntax => :proto3) do
8
+ add_message "neutrinorpc.StatusRequest" do
9
+ end
10
+ add_message "neutrinorpc.StatusResponse" do
11
+ optional :active, :bool, 1
12
+ optional :synced, :bool, 2
13
+ optional :block_height, :int32, 3
14
+ optional :block_hash, :string, 4
15
+ repeated :peers, :string, 5
16
+ end
17
+ add_message "neutrinorpc.AddPeerRequest" do
18
+ optional :peer_addrs, :string, 1
19
+ end
20
+ add_message "neutrinorpc.AddPeerResponse" do
21
+ end
22
+ add_message "neutrinorpc.DisconnectPeerRequest" do
23
+ optional :peer_addrs, :string, 1
24
+ end
25
+ add_message "neutrinorpc.DisconnectPeerResponse" do
26
+ end
27
+ add_message "neutrinorpc.IsBannedRequest" do
28
+ optional :peer_addrs, :string, 1
29
+ end
30
+ add_message "neutrinorpc.IsBannedResponse" do
31
+ optional :banned, :bool, 1
32
+ end
33
+ add_message "neutrinorpc.GetBlockHeaderRequest" do
34
+ optional :hash, :string, 1
35
+ end
36
+ add_message "neutrinorpc.GetBlockHeaderResponse" do
37
+ optional :hash, :string, 1
38
+ optional :confirmations, :int64, 2
39
+ optional :stripped_size, :int64, 3
40
+ optional :size, :int64, 4
41
+ optional :weight, :int64, 5
42
+ optional :height, :int32, 6
43
+ optional :version, :int32, 7
44
+ optional :version_hex, :string, 8
45
+ optional :merkleroot, :string, 9
46
+ optional :time, :int64, 10
47
+ optional :nonce, :uint32, 11
48
+ optional :bits, :string, 12
49
+ optional :ntx, :int32, 13
50
+ optional :previous_block_hash, :string, 14
51
+ optional :raw_hex, :bytes, 15
52
+ end
53
+ add_message "neutrinorpc.GetBlockRequest" do
54
+ optional :hash, :string, 1
55
+ end
56
+ add_message "neutrinorpc.GetBlockResponse" do
57
+ optional :hash, :string, 1
58
+ optional :confirmations, :int64, 2
59
+ optional :stripped_size, :int64, 3
60
+ optional :size, :int64, 4
61
+ optional :weight, :int64, 5
62
+ optional :height, :int32, 6
63
+ optional :version, :int32, 7
64
+ optional :version_hex, :string, 8
65
+ optional :merkleroot, :string, 9
66
+ repeated :tx, :string, 10
67
+ optional :time, :int64, 11
68
+ optional :nonce, :uint32, 12
69
+ optional :bits, :string, 13
70
+ optional :ntx, :int32, 14
71
+ optional :previous_block_hash, :string, 15
72
+ optional :raw_hex, :bytes, 16
73
+ end
74
+ add_message "neutrinorpc.GetCFilterRequest" do
75
+ optional :hash, :string, 1
76
+ end
77
+ add_message "neutrinorpc.GetCFilterResponse" do
78
+ optional :filter, :bytes, 1
79
+ end
80
+ add_message "neutrinorpc.GetBlockHashRequest" do
81
+ optional :height, :int32, 1
82
+ end
83
+ add_message "neutrinorpc.GetBlockHashResponse" do
84
+ optional :hash, :string, 1
85
+ end
86
+ end
87
+ end
88
+
89
+ module Neutrinorpc
90
+ StatusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.StatusRequest").msgclass
91
+ StatusResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.StatusResponse").msgclass
92
+ AddPeerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.AddPeerRequest").msgclass
93
+ AddPeerResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.AddPeerResponse").msgclass
94
+ DisconnectPeerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.DisconnectPeerRequest").msgclass
95
+ DisconnectPeerResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.DisconnectPeerResponse").msgclass
96
+ IsBannedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.IsBannedRequest").msgclass
97
+ IsBannedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.IsBannedResponse").msgclass
98
+ GetBlockHeaderRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.GetBlockHeaderRequest").msgclass
99
+ GetBlockHeaderResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.GetBlockHeaderResponse").msgclass
100
+ GetBlockRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.GetBlockRequest").msgclass
101
+ GetBlockResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.GetBlockResponse").msgclass
102
+ GetCFilterRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.GetCFilterRequest").msgclass
103
+ GetCFilterResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.GetCFilterResponse").msgclass
104
+ GetBlockHashRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.GetBlockHashRequest").msgclass
105
+ GetBlockHashResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("neutrinorpc.GetBlockHashResponse").msgclass
106
+ end
@@ -0,0 +1,51 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: neutrinorpc/neutrino.proto for package 'neutrinorpc'
3
+
4
+ require 'grpc'
5
+ require 'neutrinorpc/neutrino_pb'
6
+
7
+ module Neutrinorpc
8
+ module NeutrinoKit
9
+ # NeutrinoKit is a service that can be used to get information about the
10
+ # current state of the neutrino instance, fetch blocks and add/remove peers.
11
+ class Service
12
+
13
+ include ::GRPC::GenericService
14
+
15
+ self.marshal_class_method = :encode
16
+ self.unmarshal_class_method = :decode
17
+ self.service_name = 'neutrinorpc.NeutrinoKit'
18
+
19
+ #
20
+ # Status returns the status of the light client neutrino instance,
21
+ # along with height and hash of the best block, and a list of connected
22
+ # peers.
23
+ rpc :Status, ::Neutrinorpc::StatusRequest, ::Neutrinorpc::StatusResponse
24
+ #
25
+ # AddPeer adds a new peer that has already been connected to the server.
26
+ rpc :AddPeer, ::Neutrinorpc::AddPeerRequest, ::Neutrinorpc::AddPeerResponse
27
+ #
28
+ # DisconnectPeer disconnects a peer by target address. Both outbound and
29
+ # inbound nodes will be searched for the target node. An error message will
30
+ # be returned if the peer was not found.
31
+ rpc :DisconnectPeer, ::Neutrinorpc::DisconnectPeerRequest, ::Neutrinorpc::DisconnectPeerResponse
32
+ #
33
+ # IsBanned returns true if the peer is banned, otherwise false.
34
+ rpc :IsBanned, ::Neutrinorpc::IsBannedRequest, ::Neutrinorpc::IsBannedResponse
35
+ #
36
+ # GetBlockHeader returns a block header with a particular block hash.
37
+ rpc :GetBlockHeader, ::Neutrinorpc::GetBlockHeaderRequest, ::Neutrinorpc::GetBlockHeaderResponse
38
+ #
39
+ # GetBlock returns a block with a particular block hash.
40
+ rpc :GetBlock, ::Neutrinorpc::GetBlockRequest, ::Neutrinorpc::GetBlockResponse
41
+ #
42
+ # GetCFilter returns a compact filter from a block.
43
+ rpc :GetCFilter, ::Neutrinorpc::GetCFilterRequest, ::Neutrinorpc::GetCFilterResponse
44
+ #
45
+ # GetBlockHash returns the header hash of a block at a given height.
46
+ rpc :GetBlockHash, ::Neutrinorpc::GetBlockHashRequest, ::Neutrinorpc::GetBlockHashResponse
47
+ end
48
+
49
+ Stub = Service.rpc_stub_class
50
+ end
51
+ end
@@ -0,0 +1,48 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: peersrpc/peers.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'lightning_pb'
7
+
8
+ Google::Protobuf::DescriptorPool.generated_pool.build do
9
+ add_file("peersrpc/peers.proto", :syntax => :proto3) do
10
+ add_message "peersrpc.UpdateAddressAction" do
11
+ optional :action, :enum, 1, "peersrpc.UpdateAction"
12
+ optional :address, :string, 2
13
+ end
14
+ add_message "peersrpc.UpdateFeatureAction" do
15
+ optional :action, :enum, 1, "peersrpc.UpdateAction"
16
+ optional :feature_bit, :enum, 2, "lnrpc.FeatureBit"
17
+ end
18
+ add_message "peersrpc.NodeAnnouncementUpdateRequest" do
19
+ repeated :feature_updates, :message, 1, "peersrpc.UpdateFeatureAction"
20
+ optional :color, :string, 2
21
+ optional :alias, :string, 3
22
+ repeated :address_updates, :message, 4, "peersrpc.UpdateAddressAction"
23
+ end
24
+ add_message "peersrpc.NodeAnnouncementUpdateResponse" do
25
+ repeated :ops, :message, 1, "lnrpc.Op"
26
+ end
27
+ add_enum "peersrpc.UpdateAction" do
28
+ value :ADD, 0
29
+ value :REMOVE, 1
30
+ end
31
+ add_enum "peersrpc.FeatureSet" do
32
+ value :SET_INIT, 0
33
+ value :SET_LEGACY_GLOBAL, 1
34
+ value :SET_NODE_ANN, 2
35
+ value :SET_INVOICE, 3
36
+ value :SET_INVOICE_AMP, 4
37
+ end
38
+ end
39
+ end
40
+
41
+ module Peersrpc
42
+ UpdateAddressAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("peersrpc.UpdateAddressAction").msgclass
43
+ UpdateFeatureAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("peersrpc.UpdateFeatureAction").msgclass
44
+ NodeAnnouncementUpdateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("peersrpc.NodeAnnouncementUpdateRequest").msgclass
45
+ NodeAnnouncementUpdateResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("peersrpc.NodeAnnouncementUpdateResponse").msgclass
46
+ UpdateAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("peersrpc.UpdateAction").enummodule
47
+ FeatureSet = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("peersrpc.FeatureSet").enummodule
48
+ end
@@ -0,0 +1,27 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: peersrpc/peers.proto for package 'peersrpc'
3
+
4
+ require 'grpc'
5
+ require 'peersrpc/peers_pb'
6
+
7
+ module Peersrpc
8
+ module Peers
9
+ # Peers is a service that can be used to get information and interact
10
+ # with the other nodes of the newtwork.
11
+ class Service
12
+
13
+ include ::GRPC::GenericService
14
+
15
+ self.marshal_class_method = :encode
16
+ self.unmarshal_class_method = :decode
17
+ self.service_name = 'peersrpc.Peers'
18
+
19
+ # lncli: peers updatenodeannouncement
20
+ # UpdateNodeAnnouncement allows the caller to update the node parameters
21
+ # and broadcasts a new version of the node announcement to its peers.
22
+ rpc :UpdateNodeAnnouncement, ::Peersrpc::NodeAnnouncementUpdateRequest, ::Peersrpc::NodeAnnouncementUpdateResponse
23
+ end
24
+
25
+ Stub = Service.rpc_stub_class
26
+ end
27
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'rpc_pb'
6
+ require 'lightning_pb'
7
7
 
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("routerrpc/router.proto", :syntax => :proto3) do
@@ -30,6 +30,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
30
30
  optional :no_inflight_updates, :bool, 18
31
31
  optional :max_shard_size_msat, :uint64, 21
32
32
  optional :amp, :bool, 22
33
+ optional :time_pref, :double, 23
33
34
  end
34
35
  add_message "routerrpc.TrackPaymentRequest" do
35
36
  optional :payment_hash, :bytes, 1
@@ -46,6 +47,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
46
47
  add_message "routerrpc.SendToRouteRequest" do
47
48
  optional :payment_hash, :bytes, 1
48
49
  optional :route, :message, 2, "lnrpc.Route"
50
+ optional :skip_temp_err, :bool, 3
49
51
  end
50
52
  add_message "routerrpc.SendToRouteResponse" do
51
53
  optional :preimage, :bytes, 1
@@ -181,6 +183,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
181
183
  optional :incoming_circuit_key, :message, 1, "routerrpc.CircuitKey"
182
184
  optional :action, :enum, 2, "routerrpc.ResolveHoldForwardAction"
183
185
  optional :preimage, :bytes, 3
186
+ optional :failure_message, :bytes, 4
187
+ optional :failure_code, :enum, 5, "lnrpc.Failure.FailureCode"
184
188
  end
185
189
  add_message "routerrpc.UpdateChanStatusRequest" do
186
190
  optional :chan_point, :message, 1, "lnrpc.ChannelPoint"
@@ -21,14 +21,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
21
21
  optional :key_desc, :message, 1, "signrpc.KeyDescriptor"
22
22
  optional :single_tweak, :bytes, 2
23
23
  optional :double_tweak, :bytes, 3
24
+ optional :tap_tweak, :bytes, 10
24
25
  optional :witness_script, :bytes, 4
25
26
  optional :output, :message, 5, "signrpc.TxOut"
26
27
  optional :sighash, :uint32, 7
27
28
  optional :input_index, :int32, 8
29
+ optional :sign_method, :enum, 9, "signrpc.SignMethod"
28
30
  end
29
31
  add_message "signrpc.SignReq" do
30
32
  optional :raw_tx_bytes, :bytes, 1
31
33
  repeated :sign_descs, :message, 2, "signrpc.SignDescriptor"
34
+ repeated :prev_outputs, :message, 3, "signrpc.TxOut"
32
35
  end
33
36
  add_message "signrpc.SignResp" do
34
37
  repeated :raw_sigs, :bytes, 1
@@ -45,6 +48,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
45
48
  optional :key_loc, :message, 2, "signrpc.KeyLocator"
46
49
  optional :double_hash, :bool, 3
47
50
  optional :compact_sig, :bool, 4
51
+ optional :schnorr_sig, :bool, 5
52
+ optional :schnorr_sig_tap_tweak, :bytes, 6
48
53
  end
49
54
  add_message "signrpc.SignMessageResp" do
50
55
  optional :signature, :bytes, 1
@@ -53,6 +58,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
53
58
  optional :msg, :bytes, 1
54
59
  optional :signature, :bytes, 2
55
60
  optional :pubkey, :bytes, 3
61
+ optional :is_schnorr_sig, :bool, 4
56
62
  end
57
63
  add_message "signrpc.VerifyMessageResp" do
58
64
  optional :valid, :bool, 1
@@ -65,6 +71,71 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
65
71
  add_message "signrpc.SharedKeyResponse" do
66
72
  optional :shared_key, :bytes, 1
67
73
  end
74
+ add_message "signrpc.TweakDesc" do
75
+ optional :tweak, :bytes, 1
76
+ optional :is_x_only, :bool, 2
77
+ end
78
+ add_message "signrpc.TaprootTweakDesc" do
79
+ optional :script_root, :bytes, 1
80
+ optional :key_spend_only, :bool, 2
81
+ end
82
+ add_message "signrpc.MuSig2CombineKeysRequest" do
83
+ repeated :all_signer_pubkeys, :bytes, 1
84
+ repeated :tweaks, :message, 2, "signrpc.TweakDesc"
85
+ optional :taproot_tweak, :message, 3, "signrpc.TaprootTweakDesc"
86
+ end
87
+ add_message "signrpc.MuSig2CombineKeysResponse" do
88
+ optional :combined_key, :bytes, 1
89
+ optional :taproot_internal_key, :bytes, 2
90
+ end
91
+ add_message "signrpc.MuSig2SessionRequest" do
92
+ optional :key_loc, :message, 1, "signrpc.KeyLocator"
93
+ repeated :all_signer_pubkeys, :bytes, 2
94
+ repeated :other_signer_public_nonces, :bytes, 3
95
+ repeated :tweaks, :message, 4, "signrpc.TweakDesc"
96
+ optional :taproot_tweak, :message, 5, "signrpc.TaprootTweakDesc"
97
+ end
98
+ add_message "signrpc.MuSig2SessionResponse" do
99
+ optional :session_id, :bytes, 1
100
+ optional :combined_key, :bytes, 2
101
+ optional :taproot_internal_key, :bytes, 3
102
+ optional :local_public_nonces, :bytes, 4
103
+ optional :have_all_nonces, :bool, 5
104
+ end
105
+ add_message "signrpc.MuSig2RegisterNoncesRequest" do
106
+ optional :session_id, :bytes, 1
107
+ repeated :other_signer_public_nonces, :bytes, 3
108
+ end
109
+ add_message "signrpc.MuSig2RegisterNoncesResponse" do
110
+ optional :have_all_nonces, :bool, 1
111
+ end
112
+ add_message "signrpc.MuSig2SignRequest" do
113
+ optional :session_id, :bytes, 1
114
+ optional :message_digest, :bytes, 2
115
+ optional :cleanup, :bool, 3
116
+ end
117
+ add_message "signrpc.MuSig2SignResponse" do
118
+ optional :local_partial_signature, :bytes, 1
119
+ end
120
+ add_message "signrpc.MuSig2CombineSigRequest" do
121
+ optional :session_id, :bytes, 1
122
+ repeated :other_partial_signatures, :bytes, 2
123
+ end
124
+ add_message "signrpc.MuSig2CombineSigResponse" do
125
+ optional :have_all_signatures, :bool, 1
126
+ optional :final_signature, :bytes, 2
127
+ end
128
+ add_message "signrpc.MuSig2CleanupRequest" do
129
+ optional :session_id, :bytes, 1
130
+ end
131
+ add_message "signrpc.MuSig2CleanupResponse" do
132
+ end
133
+ add_enum "signrpc.SignMethod" do
134
+ value :SIGN_METHOD_WITNESS_V0, 0
135
+ value :SIGN_METHOD_TAPROOT_KEY_SPEND_BIP0086, 1
136
+ value :SIGN_METHOD_TAPROOT_KEY_SPEND, 2
137
+ value :SIGN_METHOD_TAPROOT_SCRIPT_SPEND, 3
138
+ end
68
139
  end
69
140
  end
70
141
 
@@ -83,4 +154,19 @@ module Signrpc
83
154
  VerifyMessageResp = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.VerifyMessageResp").msgclass
84
155
  SharedKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.SharedKeyRequest").msgclass
85
156
  SharedKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.SharedKeyResponse").msgclass
157
+ TweakDesc = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.TweakDesc").msgclass
158
+ TaprootTweakDesc = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.TaprootTweakDesc").msgclass
159
+ MuSig2CombineKeysRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2CombineKeysRequest").msgclass
160
+ MuSig2CombineKeysResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2CombineKeysResponse").msgclass
161
+ MuSig2SessionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2SessionRequest").msgclass
162
+ MuSig2SessionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2SessionResponse").msgclass
163
+ MuSig2RegisterNoncesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2RegisterNoncesRequest").msgclass
164
+ MuSig2RegisterNoncesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2RegisterNoncesResponse").msgclass
165
+ MuSig2SignRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2SignRequest").msgclass
166
+ MuSig2SignResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2SignResponse").msgclass
167
+ MuSig2CombineSigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2CombineSigRequest").msgclass
168
+ MuSig2CombineSigResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2CombineSigResponse").msgclass
169
+ MuSig2CleanupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2CleanupRequest").msgclass
170
+ MuSig2CleanupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2CleanupResponse").msgclass
171
+ SignMethod = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.SignMethod").enummodule
86
172
  end
@@ -29,8 +29,8 @@ module Signrpc
29
29
  #
30
30
  # ComputeInputScript generates a complete InputIndex for the passed
31
31
  # transaction with the signature as defined within the passed SignDescriptor.
32
- # This method should be capable of generating the proper input script for
33
- # both regular p2wkh output and p2wkh outputs nested within a regular p2sh
32
+ # This method should be capable of generating the proper input script for both
33
+ # regular p2wkh/p2tr outputs and p2wkh outputs nested within a regular p2sh
34
34
  # output.
35
35
  #
36
36
  # Note that when using this method to sign inputs belonging to the wallet,
@@ -62,6 +62,71 @@ module Signrpc
62
62
  # The resulting shared public key is serialized in the compressed format and
63
63
  # hashed with sha256, resulting in the final key length of 256bit.
64
64
  rpc :DeriveSharedKey, ::Signrpc::SharedKeyRequest, ::Signrpc::SharedKeyResponse
65
+ #
66
+ # MuSig2CombineKeys (experimental!) is a stateless helper RPC that can be used
67
+ # to calculate the combined MuSig2 public key from a list of all participating
68
+ # signers' public keys. This RPC is completely stateless and deterministic and
69
+ # does not create any signing session. It can be used to determine the Taproot
70
+ # public key that should be put in an on-chain output once all public keys are
71
+ # known. A signing session is only needed later when that output should be
72
+ # _spent_ again.
73
+ #
74
+ # NOTE: The MuSig2 BIP is not final yet and therefore this API must be
75
+ # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
76
+ # releases. Backward compatibility is not guaranteed!
77
+ rpc :MuSig2CombineKeys, ::Signrpc::MuSig2CombineKeysRequest, ::Signrpc::MuSig2CombineKeysResponse
78
+ #
79
+ # MuSig2CreateSession (experimental!) creates a new MuSig2 signing session
80
+ # using the local key identified by the key locator. The complete list of all
81
+ # public keys of all signing parties must be provided, including the public
82
+ # key of the local signing key. If nonces of other parties are already known,
83
+ # they can be submitted as well to reduce the number of RPC calls necessary
84
+ # later on.
85
+ #
86
+ # NOTE: The MuSig2 BIP is not final yet and therefore this API must be
87
+ # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
88
+ # releases. Backward compatibility is not guaranteed!
89
+ rpc :MuSig2CreateSession, ::Signrpc::MuSig2SessionRequest, ::Signrpc::MuSig2SessionResponse
90
+ #
91
+ # MuSig2RegisterNonces (experimental!) registers one or more public nonces of
92
+ # other signing participants for a session identified by its ID. This RPC can
93
+ # be called multiple times until all nonces are registered.
94
+ #
95
+ # NOTE: The MuSig2 BIP is not final yet and therefore this API must be
96
+ # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
97
+ # releases. Backward compatibility is not guaranteed!
98
+ rpc :MuSig2RegisterNonces, ::Signrpc::MuSig2RegisterNoncesRequest, ::Signrpc::MuSig2RegisterNoncesResponse
99
+ #
100
+ # MuSig2Sign (experimental!) creates a partial signature using the local
101
+ # signing key that was specified when the session was created. This can only
102
+ # be called when all public nonces of all participants are known and have been
103
+ # registered with the session. If this node isn't responsible for combining
104
+ # all the partial signatures, then the cleanup flag should be set, indicating
105
+ # that the session can be removed from memory once the signature was produced.
106
+ #
107
+ # NOTE: The MuSig2 BIP is not final yet and therefore this API must be
108
+ # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
109
+ # releases. Backward compatibility is not guaranteed!
110
+ rpc :MuSig2Sign, ::Signrpc::MuSig2SignRequest, ::Signrpc::MuSig2SignResponse
111
+ #
112
+ # MuSig2CombineSig (experimental!) combines the given partial signature(s)
113
+ # with the local one, if it already exists. Once a partial signature of all
114
+ # participants is registered, the final signature will be combined and
115
+ # returned.
116
+ #
117
+ # NOTE: The MuSig2 BIP is not final yet and therefore this API must be
118
+ # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
119
+ # releases. Backward compatibility is not guaranteed!
120
+ rpc :MuSig2CombineSig, ::Signrpc::MuSig2CombineSigRequest, ::Signrpc::MuSig2CombineSigResponse
121
+ #
122
+ # MuSig2Cleanup (experimental!) allows a caller to clean up a session early in
123
+ # cases where it's obvious that the signing session won't succeed and the
124
+ # resources can be released.
125
+ #
126
+ # NOTE: The MuSig2 BIP is not final yet and therefore this API must be
127
+ # considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
128
+ # releases. Backward compatibility is not guaranteed!
129
+ rpc :MuSig2Cleanup, ::Signrpc::MuSig2CleanupRequest, ::Signrpc::MuSig2CleanupResponse
65
130
  end
66
131
 
67
132
  Stub = Service.rpc_stub_class
@@ -0,0 +1,35 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: stateservice.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("stateservice.proto", :syntax => :proto3) do
8
+ add_message "lnrpc.SubscribeStateRequest" do
9
+ end
10
+ add_message "lnrpc.SubscribeStateResponse" do
11
+ optional :state, :enum, 1, "lnrpc.WalletState"
12
+ end
13
+ add_message "lnrpc.GetStateRequest" do
14
+ end
15
+ add_message "lnrpc.GetStateResponse" do
16
+ optional :state, :enum, 1, "lnrpc.WalletState"
17
+ end
18
+ add_enum "lnrpc.WalletState" do
19
+ value :NON_EXISTING, 0
20
+ value :LOCKED, 1
21
+ value :UNLOCKED, 2
22
+ value :RPC_ACTIVE, 3
23
+ value :SERVER_ACTIVE, 4
24
+ value :WAITING_TO_START, 255
25
+ end
26
+ end
27
+ end
28
+
29
+ module Lnrpc
30
+ SubscribeStateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SubscribeStateRequest").msgclass
31
+ SubscribeStateResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SubscribeStateResponse").msgclass
32
+ GetStateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GetStateRequest").msgclass
33
+ GetStateResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GetStateResponse").msgclass
34
+ WalletState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.WalletState").enummodule
35
+ end
@@ -0,0 +1,46 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: stateservice.proto for package 'lnrpc'
3
+
4
+ require 'grpc'
5
+ require 'stateservice_pb'
6
+
7
+ module Lnrpc
8
+ module State
9
+ #
10
+ # Comments in this file will be directly parsed into the API
11
+ # Documentation as descriptions of the associated method, message, or field.
12
+ # These descriptions should go right above the definition of the object, and
13
+ # can be in either block or // comment format.
14
+ #
15
+ # An RPC method can be matched to an lncli command by placing a line in the
16
+ # beginning of the description in exactly the following format:
17
+ # lncli: `methodname`
18
+ #
19
+ # Failure to specify the exact name of the command will cause documentation
20
+ # generation to fail.
21
+ #
22
+ # More information on how exactly the gRPC documentation is generated from
23
+ # this proto file can be found here:
24
+ # https://github.com/lightninglabs/lightning-api
25
+ #
26
+ # State service is a always running service that exposes the current state of
27
+ # the wallet and RPC server.
28
+ class Service
29
+
30
+ include ::GRPC::GenericService
31
+
32
+ self.marshal_class_method = :encode
33
+ self.unmarshal_class_method = :decode
34
+ self.service_name = 'lnrpc.State'
35
+
36
+ # SubscribeState subscribes to the state of the wallet. The current wallet
37
+ # state will always be delivered immediately.
38
+ rpc :SubscribeState, ::Lnrpc::SubscribeStateRequest, stream(::Lnrpc::SubscribeStateResponse)
39
+ # GetState returns the current wallet state without streaming further
40
+ # changes.
41
+ rpc :GetState, ::Lnrpc::GetStateRequest, ::Lnrpc::GetStateResponse
42
+ end
43
+
44
+ Stub = Service.rpc_stub_class
45
+ end
46
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'rpc_pb'
6
+ require 'lightning_pb'
7
7
  require 'signrpc/signer_pb'
8
8
 
9
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
@@ -12,6 +12,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
12
12
  optional :min_confs, :int32, 1
13
13
  optional :max_confs, :int32, 2
14
14
  optional :account, :string, 3
15
+ optional :unconfirmed_only, :bool, 4
15
16
  end
16
17
  add_message "walletrpc.ListUnspentResponse" do
17
18
  repeated :utxos, :message, 1, "lnrpc.Utxo"
@@ -59,6 +60,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
59
60
  add_message "walletrpc.ListAccountsResponse" do
60
61
  repeated :accounts, :message, 1, "walletrpc.Account"
61
62
  end
63
+ add_message "walletrpc.RequiredReserveRequest" do
64
+ optional :additional_public_channels, :uint32, 1
65
+ end
66
+ add_message "walletrpc.RequiredReserveResponse" do
67
+ optional :required_reserve, :int64, 1
68
+ end
62
69
  add_message "walletrpc.ImportAccountRequest" do
63
70
  optional :name, :string, 1
64
71
  optional :extended_public_key, :string, 2
@@ -172,6 +179,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
172
179
  optional :id, :bytes, 1
173
180
  optional :outpoint, :message, 2, "lnrpc.OutPoint"
174
181
  optional :expiration, :uint64, 3
182
+ optional :pk_script, :bytes, 4
183
+ optional :value, :uint64, 5
175
184
  end
176
185
  add_message "walletrpc.SignPsbtRequest" do
177
186
  optional :funded_psbt, :bytes, 1
@@ -197,6 +206,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
197
206
  value :WITNESS_PUBKEY_HASH, 1
198
207
  value :NESTED_WITNESS_PUBKEY_HASH, 2
199
208
  value :HYBRID_NESTED_WITNESS_PUBKEY_HASH, 3
209
+ value :TAPROOT_PUBKEY, 4
200
210
  end
201
211
  add_enum "walletrpc.WitnessType" do
202
212
  value :UNKNOWN_WITNESS, 0
@@ -230,6 +240,8 @@ module Walletrpc
230
240
  Account = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.Account").msgclass
231
241
  ListAccountsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListAccountsRequest").msgclass
232
242
  ListAccountsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListAccountsResponse").msgclass
243
+ RequiredReserveRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.RequiredReserveRequest").msgclass
244
+ RequiredReserveResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.RequiredReserveResponse").msgclass
233
245
  ImportAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportAccountRequest").msgclass
234
246
  ImportAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportAccountResponse").msgclass
235
247
  ImportPublicKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportPublicKeyRequest").msgclass
@@ -18,7 +18,9 @@ module Walletrpc
18
18
 
19
19
  #
20
20
  # ListUnspent returns a list of all utxos spendable by the wallet with a
21
- # number of confirmations between the specified minimum and maximum.
21
+ # number of confirmations between the specified minimum and maximum. By
22
+ # default, all utxos are listed. To list only the unconfirmed utxos, set
23
+ # the unconfirmed_only to true.
22
24
  rpc :ListUnspent, ::Walletrpc::ListUnspentRequest, ::Walletrpc::ListUnspentResponse
23
25
  #
24
26
  # LeaseOutput locks an output to the given ID, preventing it from being
@@ -53,6 +55,11 @@ module Walletrpc
53
55
  # wallet accounts and return only those matching.
54
56
  rpc :ListAccounts, ::Walletrpc::ListAccountsRequest, ::Walletrpc::ListAccountsResponse
55
57
  #
58
+ # RequiredReserve returns the minimum amount of satoshis that should be kept
59
+ # in the wallet in order to fee bump anchor channels if necessary. The value
60
+ # scales with the number of public anchor channels but is capped at a maximum.
61
+ rpc :RequiredReserve, ::Walletrpc::RequiredReserveRequest, ::Walletrpc::RequiredReserveResponse
62
+ #
56
63
  # ImportAccount imports an account backed by an account extended public key.
57
64
  # The master key fingerprint denotes the fingerprint of the root key
58
65
  # corresponding to the account public key (also known as the key with
@@ -3,7 +3,7 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
- require 'rpc_pb'
6
+ require 'lightning_pb'
7
7
 
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("walletunlocker.proto", :syntax => :proto3) do
data/lib/lnrpc/client.rb CHANGED
@@ -16,13 +16,13 @@ module Lnrpc
16
16
  if options.has_key?(:credentials)
17
17
  # if there are non hex values prvided we assume it's the certificate file as string otherwise we assume it's the hex value
18
18
  self.credentials = options[:credentials].match?(/\H/) ? options[:credentials] : [options[:credentials]].pack('H*')
19
- elsif File.exists?(::File.expand_path(options[:credentials_path] || DEFAULT_CREDENTIALS_PATH))
19
+ elsif File.exist?(::File.expand_path(options[:credentials_path] || DEFAULT_CREDENTIALS_PATH))
20
20
  self.credentials = ::File.read(::File.expand_path(options[:credentials_path] || DEFAULT_CREDENTIALS_PATH))
21
21
  else
22
22
  self.credentials = nil
23
23
  end
24
24
 
25
- if !options.has_key?(:macaroon) && File.exists?(::File.expand_path(options[:macaroon_path] || DEFAULT_MACAROON_PATH))
25
+ if !options.has_key?(:macaroon) && File.exist?(::File.expand_path(options[:macaroon_path] || DEFAULT_MACAROON_PATH))
26
26
  options[:macaroon] = ::File.read(::File.expand_path(options[:macaroon_path] || DEFAULT_MACAROON_PATH)).unpack("H*")
27
27
  end
28
28
  self.macaroon = options[:macaroon]