mirror of
				https://github.com/bumi/faraday_ln_paywall
				synced 2025-10-31 03:52:31 +00:00 
			
		
		
		
	hello world
This commit is contained in:
		
						commit
						c38acdec53
					
				
							
								
								
									
										12
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| /.bundle/ | ||||
| /.yardoc | ||||
| /Gemfile.lock | ||||
| /_yardoc/ | ||||
| /coverage/ | ||||
| /doc/ | ||||
| /pkg/ | ||||
| /spec/reports/ | ||||
| /tmp/ | ||||
| 
 | ||||
| # rspec failure tracking | ||||
| .rspec_status | ||||
							
								
								
									
										5
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| sudo: false | ||||
| language: ruby | ||||
| rvm: | ||||
|   - 2.4.1 | ||||
| before_install: gem install bundler -v 1.15.4 | ||||
							
								
								
									
										6
									
								
								Gemfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								Gemfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| source "https://rubygems.org" | ||||
| 
 | ||||
| git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } | ||||
| 
 | ||||
| # Specify your gem's dependencies in faraday_ln_paywall.gemspec | ||||
| gemspec | ||||
							
								
								
									
										21
									
								
								LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| The MIT License (MIT) | ||||
| 
 | ||||
| Copyright (c) 2018 bumi | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be included in | ||||
| all copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
| THE SOFTWARE. | ||||
							
								
								
									
										39
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| # FaradayLnPaywall | ||||
| 
 | ||||
| Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/faraday_ln_paywall`. To experiment with that code, run `bin/console` for an interactive prompt. | ||||
| 
 | ||||
| TODO: Delete this and the text above, and describe your gem | ||||
| 
 | ||||
| ## Installation | ||||
| 
 | ||||
| Add this line to your application's Gemfile: | ||||
| 
 | ||||
| ```ruby | ||||
| gem 'faraday_ln_paywall' | ||||
| ``` | ||||
| 
 | ||||
| And then execute: | ||||
| 
 | ||||
|     $ bundle | ||||
| 
 | ||||
| Or install it yourself as: | ||||
| 
 | ||||
|     $ gem install faraday_ln_paywall | ||||
| 
 | ||||
| ## Usage | ||||
| 
 | ||||
| TODO: Write usage instructions here | ||||
| 
 | ||||
| ## Development | ||||
| 
 | ||||
| After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. | ||||
| 
 | ||||
| To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). | ||||
| 
 | ||||
| ## Contributing | ||||
| 
 | ||||
| Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/faraday_ln_paywall. | ||||
| 
 | ||||
| ## License | ||||
| 
 | ||||
| The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). | ||||
							
								
								
									
										6
									
								
								Rakefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								Rakefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| require "bundler/gem_tasks" | ||||
| require "rspec/core/rake_task" | ||||
| 
 | ||||
| RSpec::Core::RakeTask.new(:spec) | ||||
| 
 | ||||
| task :default => :spec | ||||
							
								
								
									
										14
									
								
								bin/console
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								bin/console
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,14 @@ | ||||
| #!/usr/bin/env ruby | ||||
| 
 | ||||
| require "bundler/setup" | ||||
| require "faraday_ln_paywall" | ||||
| 
 | ||||
| # You can add fixtures and/or initialization code here to make experimenting | ||||
| # with your gem easier. You can also use a different console, if you like. | ||||
| 
 | ||||
| # (If you use this, don't forget to add pry to your Gemfile!) | ||||
| # require "pry" | ||||
| # Pry.start | ||||
| 
 | ||||
| require "irb" | ||||
| IRB.start(__FILE__) | ||||
							
								
								
									
										8
									
								
								bin/setup
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								bin/setup
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | ||||
| #!/usr/bin/env bash | ||||
| set -euo pipefail | ||||
| IFS=$'\n\t' | ||||
| set -vx | ||||
| 
 | ||||
| bundle install | ||||
| 
 | ||||
| # Do any other automated setup that you need to do here | ||||
							
								
								
									
										9
									
								
								example.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								example.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| require "bundler/setup" | ||||
| require "faraday_ln_paywall" | ||||
| require "faraday" | ||||
| 
 | ||||
| conn = Faraday.new(:url => 'https://api.lightning.ws') do |faraday| | ||||
|   faraday.use FaradayLnPaywall::Middleware, { max_amount: 100 } | ||||
|   faraday.adapter  Faraday.default_adapter | ||||
| end | ||||
| puts conn.get("/translate?text=Hallo%20Welt&to=en").body | ||||
							
								
								
									
										32
									
								
								faraday_ln_paywall.gemspec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								faraday_ln_paywall.gemspec
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | ||||
| # coding: utf-8 | ||||
| lib = File.expand_path("../lib", __FILE__) | ||||
| $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | ||||
| require "faraday_ln_paywall/version" | ||||
| 
 | ||||
| Gem::Specification.new do |spec| | ||||
|   spec.name          = "faraday_ln_paywall" | ||||
|   spec.version       = FaradayLnPaywall::VERSION | ||||
|   spec.authors       = ["bumi"] | ||||
|   spec.email         = ["hello@michaelbumann.com"] | ||||
| 
 | ||||
|   spec.summary       = %q{Faraday middleware to send lightning payments for requests} | ||||
|   spec.description   = %q{Sends payments} | ||||
|   spec.homepage      = "https://github.com/bumi/faraday_ln_paywall" | ||||
|   spec.license       = "MIT" | ||||
| 
 | ||||
| 
 | ||||
|   spec.files         = `git ls-files -z`.split("\x0").reject do |f| | ||||
|     f.match(%r{^(test|spec|features)/}) | ||||
|   end | ||||
|   spec.bindir        = "exe" | ||||
|   spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } | ||||
|   spec.require_paths = ["lib"] | ||||
| 
 | ||||
|   spec.add_development_dependency "bundler", "~> 1.15" | ||||
|   spec.add_development_dependency "rake", "~> 10.0" | ||||
|   spec.add_development_dependency "rspec", "~> 3.0" | ||||
| 
 | ||||
|   spec.add_dependency "lightning-invoice", "~> 0.1.2" | ||||
|   spec.add_dependency "faraday", "> 0.8" | ||||
|   spec.add_dependency "grpc", ">= 1.16.0" | ||||
| end | ||||
							
								
								
									
										9
									
								
								lib/faraday_ln_paywall.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								lib/faraday_ln_paywall.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| require "faraday" | ||||
| require "faraday_ln_paywall/version" | ||||
| require "faraday_ln_paywall/middleware" | ||||
| 
 | ||||
| require 'faraday_ln_paywall/rpc_services_pb' | ||||
| 
 | ||||
| module FaradayLnPaywall | ||||
| 
 | ||||
| end | ||||
							
								
								
									
										54
									
								
								lib/faraday_ln_paywall/middleware.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								lib/faraday_ln_paywall/middleware.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,54 @@ | ||||
| require 'grpc' | ||||
| require 'lightning/invoice' | ||||
| 
 | ||||
| ENV['GRPC_SSL_CIPHER_SUITES'] = "HIGH+ECDSA" | ||||
| 
 | ||||
| module FaradayLnPaywall | ||||
|   class Middleware <  Faraday::Middleware | ||||
| 
 | ||||
|     def initialize(app, options = {}) | ||||
|       super(app) | ||||
|       @options = options | ||||
|       @options[:address] ||= 'localhost:10009' | ||||
|       @options[:credentials] ||= File.read(File.expand_path(@options[:credentials_path] || "~/.lnd/tls.cert")) | ||||
|       macaroon_binary ||= File.read(File.expand_path(@options[:macaroon_path] || "~/.lnd/data/chain/bitcoin/testnet/admin.macaroon")) | ||||
|       @options[:macaroon] = macaroon_binary.each_byte.map { |b| b.to_s(16).rjust(2,'0') }.join | ||||
|       @lnd_client = Lnrpc::Lightning::Stub.new(@options[:address], GRPC::Core::ChannelCredentials.new(@options[:credentials])) | ||||
|     end | ||||
| 
 | ||||
|     def payment_requested?(env) | ||||
|       env[:status] == 402 && env[:response_headers]['Content-Type'] == "application/vnd.lightning.bolt11" | ||||
|     end | ||||
| 
 | ||||
|     def invoice_valid?(invoice) | ||||
|       (@options[:max_amount].nil? || @options[:max_amount] > invoice.amount) && | ||||
|         invoice.expiry.nil? || Time.now.to_i < invoice.timestamp + invoice.expiry.to_i | ||||
|     end | ||||
| 
 | ||||
|     def pay(env) | ||||
|       invoice = Lightning::Invoice.parse(env.body) | ||||
|       return false unless invoice_valid?(invoice) | ||||
|       @lnd_client.send_payment_sync( | ||||
|         Lnrpc::SendRequest.new(payment_request: env.body), | ||||
|         { metadata: { macaroon: @options[:macaroon] }} | ||||
|       ) | ||||
|     end | ||||
| 
 | ||||
|     def call(request_env) | ||||
|       @app.call(request_env).on_complete do |response_env| | ||||
|         if payment_requested?(response_env) | ||||
|           payment = pay(response_env) | ||||
|           if payment && payment.payment_error == "" | ||||
|             preimage = payment.payment_preimage.each_byte.map { |b| b.to_s(16).rjust(2, '0') }.join | ||||
|             request_env[:request_headers].merge!({'X-Preimage' => preimage}) | ||||
|             @app.call(request_env) | ||||
|           else | ||||
|             # payment failed | ||||
|           end | ||||
|         end | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|   end | ||||
| end | ||||
| 
 | ||||
							
								
								
									
										1967
									
								
								lib/faraday_ln_paywall/rpc.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1967
									
								
								lib/faraday_ln_paywall/rpc.proto
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										726
									
								
								lib/faraday_ln_paywall/rpc_pb.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										726
									
								
								lib/faraday_ln_paywall/rpc_pb.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,726 @@ | ||||
| # Generated by the protocol buffer compiler.  DO NOT EDIT! | ||||
| # source: rpc.proto | ||||
| 
 | ||||
| require 'google/protobuf' | ||||
| 
 | ||||
| require 'google/api/annotations_pb' | ||||
| Google::Protobuf::DescriptorPool.generated_pool.build do | ||||
|   add_message "lnrpc.GenSeedRequest" do | ||||
|     optional :aezeed_passphrase, :bytes, 1 | ||||
|     optional :seed_entropy, :bytes, 2 | ||||
|   end | ||||
|   add_message "lnrpc.GenSeedResponse" do | ||||
|     repeated :cipher_seed_mnemonic, :string, 1 | ||||
|     optional :enciphered_seed, :bytes, 2 | ||||
|   end | ||||
|   add_message "lnrpc.InitWalletRequest" do | ||||
|     optional :wallet_password, :bytes, 1 | ||||
|     repeated :cipher_seed_mnemonic, :string, 2 | ||||
|     optional :aezeed_passphrase, :bytes, 3 | ||||
|     optional :recovery_window, :int32, 4 | ||||
|   end | ||||
|   add_message "lnrpc.InitWalletResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.UnlockWalletRequest" do | ||||
|     optional :wallet_password, :bytes, 1 | ||||
|     optional :recovery_window, :int32, 2 | ||||
|   end | ||||
|   add_message "lnrpc.UnlockWalletResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.ChangePasswordRequest" do | ||||
|     optional :current_password, :bytes, 1 | ||||
|     optional :new_password, :bytes, 2 | ||||
|   end | ||||
|   add_message "lnrpc.ChangePasswordResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.Transaction" do | ||||
|     optional :tx_hash, :string, 1 | ||||
|     optional :amount, :int64, 2 | ||||
|     optional :num_confirmations, :int32, 3 | ||||
|     optional :block_hash, :string, 4 | ||||
|     optional :block_height, :int32, 5 | ||||
|     optional :time_stamp, :int64, 6 | ||||
|     optional :total_fees, :int64, 7 | ||||
|     repeated :dest_addresses, :string, 8 | ||||
|   end | ||||
|   add_message "lnrpc.GetTransactionsRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.TransactionDetails" do | ||||
|     repeated :transactions, :message, 1, "lnrpc.Transaction" | ||||
|   end | ||||
|   add_message "lnrpc.FeeLimit" do | ||||
|     oneof :limit do | ||||
|       optional :fixed, :int64, 1 | ||||
|       optional :percent, :int64, 2 | ||||
|     end | ||||
|   end | ||||
|   add_message "lnrpc.SendRequest" do | ||||
|     optional :dest, :bytes, 1 | ||||
|     optional :dest_string, :string, 2 | ||||
|     optional :amt, :int64, 3 | ||||
|     optional :payment_hash, :bytes, 4 | ||||
|     optional :payment_hash_string, :string, 5 | ||||
|     optional :payment_request, :string, 6 | ||||
|     optional :final_cltv_delta, :int32, 7 | ||||
|     optional :fee_limit, :message, 8, "lnrpc.FeeLimit" | ||||
|   end | ||||
|   add_message "lnrpc.SendResponse" do | ||||
|     optional :payment_error, :string, 1 | ||||
|     optional :payment_preimage, :bytes, 2 | ||||
|     optional :payment_route, :message, 3, "lnrpc.Route" | ||||
|   end | ||||
|   add_message "lnrpc.SendToRouteRequest" do | ||||
|     optional :payment_hash, :bytes, 1 | ||||
|     optional :payment_hash_string, :string, 2 | ||||
|     repeated :routes, :message, 3, "lnrpc.Route" | ||||
|   end | ||||
|   add_message "lnrpc.ChannelPoint" do | ||||
|     optional :output_index, :uint32, 3 | ||||
|     oneof :funding_txid do | ||||
|       optional :funding_txid_bytes, :bytes, 1 | ||||
|       optional :funding_txid_str, :string, 2 | ||||
|     end | ||||
|   end | ||||
|   add_message "lnrpc.LightningAddress" do | ||||
|     optional :pubkey, :string, 1 | ||||
|     optional :host, :string, 2 | ||||
|   end | ||||
|   add_message "lnrpc.SendManyRequest" do | ||||
|     map :AddrToAmount, :string, :int64, 1 | ||||
|     optional :target_conf, :int32, 3 | ||||
|     optional :sat_per_byte, :int64, 5 | ||||
|   end | ||||
|   add_message "lnrpc.SendManyResponse" do | ||||
|     optional :txid, :string, 1 | ||||
|   end | ||||
|   add_message "lnrpc.SendCoinsRequest" do | ||||
|     optional :addr, :string, 1 | ||||
|     optional :amount, :int64, 2 | ||||
|     optional :target_conf, :int32, 3 | ||||
|     optional :sat_per_byte, :int64, 5 | ||||
|   end | ||||
|   add_message "lnrpc.SendCoinsResponse" do | ||||
|     optional :txid, :string, 1 | ||||
|   end | ||||
|   add_message "lnrpc.NewAddressRequest" do | ||||
|     optional :type, :enum, 1, "lnrpc.NewAddressRequest.AddressType" | ||||
|   end | ||||
|   add_enum "lnrpc.NewAddressRequest.AddressType" do | ||||
|     value :WITNESS_PUBKEY_HASH, 0 | ||||
|     value :NESTED_PUBKEY_HASH, 1 | ||||
|   end | ||||
|   add_message "lnrpc.NewAddressResponse" do | ||||
|     optional :address, :string, 1 | ||||
|   end | ||||
|   add_message "lnrpc.SignMessageRequest" do | ||||
|     optional :msg, :bytes, 1 | ||||
|   end | ||||
|   add_message "lnrpc.SignMessageResponse" do | ||||
|     optional :signature, :string, 1 | ||||
|   end | ||||
|   add_message "lnrpc.VerifyMessageRequest" do | ||||
|     optional :msg, :bytes, 1 | ||||
|     optional :signature, :string, 2 | ||||
|   end | ||||
|   add_message "lnrpc.VerifyMessageResponse" do | ||||
|     optional :valid, :bool, 1 | ||||
|     optional :pubkey, :string, 2 | ||||
|   end | ||||
|   add_message "lnrpc.ConnectPeerRequest" do | ||||
|     optional :addr, :message, 1, "lnrpc.LightningAddress" | ||||
|     optional :perm, :bool, 2 | ||||
|   end | ||||
|   add_message "lnrpc.ConnectPeerResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.DisconnectPeerRequest" do | ||||
|     optional :pub_key, :string, 1 | ||||
|   end | ||||
|   add_message "lnrpc.DisconnectPeerResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.HTLC" do | ||||
|     optional :incoming, :bool, 1 | ||||
|     optional :amount, :int64, 2 | ||||
|     optional :hash_lock, :bytes, 3 | ||||
|     optional :expiration_height, :uint32, 4 | ||||
|   end | ||||
|   add_message "lnrpc.Channel" do | ||||
|     optional :active, :bool, 1 | ||||
|     optional :remote_pubkey, :string, 2 | ||||
|     optional :channel_point, :string, 3 | ||||
|     optional :chan_id, :uint64, 4 | ||||
|     optional :capacity, :int64, 5 | ||||
|     optional :local_balance, :int64, 6 | ||||
|     optional :remote_balance, :int64, 7 | ||||
|     optional :commit_fee, :int64, 8 | ||||
|     optional :commit_weight, :int64, 9 | ||||
|     optional :fee_per_kw, :int64, 10 | ||||
|     optional :unsettled_balance, :int64, 11 | ||||
|     optional :total_satoshis_sent, :int64, 12 | ||||
|     optional :total_satoshis_received, :int64, 13 | ||||
|     optional :num_updates, :uint64, 14 | ||||
|     repeated :pending_htlcs, :message, 15, "lnrpc.HTLC" | ||||
|     optional :csv_delay, :uint32, 16 | ||||
|     optional :private, :bool, 17 | ||||
|   end | ||||
|   add_message "lnrpc.ListChannelsRequest" do | ||||
|     optional :active_only, :bool, 1 | ||||
|     optional :inactive_only, :bool, 2 | ||||
|     optional :public_only, :bool, 3 | ||||
|     optional :private_only, :bool, 4 | ||||
|   end | ||||
|   add_message "lnrpc.ListChannelsResponse" do | ||||
|     repeated :channels, :message, 11, "lnrpc.Channel" | ||||
|   end | ||||
|   add_message "lnrpc.ChannelCloseSummary" do | ||||
|     optional :channel_point, :string, 1 | ||||
|     optional :chan_id, :uint64, 2 | ||||
|     optional :chain_hash, :string, 3 | ||||
|     optional :closing_tx_hash, :string, 4 | ||||
|     optional :remote_pubkey, :string, 5 | ||||
|     optional :capacity, :int64, 6 | ||||
|     optional :close_height, :uint32, 7 | ||||
|     optional :settled_balance, :int64, 8 | ||||
|     optional :time_locked_balance, :int64, 9 | ||||
|     optional :close_type, :enum, 10, "lnrpc.ChannelCloseSummary.ClosureType" | ||||
|   end | ||||
|   add_enum "lnrpc.ChannelCloseSummary.ClosureType" do | ||||
|     value :COOPERATIVE_CLOSE, 0 | ||||
|     value :LOCAL_FORCE_CLOSE, 1 | ||||
|     value :REMOTE_FORCE_CLOSE, 2 | ||||
|     value :BREACH_CLOSE, 3 | ||||
|     value :FUNDING_CANCELED, 4 | ||||
|     value :ABANDONED, 5 | ||||
|   end | ||||
|   add_message "lnrpc.ClosedChannelsRequest" do | ||||
|     optional :cooperative, :bool, 1 | ||||
|     optional :local_force, :bool, 2 | ||||
|     optional :remote_force, :bool, 3 | ||||
|     optional :breach, :bool, 4 | ||||
|     optional :funding_canceled, :bool, 5 | ||||
|     optional :abandoned, :bool, 6 | ||||
|   end | ||||
|   add_message "lnrpc.ClosedChannelsResponse" do | ||||
|     repeated :channels, :message, 1, "lnrpc.ChannelCloseSummary" | ||||
|   end | ||||
|   add_message "lnrpc.Peer" do | ||||
|     optional :pub_key, :string, 1 | ||||
|     optional :address, :string, 3 | ||||
|     optional :bytes_sent, :uint64, 4 | ||||
|     optional :bytes_recv, :uint64, 5 | ||||
|     optional :sat_sent, :int64, 6 | ||||
|     optional :sat_recv, :int64, 7 | ||||
|     optional :inbound, :bool, 8 | ||||
|     optional :ping_time, :int64, 9 | ||||
|   end | ||||
|   add_message "lnrpc.ListPeersRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.ListPeersResponse" do | ||||
|     repeated :peers, :message, 1, "lnrpc.Peer" | ||||
|   end | ||||
|   add_message "lnrpc.GetInfoRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.GetInfoResponse" do | ||||
|     optional :identity_pubkey, :string, 1 | ||||
|     optional :alias, :string, 2 | ||||
|     optional :num_pending_channels, :uint32, 3 | ||||
|     optional :num_active_channels, :uint32, 4 | ||||
|     optional :num_peers, :uint32, 5 | ||||
|     optional :block_height, :uint32, 6 | ||||
|     optional :block_hash, :string, 8 | ||||
|     optional :synced_to_chain, :bool, 9 | ||||
|     optional :testnet, :bool, 10 | ||||
|     repeated :chains, :string, 11 | ||||
|     repeated :uris, :string, 12 | ||||
|     optional :best_header_timestamp, :int64, 13 | ||||
|     optional :version, :string, 14 | ||||
|   end | ||||
|   add_message "lnrpc.ConfirmationUpdate" do | ||||
|     optional :block_sha, :bytes, 1 | ||||
|     optional :block_height, :int32, 2 | ||||
|     optional :num_confs_left, :uint32, 3 | ||||
|   end | ||||
|   add_message "lnrpc.ChannelOpenUpdate" do | ||||
|     optional :channel_point, :message, 1, "lnrpc.ChannelPoint" | ||||
|   end | ||||
|   add_message "lnrpc.ChannelCloseUpdate" do | ||||
|     optional :closing_txid, :bytes, 1 | ||||
|     optional :success, :bool, 2 | ||||
|   end | ||||
|   add_message "lnrpc.CloseChannelRequest" do | ||||
|     optional :channel_point, :message, 1, "lnrpc.ChannelPoint" | ||||
|     optional :force, :bool, 2 | ||||
|     optional :target_conf, :int32, 3 | ||||
|     optional :sat_per_byte, :int64, 4 | ||||
|   end | ||||
|   add_message "lnrpc.CloseStatusUpdate" do | ||||
|     oneof :update do | ||||
|       optional :close_pending, :message, 1, "lnrpc.PendingUpdate" | ||||
|       optional :confirmation, :message, 2, "lnrpc.ConfirmationUpdate" | ||||
|       optional :chan_close, :message, 3, "lnrpc.ChannelCloseUpdate" | ||||
|     end | ||||
|   end | ||||
|   add_message "lnrpc.PendingUpdate" do | ||||
|     optional :txid, :bytes, 1 | ||||
|     optional :output_index, :uint32, 2 | ||||
|   end | ||||
|   add_message "lnrpc.OpenChannelRequest" do | ||||
|     optional :node_pubkey, :bytes, 2 | ||||
|     optional :node_pubkey_string, :string, 3 | ||||
|     optional :local_funding_amount, :int64, 4 | ||||
|     optional :push_sat, :int64, 5 | ||||
|     optional :target_conf, :int32, 6 | ||||
|     optional :sat_per_byte, :int64, 7 | ||||
|     optional :private, :bool, 8 | ||||
|     optional :min_htlc_msat, :int64, 9 | ||||
|     optional :remote_csv_delay, :uint32, 10 | ||||
|     optional :min_confs, :int32, 11 | ||||
|     optional :spend_unconfirmed, :bool, 12 | ||||
|   end | ||||
|   add_message "lnrpc.OpenStatusUpdate" do | ||||
|     oneof :update do | ||||
|       optional :chan_pending, :message, 1, "lnrpc.PendingUpdate" | ||||
|       optional :confirmation, :message, 2, "lnrpc.ConfirmationUpdate" | ||||
|       optional :chan_open, :message, 3, "lnrpc.ChannelOpenUpdate" | ||||
|     end | ||||
|   end | ||||
|   add_message "lnrpc.PendingHTLC" do | ||||
|     optional :incoming, :bool, 1 | ||||
|     optional :amount, :int64, 2 | ||||
|     optional :outpoint, :string, 3 | ||||
|     optional :maturity_height, :uint32, 4 | ||||
|     optional :blocks_til_maturity, :int32, 5 | ||||
|     optional :stage, :uint32, 6 | ||||
|   end | ||||
|   add_message "lnrpc.PendingChannelsRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.PendingChannelsResponse" do | ||||
|     optional :total_limbo_balance, :int64, 1 | ||||
|     repeated :pending_open_channels, :message, 2, "lnrpc.PendingChannelsResponse.PendingOpenChannel" | ||||
|     repeated :pending_closing_channels, :message, 3, "lnrpc.PendingChannelsResponse.ClosedChannel" | ||||
|     repeated :pending_force_closing_channels, :message, 4, "lnrpc.PendingChannelsResponse.ForceClosedChannel" | ||||
|     repeated :waiting_close_channels, :message, 5, "lnrpc.PendingChannelsResponse.WaitingCloseChannel" | ||||
|   end | ||||
|   add_message "lnrpc.PendingChannelsResponse.PendingChannel" do | ||||
|     optional :remote_node_pub, :string, 1 | ||||
|     optional :channel_point, :string, 2 | ||||
|     optional :capacity, :int64, 3 | ||||
|     optional :local_balance, :int64, 4 | ||||
|     optional :remote_balance, :int64, 5 | ||||
|   end | ||||
|   add_message "lnrpc.PendingChannelsResponse.PendingOpenChannel" do | ||||
|     optional :channel, :message, 1, "lnrpc.PendingChannelsResponse.PendingChannel" | ||||
|     optional :confirmation_height, :uint32, 2 | ||||
|     optional :commit_fee, :int64, 4 | ||||
|     optional :commit_weight, :int64, 5 | ||||
|     optional :fee_per_kw, :int64, 6 | ||||
|   end | ||||
|   add_message "lnrpc.PendingChannelsResponse.WaitingCloseChannel" do | ||||
|     optional :channel, :message, 1, "lnrpc.PendingChannelsResponse.PendingChannel" | ||||
|     optional :limbo_balance, :int64, 2 | ||||
|   end | ||||
|   add_message "lnrpc.PendingChannelsResponse.ClosedChannel" do | ||||
|     optional :channel, :message, 1, "lnrpc.PendingChannelsResponse.PendingChannel" | ||||
|     optional :closing_txid, :string, 2 | ||||
|   end | ||||
|   add_message "lnrpc.PendingChannelsResponse.ForceClosedChannel" do | ||||
|     optional :channel, :message, 1, "lnrpc.PendingChannelsResponse.PendingChannel" | ||||
|     optional :closing_txid, :string, 2 | ||||
|     optional :limbo_balance, :int64, 3 | ||||
|     optional :maturity_height, :uint32, 4 | ||||
|     optional :blocks_til_maturity, :int32, 5 | ||||
|     optional :recovered_balance, :int64, 6 | ||||
|     repeated :pending_htlcs, :message, 8, "lnrpc.PendingHTLC" | ||||
|   end | ||||
|   add_message "lnrpc.WalletBalanceRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.WalletBalanceResponse" do | ||||
|     optional :total_balance, :int64, 1 | ||||
|     optional :confirmed_balance, :int64, 2 | ||||
|     optional :unconfirmed_balance, :int64, 3 | ||||
|   end | ||||
|   add_message "lnrpc.ChannelBalanceRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.ChannelBalanceResponse" do | ||||
|     optional :balance, :int64, 1 | ||||
|     optional :pending_open_balance, :int64, 2 | ||||
|   end | ||||
|   add_message "lnrpc.QueryRoutesRequest" do | ||||
|     optional :pub_key, :string, 1 | ||||
|     optional :amt, :int64, 2 | ||||
|     optional :num_routes, :int32, 3 | ||||
|     optional :final_cltv_delta, :int32, 4 | ||||
|     optional :fee_limit, :message, 5, "lnrpc.FeeLimit" | ||||
|   end | ||||
|   add_message "lnrpc.QueryRoutesResponse" do | ||||
|     repeated :routes, :message, 1, "lnrpc.Route" | ||||
|   end | ||||
|   add_message "lnrpc.Hop" do | ||||
|     optional :chan_id, :uint64, 1 | ||||
|     optional :chan_capacity, :int64, 2 | ||||
|     optional :amt_to_forward, :int64, 3 | ||||
|     optional :fee, :int64, 4 | ||||
|     optional :expiry, :uint32, 5 | ||||
|     optional :amt_to_forward_msat, :int64, 6 | ||||
|     optional :fee_msat, :int64, 7 | ||||
|   end | ||||
|   add_message "lnrpc.Route" do | ||||
|     optional :total_time_lock, :uint32, 1 | ||||
|     optional :total_fees, :int64, 2 | ||||
|     optional :total_amt, :int64, 3 | ||||
|     repeated :hops, :message, 4, "lnrpc.Hop" | ||||
|     optional :total_fees_msat, :int64, 5 | ||||
|     optional :total_amt_msat, :int64, 6 | ||||
|   end | ||||
|   add_message "lnrpc.NodeInfoRequest" do | ||||
|     optional :pub_key, :string, 1 | ||||
|   end | ||||
|   add_message "lnrpc.NodeInfo" do | ||||
|     optional :node, :message, 1, "lnrpc.LightningNode" | ||||
|     optional :num_channels, :uint32, 2 | ||||
|     optional :total_capacity, :int64, 3 | ||||
|   end | ||||
|   add_message "lnrpc.LightningNode" do | ||||
|     optional :last_update, :uint32, 1 | ||||
|     optional :pub_key, :string, 2 | ||||
|     optional :alias, :string, 3 | ||||
|     repeated :addresses, :message, 4, "lnrpc.NodeAddress" | ||||
|     optional :color, :string, 5 | ||||
|   end | ||||
|   add_message "lnrpc.NodeAddress" do | ||||
|     optional :network, :string, 1 | ||||
|     optional :addr, :string, 2 | ||||
|   end | ||||
|   add_message "lnrpc.RoutingPolicy" do | ||||
|     optional :time_lock_delta, :uint32, 1 | ||||
|     optional :min_htlc, :int64, 2 | ||||
|     optional :fee_base_msat, :int64, 3 | ||||
|     optional :fee_rate_milli_msat, :int64, 4 | ||||
|     optional :disabled, :bool, 5 | ||||
|   end | ||||
|   add_message "lnrpc.ChannelEdge" do | ||||
|     optional :channel_id, :uint64, 1 | ||||
|     optional :chan_point, :string, 2 | ||||
|     optional :last_update, :uint32, 3 | ||||
|     optional :node1_pub, :string, 4 | ||||
|     optional :node2_pub, :string, 5 | ||||
|     optional :capacity, :int64, 6 | ||||
|     optional :node1_policy, :message, 7, "lnrpc.RoutingPolicy" | ||||
|     optional :node2_policy, :message, 8, "lnrpc.RoutingPolicy" | ||||
|   end | ||||
|   add_message "lnrpc.ChannelGraphRequest" do | ||||
|     optional :include_unannounced, :bool, 1 | ||||
|   end | ||||
|   add_message "lnrpc.ChannelGraph" do | ||||
|     repeated :nodes, :message, 1, "lnrpc.LightningNode" | ||||
|     repeated :edges, :message, 2, "lnrpc.ChannelEdge" | ||||
|   end | ||||
|   add_message "lnrpc.ChanInfoRequest" do | ||||
|     optional :chan_id, :uint64, 1 | ||||
|   end | ||||
|   add_message "lnrpc.NetworkInfoRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.NetworkInfo" do | ||||
|     optional :graph_diameter, :uint32, 1 | ||||
|     optional :avg_out_degree, :double, 2 | ||||
|     optional :max_out_degree, :uint32, 3 | ||||
|     optional :num_nodes, :uint32, 4 | ||||
|     optional :num_channels, :uint32, 5 | ||||
|     optional :total_network_capacity, :int64, 6 | ||||
|     optional :avg_channel_size, :double, 7 | ||||
|     optional :min_channel_size, :int64, 8 | ||||
|     optional :max_channel_size, :int64, 9 | ||||
|   end | ||||
|   add_message "lnrpc.StopRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.StopResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.GraphTopologySubscription" do | ||||
|   end | ||||
|   add_message "lnrpc.GraphTopologyUpdate" do | ||||
|     repeated :node_updates, :message, 1, "lnrpc.NodeUpdate" | ||||
|     repeated :channel_updates, :message, 2, "lnrpc.ChannelEdgeUpdate" | ||||
|     repeated :closed_chans, :message, 3, "lnrpc.ClosedChannelUpdate" | ||||
|   end | ||||
|   add_message "lnrpc.NodeUpdate" do | ||||
|     repeated :addresses, :string, 1 | ||||
|     optional :identity_key, :string, 2 | ||||
|     optional :global_features, :bytes, 3 | ||||
|     optional :alias, :string, 4 | ||||
|   end | ||||
|   add_message "lnrpc.ChannelEdgeUpdate" do | ||||
|     optional :chan_id, :uint64, 1 | ||||
|     optional :chan_point, :message, 2, "lnrpc.ChannelPoint" | ||||
|     optional :capacity, :int64, 3 | ||||
|     optional :routing_policy, :message, 4, "lnrpc.RoutingPolicy" | ||||
|     optional :advertising_node, :string, 5 | ||||
|     optional :connecting_node, :string, 6 | ||||
|   end | ||||
|   add_message "lnrpc.ClosedChannelUpdate" do | ||||
|     optional :chan_id, :uint64, 1 | ||||
|     optional :capacity, :int64, 2 | ||||
|     optional :closed_height, :uint32, 3 | ||||
|     optional :chan_point, :message, 4, "lnrpc.ChannelPoint" | ||||
|   end | ||||
|   add_message "lnrpc.HopHint" do | ||||
|     optional :node_id, :string, 1 | ||||
|     optional :chan_id, :uint64, 2 | ||||
|     optional :fee_base_msat, :uint32, 3 | ||||
|     optional :fee_proportional_millionths, :uint32, 4 | ||||
|     optional :cltv_expiry_delta, :uint32, 5 | ||||
|   end | ||||
|   add_message "lnrpc.RouteHint" do | ||||
|     repeated :hop_hints, :message, 1, "lnrpc.HopHint" | ||||
|   end | ||||
|   add_message "lnrpc.Invoice" do | ||||
|     optional :memo, :string, 1 | ||||
|     optional :receipt, :bytes, 2 | ||||
|     optional :r_preimage, :bytes, 3 | ||||
|     optional :r_hash, :bytes, 4 | ||||
|     optional :value, :int64, 5 | ||||
|     optional :settled, :bool, 6 | ||||
|     optional :creation_date, :int64, 7 | ||||
|     optional :settle_date, :int64, 8 | ||||
|     optional :payment_request, :string, 9 | ||||
|     optional :description_hash, :bytes, 10 | ||||
|     optional :expiry, :int64, 11 | ||||
|     optional :fallback_addr, :string, 12 | ||||
|     optional :cltv_expiry, :uint64, 13 | ||||
|     repeated :route_hints, :message, 14, "lnrpc.RouteHint" | ||||
|     optional :private, :bool, 15 | ||||
|     optional :add_index, :uint64, 16 | ||||
|     optional :settle_index, :uint64, 17 | ||||
|     optional :amt_paid, :int64, 18 | ||||
|     optional :amt_paid_sat, :int64, 19 | ||||
|     optional :amt_paid_msat, :int64, 20 | ||||
|   end | ||||
|   add_message "lnrpc.AddInvoiceResponse" do | ||||
|     optional :r_hash, :bytes, 1 | ||||
|     optional :payment_request, :string, 2 | ||||
|     optional :add_index, :uint64, 16 | ||||
|   end | ||||
|   add_message "lnrpc.PaymentHash" do | ||||
|     optional :r_hash_str, :string, 1 | ||||
|     optional :r_hash, :bytes, 2 | ||||
|   end | ||||
|   add_message "lnrpc.ListInvoiceRequest" do | ||||
|     optional :pending_only, :bool, 1 | ||||
|     optional :index_offset, :uint64, 4 | ||||
|     optional :num_max_invoices, :uint64, 5 | ||||
|     optional :reversed, :bool, 6 | ||||
|   end | ||||
|   add_message "lnrpc.ListInvoiceResponse" do | ||||
|     repeated :invoices, :message, 1, "lnrpc.Invoice" | ||||
|     optional :last_index_offset, :uint64, 2 | ||||
|     optional :first_index_offset, :uint64, 3 | ||||
|   end | ||||
|   add_message "lnrpc.InvoiceSubscription" do | ||||
|     optional :add_index, :uint64, 1 | ||||
|     optional :settle_index, :uint64, 2 | ||||
|   end | ||||
|   add_message "lnrpc.Payment" do | ||||
|     optional :payment_hash, :string, 1 | ||||
|     optional :value, :int64, 2 | ||||
|     optional :creation_date, :int64, 3 | ||||
|     repeated :path, :string, 4 | ||||
|     optional :fee, :int64, 5 | ||||
|     optional :payment_preimage, :string, 6 | ||||
|     optional :value_sat, :int64, 7 | ||||
|     optional :value_msat, :int64, 8 | ||||
|   end | ||||
|   add_message "lnrpc.ListPaymentsRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.ListPaymentsResponse" do | ||||
|     repeated :payments, :message, 1, "lnrpc.Payment" | ||||
|   end | ||||
|   add_message "lnrpc.DeleteAllPaymentsRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.DeleteAllPaymentsResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.AbandonChannelRequest" do | ||||
|     optional :channel_point, :message, 1, "lnrpc.ChannelPoint" | ||||
|   end | ||||
|   add_message "lnrpc.AbandonChannelResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.DebugLevelRequest" do | ||||
|     optional :show, :bool, 1 | ||||
|     optional :level_spec, :string, 2 | ||||
|   end | ||||
|   add_message "lnrpc.DebugLevelResponse" do | ||||
|     optional :sub_systems, :string, 1 | ||||
|   end | ||||
|   add_message "lnrpc.PayReqString" do | ||||
|     optional :pay_req, :string, 1 | ||||
|   end | ||||
|   add_message "lnrpc.PayReq" do | ||||
|     optional :destination, :string, 1 | ||||
|     optional :payment_hash, :string, 2 | ||||
|     optional :num_satoshis, :int64, 3 | ||||
|     optional :timestamp, :int64, 4 | ||||
|     optional :expiry, :int64, 5 | ||||
|     optional :description, :string, 6 | ||||
|     optional :description_hash, :string, 7 | ||||
|     optional :fallback_addr, :string, 8 | ||||
|     optional :cltv_expiry, :int64, 9 | ||||
|     repeated :route_hints, :message, 10, "lnrpc.RouteHint" | ||||
|   end | ||||
|   add_message "lnrpc.FeeReportRequest" do | ||||
|   end | ||||
|   add_message "lnrpc.ChannelFeeReport" do | ||||
|     optional :chan_point, :string, 1 | ||||
|     optional :base_fee_msat, :int64, 2 | ||||
|     optional :fee_per_mil, :int64, 3 | ||||
|     optional :fee_rate, :double, 4 | ||||
|   end | ||||
|   add_message "lnrpc.FeeReportResponse" do | ||||
|     repeated :channel_fees, :message, 1, "lnrpc.ChannelFeeReport" | ||||
|     optional :day_fee_sum, :uint64, 2 | ||||
|     optional :week_fee_sum, :uint64, 3 | ||||
|     optional :month_fee_sum, :uint64, 4 | ||||
|   end | ||||
|   add_message "lnrpc.PolicyUpdateRequest" do | ||||
|     optional :base_fee_msat, :int64, 3 | ||||
|     optional :fee_rate, :double, 4 | ||||
|     optional :time_lock_delta, :uint32, 5 | ||||
|     oneof :scope do | ||||
|       optional :global, :bool, 1 | ||||
|       optional :chan_point, :message, 2, "lnrpc.ChannelPoint" | ||||
|     end | ||||
|   end | ||||
|   add_message "lnrpc.PolicyUpdateResponse" do | ||||
|   end | ||||
|   add_message "lnrpc.ForwardingHistoryRequest" do | ||||
|     optional :start_time, :uint64, 1 | ||||
|     optional :end_time, :uint64, 2 | ||||
|     optional :index_offset, :uint32, 3 | ||||
|     optional :num_max_events, :uint32, 4 | ||||
|   end | ||||
|   add_message "lnrpc.ForwardingEvent" do | ||||
|     optional :timestamp, :uint64, 1 | ||||
|     optional :chan_id_in, :uint64, 2 | ||||
|     optional :chan_id_out, :uint64, 4 | ||||
|     optional :amt_in, :uint64, 5 | ||||
|     optional :amt_out, :uint64, 6 | ||||
|     optional :fee, :uint64, 7 | ||||
|   end | ||||
|   add_message "lnrpc.ForwardingHistoryResponse" do | ||||
|     repeated :forwarding_events, :message, 1, "lnrpc.ForwardingEvent" | ||||
|     optional :last_offset_index, :uint32, 2 | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| module Lnrpc | ||||
|   GenSeedRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GenSeedRequest").msgclass | ||||
|   GenSeedResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GenSeedResponse").msgclass | ||||
|   InitWalletRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InitWalletRequest").msgclass | ||||
|   InitWalletResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InitWalletResponse").msgclass | ||||
|   UnlockWalletRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.UnlockWalletRequest").msgclass | ||||
|   UnlockWalletResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.UnlockWalletResponse").msgclass | ||||
|   ChangePasswordRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChangePasswordRequest").msgclass | ||||
|   ChangePasswordResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChangePasswordResponse").msgclass | ||||
|   Transaction = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Transaction").msgclass | ||||
|   GetTransactionsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GetTransactionsRequest").msgclass | ||||
|   TransactionDetails = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.TransactionDetails").msgclass | ||||
|   FeeLimit = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.FeeLimit").msgclass | ||||
|   SendRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SendRequest").msgclass | ||||
|   SendResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SendResponse").msgclass | ||||
|   SendToRouteRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SendToRouteRequest").msgclass | ||||
|   ChannelPoint = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelPoint").msgclass | ||||
|   LightningAddress = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.LightningAddress").msgclass | ||||
|   SendManyRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SendManyRequest").msgclass | ||||
|   SendManyResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SendManyResponse").msgclass | ||||
|   SendCoinsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SendCoinsRequest").msgclass | ||||
|   SendCoinsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SendCoinsResponse").msgclass | ||||
|   NewAddressRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NewAddressRequest").msgclass | ||||
|   NewAddressRequest::AddressType = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NewAddressRequest.AddressType").enummodule | ||||
|   NewAddressResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NewAddressResponse").msgclass | ||||
|   SignMessageRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SignMessageRequest").msgclass | ||||
|   SignMessageResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.SignMessageResponse").msgclass | ||||
|   VerifyMessageRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.VerifyMessageRequest").msgclass | ||||
|   VerifyMessageResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.VerifyMessageResponse").msgclass | ||||
|   ConnectPeerRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ConnectPeerRequest").msgclass | ||||
|   ConnectPeerResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ConnectPeerResponse").msgclass | ||||
|   DisconnectPeerRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.DisconnectPeerRequest").msgclass | ||||
|   DisconnectPeerResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.DisconnectPeerResponse").msgclass | ||||
|   HTLC = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.HTLC").msgclass | ||||
|   Channel = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Channel").msgclass | ||||
|   ListChannelsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListChannelsRequest").msgclass | ||||
|   ListChannelsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListChannelsResponse").msgclass | ||||
|   ChannelCloseSummary = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelCloseSummary").msgclass | ||||
|   ChannelCloseSummary::ClosureType = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelCloseSummary.ClosureType").enummodule | ||||
|   ClosedChannelsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ClosedChannelsRequest").msgclass | ||||
|   ClosedChannelsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ClosedChannelsResponse").msgclass | ||||
|   Peer = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Peer").msgclass | ||||
|   ListPeersRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListPeersRequest").msgclass | ||||
|   ListPeersResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListPeersResponse").msgclass | ||||
|   GetInfoRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GetInfoRequest").msgclass | ||||
|   GetInfoResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GetInfoResponse").msgclass | ||||
|   ConfirmationUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ConfirmationUpdate").msgclass | ||||
|   ChannelOpenUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelOpenUpdate").msgclass | ||||
|   ChannelCloseUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelCloseUpdate").msgclass | ||||
|   CloseChannelRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.CloseChannelRequest").msgclass | ||||
|   CloseStatusUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.CloseStatusUpdate").msgclass | ||||
|   PendingUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingUpdate").msgclass | ||||
|   OpenChannelRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.OpenChannelRequest").msgclass | ||||
|   OpenStatusUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.OpenStatusUpdate").msgclass | ||||
|   PendingHTLC = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingHTLC").msgclass | ||||
|   PendingChannelsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingChannelsRequest").msgclass | ||||
|   PendingChannelsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingChannelsResponse").msgclass | ||||
|   PendingChannelsResponse::PendingChannel = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingChannelsResponse.PendingChannel").msgclass | ||||
|   PendingChannelsResponse::PendingOpenChannel = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingChannelsResponse.PendingOpenChannel").msgclass | ||||
|   PendingChannelsResponse::WaitingCloseChannel = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingChannelsResponse.WaitingCloseChannel").msgclass | ||||
|   PendingChannelsResponse::ClosedChannel = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingChannelsResponse.ClosedChannel").msgclass | ||||
|   PendingChannelsResponse::ForceClosedChannel = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PendingChannelsResponse.ForceClosedChannel").msgclass | ||||
|   WalletBalanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.WalletBalanceRequest").msgclass | ||||
|   WalletBalanceResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.WalletBalanceResponse").msgclass | ||||
|   ChannelBalanceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelBalanceRequest").msgclass | ||||
|   ChannelBalanceResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelBalanceResponse").msgclass | ||||
|   QueryRoutesRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.QueryRoutesRequest").msgclass | ||||
|   QueryRoutesResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.QueryRoutesResponse").msgclass | ||||
|   Hop = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Hop").msgclass | ||||
|   Route = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Route").msgclass | ||||
|   NodeInfoRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NodeInfoRequest").msgclass | ||||
|   NodeInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NodeInfo").msgclass | ||||
|   LightningNode = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.LightningNode").msgclass | ||||
|   NodeAddress = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NodeAddress").msgclass | ||||
|   RoutingPolicy = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.RoutingPolicy").msgclass | ||||
|   ChannelEdge = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelEdge").msgclass | ||||
|   ChannelGraphRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelGraphRequest").msgclass | ||||
|   ChannelGraph = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelGraph").msgclass | ||||
|   ChanInfoRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChanInfoRequest").msgclass | ||||
|   NetworkInfoRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NetworkInfoRequest").msgclass | ||||
|   NetworkInfo = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NetworkInfo").msgclass | ||||
|   StopRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.StopRequest").msgclass | ||||
|   StopResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.StopResponse").msgclass | ||||
|   GraphTopologySubscription = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GraphTopologySubscription").msgclass | ||||
|   GraphTopologyUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GraphTopologyUpdate").msgclass | ||||
|   NodeUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NodeUpdate").msgclass | ||||
|   ChannelEdgeUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelEdgeUpdate").msgclass | ||||
|   ClosedChannelUpdate = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ClosedChannelUpdate").msgclass | ||||
|   HopHint = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.HopHint").msgclass | ||||
|   RouteHint = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.RouteHint").msgclass | ||||
|   Invoice = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Invoice").msgclass | ||||
|   AddInvoiceResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.AddInvoiceResponse").msgclass | ||||
|   PaymentHash = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PaymentHash").msgclass | ||||
|   ListInvoiceRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListInvoiceRequest").msgclass | ||||
|   ListInvoiceResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListInvoiceResponse").msgclass | ||||
|   InvoiceSubscription = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InvoiceSubscription").msgclass | ||||
|   Payment = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Payment").msgclass | ||||
|   ListPaymentsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListPaymentsRequest").msgclass | ||||
|   ListPaymentsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListPaymentsResponse").msgclass | ||||
|   DeleteAllPaymentsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.DeleteAllPaymentsRequest").msgclass | ||||
|   DeleteAllPaymentsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.DeleteAllPaymentsResponse").msgclass | ||||
|   AbandonChannelRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.AbandonChannelRequest").msgclass | ||||
|   AbandonChannelResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.AbandonChannelResponse").msgclass | ||||
|   DebugLevelRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.DebugLevelRequest").msgclass | ||||
|   DebugLevelResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.DebugLevelResponse").msgclass | ||||
|   PayReqString = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PayReqString").msgclass | ||||
|   PayReq = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PayReq").msgclass | ||||
|   FeeReportRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.FeeReportRequest").msgclass | ||||
|   ChannelFeeReport = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelFeeReport").msgclass | ||||
|   FeeReportResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.FeeReportResponse").msgclass | ||||
|   PolicyUpdateRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PolicyUpdateRequest").msgclass | ||||
|   PolicyUpdateResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PolicyUpdateResponse").msgclass | ||||
|   ForwardingHistoryRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ForwardingHistoryRequest").msgclass | ||||
|   ForwardingEvent = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ForwardingEvent").msgclass | ||||
|   ForwardingHistoryResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ForwardingHistoryResponse").msgclass | ||||
| end | ||||
							
								
								
									
										307
									
								
								lib/faraday_ln_paywall/rpc_services_pb.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										307
									
								
								lib/faraday_ln_paywall/rpc_services_pb.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,307 @@ | ||||
| # Generated by the protocol buffer compiler.  DO NOT EDIT! | ||||
| # Source: rpc.proto for package 'lnrpc' | ||||
| 
 | ||||
| require 'grpc' | ||||
| require_relative 'rpc_pb' | ||||
| 
 | ||||
| module Lnrpc | ||||
|   module WalletUnlocker | ||||
|     # The WalletUnlocker service is used to set up a wallet password for | ||||
|     # lnd at first startup, and unlock a previously set up wallet. | ||||
|     class Service | ||||
| 
 | ||||
|       include GRPC::GenericService | ||||
| 
 | ||||
|       self.marshal_class_method = :encode | ||||
|       self.unmarshal_class_method = :decode | ||||
|       self.service_name = 'lnrpc.WalletUnlocker' | ||||
| 
 | ||||
|       # * | ||||
|       # GenSeed is the first method that should be used to instantiate a new lnd | ||||
|       # instance. This method allows a caller to generate a new aezeed cipher seed | ||||
|       # given an optional passphrase. If provided, the passphrase will be necessary | ||||
|       # to decrypt the cipherseed to expose the internal wallet seed. | ||||
|       # | ||||
|       # Once the cipherseed is obtained and verified by the user, the InitWallet | ||||
|       # method should be used to commit the newly generated seed, and create the | ||||
|       # wallet. | ||||
|       rpc :GenSeed, GenSeedRequest, GenSeedResponse | ||||
|       # * | ||||
|       # InitWallet is used when lnd is starting up for the first time to fully | ||||
|       # initialize the daemon and its internal wallet. At the very least a wallet | ||||
|       # password must be provided. This will be used to encrypt sensitive material | ||||
|       # on disk. | ||||
|       # | ||||
|       # In the case of a recovery scenario, the user can also specify their aezeed | ||||
|       # mnemonic and passphrase. If set, then the daemon will use this prior state | ||||
|       # to initialize its internal wallet. | ||||
|       # | ||||
|       # Alternatively, this can be used along with the GenSeed RPC to obtain a | ||||
|       # seed, then present it to the user. Once it has been verified by the user, | ||||
|       # the seed can be fed into this RPC in order to commit the new wallet. | ||||
|       rpc :InitWallet, InitWalletRequest, InitWalletResponse | ||||
|       # * lncli: `unlock` | ||||
|       # UnlockWallet is used at startup of lnd to provide a password to unlock | ||||
|       # the wallet database. | ||||
|       rpc :UnlockWallet, UnlockWalletRequest, UnlockWalletResponse | ||||
|       # * lncli: `changepassword` | ||||
|       # ChangePassword changes the password of the encrypted wallet. This will | ||||
|       # automatically unlock the wallet database if successful. | ||||
|       rpc :ChangePassword, ChangePasswordRequest, ChangePasswordResponse | ||||
|     end | ||||
| 
 | ||||
|     Stub = Service.rpc_stub_class | ||||
|   end | ||||
|   module Lightning | ||||
|     class Service | ||||
| 
 | ||||
|       include GRPC::GenericService | ||||
| 
 | ||||
|       self.marshal_class_method = :encode | ||||
|       self.unmarshal_class_method = :decode | ||||
|       self.service_name = 'lnrpc.Lightning' | ||||
| 
 | ||||
|       # * lncli: `walletbalance` | ||||
|       # WalletBalance returns total unspent outputs(confirmed and unconfirmed), all | ||||
|       # confirmed unspent outputs and all unconfirmed unspent outputs under control | ||||
|       # of the wallet. | ||||
|       rpc :WalletBalance, WalletBalanceRequest, WalletBalanceResponse | ||||
|       # * lncli: `channelbalance` | ||||
|       # ChannelBalance returns the total funds available across all open channels | ||||
|       # in satoshis. | ||||
|       rpc :ChannelBalance, ChannelBalanceRequest, ChannelBalanceResponse | ||||
|       # * lncli: `listchaintxns` | ||||
|       # GetTransactions returns a list describing all the known transactions | ||||
|       # relevant to the wallet. | ||||
|       rpc :GetTransactions, GetTransactionsRequest, TransactionDetails | ||||
|       # * lncli: `sendcoins` | ||||
|       # SendCoins executes a request to send coins to a particular address. Unlike | ||||
|       # SendMany, this RPC call only allows creating a single output at a time. If | ||||
|       # neither target_conf, or sat_per_byte are set, then the internal wallet will | ||||
|       # consult its fee model to determine a fee for the default confirmation | ||||
|       # target. | ||||
|       rpc :SendCoins, SendCoinsRequest, SendCoinsResponse | ||||
|       # * | ||||
|       # SubscribeTransactions creates a uni-directional stream from the server to | ||||
|       # the client in which any newly discovered transactions relevant to the | ||||
|       # wallet are sent over. | ||||
|       rpc :SubscribeTransactions, GetTransactionsRequest, stream(Transaction) | ||||
|       # * lncli: `sendmany` | ||||
|       # SendMany handles a request for a transaction that creates multiple specified | ||||
|       # outputs in parallel. If neither target_conf, or sat_per_byte are set, then | ||||
|       # the internal wallet will consult its fee model to determine a fee for the | ||||
|       # default confirmation target. | ||||
|       rpc :SendMany, SendManyRequest, SendManyResponse | ||||
|       # * lncli: `newaddress` | ||||
|       # NewAddress creates a new address under control of the local wallet. | ||||
|       rpc :NewAddress, NewAddressRequest, NewAddressResponse | ||||
|       # * lncli: `signmessage` | ||||
|       # SignMessage signs a message with this node's private key. The returned | ||||
|       # signature string is `zbase32` encoded and pubkey recoverable, meaning that | ||||
|       # only the message digest and signature are needed for verification. | ||||
|       rpc :SignMessage, SignMessageRequest, SignMessageResponse | ||||
|       # * lncli: `verifymessage` | ||||
|       # VerifyMessage verifies a signature over a msg. The signature must be | ||||
|       # zbase32 encoded and signed by an active node in the resident node's | ||||
|       # channel database. In addition to returning the validity of the signature, | ||||
|       # VerifyMessage also returns the recovered pubkey from the signature. | ||||
|       rpc :VerifyMessage, VerifyMessageRequest, VerifyMessageResponse | ||||
|       # * lncli: `connect` | ||||
|       # ConnectPeer attempts to establish a connection to a remote peer. This is at | ||||
|       # the networking level, and is used for communication between nodes. This is | ||||
|       # distinct from establishing a channel with a peer. | ||||
|       rpc :ConnectPeer, ConnectPeerRequest, ConnectPeerResponse | ||||
|       # * lncli: `disconnect` | ||||
|       # DisconnectPeer attempts to disconnect one peer from another identified by a | ||||
|       # given pubKey. In the case that we currently have a pending or active channel | ||||
|       # with the target peer, then this action will be not be allowed. | ||||
|       rpc :DisconnectPeer, DisconnectPeerRequest, DisconnectPeerResponse | ||||
|       # * lncli: `listpeers` | ||||
|       # ListPeers returns a verbose listing of all currently active peers. | ||||
|       rpc :ListPeers, ListPeersRequest, ListPeersResponse | ||||
|       # * lncli: `getinfo` | ||||
|       # GetInfo returns general information concerning the lightning node including | ||||
|       # it's identity pubkey, alias, the chains it is connected to, and information | ||||
|       # concerning the number of open+pending channels. | ||||
|       rpc :GetInfo, GetInfoRequest, GetInfoResponse | ||||
|       # TODO(roasbeef): merge with below with bool? | ||||
|       # | ||||
|       # * lncli: `pendingchannels` | ||||
|       # PendingChannels returns a list of all the channels that are currently | ||||
|       # considered "pending". A channel is pending if it has finished the funding | ||||
|       # workflow and is waiting for confirmations for the funding txn, or is in the | ||||
|       # process of closure, either initiated cooperatively or non-cooperatively. | ||||
|       rpc :PendingChannels, PendingChannelsRequest, PendingChannelsResponse | ||||
|       # * lncli: `listchannels` | ||||
|       # ListChannels returns a description of all the open channels that this node | ||||
|       # is a participant in. | ||||
|       rpc :ListChannels, ListChannelsRequest, ListChannelsResponse | ||||
|       # * lncli: `closedchannels` | ||||
|       # ClosedChannels returns a description of all the closed channels that | ||||
|       # this node was a participant in. | ||||
|       rpc :ClosedChannels, ClosedChannelsRequest, ClosedChannelsResponse | ||||
|       # * | ||||
|       # OpenChannelSync is a synchronous version of the OpenChannel RPC call. This | ||||
|       # call is meant to be consumed by clients to the REST proxy. As with all | ||||
|       # other sync calls, all byte slices are intended to be populated as hex | ||||
|       # encoded strings. | ||||
|       rpc :OpenChannelSync, OpenChannelRequest, ChannelPoint | ||||
|       # * lncli: `openchannel` | ||||
|       # OpenChannel attempts to open a singly funded channel specified in the | ||||
|       # request to a remote peer. Users are able to specify a target number of | ||||
|       # blocks that the funding transaction should be confirmed in, or a manual fee | ||||
|       # rate to us for the funding transaction. If neither are specified, then a | ||||
|       # lax block confirmation target is used. | ||||
|       rpc :OpenChannel, OpenChannelRequest, stream(OpenStatusUpdate) | ||||
|       # * lncli: `closechannel` | ||||
|       # CloseChannel attempts to close an active channel identified by its channel | ||||
|       # outpoint (ChannelPoint). The actions of this method can additionally be | ||||
|       # augmented to attempt a force close after a timeout period in the case of an | ||||
|       # inactive peer. If a non-force close (cooperative closure) is requested, | ||||
|       # then the user can specify either a target number of blocks until the | ||||
|       # closure transaction is confirmed, or a manual fee rate. If neither are | ||||
|       # specified, then a default lax, block confirmation target is used. | ||||
|       rpc :CloseChannel, CloseChannelRequest, stream(CloseStatusUpdate) | ||||
|       # * lncli: `abandonchannel` | ||||
|       # AbandonChannel removes all channel state from the database except for a | ||||
|       # close summary. This method can be used to get rid of permanently unusable | ||||
|       # channels due to bugs fixed in newer versions of lnd. Only available | ||||
|       # when in debug builds of lnd. | ||||
|       rpc :AbandonChannel, AbandonChannelRequest, AbandonChannelResponse | ||||
|       # * lncli: `sendpayment` | ||||
|       # SendPayment dispatches a bi-directional streaming RPC for sending payments | ||||
|       # through the Lightning Network. A single RPC invocation creates a persistent | ||||
|       # bi-directional stream allowing clients to rapidly send payments through the | ||||
|       # Lightning Network with a single persistent connection. | ||||
|       rpc :SendPayment, stream(SendRequest), stream(SendResponse) | ||||
|       # * | ||||
|       # SendPaymentSync is the synchronous non-streaming version of SendPayment. | ||||
|       # This RPC is intended to be consumed by clients of the REST proxy. | ||||
|       # Additionally, this RPC expects the destination's public key and the payment | ||||
|       # hash (if any) to be encoded as hex strings. | ||||
|       rpc :SendPaymentSync, SendRequest, SendResponse | ||||
|       # * lncli: `sendtoroute` | ||||
|       # SendToRoute is a bi-directional streaming RPC for sending payment through | ||||
|       # the Lightning Network. This method differs from SendPayment in that it | ||||
|       # allows users to specify a full route manually. This can be used for things | ||||
|       # like rebalancing, and atomic swaps. | ||||
|       rpc :SendToRoute, stream(SendToRouteRequest), stream(SendResponse) | ||||
|       # * | ||||
|       # SendToRouteSync is a synchronous version of SendToRoute. It Will block | ||||
|       # until the payment either fails or succeeds. | ||||
|       rpc :SendToRouteSync, SendToRouteRequest, SendResponse | ||||
|       # * lncli: `addinvoice` | ||||
|       # AddInvoice attempts to add a new invoice to the invoice database. Any | ||||
|       # duplicated invoices are rejected, therefore all invoices *must* have a | ||||
|       # unique payment preimage. | ||||
|       rpc :AddInvoice, Invoice, AddInvoiceResponse | ||||
|       # * lncli: `listinvoices` | ||||
|       # ListInvoices returns a list of all the invoices currently stored within the | ||||
|       # database. Any active debug invoices are ignored. It has full support for | ||||
|       # paginated responses, allowing users to query for specific invoices through | ||||
|       # their add_index. This can be done by using either the first_index_offset or | ||||
|       # last_index_offset fields included in the response as the index_offset of the | ||||
|       # next request. The reversed flag is set by default in order to paginate | ||||
|       # backwards. If you wish to paginate forwards, you must explicitly set the | ||||
|       # flag to false. If none of the parameters are specified, then the last 100 | ||||
|       # invoices will be returned. | ||||
|       rpc :ListInvoices, ListInvoiceRequest, ListInvoiceResponse | ||||
|       # * lncli: `lookupinvoice` | ||||
|       # LookupInvoice attempts to look up an invoice according to its payment hash. | ||||
|       # The passed payment hash *must* be exactly 32 bytes, if not, an error is | ||||
|       # returned. | ||||
|       rpc :LookupInvoice, PaymentHash, Invoice | ||||
|       # * | ||||
|       # SubscribeInvoices returns a uni-directional stream (server -> client) for | ||||
|       # notifying the client of newly added/settled invoices. The caller can | ||||
|       # optionally specify the add_index and/or the settle_index. If the add_index | ||||
|       # is specified, then we'll first start by sending add invoice events for all | ||||
|       # invoices with an add_index greater than the specified value.  If the | ||||
|       # settle_index is specified, the next, we'll send out all settle events for | ||||
|       # invoices with a settle_index greater than the specified value.  One or both | ||||
|       # of these fields can be set. If no fields are set, then we'll only send out | ||||
|       # the latest add/settle events. | ||||
|       rpc :SubscribeInvoices, InvoiceSubscription, stream(Invoice) | ||||
|       # * lncli: `decodepayreq` | ||||
|       # DecodePayReq takes an encoded payment request string and attempts to decode | ||||
|       # it, returning a full description of the conditions encoded within the | ||||
|       # payment request. | ||||
|       rpc :DecodePayReq, PayReqString, PayReq | ||||
|       # * lncli: `listpayments` | ||||
|       # ListPayments returns a list of all outgoing payments. | ||||
|       rpc :ListPayments, ListPaymentsRequest, ListPaymentsResponse | ||||
|       # * | ||||
|       # DeleteAllPayments deletes all outgoing payments from DB. | ||||
|       rpc :DeleteAllPayments, DeleteAllPaymentsRequest, DeleteAllPaymentsResponse | ||||
|       # * lncli: `describegraph` | ||||
|       # DescribeGraph returns a description of the latest graph state from the | ||||
|       # point of view of the node. The graph information is partitioned into two | ||||
|       # components: all the nodes/vertexes, and all the edges that connect the | ||||
|       # vertexes themselves.  As this is a directed graph, the edges also contain | ||||
|       # the node directional specific routing policy which includes: the time lock | ||||
|       # delta, fee information, etc. | ||||
|       rpc :DescribeGraph, ChannelGraphRequest, ChannelGraph | ||||
|       # * lncli: `getchaninfo` | ||||
|       # GetChanInfo returns the latest authenticated network announcement for the | ||||
|       # given channel identified by its channel ID: an 8-byte integer which | ||||
|       # uniquely identifies the location of transaction's funding output within the | ||||
|       # blockchain. | ||||
|       rpc :GetChanInfo, ChanInfoRequest, ChannelEdge | ||||
|       # * lncli: `getnodeinfo` | ||||
|       # GetNodeInfo returns the latest advertised, aggregated, and authenticated | ||||
|       # channel information for the specified node identified by its public key. | ||||
|       rpc :GetNodeInfo, NodeInfoRequest, NodeInfo | ||||
|       # * lncli: `queryroutes` | ||||
|       # QueryRoutes attempts to query the daemon's Channel Router for a possible | ||||
|       # route to a target destination capable of carrying a specific amount of | ||||
|       # satoshis. The retuned route contains the full details required to craft and | ||||
|       # send an HTLC, also including the necessary information that should be | ||||
|       # present within the Sphinx packet encapsulated within the HTLC. | ||||
|       rpc :QueryRoutes, QueryRoutesRequest, QueryRoutesResponse | ||||
|       # * lncli: `getnetworkinfo` | ||||
|       # GetNetworkInfo returns some basic stats about the known channel graph from | ||||
|       # the point of view of the node. | ||||
|       rpc :GetNetworkInfo, NetworkInfoRequest, NetworkInfo | ||||
|       # * lncli: `stop` | ||||
|       # StopDaemon will send a shutdown request to the interrupt handler, triggering | ||||
|       # a graceful shutdown of the daemon. | ||||
|       rpc :StopDaemon, StopRequest, StopResponse | ||||
|       # * | ||||
|       # SubscribeChannelGraph launches a streaming RPC that allows the caller to | ||||
|       # receive notifications upon any changes to the channel graph topology from | ||||
|       # the point of view of the responding node. Events notified include: new | ||||
|       # nodes coming online, nodes updating their authenticated attributes, new | ||||
|       # channels being advertised, updates in the routing policy for a directional | ||||
|       # channel edge, and when channels are closed on-chain. | ||||
|       rpc :SubscribeChannelGraph, GraphTopologySubscription, stream(GraphTopologyUpdate) | ||||
|       # * lncli: `debuglevel` | ||||
|       # DebugLevel allows a caller to programmatically set the logging verbosity of | ||||
|       # lnd. The logging can be targeted according to a coarse daemon-wide logging | ||||
|       # level, or in a granular fashion to specify the logging for a target | ||||
|       # sub-system. | ||||
|       rpc :DebugLevel, DebugLevelRequest, DebugLevelResponse | ||||
|       # * lncli: `feereport` | ||||
|       # FeeReport allows the caller to obtain a report detailing the current fee | ||||
|       # schedule enforced by the node globally for each channel. | ||||
|       rpc :FeeReport, FeeReportRequest, FeeReportResponse | ||||
|       # * lncli: `updatechanpolicy` | ||||
|       # UpdateChannelPolicy allows the caller to update the fee schedule and | ||||
|       # channel policies for all channels globally, or a particular channel. | ||||
|       rpc :UpdateChannelPolicy, PolicyUpdateRequest, PolicyUpdateResponse | ||||
|       # * lncli: `fwdinghistory` | ||||
|       # ForwardingHistory allows the caller to query the htlcswitch for a record of | ||||
|       # all HTLC's forwarded within the target time range, and integer offset | ||||
|       # within that time range. If no time-range is specified, then the first chunk | ||||
|       # of the past 24 hrs of forwarding history are returned. | ||||
|       # | ||||
|       # A list of forwarding events are returned. The size of each forwarding event | ||||
|       # is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. | ||||
|       # As a result each message can only contain 50k entries.  Each response has | ||||
|       # the index offset of the last entry. The index offset can be provided to the | ||||
|       # request to allow the caller to skip a series of records. | ||||
|       rpc :ForwardingHistory, ForwardingHistoryRequest, ForwardingHistoryResponse | ||||
|     end | ||||
| 
 | ||||
|     Stub = Service.rpc_stub_class | ||||
|   end | ||||
| end | ||||
							
								
								
									
										3
									
								
								lib/faraday_ln_paywall/version.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								lib/faraday_ln_paywall/version.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| module FaradayLnPaywall | ||||
|   VERSION = "0.1.0" | ||||
| end | ||||
							
								
								
									
										11
									
								
								spec/faraday_ln_paywall_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								spec/faraday_ln_paywall_spec.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| require "spec_helper" | ||||
| 
 | ||||
| RSpec.describe FaradayLnPaywall do | ||||
|   it "has a version number" do | ||||
|     expect(FaradayLnPaywall::VERSION).not_to be nil | ||||
|   end | ||||
| 
 | ||||
|   it "does something useful" do | ||||
|     expect(false).to eq(true) | ||||
|   end | ||||
| end | ||||
							
								
								
									
										14
									
								
								spec/spec_helper.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								spec/spec_helper.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| require "bundler/setup" | ||||
| require "faraday_ln_paywall" | ||||
| 
 | ||||
| RSpec.configure do |config| | ||||
|   # Enable flags like --only-failures and --next-failure | ||||
|   config.example_status_persistence_file_path = ".rspec_status" | ||||
| 
 | ||||
|   # Disable RSpec exposing methods globally on `Module` and `main` | ||||
|   config.disable_monkey_patching! | ||||
| 
 | ||||
|   config.expect_with :rspec do |c| | ||||
|     c.syntax = :expect | ||||
|   end | ||||
| end | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user