mirror of
https://github.com/bumi/lnrpc
synced 2026-02-14 23:37:50 +00:00
Add support for v0.11 GRPC services
This also refactors the client GRPC wrapper to dynamically load the request objects. All GRPC generated client files now live under lib/grpc_services
This commit is contained in:
67
lib/grpc_services/chainrpc/chainnotifier_pb.rb
Normal file
67
lib/grpc_services/chainrpc/chainnotifier_pb.rb
Normal file
@@ -0,0 +1,67 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# source: chainrpc/chainnotifier.proto
|
||||
|
||||
require 'google/protobuf'
|
||||
|
||||
Google::Protobuf::DescriptorPool.generated_pool.build do
|
||||
add_file("chainrpc/chainnotifier.proto", :syntax => :proto3) do
|
||||
add_message "chainrpc.ConfRequest" do
|
||||
optional :txid, :bytes, 1
|
||||
optional :script, :bytes, 2
|
||||
optional :num_confs, :uint32, 3
|
||||
optional :height_hint, :uint32, 4
|
||||
end
|
||||
add_message "chainrpc.ConfDetails" do
|
||||
optional :raw_tx, :bytes, 1
|
||||
optional :block_hash, :bytes, 2
|
||||
optional :block_height, :uint32, 3
|
||||
optional :tx_index, :uint32, 4
|
||||
end
|
||||
add_message "chainrpc.Reorg" do
|
||||
end
|
||||
add_message "chainrpc.ConfEvent" do
|
||||
oneof :event do
|
||||
optional :conf, :message, 1, "chainrpc.ConfDetails"
|
||||
optional :reorg, :message, 2, "chainrpc.Reorg"
|
||||
end
|
||||
end
|
||||
add_message "chainrpc.Outpoint" do
|
||||
optional :hash, :bytes, 1
|
||||
optional :index, :uint32, 2
|
||||
end
|
||||
add_message "chainrpc.SpendRequest" do
|
||||
optional :outpoint, :message, 1, "chainrpc.Outpoint"
|
||||
optional :script, :bytes, 2
|
||||
optional :height_hint, :uint32, 3
|
||||
end
|
||||
add_message "chainrpc.SpendDetails" do
|
||||
optional :spending_outpoint, :message, 1, "chainrpc.Outpoint"
|
||||
optional :raw_spending_tx, :bytes, 2
|
||||
optional :spending_tx_hash, :bytes, 3
|
||||
optional :spending_input_index, :uint32, 4
|
||||
optional :spending_height, :uint32, 5
|
||||
end
|
||||
add_message "chainrpc.SpendEvent" do
|
||||
oneof :event do
|
||||
optional :spend, :message, 1, "chainrpc.SpendDetails"
|
||||
optional :reorg, :message, 2, "chainrpc.Reorg"
|
||||
end
|
||||
end
|
||||
add_message "chainrpc.BlockEpoch" do
|
||||
optional :hash, :bytes, 1
|
||||
optional :height, :uint32, 2
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
module Chainrpc
|
||||
ConfRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.ConfRequest").msgclass
|
||||
ConfDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.ConfDetails").msgclass
|
||||
Reorg = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.Reorg").msgclass
|
||||
ConfEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.ConfEvent").msgclass
|
||||
Outpoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.Outpoint").msgclass
|
||||
SpendRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.SpendRequest").msgclass
|
||||
SpendDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.SpendDetails").msgclass
|
||||
SpendEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.SpendEvent").msgclass
|
||||
BlockEpoch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("chainrpc.BlockEpoch").msgclass
|
||||
end
|
||||
51
lib/grpc_services/chainrpc/chainnotifier_services_pb.rb
Normal file
51
lib/grpc_services/chainrpc/chainnotifier_services_pb.rb
Normal file
@@ -0,0 +1,51 @@
|
||||
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
# Source: chainrpc/chainnotifier.proto for package 'chainrpc'
|
||||
|
||||
require 'grpc'
|
||||
require 'chainrpc/chainnotifier_pb'
|
||||
|
||||
module Chainrpc
|
||||
module ChainNotifier
|
||||
# ChainNotifier is a service that can be used to get information about the
|
||||
# chain backend by registering notifiers for chain events.
|
||||
class Service
|
||||
|
||||
include GRPC::GenericService
|
||||
|
||||
self.marshal_class_method = :encode
|
||||
self.unmarshal_class_method = :decode
|
||||
self.service_name = 'chainrpc.ChainNotifier'
|
||||
|
||||
#
|
||||
# RegisterConfirmationsNtfn is a synchronous response-streaming RPC that
|
||||
# registers an intent for a client to be notified once a confirmation request
|
||||
# has reached its required number of confirmations on-chain.
|
||||
#
|
||||
# A client can specify whether the confirmation request should be for a
|
||||
# particular transaction by its hash or for an output script by specifying a
|
||||
# zero hash.
|
||||
rpc :RegisterConfirmationsNtfn, ConfRequest, stream(ConfEvent)
|
||||
#
|
||||
# RegisterSpendNtfn is a synchronous response-streaming RPC that registers an
|
||||
# intent for a client to be notification once a spend request has been spent
|
||||
# by a transaction that has confirmed on-chain.
|
||||
#
|
||||
# A client can specify whether the spend request should be for a particular
|
||||
# outpoint or for an output script by specifying a zero outpoint.
|
||||
rpc :RegisterSpendNtfn, SpendRequest, stream(SpendEvent)
|
||||
#
|
||||
# RegisterBlockEpochNtfn is a synchronous response-streaming RPC that
|
||||
# registers an intent for a client to be notified of blocks in the chain. The
|
||||
# stream will return a hash and height tuple of a block for each new/stale
|
||||
# block in the chain. It is the client's responsibility to determine whether
|
||||
# the tuple returned is for a new or stale block in the chain.
|
||||
#
|
||||
# A client can also request a historical backlog of blocks from a particular
|
||||
# point. This allows clients to be idempotent by ensuring that they do not
|
||||
# missing processing a single block within the chain.
|
||||
rpc :RegisterBlockEpochNtfn, BlockEpoch, stream(BlockEpoch)
|
||||
end
|
||||
|
||||
Stub = Service.rpc_stub_class
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user