// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.4.0
// - protoc             (unknown)
// source: fulmine/v1/service.proto

package fulminev1

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.62.0 or later.
const _ = grpc.SupportPackageIsVersion8

const (
	Service_GetAddress_FullMethodName                 = "/fulmine.v1.Service/GetAddress"
	Service_GetBalance_FullMethodName                 = "/fulmine.v1.Service/GetBalance"
	Service_GetInfo_FullMethodName                    = "/fulmine.v1.Service/GetInfo"
	Service_GetOnboardAddress_FullMethodName          = "/fulmine.v1.Service/GetOnboardAddress"
	Service_GetRoundInfo_FullMethodName               = "/fulmine.v1.Service/GetRoundInfo"
	Service_GetTransactionHistory_FullMethodName      = "/fulmine.v1.Service/GetTransactionHistory"
	Service_RedeemNote_FullMethodName                 = "/fulmine.v1.Service/RedeemNote"
	Service_Settle_FullMethodName                     = "/fulmine.v1.Service/Settle"
	Service_SendOffChain_FullMethodName               = "/fulmine.v1.Service/SendOffChain"
	Service_SendOnChain_FullMethodName                = "/fulmine.v1.Service/SendOnChain"
	Service_SignTransaction_FullMethodName            = "/fulmine.v1.Service/SignTransaction"
	Service_CreateVHTLC_FullMethodName                = "/fulmine.v1.Service/CreateVHTLC"
	Service_ClaimVHTLC_FullMethodName                 = "/fulmine.v1.Service/ClaimVHTLC"
	Service_RefundVHTLCWithoutReceiver_FullMethodName = "/fulmine.v1.Service/RefundVHTLCWithoutReceiver"
	Service_ListVHTLC_FullMethodName                  = "/fulmine.v1.Service/ListVHTLC"
	Service_GetInvoice_FullMethodName                 = "/fulmine.v1.Service/GetInvoice"
	Service_PayInvoice_FullMethodName                 = "/fulmine.v1.Service/PayInvoice"
	Service_IsInvoiceSettled_FullMethodName           = "/fulmine.v1.Service/IsInvoiceSettled"
	Service_GetDelegatePublicKey_FullMethodName       = "/fulmine.v1.Service/GetDelegatePublicKey"
	Service_WatchAddressForRollover_FullMethodName    = "/fulmine.v1.Service/WatchAddressForRollover"
	Service_UnwatchAddress_FullMethodName             = "/fulmine.v1.Service/UnwatchAddress"
	Service_ListWatchedAddresses_FullMethodName       = "/fulmine.v1.Service/ListWatchedAddresses"
	Service_GetVirtualTxs_FullMethodName              = "/fulmine.v1.Service/GetVirtualTxs"
)

