lnd-client 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/Gemfile.lock +8 -6
- data/README.md +23 -3
- data/components/grpc/autopilotrpc/autopilot_services_pb.rb +1 -1
- data/components/grpc/chainrpc/chainkit_services_pb.rb +1 -1
- data/components/grpc/chainrpc/chainnotifier_services_pb.rb +1 -1
- data/components/grpc/devrpc/dev_pb.rb +1 -1
- data/components/grpc/devrpc/dev_services_pb.rb +1 -1
- data/components/grpc/invoicesrpc/invoices_pb.rb +1 -1
- data/components/grpc/invoicesrpc/invoices_services_pb.rb +1 -1
- data/components/grpc/lightning_pb.rb +7 -4
- data/components/grpc/lightning_services_pb.rb +5 -1
- data/components/grpc/lnclipb/lncli_pb.rb +1 -1
- data/components/grpc/neutrinorpc/neutrino_services_pb.rb +1 -1
- data/components/grpc/peersrpc/peers_pb.rb +1 -1
- data/components/grpc/peersrpc/peers_services_pb.rb +1 -1
- data/components/grpc/routerrpc/router_pb.rb +23 -0
- data/components/grpc/signrpc/signer_pb.rb +10 -0
- data/components/grpc/signrpc/signer_services_pb.rb +1 -1
- data/components/grpc/verrpc/verrpc_services_pb.rb +1 -1
- data/components/grpc/walletrpc/walletkit_pb.rb +28 -2
- data/components/grpc/walletrpc/walletkit_services_pb.rb +36 -1
- data/components/grpc/watchtowerrpc/watchtower_services_pb.rb +1 -1
- data/components/grpc/wtclientrpc/wtclient_services_pb.rb +1 -1
- data/components/grpc.rb +29 -1
- data/controllers/documentation.rb +20 -5
- data/lnd-client.gemspec +1 -1
- data/static/spec.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d169513dce6b41f740e1ab3b5de2f7e8683d2fec7d2eed11c2eb7e801f9dcd75
|
|
4
|
+
data.tar.gz: dc117b4301560c50628f01859a3644130999b4b460c0b0799a9427e90e3c166f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f4b3d495e9753dff86d8ac04f8152dc39faeebaf1a2b34ee88b4aab4e1693154fab3d91e2b0dbdd59c609dd9447f91337b1d764b33244d29c1263cadd1704f89
|
|
7
|
+
data.tar.gz: 0062754fa1d875403b8cb3b976fcd7aea76ee12ff95fdf4e20dc28f708577df7e262a33745fd352f78ae5deef8e8bf29d64eb2d282e67c71a96e5ed093ea5d28
|
data/Gemfile
CHANGED
|
@@ -7,12 +7,13 @@ gemspec
|
|
|
7
7
|
group :test, :development do
|
|
8
8
|
gem 'babosa', '~> 2.0'
|
|
9
9
|
gem 'dotenv', '~> 2.8', '>= 2.8.1'
|
|
10
|
+
gem 'grpc-tools', '~> 1.53'
|
|
10
11
|
gem 'pry-byebug', '~> 3.10', '>= 3.10.1'
|
|
11
12
|
gem 'rainbow', '~> 3.1', '>= 3.1.1'
|
|
12
13
|
gem 'rake', '~> 13.0', '>= 13.0.6'
|
|
13
14
|
gem 'rspec', '~> 3.12'
|
|
14
|
-
gem 'rubocop', '~> 1.48'
|
|
15
|
+
gem 'rubocop', '~> 1.48', '>= 1.48.1'
|
|
15
16
|
gem 'rubocop-rake', '~> 0.6.0'
|
|
16
17
|
gem 'rubocop-rspec', '~> 2.19'
|
|
17
|
-
gem 'ruby-progressbar', '~> 1.
|
|
18
|
+
gem 'ruby-progressbar', '~> 1.13'
|
|
18
19
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
lnd-client (0.0.
|
|
5
|
-
grpc (~> 1.
|
|
4
|
+
lnd-client (0.0.9)
|
|
5
|
+
grpc (~> 1.53)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
@@ -16,9 +16,10 @@ GEM
|
|
|
16
16
|
google-protobuf (3.22.2-x86_64-linux)
|
|
17
17
|
googleapis-common-protos-types (1.5.0)
|
|
18
18
|
google-protobuf (~> 3.14)
|
|
19
|
-
grpc (1.
|
|
19
|
+
grpc (1.53.0-x86_64-linux)
|
|
20
20
|
google-protobuf (~> 3.21)
|
|
21
21
|
googleapis-common-protos-types (~> 1.0)
|
|
22
|
+
grpc-tools (1.53.0)
|
|
22
23
|
json (2.6.3)
|
|
23
24
|
method_source (1.0.0)
|
|
24
25
|
parallel (1.22.1)
|
|
@@ -57,7 +58,7 @@ GEM
|
|
|
57
58
|
rubocop-ast (>= 1.26.0, < 2.0)
|
|
58
59
|
ruby-progressbar (~> 1.7)
|
|
59
60
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
60
|
-
rubocop-ast (1.
|
|
61
|
+
rubocop-ast (1.28.0)
|
|
61
62
|
parser (>= 3.2.1.0)
|
|
62
63
|
rubocop-capybara (2.17.1)
|
|
63
64
|
rubocop (~> 1.41)
|
|
@@ -75,15 +76,16 @@ PLATFORMS
|
|
|
75
76
|
DEPENDENCIES
|
|
76
77
|
babosa (~> 2.0)
|
|
77
78
|
dotenv (~> 2.8, >= 2.8.1)
|
|
79
|
+
grpc-tools (~> 1.53)
|
|
78
80
|
lnd-client!
|
|
79
81
|
pry-byebug (~> 3.10, >= 3.10.1)
|
|
80
82
|
rainbow (~> 3.1, >= 3.1.1)
|
|
81
83
|
rake (~> 13.0, >= 13.0.6)
|
|
82
84
|
rspec (~> 3.12)
|
|
83
|
-
rubocop (~> 1.48)
|
|
85
|
+
rubocop (~> 1.48, >= 1.48.1)
|
|
84
86
|
rubocop-rake (~> 0.6.0)
|
|
85
87
|
rubocop-rspec (~> 2.19)
|
|
86
|
-
ruby-progressbar (~> 1.
|
|
88
|
+
ruby-progressbar (~> 1.13)
|
|
87
89
|
|
|
88
90
|
BUNDLED WITH
|
|
89
91
|
2.4.4
|
data/README.md
CHANGED
|
@@ -6,6 +6,7 @@ This is a low-level client library. For a better experience, you may want to che
|
|
|
6
6
|
|
|
7
7
|
- [Usage](#usage)
|
|
8
8
|
- [Documentation](https://icebaker.github.io/lnd-client)
|
|
9
|
+
- [Available Supported Services](#available-supported-services)
|
|
9
10
|
- [Development](#development)
|
|
10
11
|
- [Upgrading gRPC Proto Files](#upgrading-grpc-proto-files)
|
|
11
12
|
- [Generating Documentation](#generating-documentation)
|
|
@@ -16,13 +17,13 @@ This is a low-level client library. For a better experience, you may want to che
|
|
|
16
17
|
Add to your `Gemfile`:
|
|
17
18
|
|
|
18
19
|
```ruby
|
|
19
|
-
gem 'lnd-client', '~> 0.0.
|
|
20
|
+
gem 'lnd-client', '~> 0.0.9'
|
|
20
21
|
```
|
|
21
22
|
|
|
22
23
|
```ruby
|
|
23
24
|
require 'lnd-client'
|
|
24
25
|
|
|
25
|
-
puts LNDClient.version # => 0.0.
|
|
26
|
+
puts LNDClient.version # => 0.0.9
|
|
26
27
|
|
|
27
28
|
client = LNDClient.new(
|
|
28
29
|
'lndconnect://127.0.0.1:10009?cert=MIICJz...JBEERQ&macaroon=AgEDbG...45ukJ4'
|
|
@@ -56,6 +57,25 @@ end
|
|
|
56
57
|
|
|
57
58
|
Check the [full documentation](https://icebaker.github.io/lnd-client).
|
|
58
59
|
|
|
60
|
+
## Available Supported Services
|
|
61
|
+
|
|
62
|
+
- [autopilot](https://icebaker.github.io/lnd-client/#/README?id=autopilot)
|
|
63
|
+
- [chain_kit](https://icebaker.github.io/lnd-client/#/README?id=chain_kit)
|
|
64
|
+
- [chain_notifier](https://icebaker.github.io/lnd-client/#/README?id=chain_notifier)
|
|
65
|
+
- [dev](https://icebaker.github.io/lnd-client/#/README?id=dev)
|
|
66
|
+
- [invoices](https://icebaker.github.io/lnd-client/#/README?id=invoices)
|
|
67
|
+
- [lightning](https://icebaker.github.io/lnd-client/#/README?id=lightning)
|
|
68
|
+
- [neutrino_kit](https://icebaker.github.io/lnd-client/#/README?id=neutrino_kit)
|
|
69
|
+
- [peers](https://icebaker.github.io/lnd-client/#/README?id=peers)
|
|
70
|
+
- [router](https://icebaker.github.io/lnd-client/#/README?id=router)
|
|
71
|
+
- [signer](https://icebaker.github.io/lnd-client/#/README?id=signer)
|
|
72
|
+
- [state](https://icebaker.github.io/lnd-client/#/README?id=state)
|
|
73
|
+
- [versioner](https://icebaker.github.io/lnd-client/#/README?id=versioner)
|
|
74
|
+
- [wallet_kit](https://icebaker.github.io/lnd-client/#/README?id=wallet_kit)
|
|
75
|
+
- [wallet_unlocker](https://icebaker.github.io/lnd-client/#/README?id=wallet_unlocker)
|
|
76
|
+
- [watchtower](https://icebaker.github.io/lnd-client/#/README?id=watchtower)
|
|
77
|
+
- [watchtower_client](https://icebaker.github.io/lnd-client/#/README?id=watchtower_client)
|
|
78
|
+
|
|
59
79
|
## Development
|
|
60
80
|
|
|
61
81
|
Copy the `.env.example` file to `.env` and provide the required data.
|
|
@@ -98,5 +118,5 @@ gem build lnd-client.gemspec
|
|
|
98
118
|
|
|
99
119
|
gem signin
|
|
100
120
|
|
|
101
|
-
gem push lnd-client-0.0.
|
|
121
|
+
gem push lnd-client-0.0.9.gem
|
|
102
122
|
```
|
|
@@ -5,11 +5,11 @@ require 'google/protobuf'
|
|
|
5
5
|
|
|
6
6
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
7
7
|
add_file("lightning.proto", :syntax => :proto3) do
|
|
8
|
-
add_message "lnrpc.
|
|
8
|
+
add_message "lnrpc.LookupHtlcResolutionRequest" do
|
|
9
9
|
optional :chan_id, :uint64, 1
|
|
10
10
|
optional :htlc_index, :uint64, 2
|
|
11
11
|
end
|
|
12
|
-
add_message "lnrpc.
|
|
12
|
+
add_message "lnrpc.LookupHtlcResolutionResponse" do
|
|
13
13
|
optional :settled, :bool, 1
|
|
14
14
|
optional :offchain, :bool, 2
|
|
15
15
|
end
|
|
@@ -282,6 +282,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
282
282
|
repeated :alias_scids, :uint64, 31
|
|
283
283
|
optional :zero_conf, :bool, 32
|
|
284
284
|
optional :zero_conf_confirmed_scid, :uint64, 33
|
|
285
|
+
optional :peer_alias, :string, 34
|
|
285
286
|
end
|
|
286
287
|
add_message "lnrpc.ListChannelsRequest" do
|
|
287
288
|
optional :active_only, :bool, 1
|
|
@@ -289,6 +290,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
289
290
|
optional :public_only, :bool, 3
|
|
290
291
|
optional :private_only, :bool, 4
|
|
291
292
|
optional :peer, :bytes, 5
|
|
293
|
+
optional :peer_alias_lookup, :bool, 6
|
|
292
294
|
end
|
|
293
295
|
add_message "lnrpc.ListChannelsResponse" do
|
|
294
296
|
repeated :channels, :message, 11, "lnrpc.Channel"
|
|
@@ -409,6 +411,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
409
411
|
repeated :uris, :string, 12
|
|
410
412
|
map :features, :uint32, :message, 19, "lnrpc.Feature"
|
|
411
413
|
optional :require_htlc_interceptor, :bool, 21
|
|
414
|
+
optional :store_final_htlc_resolutions, :bool, 22
|
|
412
415
|
end
|
|
413
416
|
add_message "lnrpc.GetRecoveryInfoRequest" do
|
|
414
417
|
end
|
|
@@ -1400,8 +1403,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
1400
1403
|
end
|
|
1401
1404
|
|
|
1402
1405
|
module Lnrpc
|
|
1403
|
-
|
|
1404
|
-
|
|
1406
|
+
LookupHtlcResolutionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.LookupHtlcResolutionRequest").msgclass
|
|
1407
|
+
LookupHtlcResolutionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.LookupHtlcResolutionResponse").msgclass
|
|
1405
1408
|
SubscribeCustomMessagesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SubscribeCustomMessagesRequest").msgclass
|
|
1406
1409
|
CustomMessage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.CustomMessage").msgclass
|
|
1407
1410
|
SendCustomMessageRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SendCustomMessageRequest").msgclass
|
|
@@ -433,7 +433,11 @@ module Lnrpc
|
|
|
433
433
|
# their confirmed SCID (if it exists) and/or the base SCID (in the case of
|
|
434
434
|
# zero conf).
|
|
435
435
|
rpc :ListAliases, ::Lnrpc::ListAliasesRequest, ::Lnrpc::ListAliasesResponse
|
|
436
|
-
|
|
436
|
+
#
|
|
437
|
+
# LookupHtlcResolution retrieves a final htlc resolution from the database.
|
|
438
|
+
# If the htlc has no final resolution yet, a NotFound grpc status code is
|
|
439
|
+
# returned.
|
|
440
|
+
rpc :LookupHtlcResolution, ::Lnrpc::LookupHtlcResolutionRequest, ::Lnrpc::LookupHtlcResolutionResponse
|
|
437
441
|
end
|
|
438
442
|
|
|
439
443
|
Stub = Service.rpc_stub_class
|
|
@@ -100,6 +100,26 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
100
100
|
optional :weight, :float, 3
|
|
101
101
|
optional :maximum_payment_results, :uint32, 4
|
|
102
102
|
optional :minimum_failure_relax_interval, :uint64, 5
|
|
103
|
+
optional :model, :enum, 6, "routerrpc.MissionControlConfig.ProbabilityModel"
|
|
104
|
+
oneof :EstimatorConfig do
|
|
105
|
+
optional :apriori, :message, 7, "routerrpc.AprioriParameters"
|
|
106
|
+
optional :bimodal, :message, 8, "routerrpc.BimodalParameters"
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
add_enum "routerrpc.MissionControlConfig.ProbabilityModel" do
|
|
110
|
+
value :APRIORI, 0
|
|
111
|
+
value :BIMODAL, 1
|
|
112
|
+
end
|
|
113
|
+
add_message "routerrpc.BimodalParameters" do
|
|
114
|
+
optional :node_weight, :double, 1
|
|
115
|
+
optional :scale_msat, :uint64, 2
|
|
116
|
+
optional :decay_time, :uint64, 3
|
|
117
|
+
end
|
|
118
|
+
add_message "routerrpc.AprioriParameters" do
|
|
119
|
+
optional :half_life_seconds, :uint64, 1
|
|
120
|
+
optional :hop_probability, :double, 2
|
|
121
|
+
optional :weight, :double, 3
|
|
122
|
+
optional :capacity_fraction, :double, 4
|
|
103
123
|
end
|
|
104
124
|
add_message "routerrpc.QueryProbabilityRequest" do
|
|
105
125
|
optional :from_node, :bytes, 1
|
|
@@ -272,6 +292,9 @@ module Routerrpc
|
|
|
272
292
|
SetMissionControlConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.SetMissionControlConfigRequest").msgclass
|
|
273
293
|
SetMissionControlConfigResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.SetMissionControlConfigResponse").msgclass
|
|
274
294
|
MissionControlConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.MissionControlConfig").msgclass
|
|
295
|
+
MissionControlConfig::ProbabilityModel = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.MissionControlConfig.ProbabilityModel").enummodule
|
|
296
|
+
BimodalParameters = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.BimodalParameters").msgclass
|
|
297
|
+
AprioriParameters = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.AprioriParameters").msgclass
|
|
275
298
|
QueryProbabilityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.QueryProbabilityRequest").msgclass
|
|
276
299
|
QueryProbabilityResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.QueryProbabilityResponse").msgclass
|
|
277
300
|
BuildRouteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.BuildRouteRequest").msgclass
|
|
@@ -83,10 +83,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
83
83
|
repeated :all_signer_pubkeys, :bytes, 1
|
|
84
84
|
repeated :tweaks, :message, 2, "signrpc.TweakDesc"
|
|
85
85
|
optional :taproot_tweak, :message, 3, "signrpc.TaprootTweakDesc"
|
|
86
|
+
optional :version, :enum, 4, "signrpc.MuSig2Version"
|
|
86
87
|
end
|
|
87
88
|
add_message "signrpc.MuSig2CombineKeysResponse" do
|
|
88
89
|
optional :combined_key, :bytes, 1
|
|
89
90
|
optional :taproot_internal_key, :bytes, 2
|
|
91
|
+
optional :version, :enum, 4, "signrpc.MuSig2Version"
|
|
90
92
|
end
|
|
91
93
|
add_message "signrpc.MuSig2SessionRequest" do
|
|
92
94
|
optional :key_loc, :message, 1, "signrpc.KeyLocator"
|
|
@@ -94,6 +96,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
94
96
|
repeated :other_signer_public_nonces, :bytes, 3
|
|
95
97
|
repeated :tweaks, :message, 4, "signrpc.TweakDesc"
|
|
96
98
|
optional :taproot_tweak, :message, 5, "signrpc.TaprootTweakDesc"
|
|
99
|
+
optional :version, :enum, 6, "signrpc.MuSig2Version"
|
|
97
100
|
end
|
|
98
101
|
add_message "signrpc.MuSig2SessionResponse" do
|
|
99
102
|
optional :session_id, :bytes, 1
|
|
@@ -101,6 +104,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
101
104
|
optional :taproot_internal_key, :bytes, 3
|
|
102
105
|
optional :local_public_nonces, :bytes, 4
|
|
103
106
|
optional :have_all_nonces, :bool, 5
|
|
107
|
+
optional :version, :enum, 6, "signrpc.MuSig2Version"
|
|
104
108
|
end
|
|
105
109
|
add_message "signrpc.MuSig2RegisterNoncesRequest" do
|
|
106
110
|
optional :session_id, :bytes, 1
|
|
@@ -136,6 +140,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
136
140
|
value :SIGN_METHOD_TAPROOT_KEY_SPEND, 2
|
|
137
141
|
value :SIGN_METHOD_TAPROOT_SCRIPT_SPEND, 3
|
|
138
142
|
end
|
|
143
|
+
add_enum "signrpc.MuSig2Version" do
|
|
144
|
+
value :MUSIG2_VERSION_UNDEFINED, 0
|
|
145
|
+
value :MUSIG2_VERSION_V040, 1
|
|
146
|
+
value :MUSIG2_VERSION_V100RC2, 2
|
|
147
|
+
end
|
|
139
148
|
end
|
|
140
149
|
end
|
|
141
150
|
|
|
@@ -169,4 +178,5 @@ module Signrpc
|
|
|
169
178
|
MuSig2CleanupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2CleanupRequest").msgclass
|
|
170
179
|
MuSig2CleanupResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2CleanupResponse").msgclass
|
|
171
180
|
SignMethod = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.SignMethod").enummodule
|
|
181
|
+
MuSig2Version = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("signrpc.MuSig2Version").enummodule
|
|
172
182
|
end
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
require 'google/protobuf'
|
|
5
5
|
|
|
6
|
-
require_relative 'lightning_pb'
|
|
7
|
-
require_relative 'signrpc/signer_pb'
|
|
6
|
+
require_relative '../lightning_pb'
|
|
7
|
+
require_relative '../signrpc/signer_pb'
|
|
8
8
|
|
|
9
9
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
10
10
|
add_file("walletrpc/walletkit.proto", :syntax => :proto3) do
|
|
@@ -84,6 +84,22 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
84
84
|
add_message "walletrpc.ListAddressesResponse" do
|
|
85
85
|
repeated :account_with_addresses, :message, 1, "walletrpc.AccountWithAddresses"
|
|
86
86
|
end
|
|
87
|
+
add_message "walletrpc.SignMessageWithAddrRequest" do
|
|
88
|
+
optional :msg, :bytes, 1
|
|
89
|
+
optional :addr, :string, 2
|
|
90
|
+
end
|
|
91
|
+
add_message "walletrpc.SignMessageWithAddrResponse" do
|
|
92
|
+
optional :signature, :string, 1
|
|
93
|
+
end
|
|
94
|
+
add_message "walletrpc.VerifyMessageWithAddrRequest" do
|
|
95
|
+
optional :msg, :bytes, 1
|
|
96
|
+
optional :signature, :string, 2
|
|
97
|
+
optional :addr, :string, 3
|
|
98
|
+
end
|
|
99
|
+
add_message "walletrpc.VerifyMessageWithAddrResponse" do
|
|
100
|
+
optional :valid, :bool, 1
|
|
101
|
+
optional :pubkey, :bytes, 2
|
|
102
|
+
end
|
|
87
103
|
add_message "walletrpc.ImportAccountRequest" do
|
|
88
104
|
optional :name, :string, 1
|
|
89
105
|
optional :extended_public_key, :string, 2
|
|
@@ -198,6 +214,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
198
214
|
optional :account, :string, 5
|
|
199
215
|
optional :min_confs, :int32, 6
|
|
200
216
|
optional :spend_unconfirmed, :bool, 7
|
|
217
|
+
optional :change_type, :enum, 8, "walletrpc.ChangeAddressType"
|
|
201
218
|
oneof :template do
|
|
202
219
|
optional :psbt, :bytes, 1
|
|
203
220
|
optional :raw, :message, 2, "walletrpc.TxTemplate"
|
|
@@ -266,6 +283,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
266
283
|
value :NESTED_WITNESS_KEY_HASH, 12
|
|
267
284
|
value :COMMITMENT_ANCHOR, 13
|
|
268
285
|
end
|
|
286
|
+
add_enum "walletrpc.ChangeAddressType" do
|
|
287
|
+
value :CHANGE_ADDRESS_TYPE_UNSPECIFIED, 0
|
|
288
|
+
value :CHANGE_ADDRESS_TYPE_P2TR, 1
|
|
289
|
+
end
|
|
269
290
|
end
|
|
270
291
|
end
|
|
271
292
|
|
|
@@ -288,6 +309,10 @@ module Walletrpc
|
|
|
288
309
|
RequiredReserveResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.RequiredReserveResponse").msgclass
|
|
289
310
|
ListAddressesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListAddressesRequest").msgclass
|
|
290
311
|
ListAddressesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListAddressesResponse").msgclass
|
|
312
|
+
SignMessageWithAddrRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.SignMessageWithAddrRequest").msgclass
|
|
313
|
+
SignMessageWithAddrResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.SignMessageWithAddrResponse").msgclass
|
|
314
|
+
VerifyMessageWithAddrRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.VerifyMessageWithAddrRequest").msgclass
|
|
315
|
+
VerifyMessageWithAddrResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.VerifyMessageWithAddrResponse").msgclass
|
|
291
316
|
ImportAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportAccountRequest").msgclass
|
|
292
317
|
ImportAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportAccountResponse").msgclass
|
|
293
318
|
ImportPublicKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportPublicKeyRequest").msgclass
|
|
@@ -325,4 +350,5 @@ module Walletrpc
|
|
|
325
350
|
ListLeasesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListLeasesResponse").msgclass
|
|
326
351
|
AddressType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.AddressType").enummodule
|
|
327
352
|
WitnessType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.WitnessType").enummodule
|
|
353
|
+
ChangeAddressType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ChangeAddressType").enummodule
|
|
328
354
|
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Source: walletrpc/walletkit.proto for package 'walletrpc'
|
|
3
3
|
|
|
4
4
|
require 'grpc'
|
|
5
|
-
require_relative '
|
|
5
|
+
require_relative './walletkit_pb'
|
|
6
6
|
|
|
7
7
|
module Walletrpc
|
|
8
8
|
module WalletKit
|
|
@@ -65,6 +65,41 @@ module Walletrpc
|
|
|
65
65
|
# wallet accounts and return the addresses of only those matching.
|
|
66
66
|
rpc :ListAddresses, ::Walletrpc::ListAddressesRequest, ::Walletrpc::ListAddressesResponse
|
|
67
67
|
#
|
|
68
|
+
# SignMessageWithAddr returns the compact signature (base64 encoded) created
|
|
69
|
+
# with the private key of the provided address. This requires the address
|
|
70
|
+
# to be solely based on a public key lock (no scripts). Obviously the internal
|
|
71
|
+
# lnd wallet has to possess the private key of the address otherwise
|
|
72
|
+
# an error is returned.
|
|
73
|
+
#
|
|
74
|
+
# This method aims to provide full compatibility with the bitcoin-core and
|
|
75
|
+
# btcd implementation. Bitcoin-core's algorithm is not specified in a
|
|
76
|
+
# BIP and only applicable for legacy addresses. This method enhances the
|
|
77
|
+
# signing for additional address types: P2WKH, NP2WKH, P2TR.
|
|
78
|
+
# For P2TR addresses this represents a special case. ECDSA is used to create
|
|
79
|
+
# a compact signature which makes the public key of the signature recoverable.
|
|
80
|
+
rpc :SignMessageWithAddr, ::Walletrpc::SignMessageWithAddrRequest, ::Walletrpc::SignMessageWithAddrResponse
|
|
81
|
+
#
|
|
82
|
+
# VerifyMessageWithAddr returns the validity and the recovered public key of
|
|
83
|
+
# the provided compact signature (base64 encoded). The verification is
|
|
84
|
+
# twofold. First the validity of the signature itself is checked and then
|
|
85
|
+
# it is verified that the recovered public key of the signature equals
|
|
86
|
+
# the public key of the provided address. There is no dependence on the
|
|
87
|
+
# private key of the address therefore also external addresses are allowed
|
|
88
|
+
# to verify signatures.
|
|
89
|
+
# Supported address types are P2PKH, P2WKH, NP2WKH, P2TR.
|
|
90
|
+
#
|
|
91
|
+
# This method is the counterpart of the related signing method
|
|
92
|
+
# (SignMessageWithAddr) and aims to provide full compatibility to
|
|
93
|
+
# bitcoin-core's implementation. Although bitcoin-core/btcd only provide
|
|
94
|
+
# this functionality for legacy addresses this function enhances it to
|
|
95
|
+
# the address types: P2PKH, P2WKH, NP2WKH, P2TR.
|
|
96
|
+
#
|
|
97
|
+
# The verification for P2TR addresses is a special case and requires the
|
|
98
|
+
# ECDSA compact signature to compare the reovered public key to the internal
|
|
99
|
+
# taproot key. The compact ECDSA signature format was used because there
|
|
100
|
+
# are still no known compact signature schemes for schnorr signatures.
|
|
101
|
+
rpc :VerifyMessageWithAddr, ::Walletrpc::VerifyMessageWithAddrRequest, ::Walletrpc::VerifyMessageWithAddrResponse
|
|
102
|
+
#
|
|
68
103
|
# ImportAccount imports an account backed by an account extended public key.
|
|
69
104
|
# The master key fingerprint denotes the fingerprint of the root key
|
|
70
105
|
# corresponding to the account public key (also known as the key with
|
data/components/grpc.rb
CHANGED
|
@@ -1,13 +1,41 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative './grpc/autopilotrpc/autopilot_services_pb'
|
|
4
|
+
require_relative './grpc/chainrpc/chainkit_services_pb'
|
|
5
|
+
require_relative './grpc/chainrpc/chainnotifier_services_pb'
|
|
6
|
+
require_relative './grpc/devrpc/dev_services_pb'
|
|
7
|
+
require_relative './grpc/invoicesrpc/invoices_services_pb'
|
|
3
8
|
require_relative './grpc/lightning_services_pb'
|
|
9
|
+
require_relative './grpc/neutrinorpc/neutrino_services_pb'
|
|
10
|
+
require_relative './grpc/peersrpc/peers_services_pb'
|
|
4
11
|
require_relative './grpc/routerrpc/router_services_pb'
|
|
12
|
+
require_relative './grpc/signrpc/signer_services_pb'
|
|
13
|
+
require_relative './grpc/stateservice_services_pb'
|
|
14
|
+
require_relative './grpc/verrpc/verrpc_services_pb'
|
|
15
|
+
require_relative './grpc/walletrpc/walletkit_services_pb'
|
|
16
|
+
require_relative './grpc/walletunlocker_services_pb'
|
|
17
|
+
require_relative './grpc/watchtowerrpc/watchtower_services_pb'
|
|
18
|
+
require_relative './grpc/wtclientrpc/wtclient_services_pb'
|
|
5
19
|
|
|
6
20
|
module LNDClientInternal
|
|
7
21
|
module GRPC
|
|
8
22
|
SERVICES = {
|
|
23
|
+
autopilot: Autopilotrpc::Autopilot,
|
|
24
|
+
chain_kit: Chainrpc::ChainKit,
|
|
25
|
+
chain_notifier: Chainrpc::ChainNotifier,
|
|
26
|
+
dev: Devrpc::Dev,
|
|
27
|
+
invoices: Invoicesrpc::Invoices,
|
|
9
28
|
lightning: Lnrpc::Lightning,
|
|
10
|
-
|
|
29
|
+
neutrino_kit: Neutrinorpc::NeutrinoKit,
|
|
30
|
+
peers: Peersrpc::Peers,
|
|
31
|
+
router: Routerrpc::Router,
|
|
32
|
+
signer: Signrpc::Signer,
|
|
33
|
+
state: Lnrpc::State,
|
|
34
|
+
versioner: Verrpc::Versioner,
|
|
35
|
+
wallet_kit: Walletrpc::WalletKit,
|
|
36
|
+
wallet_unlocker: Lnrpc::WalletUnlocker,
|
|
37
|
+
watchtower: Watchtowerrpc::Watchtower,
|
|
38
|
+
watchtower_client: Wtclientrpc::WatchtowerClient
|
|
11
39
|
}.freeze
|
|
12
40
|
end
|
|
13
41
|
end
|
|
@@ -10,6 +10,7 @@ module LNDClientInternal
|
|
|
10
10
|
PROGRESS = true
|
|
11
11
|
PATH = 'docs/README.md'
|
|
12
12
|
KEY = '<!-- [INJECT:GRP:DOCS] -->'
|
|
13
|
+
KEY_INDEX = '<!-- [INJECT:GRP:INDEX] -->'
|
|
13
14
|
|
|
14
15
|
attr_reader :available_methods
|
|
15
16
|
|
|
@@ -35,6 +36,18 @@ module LNDClientInternal
|
|
|
35
36
|
progressbar = ProgressBar.create(total: total, format: '%a %e |%b>>%i| %P% | %c of %C')
|
|
36
37
|
end
|
|
37
38
|
|
|
39
|
+
document = File.read(PATH)
|
|
40
|
+
|
|
41
|
+
content = ''
|
|
42
|
+
|
|
43
|
+
services.each do |service|
|
|
44
|
+
content += "- [#{service}](?id=#{service})\n"
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
parts = document.split(KEY_INDEX)
|
|
48
|
+
|
|
49
|
+
document = "#{parts[0]}#{KEY_INDEX}\n\n#{content}\n#{KEY_INDEX}#{parts[2]}"
|
|
50
|
+
|
|
38
51
|
content = ''
|
|
39
52
|
|
|
40
53
|
services.each do |service|
|
|
@@ -44,9 +57,11 @@ module LNDClientInternal
|
|
|
44
57
|
doc.available_methods.each do |method_name|
|
|
45
58
|
content += "\n### #{method_name}\n"
|
|
46
59
|
|
|
47
|
-
url = "https://lightning.engineering/api-docs/api/lnd/#{service
|
|
60
|
+
url = "https://lightning.engineering/api-docs/api/lnd/#{service.to_s.gsub('_',
|
|
61
|
+
'-')}/#{method_name.gsub('_',
|
|
62
|
+
'-')}/index.html"
|
|
48
63
|
|
|
49
|
-
content += "\n[lightning.engineering/#{service}/#{method_name.gsub('_', '-')}](#{url})\n"
|
|
64
|
+
content += "\n[lightning.engineering/#{service.to_s.gsub('_', '-')}/#{method_name.gsub('_', '-')}](#{url})\n"
|
|
50
65
|
|
|
51
66
|
description = doc.describe(method_name)
|
|
52
67
|
content += "\n```ruby\n"
|
|
@@ -74,11 +89,11 @@ module LNDClientInternal
|
|
|
74
89
|
end
|
|
75
90
|
end
|
|
76
91
|
|
|
77
|
-
document = File.read(PATH)
|
|
78
|
-
|
|
79
92
|
parts = document.split(KEY)
|
|
80
93
|
|
|
81
|
-
|
|
94
|
+
document = "#{parts[0]}#{KEY}\n\n#{content}\n#{KEY}#{parts[2]}"
|
|
95
|
+
|
|
96
|
+
File.write(PATH, document)
|
|
82
97
|
|
|
83
98
|
progressbar.finish
|
|
84
99
|
|
data/lnd-client.gemspec
CHANGED
data/static/spec.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lnd-client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- icebaker
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.
|
|
19
|
+
version: '1.53'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1.
|
|
26
|
+
version: '1.53'
|
|
27
27
|
description: Ruby Lightning Network Daemon (lnd) Client
|
|
28
28
|
email:
|
|
29
29
|
executables: []
|