2021-07-27 12:59:59 +02:00
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
package chainrpc
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc . SupportPackageIsVersion7
// ChainNotifierClient is the client API for ChainNotifier service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type ChainNotifierClient interface {
2022-08-24 11:42:34 -05:00
// 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.
2021-07-27 12:59:59 +02:00
//
2022-08-24 11:42:34 -05:00
// A confirmation request must have a valid output script. It is also possible
// to give a transaction ID. If the transaction ID is not set, a notification
// is sent once the output script confirms. If the transaction ID is also set,
// a notification is sent once the output script confirms in the given
// transaction.
2021-07-27 12:59:59 +02:00
RegisterConfirmationsNtfn ( ctx context . Context , in * ConfRequest , opts ... grpc . CallOption ) ( ChainNotifier_RegisterConfirmationsNtfnClient , error )
2022-08-24 11:42:34 -05:00
// 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.
2021-07-27 12:59:59 +02:00
//
2022-08-24 11:42:34 -05:00
// A client can specify whether the spend request should be for a particular
// outpoint or for an output script by specifying a zero outpoint.
2021-07-27 12:59:59 +02:00
RegisterSpendNtfn ( ctx context . Context , in * SpendRequest , opts ... grpc . CallOption ) ( ChainNotifier_RegisterSpendNtfnClient , error )
2022-08-24 11:42:34 -05:00
// 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.
2021-07-27 12:59:59 +02:00
//
2022-08-24 11:42:34 -05:00
// 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.
2021-07-27 12:59:59 +02:00
RegisterBlockEpochNtfn ( ctx context . Context , in * BlockEpoch , opts ... grpc . CallOption ) ( ChainNotifier_RegisterBlockEpochNtfnClient , error )
}
type chainNotifierClient struct {
cc grpc . ClientConnInterface
}
func NewChainNotifierClient ( cc grpc . ClientConnInterface ) ChainNotifierClient {
return & chainNotifierClient { cc }
}
func ( c * chainNotifierClient ) RegisterConfirmationsNtfn ( ctx context . Context , in * ConfRequest , opts ... grpc . CallOption ) ( ChainNotifier_RegisterConfirmationsNtfnClient , error ) {
stream , err := c . cc . NewStream ( ctx , & ChainNotifier_ServiceDesc . Streams [ 0 ] , "/chainrpc.ChainNotifier/RegisterConfirmationsNtfn" , opts ... )
if err != nil {
return nil , err
}
x := & chainNotifierRegisterConfirmationsNtfnClient { stream }
if err := x . ClientStream . SendMsg ( in ) ; err != nil {
return nil , err
}
if err := x . ClientStream . CloseSend ( ) ; err != nil {
return nil , err
}
return x , nil
}
type ChainNotifier_RegisterConfirmationsNtfnClient interface {
Recv ( ) ( * ConfEvent , error )
grpc . ClientStream
}
type chainNotifierRegisterConfirmationsNtfnClient struct {
grpc . ClientStream
}
func ( x * chainNotifierRegisterConfirmationsNtfnClient ) Recv ( ) ( * ConfEvent , error ) {
m := new ( ConfEvent )
if err := x . ClientStream . RecvMsg ( m ) ; err != nil {
return nil , err
}
return m , nil
}
func ( c * chainNotifierClient ) RegisterSpendNtfn ( ctx context . Context , in * SpendRequest , opts ... grpc . CallOption ) ( ChainNotifier_RegisterSpendNtfnClient , error ) {
stream , err := c . cc . NewStream ( ctx , & ChainNotifier_ServiceDesc . Streams [ 1 ] , "/chainrpc.ChainNotifier/RegisterSpendNtfn" , opts ... )
if err != nil {
return nil , err
}
x := & chainNotifierRegisterSpendNtfnClient { stream }
if err := x . ClientStream . SendMsg ( in ) ; err != nil {
return nil , err
}
if err := x . ClientStream . CloseSend ( ) ; err != nil {
return nil , err
}
return x , nil
}
type ChainNotifier_RegisterSpendNtfnClient interface {
Recv ( ) ( * SpendEvent , error )
grpc . ClientStream
}
type chainNotifierRegisterSpendNtfnClient struct {
grpc . ClientStream
}
func ( x * chainNotifierRegisterSpendNtfnClient ) Recv ( ) ( * SpendEvent , error ) {
m := new ( SpendEvent )
if err := x . ClientStream . RecvMsg ( m ) ; err != nil {
return nil , err
}
return m , nil
}
func ( c * chainNotifierClient ) RegisterBlockEpochNtfn ( ctx context . Context , in * BlockEpoch , opts ... grpc . CallOption ) ( ChainNotifier_RegisterBlockEpochNtfnClient , error ) {
stream , err := c . cc . NewStream ( ctx , & ChainNotifier_ServiceDesc . Streams [ 2 ] , "/chainrpc.ChainNotifier/RegisterBlockEpochNtfn" , opts ... )
if err != nil {
return nil , err
}
x := & chainNotifierRegisterBlockEpochNtfnClient { stream }
if err := x . ClientStream . SendMsg ( in ) ; err != nil {
return nil , err
}
if err := x . ClientStream . CloseSend ( ) ; err != nil {
return nil , err
}
return x , nil
}
type ChainNotifier_RegisterBlockEpochNtfnClient interface {
Recv ( ) ( * BlockEpoch , error )
grpc . ClientStream
}
type chainNotifierRegisterBlockEpochNtfnClient struct {
grpc . ClientStream
}
func ( x * chainNotifierRegisterBlockEpochNtfnClient ) Recv ( ) ( * BlockEpoch , error ) {
m := new ( BlockEpoch )
if err := x . ClientStream . RecvMsg ( m ) ; err != nil {
return nil , err
}
return m , nil
}
// ChainNotifierServer is the server API for ChainNotifier service.
// All implementations must embed UnimplementedChainNotifierServer
// for forward compatibility
type ChainNotifierServer interface {
2022-08-24 11:42:34 -05:00
// 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.
2021-07-27 12:59:59 +02:00
//
2022-08-24 11:42:34 -05:00
// A confirmation request must have a valid output script. It is also possible
// to give a transaction ID. If the transaction ID is not set, a notification
// is sent once the output script confirms. If the transaction ID is also set,
// a notification is sent once the output script confirms in the given
// transaction.
2021-07-27 12:59:59 +02:00
RegisterConfirmationsNtfn ( * ConfRequest , ChainNotifier_RegisterConfirmationsNtfnServer ) error
2022-08-24 11:42:34 -05:00
// 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.
2021-07-27 12:59:59 +02:00
//
2022-08-24 11:42:34 -05:00
// A client can specify whether the spend request should be for a particular
// outpoint or for an output script by specifying a zero outpoint.
2021-07-27 12:59:59 +02:00
RegisterSpendNtfn ( * SpendRequest , ChainNotifier_RegisterSpendNtfnServer ) error
2022-08-24 11:42:34 -05:00
// 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.
2021-07-27 12:59:59 +02:00
//
2022-08-24 11:42:34 -05:00
// 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.
2021-07-27 12:59:59 +02:00
RegisterBlockEpochNtfn ( * BlockEpoch , ChainNotifier_RegisterBlockEpochNtfnServer ) error
mustEmbedUnimplementedChainNotifierServer ( )
}
// UnimplementedChainNotifierServer must be embedded to have forward compatible implementations.
type UnimplementedChainNotifierServer struct {
}
func ( UnimplementedChainNotifierServer ) RegisterConfirmationsNtfn ( * ConfRequest , ChainNotifier_RegisterConfirmationsNtfnServer ) error {
return status . Errorf ( codes . Unimplemented , "method RegisterConfirmationsNtfn not implemented" )
}
func ( UnimplementedChainNotifierServer ) RegisterSpendNtfn ( * SpendRequest , ChainNotifier_RegisterSpendNtfnServer ) error {
return status . Errorf ( codes . Unimplemented , "method RegisterSpendNtfn not implemented" )
}
func ( UnimplementedChainNotifierServer ) RegisterBlockEpochNtfn ( * BlockEpoch , ChainNotifier_RegisterBlockEpochNtfnServer ) error {
return status . Errorf ( codes . Unimplemented , "method RegisterBlockEpochNtfn not implemented" )
}
func ( UnimplementedChainNotifierServer ) mustEmbedUnimplementedChainNotifierServer ( ) { }
// UnsafeChainNotifierServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ChainNotifierServer will
// result in compilation errors.
type UnsafeChainNotifierServer interface {
mustEmbedUnimplementedChainNotifierServer ( )
}
func RegisterChainNotifierServer ( s grpc . ServiceRegistrar , srv ChainNotifierServer ) {
s . RegisterService ( & ChainNotifier_ServiceDesc , srv )
}
func _ChainNotifier_RegisterConfirmationsNtfn_Handler ( srv interface { } , stream grpc . ServerStream ) error {
m := new ( ConfRequest )
if err := stream . RecvMsg ( m ) ; err != nil {
return err
}
return srv . ( ChainNotifierServer ) . RegisterConfirmationsNtfn ( m , & chainNotifierRegisterConfirmationsNtfnServer { stream } )
}
type ChainNotifier_RegisterConfirmationsNtfnServer interface {
Send ( * ConfEvent ) error
grpc . ServerStream
}
type chainNotifierRegisterConfirmationsNtfnServer struct {
grpc . ServerStream
}
func ( x * chainNotifierRegisterConfirmationsNtfnServer ) Send ( m * ConfEvent ) error {
return x . ServerStream . SendMsg ( m )
}
func _ChainNotifier_RegisterSpendNtfn_Handler ( srv interface { } , stream grpc . ServerStream ) error {
m := new ( SpendRequest )
if err := stream . RecvMsg ( m ) ; err != nil {
return err
}
return srv . ( ChainNotifierServer ) . RegisterSpendNtfn ( m , & chainNotifierRegisterSpendNtfnServer { stream } )
}
type ChainNotifier_RegisterSpendNtfnServer interface {
Send ( * SpendEvent ) error
grpc . ServerStream
}
type chainNotifierRegisterSpendNtfnServer struct {
grpc . ServerStream
}
func ( x * chainNotifierRegisterSpendNtfnServer ) Send ( m * SpendEvent ) error {
return x . ServerStream . SendMsg ( m )
}
func _ChainNotifier_RegisterBlockEpochNtfn_Handler ( srv interface { } , stream grpc . ServerStream ) error {
m := new ( BlockEpoch )
if err := stream . RecvMsg ( m ) ; err != nil {
return err
}
return srv . ( ChainNotifierServer ) . RegisterBlockEpochNtfn ( m , & chainNotifierRegisterBlockEpochNtfnServer { stream } )
}
type ChainNotifier_RegisterBlockEpochNtfnServer interface {
Send ( * BlockEpoch ) error
grpc . ServerStream
}
type chainNotifierRegisterBlockEpochNtfnServer struct {
grpc . ServerStream
}
func ( x * chainNotifierRegisterBlockEpochNtfnServer ) Send ( m * BlockEpoch ) error {
return x . ServerStream . SendMsg ( m )
}
// ChainNotifier_ServiceDesc is the grpc.ServiceDesc for ChainNotifier service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var ChainNotifier_ServiceDesc = grpc . ServiceDesc {
ServiceName : "chainrpc.ChainNotifier" ,
HandlerType : ( * ChainNotifierServer ) ( nil ) ,
Methods : [ ] grpc . MethodDesc { } ,
Streams : [ ] grpc . StreamDesc {
{
StreamName : "RegisterConfirmationsNtfn" ,
Handler : _ChainNotifier_RegisterConfirmationsNtfn_Handler ,
ServerStreams : true ,
} ,
{
StreamName : "RegisterSpendNtfn" ,
Handler : _ChainNotifier_RegisterSpendNtfn_Handler ,
ServerStreams : true ,
} ,
{
StreamName : "RegisterBlockEpochNtfn" ,
Handler : _ChainNotifier_RegisterBlockEpochNtfn_Handler ,
ServerStreams : true ,
} ,
} ,
Metadata : "chainrpc/chainnotifier.proto" ,
}