lnrpc 0.14.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 +4 -4
 - data/Gemfile.lock +6 -6
 - data/README.md +1 -1
 - data/examples.rb +18 -1
 - data/generate-grpc-service-files.sh +1 -1
 - data/lib/grpc_services/chainrpc/chainnotifier_services_pb.rb +5 -3
 - data/lib/grpc_services/devrpc/dev_pb.rb +17 -0
 - data/lib/grpc_services/devrpc/dev_services_pb.rb +25 -0
 - data/lib/grpc_services/invoicesrpc/invoices_pb.rb +1 -1
 - data/lib/grpc_services/{rpc_pb.rb → lightning_pb.rb} +215 -7
 - data/lib/grpc_services/{rpc_services_pb.rb → lightning_services_pb.rb} +49 -5
 - data/lib/grpc_services/neutrinorpc/neutrino_pb.rb +106 -0
 - data/lib/grpc_services/neutrinorpc/neutrino_services_pb.rb +51 -0
 - data/lib/grpc_services/peersrpc/peers_pb.rb +48 -0
 - data/lib/grpc_services/peersrpc/peers_services_pb.rb +27 -0
 - data/lib/grpc_services/routerrpc/router_pb.rb +6 -1
 - data/lib/grpc_services/signrpc/signer_pb.rb +86 -0
 - data/lib/grpc_services/signrpc/signer_services_pb.rb +67 -2
 - data/lib/grpc_services/stateservice_pb.rb +35 -0
 - data/lib/grpc_services/stateservice_services_pb.rb +46 -0
 - data/lib/grpc_services/walletrpc/walletkit_pb.rb +21 -1
 - data/lib/grpc_services/walletrpc/walletkit_services_pb.rb +21 -1
 - data/lib/grpc_services/walletunlocker_pb.rb +1 -1
 - data/lib/lnrpc/client.rb +2 -2
 - data/lib/lnrpc/version.rb +1 -1
 - metadata +16 -8
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 87e7353edb174ac9b45e6458caaf524ededd58250eb3533870593e960c484ca2
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 2d6e030e7b69ee58af709f7a3e9bdab8cad97149b2a294e91b40323e37970ad5
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 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. 
     | 
| 
      
 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. 
     | 
| 
       13 
     | 
    
         
            -
                googleapis-common-protos-types (1. 
     | 
| 
      
 12 
     | 
    
         
            +
                google-protobuf (3.22.1)
         
     | 
| 
      
 13 
     | 
    
         
            +
                googleapis-common-protos-types (1.5.0)
         
     | 
| 
       14 
14 
     | 
    
         
             
                  google-protobuf (~> 3.14)
         
     | 
| 
       15 
     | 
    
         
            -
                grpc (1. 
     | 
| 
       16 
     | 
    
         
            -
                  google-protobuf (~> 3. 
     | 
| 
      
 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. 
     | 
| 
      
 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. 
     | 
| 
      
 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 
     | 
    
         
            -
             
     | 
| 
      
 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=" 
     | 
| 
      
 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  
     | 
| 
       25 
     | 
    
         
            -
                  #  
     | 
| 
       26 
     | 
    
         
            -
                  #  
     | 
| 
      
 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
         
     |