// ServiceClient is the client API for Service 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 ServiceClient interface {
	// GetAddress returns offchain address
	GetAddress(ctx context.Context, in *GetAddressRequest, opts ...grpc.CallOption) (*GetAddressResponse, error)
	// GetBalance returns ark balance
	GetBalance(ctx context.Context, in *GetBalanceRequest, opts ...grpc.CallOption) (*GetBalanceResponse, error)
	// GetInfo returns info about the ark account
	GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error)
	// GetOnboardAddress returns onchain address and invoice for requested amount
	GetOnboardAddress(ctx context.Context, in *GetOnboardAddressRequest, opts ...grpc.CallOption) (*GetOnboardAddressResponse, error)
	// Returns round info for optional round_id (no round_id returns current round info)
	GetRoundInfo(ctx context.Context, in *GetRoundInfoRequest, opts ...grpc.CallOption) (*GetRoundInfoResponse, error)
	// GetTransactionHistory returns virtual transactions history
	GetTransactionHistory(ctx context.Context, in *GetTransactionHistoryRequest, opts ...grpc.CallOption) (*GetTransactionHistoryResponse, error)
	// Redeems an ark note by joining a round
	RedeemNote(ctx context.Context, in *RedeemNoteRequest, opts ...grpc.CallOption) (*RedeemNoteResponse, error)
	// Settle vtxos and boarding utxos
	Settle(ctx context.Context, in *SettleRequest, opts ...grpc.CallOption) (*SettleResponse, error)
	// Send asks to send amount to ark address by joining a round
	SendOffChain(ctx context.Context, in *SendOffChainRequest, opts ...grpc.CallOption) (*SendOffChainResponse, error)
	// SendOnChain asks to send requested amount to requested onchain address
	SendOnChain(ctx context.Context, in *SendOnChainRequest, opts ...grpc.CallOption) (*SendOnChainResponse, error)
	SignTransaction(ctx context.Context, in *SignTransactionRequest, opts ...grpc.CallOption) (*SignTransactionResponse, error)
	// CreateVHTLCAddress computes a VHTLC address
	CreateVHTLC(ctx context.Context, in *CreateVHTLCRequest, opts ...grpc.CallOption) (*CreateVHTLCResponse, error)
	// ClaimVHTLC = self send vHTLC -> VTXO
	ClaimVHTLC(ctx context.Context, in *ClaimVHTLCRequest, opts ...grpc.CallOption) (*ClaimVHTLCResponse, error)
	RefundVHTLCWithoutReceiver(ctx context.Context, in *RefundVHTLCWithoutReceiverRequest, opts ...grpc.CallOption) (*RefundVHTLCWithoutReceiverResponse, error)
	// ListVHTLC = list all vhtlc OR filter by preimage_hash
	ListVHTLC(ctx context.Context, in *ListVHTLCRequest, opts ...grpc.CallOption) (*ListVHTLCResponse, error)
	GetInvoice(ctx context.Context, in *GetInvoiceRequest, opts ...grpc.CallOption) (*GetInvoiceResponse, error)
	PayInvoice(ctx context.Context, in *PayInvoiceRequest, opts ...grpc.CallOption) (*PayInvoiceResponse, error)
	IsInvoiceSettled(ctx context.Context, in *IsInvoiceSettledRequest, opts ...grpc.CallOption) (*IsInvoiceSettledResponse, error)
	// GetDelegatePublicKey retrieves the Fulmine's public key to be included in VTXO scripts.
	GetDelegatePublicKey(ctx context.Context, in *GetDelegatePublicKeyRequest, opts ...grpc.CallOption) (*GetDelegatePublicKeyResponse, error)
	// WatchAddressForRollover watches an address for rollover
	WatchAddressForRollover(ctx context.Context, in *WatchAddressForRolloverRequest, opts ...grpc.CallOption) (*WatchAddressForRolloverResponse, error)
	// UnwatchAddress unsubscribes an address from vtxo rollover
	UnwatchAddress(ctx context.Context, in *UnwatchAddressRequest, opts ...grpc.CallOption) (*UnwatchAddressResponse, error)
	// ListWatchedAddresses lists all watched addresses
	ListWatchedAddresses(ctx context.Context, in *ListWatchedAddressesRequest, opts ...grpc.CallOption) (*ListWatchedAddressesResponse, error)
	// GetVirtualTxs returns the virtual transactions in hex format for the specified txids.
	GetVirtualTxs(ctx context.Context, in *GetVirtualTxsRequest, opts ...grpc.CallOption) (*GetVirtualTxsResponse, error)
}

type serviceClient struct {
	cc grpc.ClientConnInterface
}

func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient {
	return &serviceClient{cc}
}

