lnrpc 0.14.3.1 → 0.15.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1501e290f91d54b09af1d2abc92fef6869c0064c667ef3b129d50a6e0f4885c
4
- data.tar.gz: af3884acd17e590108e293134fb15170d53fc309f79431397e8cdd3a8da4b075
3
+ metadata.gz: 87e7353edb174ac9b45e6458caaf524ededd58250eb3533870593e960c484ca2
4
+ data.tar.gz: 2d6e030e7b69ee58af709f7a3e9bdab8cad97149b2a294e91b40323e37970ad5
5
5
  SHA512:
6
- metadata.gz: 435fbe6709811cec7be3f8e57ce3ee35ba53c46ed7a20484c65ff51981658b8522ef211acebaa81dc74b11098dd22e27767484b2412cecf7998e2221d333fc18
7
- data.tar.gz: de2e8589a9179407c3019b160f1a1267e87cb0a355c082d681a01c3f047ff97cc9f341ac7d92868b84f946e719d1b99409cc89fed9966bd5d0dd2e53be3e508c
6
+ metadata.gz: 766f3d18b40f6cac545f17b1486cc511d94e0c58d7a1529ba6456783e9d16ecccd226773eb8c1dfe20ef18f4bcf7ac7a52d549f16e983252610ea0280a9f8882
7
+ data.tar.gz: 8ff36d206ec1e5777e4fd9e0da530193d67918b480a6e11a1e908c8dc71a9b9391724d430c8d938bb92604f9698156cab0fb59203e6a0df5e6904db37e061516
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lnrpc (0.14.1)
4
+ lnrpc (0.15.5)
5
5
  google-protobuf (>= 3.15.7)
6
6
  grpc (>= 1.28.0)
7
7
 
@@ -9,11 +9,11 @@ GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  diff-lcs (1.5.0)
12
- google-protobuf (3.21.1)
13
- googleapis-common-protos-types (1.3.1)
12
+ google-protobuf (3.22.1)
13
+ googleapis-common-protos-types (1.5.0)
14
14
  google-protobuf (~> 3.14)
15
- grpc (1.46.3)
16
- google-protobuf (~> 3.19)
15
+ grpc (1.52.0)
16
+ google-protobuf (~> 3.21)
17
17
  googleapis-common-protos-types (~> 1.0)
18
18
  rake (13.0.6)
19
19
  rspec (3.11.0)
@@ -40,4 +40,4 @@ DEPENDENCIES
40
40
  rspec (~> 3.0)
41
41
 
42
42
  BUNDLED WITH
