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.
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