func (c *serviceClient) GetAddress(ctx context.Context, in *GetAddressRequest, opts ...grpc.CallOption) (*GetAddressResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetAddressResponse)
	err := c.cc.Invoke(ctx, Service_GetAddress_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetBalance(ctx context.Context, in *GetBalanceRequest, opts ...grpc.CallOption) (*GetBalanceResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetBalanceResponse)
	err := c.cc.Invoke(ctx, Service_GetBalance_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetInfoResponse)
	err := c.cc.Invoke(ctx, Service_GetInfo_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetOnboardAddress(ctx context.Context, in *GetOnboardAddressRequest, opts ...grpc.CallOption) (*GetOnboardAddressResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetOnboardAddressResponse)
	err := c.cc.Invoke(ctx, Service_GetOnboardAddress_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetRoundInfo(ctx context.Context, in *GetRoundInfoRequest, opts ...grpc.CallOption) (*GetRoundInfoResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetRoundInfoResponse)
	err := c.cc.Invoke(ctx, Service_GetRoundInfo_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetTransactionHistory(ctx context.Context, in *GetTransactionHistoryRequest, opts ...grpc.CallOption) (*GetTransactionHistoryResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetTransactionHistoryResponse)
	err := c.cc.Invoke(ctx, Service_GetTransactionHistory_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) RedeemNote(ctx context.Context, in *RedeemNoteRequest, opts ...grpc.CallOption) (*RedeemNoteResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RedeemNoteResponse)
	err := c.cc.Invoke(ctx, Service_RedeemNote_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) Settle(ctx context.Context, in *SettleRequest, opts ...grpc.CallOption) (*SettleResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SettleResponse)
	err := c.cc.Invoke(ctx, Service_Settle_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) SendOffChain(ctx context.Context, in *SendOffChainRequest, opts ...grpc.CallOption) (*SendOffChainResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SendOffChainResponse)
	err := c.cc.Invoke(ctx, Service_SendOffChain_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) SendOnChain(ctx context.Context, in *SendOnChainRequest, opts ...grpc.CallOption) (*SendOnChainResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SendOnChainResponse)
	err := c.cc.Invoke(ctx, Service_SendOnChain_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) SignTransaction(ctx context.Context, in *SignTransactionRequest, opts ...grpc.CallOption) (*SignTransactionResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SignTransactionResponse)
	err := c.cc.Invoke(ctx, Service_SignTransaction_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) CreateVHTLC(ctx context.Context, in *CreateVHTLCRequest, opts ...grpc.CallOption) (*CreateVHTLCResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(CreateVHTLCResponse)
	err := c.cc.Invoke(ctx, Service_CreateVHTLC_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) ClaimVHTLC(ctx context.Context, in *ClaimVHTLCRequest, opts ...grpc.CallOption) (*ClaimVHTLCResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ClaimVHTLCResponse)
	err := c.cc.Invoke(ctx, Service_ClaimVHTLC_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) RefundVHTLCWithoutReceiver(ctx context.Context, in *RefundVHTLCWithoutReceiverRequest, opts ...grpc.CallOption) (*RefundVHTLCWithoutReceiverResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RefundVHTLCWithoutReceiverResponse)
	err := c.cc.Invoke(ctx, Service_RefundVHTLCWithoutReceiver_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) ListVHTLC(ctx context.Context, in *ListVHTLCRequest, opts ...grpc.CallOption) (*ListVHTLCResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListVHTLCResponse)
	err := c.cc.Invoke(ctx, Service_ListVHTLC_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetInvoice(ctx context.Context, in *GetInvoiceRequest, opts ...grpc.CallOption) (*GetInvoiceResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetInvoiceResponse)
	err := c.cc.Invoke(ctx, Service_GetInvoice_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) PayInvoice(ctx context.Context, in *PayInvoiceRequest, opts ...grpc.CallOption) (*PayInvoiceResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PayInvoiceResponse)
	err := c.cc.Invoke(ctx, Service_PayInvoice_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) IsInvoiceSettled(ctx context.Context, in *IsInvoiceSettledRequest, opts ...grpc.CallOption) (*IsInvoiceSettledResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(IsInvoiceSettledResponse)
	err := c.cc.Invoke(ctx, Service_IsInvoiceSettled_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetDelegatePublicKey(ctx context.Context, in *GetDelegatePublicKeyRequest, opts ...grpc.CallOption) (*GetDelegatePublicKeyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetDelegatePublicKeyResponse)
	err := c.cc.Invoke(ctx, Service_GetDelegatePublicKey_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) WatchAddressForRollover(ctx context.Context, in *WatchAddressForRolloverRequest, opts ...grpc.CallOption) (*WatchAddressForRolloverResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(WatchAddressForRolloverResponse)
	err := c.cc.Invoke(ctx, Service_WatchAddressForRollover_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) UnwatchAddress(ctx context.Context, in *UnwatchAddressRequest, opts ...grpc.CallOption) (*UnwatchAddressResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(UnwatchAddressResponse)
	err := c.cc.Invoke(ctx, Service_UnwatchAddress_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) ListWatchedAddresses(ctx context.Context, in *ListWatchedAddressesRequest, opts ...grpc.CallOption) (*ListWatchedAddressesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListWatchedAddressesResponse)
	err := c.cc.Invoke(ctx, Service_ListWatchedAddresses_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetVirtualTxs(ctx context.Context, in *GetVirtualTxsRequest, opts ...grpc.CallOption) (*GetVirtualTxsResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(GetVirtualTxsResponse)
	err := c.cc.Invoke(ctx, Service_GetVirtualTxs_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ServiceServer is the server API for Service service.
// All implementations should embed UnimplementedServiceServer
// for forward compatibility
type ServiceServer interface {
	// GetAddress returns offchain address
	GetAddress(context.Context, *GetAddressRequest) (*GetAddressResponse, error)
	// GetBalance returns ark balance
	GetBalance(context.Context, *GetBalanceRequest) (*GetBalanceResponse, error)
	// GetInfo returns info about the ark account
	GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error)
	// GetOnboardAddress returns onchain address and invoice for requested amount
	GetOnboardAddress(context.Context, *GetOnboardAddressRequest) (*GetOnboardAddressResponse, error)
	// Returns round info for optional round_id (no round_id returns current round info)
	GetRoundInfo(context.Context, *GetRoundInfoRequest) (*GetRoundInfoResponse, error)
	// GetTransactionHistory returns virtual transactions history
	GetTransactionHistory(context.Context, *GetTransactionHistoryRequest) (*GetTransactionHistoryResponse, error)
	// Redeems an ark note by joining a round
	RedeemNote(context.Context, *RedeemNoteRequest) (*RedeemNoteResponse, error)
	// Settle vtxos and boarding utxos
	Settle(context.Context, *SettleRequest) (*SettleResponse, error)
	// Send asks to send amount to ark address by joining a round
	SendOffChain(context.Context, *SendOffChainRequest) (*SendOffChainResponse, error)
	// SendOnChain asks to send requested amount to requested onchain address
	SendOnChain(context.Context, *SendOnChainRequest) (*SendOnChainResponse, error)
	SignTransaction(context.Context, *SignTransactionRequest) (*SignTransactionResponse, error)
	// CreateVHTLCAddress computes a VHTLC address
	CreateVHTLC(context.Context, *CreateVHTLCRequest) (*CreateVHTLCResponse, error)
	// ClaimVHTLC = self send vHTLC -> VTXO
	ClaimVHTLC(context.Context, *ClaimVHTLCRequest) (*ClaimVHTLCResponse, error)
	RefundVHTLCWithoutReceiver(context.Context, *RefundVHTLCWithoutReceiverRequest) (*RefundVHTLCWithoutReceiverResponse, error)
	// ListVHTLC = list all vhtlc OR filter by preimage_hash
	ListVHTLC(context.Context, *ListVHTLCRequest) (*ListVHTLCResponse, error)
	GetInvoice(context.Context, *GetInvoiceRequest) (*GetInvoiceResponse, error)
	PayInvoice(context.Context, *PayInvoiceRequest) (*PayInvoiceResponse, error)
	IsInvoiceSettled(context.Context, *IsInvoiceSettledRequest) (*IsInvoiceSettledResponse, error)
	// GetDelegatePublicKey retrieves the Fulmine's public key to be included in VTXO scripts.
	GetDelegatePublicKey(context.Context, *GetDelegatePublicKeyRequest) (*GetDelegatePublicKeyResponse, error)
	// WatchAddressForRollover watches an address for rollover
	WatchAddressForRollover(context.Context, *WatchAddressForRolloverRequest) (*WatchAddressForRolloverResponse, error)
	// UnwatchAddress unsubscribes an address from vtxo rollover
	UnwatchAddress(context.Context, *UnwatchAddressRequest) (*UnwatchAddressResponse, error)
	// ListWatchedAddresses lists all watched addresses
	ListWatchedAddresses(context.Context, *ListWatchedAddressesRequest) (*ListWatchedAddressesResponse, error)
	// GetVirtualTxs returns the virtual transactions in hex format for the specified txids.
	GetVirtualTxs(context.Context, *GetVirtualTxsRequest) (*GetVirtualTxsResponse, error)
}

// UnimplementedServiceServer should be embedded to have forward compatible implementations.
type UnimplementedServiceServer struct {
}

func (UnimplementedServiceServer) GetAddress(context.Context, *GetAddressRequest) (*GetAddressResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAddress not implemented")
}
func (UnimplementedServiceServer) GetBalance(context.Context, *GetBalanceRequest) (*GetBalanceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBalance not implemented")
}
func (UnimplementedServiceServer) GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetInfo not implemented")
}
func (UnimplementedServiceServer) GetOnboardAddress(context.Context, *GetOnboardAddressRequest) (*GetOnboardAddressResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetOnboardAddress not implemented")
}
func (UnimplementedServiceServer) GetRoundInfo(context.Context, *GetRoundInfoRequest) (*GetRoundInfoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRoundInfo not implemented")
}
func (UnimplementedServiceServer) GetTransactionHistory(context.Context, *GetTransactionHistoryRequest) (*GetTransactionHistoryResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTransactionHistory not implemented")
}
func (UnimplementedServiceServer) RedeemNote(context.Context, *RedeemNoteRequest) (*RedeemNoteResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RedeemNote not implemented")
}
func (UnimplementedServiceServer) Settle(context.Context, *SettleRequest) (*SettleResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Settle not implemented")
}
func (UnimplementedServiceServer) SendOffChain(context.Context, *SendOffChainRequest) (*SendOffChainResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendOffChain not implemented")
}
func (UnimplementedServiceServer) SendOnChain(context.Context, *SendOnChainRequest) (*SendOnChainResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendOnChain not implemented")
}
func (UnimplementedServiceServer) SignTransaction(context.Context, *SignTransactionRequest) (*SignTransactionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SignTransaction not implemented")
}
func (UnimplementedServiceServer) CreateVHTLC(context.Context, *CreateVHTLCRequest) (*CreateVHTLCResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateVHTLC not implemented")
}
func (UnimplementedServiceServer) ClaimVHTLC(context.Context, *ClaimVHTLCRequest) (*ClaimVHTLCResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ClaimVHTLC not implemented")
}
func (UnimplementedServiceServer) RefundVHTLCWithoutReceiver(context.Context, *RefundVHTLCWithoutReceiverRequest) (*RefundVHTLCWithoutReceiverResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RefundVHTLCWithoutReceiver not implemented")
}
func (UnimplementedServiceServer) ListVHTLC(context.Context, *ListVHTLCRequest) (*ListVHTLCResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListVHTLC not implemented")
}
func (UnimplementedServiceServer) GetInvoice(context.Context, *GetInvoiceRequest) (*GetInvoiceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetInvoice not implemented")
}
func (UnimplementedServiceServer) PayInvoice(context.Context, *PayInvoiceRequest) (*PayInvoiceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PayInvoice not implemented")
}
func (UnimplementedServiceServer) IsInvoiceSettled(context.Context, *IsInvoiceSettledRequest) (*IsInvoiceSettledResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method IsInvoiceSettled not implemented")
}
func (UnimplementedServiceServer) GetDelegatePublicKey(context.Context, *GetDelegatePublicKeyRequest) (*GetDelegatePublicKeyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDelegatePublicKey not implemented")
}
func (UnimplementedServiceServer) WatchAddressForRollover(context.Context, *WatchAddressForRolloverRequest) (*WatchAddressForRolloverResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method WatchAddressForRollover not implemented")
}
func (UnimplementedServiceServer) UnwatchAddress(context.Context, *UnwatchAddressRequest) (*UnwatchAddressResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnwatchAddress not implemented")
}
func (UnimplementedServiceServer) ListWatchedAddresses(context.Context, *ListWatchedAddressesRequest) (*ListWatchedAddressesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListWatchedAddresses not implemented")
}
func (UnimplementedServiceServer) GetVirtualTxs(context.Context, *GetVirtualTxsRequest) (*GetVirtualTxsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVirtualTxs not implemented")
}

// UnsafeServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ServiceServer will
// result in compilation errors.
type UnsafeServiceServer interface {
	mustEmbedUnimplementedServiceServer()
}

func RegisterServiceServer(s grpc.ServiceRegistrar, srv ServiceServer) {
	s.RegisterService(&Service_ServiceDesc, srv)
}

func _Service_GetAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetAddress_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetAddress(ctx, req.(*GetAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetBalanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetBalance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetBalance_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetBalance(ctx, req.(*GetBalanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetInfo_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetInfo(ctx, req.(*GetInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetOnboardAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetOnboardAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetOnboardAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetOnboardAddress_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetOnboardAddress(ctx, req.(*GetOnboardAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetRoundInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRoundInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetRoundInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetRoundInfo_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetRoundInfo(ctx, req.(*GetRoundInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetTransactionHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTransactionHistoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetTransactionHistory(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetTransactionHistory_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetTransactionHistory(ctx, req.(*GetTransactionHistoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_RedeemNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RedeemNoteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).RedeemNote(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_RedeemNote_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).RedeemNote(ctx, req.(*RedeemNoteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_Settle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SettleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).Settle(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_Settle_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).Settle(ctx, req.(*SettleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_SendOffChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SendOffChainRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).SendOffChain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_SendOffChain_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).SendOffChain(ctx, req.(*SendOffChainRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_SendOnChain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SendOnChainRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).SendOnChain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_SendOnChain_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).SendOnChain(ctx, req.(*SendOnChainRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_SignTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SignTransactionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).SignTransaction(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_SignTransaction_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).SignTransaction(ctx, req.(*SignTransactionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_CreateVHTLC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateVHTLCRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).CreateVHTLC(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_CreateVHTLC_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).CreateVHTLC(ctx, req.(*CreateVHTLCRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_ClaimVHTLC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClaimVHTLCRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).ClaimVHTLC(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_ClaimVHTLC_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).ClaimVHTLC(ctx, req.(*ClaimVHTLCRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_RefundVHTLCWithoutReceiver_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RefundVHTLCWithoutReceiverRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).RefundVHTLCWithoutReceiver(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_RefundVHTLCWithoutReceiver_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).RefundVHTLCWithoutReceiver(ctx, req.(*RefundVHTLCWithoutReceiverRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_ListVHTLC_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListVHTLCRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).ListVHTLC(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_ListVHTLC_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).ListVHTLC(ctx, req.(*ListVHTLCRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetInvoiceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetInvoice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetInvoice_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetInvoice(ctx, req.(*GetInvoiceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_PayInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PayInvoiceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).PayInvoice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_PayInvoice_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).PayInvoice(ctx, req.(*PayInvoiceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_IsInvoiceSettled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(IsInvoiceSettledRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).IsInvoiceSettled(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_IsInvoiceSettled_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).IsInvoiceSettled(ctx, req.(*IsInvoiceSettledRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetDelegatePublicKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDelegatePublicKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetDelegatePublicKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetDelegatePublicKey_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetDelegatePublicKey(ctx, req.(*GetDelegatePublicKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_WatchAddressForRollover_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(WatchAddressForRolloverRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).WatchAddressForRollover(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_WatchAddressForRollover_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).WatchAddressForRollover(ctx, req.(*WatchAddressForRolloverRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_UnwatchAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UnwatchAddressRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).UnwatchAddress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_UnwatchAddress_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).UnwatchAddress(ctx, req.(*UnwatchAddressRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_ListWatchedAddresses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListWatchedAddressesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).ListWatchedAddresses(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_ListWatchedAddresses_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).ListWatchedAddresses(ctx, req.(*ListWatchedAddressesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetVirtualTxs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetVirtualTxsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetVirtualTxs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetVirtualTxs_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetVirtualTxs(ctx, req.(*GetVirtualTxsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// Service_ServiceDesc is the grpc.ServiceDesc for Service service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Service_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "fulmine.v1.Service",
	HandlerType: (*ServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetAddress",
			Handler:    _Service_GetAddress_Handler,
		},
		{
			MethodName: "GetBalance",
			Handler:    _Service_GetBalance_Handler,
		},
		{
			MethodName: "GetInfo",
			Handler:    _Service_GetInfo_Handler,
		},
		{
			MethodName: "GetOnboardAddress",
			Handler:    _Service_GetOnboardAddress_Handler,
		},
		{
			MethodName: "GetRoundInfo",
			Handler:    _Service_GetRoundInfo_Handler,
		},
		{
			MethodName: "GetTransactionHistory",
			Handler:    _Service_GetTransactionHistory_Handler,
		},
		{
			MethodName: "RedeemNote",
			Handler:    _Service_RedeemNote_Handler,
		},
		{
			MethodName: "Settle",
			Handler:    _Service_Settle_Handler,
		},
		{
			MethodName: "SendOffChain",
			Handler:    _Service_SendOffChain_Handler,
		},
		{
			MethodName: "SendOnChain",
			Handler:    _Service_SendOnChain_Handler,
		},
		{
			MethodName: "SignTransaction",
			Handler:    _Service_SignTransaction_Handler,
		},
		{
			MethodName: "CreateVHTLC",
			Handler:    _Service_CreateVHTLC_Handler,
		},
		{
			MethodName: "ClaimVHTLC",
			Handler:    _Service_ClaimVHTLC_Handler,
		},
		{
			MethodName: "RefundVHTLCWithoutReceiver",
			Handler:    _Service_RefundVHTLCWithoutReceiver_Handler,
		},
		{
			MethodName: "ListVHTLC",
			Handler:    _Service_ListVHTLC_Handler,
		},
		{
			MethodName: "GetInvoice",
			Handler:    _Service_GetInvoice_Handler,
		},
		{
			MethodName: "PayInvoice",
			Handler:    _Service_PayInvoice_Handler,
		},
		{
			MethodName: "IsInvoiceSettled",
			Handler:    _Service_IsInvoiceSettled_Handler,
		},
		{
			MethodName: "GetDelegatePublicKey",
			Handler:    _Service_GetDelegatePublicKey_Handler,
		},
		{
			MethodName: "WatchAddressForRollover",
			Handler:    _Service_WatchAddressForRollover_Handler,
		},
		{
			MethodName: "UnwatchAddress",
			Handler:    _Service_UnwatchAddress_Handler,
		},
		{
			MethodName: "ListWatchedAddresses",
			Handler:    _Service_ListWatchedAddresses_Handler,
		},
		{
			MethodName: "GetVirtualTxs",
			Handler:    _Service_GetVirtualTxs_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "fulmine/v1/service.proto",
}