43
- 2.2.33
43
+ 2.4.4
data/README.md CHANGED
@@ -8,7 +8,7 @@ a [gRPC](https://grpc.io/) client for [LND, the Lightning Network Daemon](https:
8
8
  Add this line to your application's Gemfile:
9
9
 
10
10
  ```ruby
11
- gem 'lnrpc', '~> 0.13.0'
11
+ gem 'lnrpc', '~> 0.15.5'
12
12
  ```
13
13
  lnrpc follows the lnd versioning, thus it is recommended to specify the exact version you need for your lnd node as dependency (see [#Versioning](#Versioning)).
14
14
 
data/examples.rb CHANGED
@@ -1,26 +1,34 @@
1
1
  require "lnrpc"
2
2
 
3
- lnd = Lnrpc::Client.new() # use defaults for credentials, macaraoon and address
3
+ # establish a connection
4
+ lnd = Lnrpc::Client.new() # use defaults for credentials, macaroon and address
4
5
 
6
+ # get basic info
5
7
  get_info_res = lnd.lightning.get_info
6
8
  puts get_info_res.alias
7
9
 
10
+ # get wallet balance
8
11
  puts lnd.lightning.wallet_balance.total_balance
9
12
 
13
+ # pay an invoice
10
14
  pay_request = "lntb50u1pw9mmndpp5nvnff958pxc9eqknwntyxapjw7l5grt5e2y70cmmnu0lljfa0sdqdpsgfkx7cmtwd68yetpd5s9xct5v4kxc6t5v5s8yatz0ysxwetdcqzysxqyz5vqjkhlyn40z76gyn7dx32p9j58dftve9xrlvnqqazht7w2fdauukhyhr9y4k3ngjn8s6srglj8swk7tm70ng54wdkq47ahytpwffvaeusp500csz"
11
15
  lnd.pay(payment_request: pay_request) # or:
12
16
  lnd.router.send_payment_v2(payment_request: pay_request)
13
17
 
18
+ # keysend payment
14
19
  dest = Lnrpc.to_byte_array('038474ec195f497cf4036e5994bd820dd365bb0aaa7fb42bd9b536913a1a2dcc9e')
15
20
  lnd.keysend(dest: dest, amt: 1000)
16
21
 
22
+ # create invoice
17
23
  invoice_res = lnd.lightning.add_invoice(value: 1000, memo: 'I :heart: ruby')
18
24
  puts invoice_res.payment_request
19
25
 
26
+ # get fee estimates
20
27
  puts lnd.versioner.get_version
21
28
  puts lnd.wallet_kit.estimate_fee(conf_target: 10)
22
29
  puts lnd.wallet_kit.next_addr
23
30
 
31
+ # print incoming invoices
24
32
  lnd.lightning.subscribe_invoices(settle_index: 1).each do |invoice|
25
33
  puts invoice.payment_request
26
34
  end
@@ -67,3 +75,12 @@ lnd.lightning.update_channel_policy({
67
75
  base_fee_msat: 1100,
68
76
  chan_point: channel_point
69
77
  })
78
+
79
+ # peer node
80
+ address = {pubkey: "03423790614f023e3c0cdaa654a3578e919947e4c3a14bf5044e7c787ebd11af1a", host: "98.142.251.170:9735"}
81
+ response = lnd.lightning.connect_peer(addr: address)
82
+
83
+ # open channel
84
+ # note: Lnrpc needs to connect with an admin macaroon, and the node needs to be an existing peer.
85
+ pubkey = Lnrpc.to_byte_array("031f2669adab71548fad4432277a0d90233e3bc07ac29cfb0b3e01bd3fb26cb9fa")
86
+ response = lnd.lightning.open_channel({node_pubkey: pubkey, local_funding_amount: 21000})
@@ -10,7 +10,7 @@ cd $GOPATH/src/github.com/lightningnetwork/lnd/lnrpc
10
10
 
11
11
  echo "Generating Ruby GRPC Service Files"
12
12
 
13
- PROTOS="rpc.proto walletunlocker.proto **/*.proto"
13
+ PROTOS="lightning.proto walletunlocker.proto stateservice.proto **/*.proto"
14
14
 
15
15
  # generate files for each proto
16
16
  for file in $PROTOS; do
@@ -21,9 +21,11 @@ module Chainrpc
21
21
  # registers an intent for a client to be notified once a confirmation request
22
22
  # has reached its required number of confirmations on-chain.
23
23
  #
24
- # A client can specify whether the confirmation request should be for a
25
- # particular transaction by its hash or for an output script by specifying a
26
- # zero hash.
24
+ # A confirmation request must have a valid output script. It is also possible
25
+ # to give a transaction ID. If the transaction ID is not set, a notification
26
+ # is sent once the output script confirms. If the transaction ID is also set,
27
+ # a notification is sent once the output script confirms in the given
28
+ # transaction.
27
29
  rpc :RegisterConfirmationsNtfn, ::Chainrpc::ConfRequest, stream(::Chainrpc::ConfEvent)
28
30
  #
29
31
  # RegisterSpendNtfn is a synchronous response-streaming RPC that registers an
@@ -0,0 +1,17 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: devrpc/dev.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'lightning_pb'
7
+
8
+ Google::Protobuf::DescriptorPool.generated_pool.build do
9
+ add_file("devrpc/dev.proto", :syntax => :proto3) do
10
+ add_message "devrpc.ImportGraphResponse" do
11
+ end
12
+ end
13
+ end
14
+
15
+ module Devrpc
16
+ ImportGraphResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("devrpc.ImportGraphResponse").msgclass
17
+ end
@@ -0,0 +1,25 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: devrpc/dev.proto for package 'devrpc'
3
+
4
+ require 'grpc'
5
+ require 'devrpc/dev_pb'
6
+
7
+ module Devrpc
8
+ module Dev
9
+ class Service
10
+
11
+ include ::GRPC::GenericService
12
+
13
+ self.marshal_class_method = :encode
14
+ self.unmarshal_class_method = :decode
15
+ self.service_name = 'devrpc.Dev'
16
+
17
+ #
18
+ # ImportGraph imports a ChannelGraph into the graph database. Should only be
19
+ # used for development.
20
+ rpc :ImportGraph, ::Lnrpc::ChannelGraph, ::Devrpc::ImportGraphResponse
21
+ end
22
+
23
+ Stub = Service.rpc_stub_class
24
+ end
25
+ 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("invoicesrpc/invoices.proto", :syntax => :proto3) do