// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc             v3.15.8
// source: rpc.proto

package types

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

const (
	AergoRPCService_NodeState_FullMethodName               = "/types.AergoRPCService/NodeState"
	AergoRPCService_Metric_FullMethodName                  = "/types.AergoRPCService/Metric"
	AergoRPCService_Blockchain_FullMethodName              = "/types.AergoRPCService/Blockchain"
	AergoRPCService_GetChainInfo_FullMethodName            = "/types.AergoRPCService/GetChainInfo"
	AergoRPCService_ChainStat_FullMethodName               = "/types.AergoRPCService/ChainStat"
	AergoRPCService_ListBlockHeaders_FullMethodName        = "/types.AergoRPCService/ListBlockHeaders"
	AergoRPCService_ListBlockMetadata_FullMethodName       = "/types.AergoRPCService/ListBlockMetadata"
	AergoRPCService_ListBlockStream_FullMethodName         = "/types.AergoRPCService/ListBlockStream"
	AergoRPCService_ListBlockMetadataStream_FullMethodName = "/types.AergoRPCService/ListBlockMetadataStream"
	AergoRPCService_GetBlock_FullMethodName                = "/types.AergoRPCService/GetBlock"
	AergoRPCService_GetBlockMetadata_FullMethodName        = "/types.AergoRPCService/GetBlockMetadata"
	AergoRPCService_GetBlockBody_FullMethodName            = "/types.AergoRPCService/GetBlockBody"
	AergoRPCService_GetTX_FullMethodName                   = "/types.AergoRPCService/GetTX"
	AergoRPCService_GetBlockTX_FullMethodName              = "/types.AergoRPCService/GetBlockTX"
	AergoRPCService_GetReceipt_FullMethodName              = "/types.AergoRPCService/GetReceipt"
	AergoRPCService_GetInternalOperations_FullMethodName   = "/types.AergoRPCService/GetInternalOperations"
	AergoRPCService_GetABI_FullMethodName                  = "/types.AergoRPCService/GetABI"
	AergoRPCService_SendTX_FullMethodName                  = "/types.AergoRPCService/SendTX"
	AergoRPCService_SignTX_FullMethodName                  = "/types.AergoRPCService/SignTX"
	AergoRPCService_VerifyTX_FullMethodName                = "/types.AergoRPCService/VerifyTX"
	AergoRPCService_CommitTX_FullMethodName                = "/types.AergoRPCService/CommitTX"
	AergoRPCService_GetState_FullMethodName                = "/types.AergoRPCService/GetState"
	AergoRPCService_GetStateAndProof_FullMethodName        = "/types.AergoRPCService/GetStateAndProof"
	AergoRPCService_CreateAccount_FullMethodName           = "/types.AergoRPCService/CreateAccount"
	AergoRPCService_GetAccounts_FullMethodName             = "/types.AergoRPCService/GetAccounts"
	AergoRPCService_LockAccount_FullMethodName             = "/types.AergoRPCService/LockAccount"
	AergoRPCService_UnlockAccount_FullMethodName           = "/types.AergoRPCService/UnlockAccount"
	AergoRPCService_ImportAccount_FullMethodName           = "/types.AergoRPCService/ImportAccount"
	AergoRPCService_ExportAccount_FullMethodName           = "/types.AergoRPCService/ExportAccount"
	AergoRPCService_ExportAccountKeystore_FullMethodName   = "/types.AergoRPCService/ExportAccountKeystore"
	AergoRPCService_QueryContract_FullMethodName           = "/types.AergoRPCService/QueryContract"
	AergoRPCService_QueryContractState_FullMethodName      = "/types.AergoRPCService/QueryContractState"
	AergoRPCService_GetPeers_FullMethodName                = "/types.AergoRPCService/GetPeers"
	AergoRPCService_GetVotes_FullMethodName                = "/types.AergoRPCService/GetVotes"
	AergoRPCService_GetAccountVotes_FullMethodName         = "/types.AergoRPCService/GetAccountVotes"
	AergoRPCService_GetStaking_FullMethodName              = "/types.AergoRPCService/GetStaking"
	AergoRPCService_GetNameInfo_FullMethodName             = "/types.AergoRPCService/GetNameInfo"
	AergoRPCService_ListEventStream_FullMethodName         = "/types.AergoRPCService/ListEventStream"
	AergoRPCService_ListEvents_FullMethodName              = "/types.AergoRPCService/ListEvents"
	AergoRPCService_GetServerInfo_FullMethodName           = "/types.AergoRPCService/GetServerInfo"
	AergoRPCService_GetConsensusInfo_FullMethodName        = "/types.AergoRPCService/GetConsensusInfo"
	AergoRPCService_GetEnterpriseConfig_FullMethodName     = "/types.AergoRPCService/GetEnterpriseConfig"
	AergoRPCService_GetConfChangeProgress_FullMethodName   = "/types.AergoRPCService/GetConfChangeProgress"
)

// AergoRPCServiceClient is the client API for AergoRPCService 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 AergoRPCServiceClient interface {
	// Returns the current state of this node
	NodeState(ctx context.Context, in *NodeReq, opts ...grpc.CallOption) (*SingleBytes, error)
	// Returns node metrics according to request
	Metric(ctx context.Context, in *MetricsRequest, opts ...grpc.CallOption) (*Metrics, error)
	// Returns current blockchain status (best block's height and hash)
	Blockchain(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*BlockchainStatus, error)
	// Returns current blockchain's basic information
	GetChainInfo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ChainInfo, error)
	// Returns current chain statistics
	ChainStat(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ChainStats, error)
	// Returns list of Blocks without body according to request
	ListBlockHeaders(ctx context.Context, in *ListParams, opts ...grpc.CallOption) (*BlockHeaderList, error)
	// Returns list of block metadata (hash, header, and number of transactions) according to request
	ListBlockMetadata(ctx context.Context, in *ListParams, opts ...grpc.CallOption) (*BlockMetadataList, error)
	// Returns a stream of new blocks as they get added to the blockchain
	ListBlockStream(ctx context.Context, in *Empty, opts ...grpc.CallOption) (AergoRPCService_ListBlockStreamClient, error)
	// Returns a stream of new block's metadata as they get added to the blockchain
	ListBlockMetadataStream(ctx context.Context, in *Empty, opts ...grpc.CallOption) (AergoRPCService_ListBlockMetadataStreamClient, error)
	// Return a single block incl. header and body, queried by hash or number
	GetBlock(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*Block, error)
	// Return a single block's metdata (hash, header, and number of transactions), queried by hash or number
	GetBlockMetadata(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*BlockMetadata, error)
	// Return a single block's body, queried by hash or number and list parameters
	GetBlockBody(ctx context.Context, in *BlockBodyParams, opts ...grpc.CallOption) (*BlockBodyPaged, error)
	// Return a single transaction, queried by transaction hash
	GetTX(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*Tx, error)
	// Return information about transaction in block, queried by transaction hash
	GetBlockTX(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*TxInBlock, error)
	// Return transaction receipt, queried by transaction hash
	GetReceipt(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*Receipt, error)
	// Return internal operations, queried by block number
	GetInternalOperations(ctx context.Context, in *BlockNumberParam, opts ...grpc.CallOption) (*SingleBytes, error)
	// Return ABI stored at contract address
	GetABI(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*ABI, error)
	// Sign and send a transaction from an unlocked account
	SendTX(ctx context.Context, in *Tx, opts ...grpc.CallOption) (*CommitResult, error)
	// Sign transaction with unlocked account
	SignTX(ctx context.Context, in *Tx, opts ...grpc.CallOption) (*Tx, error)
	// Verify validity of transaction
	VerifyTX(ctx context.Context, in *Tx, opts ...grpc.CallOption) (*VerifyResult, error)
	// Commit a signed transaction
	CommitTX(ctx context.Context, in *TxList, opts ...grpc.CallOption) (*CommitResultList, error)
	// Return state of account
	GetState(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*State, error)
	// Return state of account, including merkle proof
	GetStateAndProof(ctx context.Context, in *AccountAndRoot, opts ...grpc.CallOption) (*AccountProof, error)
	// Create a new account in this node
	CreateAccount(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*Account, error)
	// Return list of accounts in this node
	GetAccounts(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*AccountList, error)
	// Lock account in this node
	LockAccount(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*Account, error)
	// Unlock account in this node
	UnlockAccount(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*Account, error)
	// Import account to this node
	ImportAccount(ctx context.Context, in *ImportFormat, opts ...grpc.CallOption) (*Account, error)
	// Export account stored in this node as wif format
	ExportAccount(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*SingleBytes, error)
	// Export account stored in this node as keystore format
	ExportAccountKeystore(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*SingleBytes, error)
	// Query a contract method
	QueryContract(ctx context.Context, in *Query, opts ...grpc.CallOption) (*SingleBytes, error)
	// Query contract state
	QueryContractState(ctx context.Context, in *StateQuery, opts ...grpc.CallOption) (*StateQueryProof, error)
	// Return list of peers of this node and their state
	GetPeers(ctx context.Context, in *PeersParams, opts ...grpc.CallOption) (*PeerList, error)
	// Return result of vote
	GetVotes(ctx context.Context, in *VoteParams, opts ...grpc.CallOption) (*VoteList, error)
	// Return staking, voting info for account
	GetAccountVotes(ctx context.Context, in *AccountAddress, opts ...grpc.CallOption) (*AccountVoteInfo, error)
	// Return staking information
	GetStaking(ctx context.Context, in *AccountAddress, opts ...grpc.CallOption) (*Staking, error)
	// Return name information
	GetNameInfo(ctx context.Context, in *Name, opts ...grpc.CallOption) (*NameInfo, error)
	// Returns a stream of event as they get added to the blockchain
	ListEventStream(ctx context.Context, in *FilterInfo, opts ...grpc.CallOption) (AergoRPCService_ListEventStreamClient, error)
	// Returns list of event
	ListEvents(ctx context.Context, in *FilterInfo, opts ...grpc.CallOption) (*EventList, error)
	// Returns configs and statuses of server
	GetServerInfo(ctx context.Context, in *KeyParams, opts ...grpc.CallOption) (*ServerInfo, error)
	// Returns status of consensus and bps
	GetConsensusInfo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ConsensusInfo, error)
	// Returns enterprise config
	GetEnterpriseConfig(ctx context.Context, in *EnterpriseConfigKey, opts ...grpc.CallOption) (*EnterpriseConfig, error)
	// Return a status of changeCluster enterprise tx,  queried by requestID
	GetConfChangeProgress(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*ConfChangeProgress, error)
}

type aergoRPCServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewAergoRPCServiceClient(cc grpc.ClientConnInterface) AergoRPCServiceClient {
	return &aergoRPCServiceClient{cc}
}

func (c *aergoRPCServiceClient) NodeState(ctx context.Context, in *NodeReq, opts ...grpc.CallOption) (*SingleBytes, error) {
	out := new(SingleBytes)
	err := c.cc.Invoke(ctx, AergoRPCService_NodeState_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) Metric(ctx context.Context, in *MetricsRequest, opts ...grpc.CallOption) (*Metrics, error) {
	out := new(Metrics)
	err := c.cc.Invoke(ctx, AergoRPCService_Metric_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) Blockchain(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*BlockchainStatus, error) {
	out := new(BlockchainStatus)
	err := c.cc.Invoke(ctx, AergoRPCService_Blockchain_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetChainInfo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ChainInfo, error) {
	out := new(ChainInfo)
	err := c.cc.Invoke(ctx, AergoRPCService_GetChainInfo_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) ChainStat(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ChainStats, error) {
	out := new(ChainStats)
	err := c.cc.Invoke(ctx, AergoRPCService_ChainStat_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) ListBlockHeaders(ctx context.Context, in *ListParams, opts ...grpc.CallOption) (*BlockHeaderList, error) {
	out := new(BlockHeaderList)
	err := c.cc.Invoke(ctx, AergoRPCService_ListBlockHeaders_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) ListBlockMetadata(ctx context.Context, in *ListParams, opts ...grpc.CallOption) (*BlockMetadataList, error) {
	out := new(BlockMetadataList)
	err := c.cc.Invoke(ctx, AergoRPCService_ListBlockMetadata_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) ListBlockStream(ctx context.Context, in *Empty, opts ...grpc.CallOption) (AergoRPCService_ListBlockStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &AergoRPCService_ServiceDesc.Streams[0], AergoRPCService_ListBlockStream_FullMethodName, opts...)
	if err != nil {
		return nil, err
	}
	x := &aergoRPCServiceListBlockStreamClient{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 AergoRPCService_ListBlockStreamClient interface {
	Recv() (*Block, error)
	grpc.ClientStream
}

type aergoRPCServiceListBlockStreamClient struct {
	grpc.ClientStream
}

func (x *aergoRPCServiceListBlockStreamClient) Recv() (*Block, error) {
	m := new(Block)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *aergoRPCServiceClient) ListBlockMetadataStream(ctx context.Context, in *Empty, opts ...grpc.CallOption) (AergoRPCService_ListBlockMetadataStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &AergoRPCService_ServiceDesc.Streams[1], AergoRPCService_ListBlockMetadataStream_FullMethodName, opts...)
	if err != nil {
		return nil, err
	}
	x := &aergoRPCServiceListBlockMetadataStreamClient{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 AergoRPCService_ListBlockMetadataStreamClient interface {
	Recv() (*BlockMetadata, error)
	grpc.ClientStream
}

type aergoRPCServiceListBlockMetadataStreamClient struct {
	grpc.ClientStream
}

func (x *aergoRPCServiceListBlockMetadataStreamClient) Recv() (*BlockMetadata, error) {
	m := new(BlockMetadata)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *aergoRPCServiceClient) GetBlock(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*Block, error) {
	out := new(Block)
	err := c.cc.Invoke(ctx, AergoRPCService_GetBlock_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetBlockMetadata(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*BlockMetadata, error) {
	out := new(BlockMetadata)
	err := c.cc.Invoke(ctx, AergoRPCService_GetBlockMetadata_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetBlockBody(ctx context.Context, in *BlockBodyParams, opts ...grpc.CallOption) (*BlockBodyPaged, error) {
	out := new(BlockBodyPaged)
	err := c.cc.Invoke(ctx, AergoRPCService_GetBlockBody_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetTX(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*Tx, error) {
	out := new(Tx)
	err := c.cc.Invoke(ctx, AergoRPCService_GetTX_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetBlockTX(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*TxInBlock, error) {
	out := new(TxInBlock)
	err := c.cc.Invoke(ctx, AergoRPCService_GetBlockTX_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetReceipt(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*Receipt, error) {
	out := new(Receipt)
	err := c.cc.Invoke(ctx, AergoRPCService_GetReceipt_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetInternalOperations(ctx context.Context, in *BlockNumberParam, opts ...grpc.CallOption) (*SingleBytes, error) {
	out := new(SingleBytes)
	err := c.cc.Invoke(ctx, AergoRPCService_GetInternalOperations_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetABI(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*ABI, error) {
	out := new(ABI)
	err := c.cc.Invoke(ctx, AergoRPCService_GetABI_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) SendTX(ctx context.Context, in *Tx, opts ...grpc.CallOption) (*CommitResult, error) {
	out := new(CommitResult)
	err := c.cc.Invoke(ctx, AergoRPCService_SendTX_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) SignTX(ctx context.Context, in *Tx, opts ...grpc.CallOption) (*Tx, error) {
	out := new(Tx)
	err := c.cc.Invoke(ctx, AergoRPCService_SignTX_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) VerifyTX(ctx context.Context, in *Tx, opts ...grpc.CallOption) (*VerifyResult, error) {
	out := new(VerifyResult)
	err := c.cc.Invoke(ctx, AergoRPCService_VerifyTX_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) CommitTX(ctx context.Context, in *TxList, opts ...grpc.CallOption) (*CommitResultList, error) {
	out := new(CommitResultList)
	err := c.cc.Invoke(ctx, AergoRPCService_CommitTX_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetState(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*State, error) {
	out := new(State)
	err := c.cc.Invoke(ctx, AergoRPCService_GetState_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetStateAndProof(ctx context.Context, in *AccountAndRoot, opts ...grpc.CallOption) (*AccountProof, error) {
	out := new(AccountProof)
	err := c.cc.Invoke(ctx, AergoRPCService_GetStateAndProof_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) CreateAccount(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*Account, error) {
	out := new(Account)
	err := c.cc.Invoke(ctx, AergoRPCService_CreateAccount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetAccounts(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*AccountList, error) {
	out := new(AccountList)
	err := c.cc.Invoke(ctx, AergoRPCService_GetAccounts_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) LockAccount(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*Account, error) {
	out := new(Account)
	err := c.cc.Invoke(ctx, AergoRPCService_LockAccount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) UnlockAccount(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*Account, error) {
	out := new(Account)
	err := c.cc.Invoke(ctx, AergoRPCService_UnlockAccount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) ImportAccount(ctx context.Context, in *ImportFormat, opts ...grpc.CallOption) (*Account, error) {
	out := new(Account)
	err := c.cc.Invoke(ctx, AergoRPCService_ImportAccount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) ExportAccount(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*SingleBytes, error) {
	out := new(SingleBytes)
	err := c.cc.Invoke(ctx, AergoRPCService_ExportAccount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) ExportAccountKeystore(ctx context.Context, in *Personal, opts ...grpc.CallOption) (*SingleBytes, error) {
	out := new(SingleBytes)
	err := c.cc.Invoke(ctx, AergoRPCService_ExportAccountKeystore_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) QueryContract(ctx context.Context, in *Query, opts ...grpc.CallOption) (*SingleBytes, error) {
	out := new(SingleBytes)
	err := c.cc.Invoke(ctx, AergoRPCService_QueryContract_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) QueryContractState(ctx context.Context, in *StateQuery, opts ...grpc.CallOption) (*StateQueryProof, error) {
	out := new(StateQueryProof)
	err := c.cc.Invoke(ctx, AergoRPCService_QueryContractState_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetPeers(ctx context.Context, in *PeersParams, opts ...grpc.CallOption) (*PeerList, error) {
	out := new(PeerList)
	err := c.cc.Invoke(ctx, AergoRPCService_GetPeers_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetVotes(ctx context.Context, in *VoteParams, opts ...grpc.CallOption) (*VoteList, error) {
	out := new(VoteList)
	err := c.cc.Invoke(ctx, AergoRPCService_GetVotes_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetAccountVotes(ctx context.Context, in *AccountAddress, opts ...grpc.CallOption) (*AccountVoteInfo, error) {
	out := new(AccountVoteInfo)
	err := c.cc.Invoke(ctx, AergoRPCService_GetAccountVotes_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetStaking(ctx context.Context, in *AccountAddress, opts ...grpc.CallOption) (*Staking, error) {
	out := new(Staking)
	err := c.cc.Invoke(ctx, AergoRPCService_GetStaking_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetNameInfo(ctx context.Context, in *Name, opts ...grpc.CallOption) (*NameInfo, error) {
	out := new(NameInfo)
	err := c.cc.Invoke(ctx, AergoRPCService_GetNameInfo_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) ListEventStream(ctx context.Context, in *FilterInfo, opts ...grpc.CallOption) (AergoRPCService_ListEventStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &AergoRPCService_ServiceDesc.Streams[2], AergoRPCService_ListEventStream_FullMethodName, opts...)
	if err != nil {
		return nil, err
	}
	x := &aergoRPCServiceListEventStreamClient{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 AergoRPCService_ListEventStreamClient interface {
	Recv() (*Event, error)
	grpc.ClientStream
}

type aergoRPCServiceListEventStreamClient struct {
	grpc.ClientStream
}

func (x *aergoRPCServiceListEventStreamClient) Recv() (*Event, error) {
	m := new(Event)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *aergoRPCServiceClient) ListEvents(ctx context.Context, in *FilterInfo, opts ...grpc.CallOption) (*EventList, error) {
	out := new(EventList)
	err := c.cc.Invoke(ctx, AergoRPCService_ListEvents_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetServerInfo(ctx context.Context, in *KeyParams, opts ...grpc.CallOption) (*ServerInfo, error) {
	out := new(ServerInfo)
	err := c.cc.Invoke(ctx, AergoRPCService_GetServerInfo_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetConsensusInfo(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ConsensusInfo, error) {
	out := new(ConsensusInfo)
	err := c.cc.Invoke(ctx, AergoRPCService_GetConsensusInfo_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetEnterpriseConfig(ctx context.Context, in *EnterpriseConfigKey, opts ...grpc.CallOption) (*EnterpriseConfig, error) {
	out := new(EnterpriseConfig)
	err := c.cc.Invoke(ctx, AergoRPCService_GetEnterpriseConfig_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *aergoRPCServiceClient) GetConfChangeProgress(ctx context.Context, in *SingleBytes, opts ...grpc.CallOption) (*ConfChangeProgress, error) {
	out := new(ConfChangeProgress)
	err := c.cc.Invoke(ctx, AergoRPCService_GetConfChangeProgress_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// AergoRPCServiceServer is the server API for AergoRPCService service.
// All implementations must embed UnimplementedAergoRPCServiceServer
// for forward compatibility
type AergoRPCServiceServer interface {
	// Returns the current state of this node
	NodeState(context.Context, *NodeReq) (*SingleBytes, error)
	// Returns node metrics according to request
	Metric(context.Context, *MetricsRequest) (*Metrics, error)
	// Returns current blockchain status (best block's height and hash)
	Blockchain(context.Context, *Empty) (*BlockchainStatus, error)
	// Returns current blockchain's basic information
	GetChainInfo(context.Context, *Empty) (*ChainInfo, error)
	// Returns current chain statistics
	ChainStat(context.Context, *Empty) (*ChainStats, error)
	// Returns list of Blocks without body according to request
	ListBlockHeaders(context.Context, *ListParams) (*BlockHeaderList, error)
	// Returns list of block metadata (hash, header, and number of transactions) according to request
	ListBlockMetadata(context.Context, *ListParams) (*BlockMetadataList, error)
	// Returns a stream of new blocks as they get added to the blockchain
	ListBlockStream(*Empty, AergoRPCService_ListBlockStreamServer) error
	// Returns a stream of new block's metadata as they get added to the blockchain
	ListBlockMetadataStream(*Empty, AergoRPCService_ListBlockMetadataStreamServer) error
	// Return a single block incl. header and body, queried by hash or number
	GetBlock(context.Context, *SingleBytes) (*Block, error)
	// Return a single block's metdata (hash, header, and number of transactions), queried by hash or number
	GetBlockMetadata(context.Context, *SingleBytes) (*BlockMetadata, error)
	// Return a single block's body, queried by hash or number and list parameters
	GetBlockBody(context.Context, *BlockBodyParams) (*BlockBodyPaged, error)
	// Return a single transaction, queried by transaction hash
	GetTX(context.Context, *SingleBytes) (*Tx, error)
	// Return information about transaction in block, queried by transaction hash
	GetBlockTX(context.Context, *SingleBytes) (*TxInBlock, error)
	// Return transaction receipt, queried by transaction hash
	GetReceipt(context.Context, *SingleBytes) (*Receipt, error)
	// Return internal operations, queried by block number
	GetInternalOperations(context.Context, *BlockNumberParam) (*SingleBytes, error)
	// Return ABI stored at contract address
	GetABI(context.Context, *SingleBytes) (*ABI, error)
	// Sign and send a transaction from an unlocked account
	SendTX(context.Context, *Tx) (*CommitResult, error)
	// Sign transaction with unlocked account
	SignTX(context.Context, *Tx) (*Tx, error)
	// Verify validity of transaction
	VerifyTX(context.Context, *Tx) (*VerifyResult, error)
	// Commit a signed transaction
	CommitTX(context.Context, *TxList) (*CommitResultList, error)
	// Return state of account
	GetState(context.Context, *SingleBytes) (*State, error)
	// Return state of account, including merkle proof
	GetStateAndProof(context.Context, *AccountAndRoot) (*AccountProof, error)
	// Create a new account in this node
	CreateAccount(context.Context, *Personal) (*Account, error)
	// Return list of accounts in this node
	GetAccounts(context.Context, *Empty) (*AccountList, error)
	// Lock account in this node
	LockAccount(context.Context, *Personal) (*Account, error)
	// Unlock account in this node
	UnlockAccount(context.Context, *Personal) (*Account, error)
	// Import account to this node
	ImportAccount(context.Context, *ImportFormat) (*Account, error)
	// Export account stored in this node as wif format
	ExportAccount(context.Context, *Personal) (*SingleBytes, error)
	// Export account stored in this node as keystore format
	ExportAccountKeystore(context.Context, *Personal) (*SingleBytes, error)
	// Query a contract method
	QueryContract(context.Context, *Query) (*SingleBytes, error)
	// Query contract state
	QueryContractState(context.Context, *StateQuery) (*StateQueryProof, error)
	// Return list of peers of this node and their state
	GetPeers(context.Context, *PeersParams) (*PeerList, error)
	// Return result of vote
	GetVotes(context.Context, *VoteParams) (*VoteList, error)
	// Return staking, voting info for account
	GetAccountVotes(context.Context, *AccountAddress) (*AccountVoteInfo, error)
	// Return staking information
	GetStaking(context.Context, *AccountAddress) (*Staking, error)
	// Return name information
	GetNameInfo(context.Context, *Name) (*NameInfo, error)
	// Returns a stream of event as they get added to the blockchain
	ListEventStream(*FilterInfo, AergoRPCService_ListEventStreamServer) error
	// Returns list of event
	ListEvents(context.Context, *FilterInfo) (*EventList, error)
	// Returns configs and statuses of server
	GetServerInfo(context.Context, *KeyParams) (*ServerInfo, error)
	// Returns status of consensus and bps
	GetConsensusInfo(context.Context, *Empty) (*ConsensusInfo, error)
	// Returns enterprise config
	GetEnterpriseConfig(context.Context, *EnterpriseConfigKey) (*EnterpriseConfig, error)
	// Return a status of changeCluster enterprise tx,  queried by requestID
	GetConfChangeProgress(context.Context, *SingleBytes) (*ConfChangeProgress, error)
	mustEmbedUnimplementedAergoRPCServiceServer()
}

// UnimplementedAergoRPCServiceServer must be embedded to have forward compatible implementations.
type UnimplementedAergoRPCServiceServer struct {
}

func (UnimplementedAergoRPCServiceServer) NodeState(context.Context, *NodeReq) (*SingleBytes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method NodeState not implemented")
}
func (UnimplementedAergoRPCServiceServer) Metric(context.Context, *MetricsRequest) (*Metrics, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Metric not implemented")
}
func (UnimplementedAergoRPCServiceServer) Blockchain(context.Context, *Empty) (*BlockchainStatus, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Blockchain not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetChainInfo(context.Context, *Empty) (*ChainInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetChainInfo not implemented")
}
func (UnimplementedAergoRPCServiceServer) ChainStat(context.Context, *Empty) (*ChainStats, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChainStat not implemented")
}
func (UnimplementedAergoRPCServiceServer) ListBlockHeaders(context.Context, *ListParams) (*BlockHeaderList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListBlockHeaders not implemented")
}
func (UnimplementedAergoRPCServiceServer) ListBlockMetadata(context.Context, *ListParams) (*BlockMetadataList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListBlockMetadata not implemented")
}
func (UnimplementedAergoRPCServiceServer) ListBlockStream(*Empty, AergoRPCService_ListBlockStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method ListBlockStream not implemented")
}
func (UnimplementedAergoRPCServiceServer) ListBlockMetadataStream(*Empty, AergoRPCService_ListBlockMetadataStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method ListBlockMetadataStream not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetBlock(context.Context, *SingleBytes) (*Block, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBlock not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetBlockMetadata(context.Context, *SingleBytes) (*BlockMetadata, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBlockMetadata not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetBlockBody(context.Context, *BlockBodyParams) (*BlockBodyPaged, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBlockBody not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetTX(context.Context, *SingleBytes) (*Tx, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTX not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetBlockTX(context.Context, *SingleBytes) (*TxInBlock, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBlockTX not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetReceipt(context.Context, *SingleBytes) (*Receipt, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetReceipt not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetInternalOperations(context.Context, *BlockNumberParam) (*SingleBytes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetInternalOperations not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetABI(context.Context, *SingleBytes) (*ABI, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetABI not implemented")
}
func (UnimplementedAergoRPCServiceServer) SendTX(context.Context, *Tx) (*CommitResult, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendTX not implemented")
}
func (UnimplementedAergoRPCServiceServer) SignTX(context.Context, *Tx) (*Tx, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SignTX not implemented")
}
func (UnimplementedAergoRPCServiceServer) VerifyTX(context.Context, *Tx) (*VerifyResult, error) {
	return nil, status.Errorf(codes.Unimplemented, "method VerifyTX not implemented")
}
func (UnimplementedAergoRPCServiceServer) CommitTX(context.Context, *TxList) (*CommitResultList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CommitTX not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetState(context.Context, *SingleBytes) (*State, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetState not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetStateAndProof(context.Context, *AccountAndRoot) (*AccountProof, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetStateAndProof not implemented")
}
func (UnimplementedAergoRPCServiceServer) CreateAccount(context.Context, *Personal) (*Account, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateAccount not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetAccounts(context.Context, *Empty) (*AccountList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAccounts not implemented")
}
func (UnimplementedAergoRPCServiceServer) LockAccount(context.Context, *Personal) (*Account, error) {
	return nil, status.Errorf(codes.Unimplemented, "method LockAccount not implemented")
}
func (UnimplementedAergoRPCServiceServer) UnlockAccount(context.Context, *Personal) (*Account, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnlockAccount not implemented")
}
func (UnimplementedAergoRPCServiceServer) ImportAccount(context.Context, *ImportFormat) (*Account, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ImportAccount not implemented")
}
func (UnimplementedAergoRPCServiceServer) ExportAccount(context.Context, *Personal) (*SingleBytes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExportAccount not implemented")
}
func (UnimplementedAergoRPCServiceServer) ExportAccountKeystore(context.Context, *Personal) (*SingleBytes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExportAccountKeystore not implemented")
}
func (UnimplementedAergoRPCServiceServer) QueryContract(context.Context, *Query) (*SingleBytes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method QueryContract not implemented")
}
func (UnimplementedAergoRPCServiceServer) QueryContractState(context.Context, *StateQuery) (*StateQueryProof, error) {
	return nil, status.Errorf(codes.Unimplemented, "method QueryContractState not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetPeers(context.Context, *PeersParams) (*PeerList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPeers not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetVotes(context.Context, *VoteParams) (*VoteList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVotes not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetAccountVotes(context.Context, *AccountAddress) (*AccountVoteInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAccountVotes not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetStaking(context.Context, *AccountAddress) (*Staking, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetStaking not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetNameInfo(context.Context, *Name) (*NameInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNameInfo not implemented")
}
func (UnimplementedAergoRPCServiceServer) ListEventStream(*FilterInfo, AergoRPCService_ListEventStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method ListEventStream not implemented")
}
func (UnimplementedAergoRPCServiceServer) ListEvents(context.Context, *FilterInfo) (*EventList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListEvents not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetServerInfo(context.Context, *KeyParams) (*ServerInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServerInfo not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetConsensusInfo(context.Context, *Empty) (*ConsensusInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetConsensusInfo not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetEnterpriseConfig(context.Context, *EnterpriseConfigKey) (*EnterpriseConfig, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetEnterpriseConfig not implemented")
}
func (UnimplementedAergoRPCServiceServer) GetConfChangeProgress(context.Context, *SingleBytes) (*ConfChangeProgress, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetConfChangeProgress not implemented")
}
func (UnimplementedAergoRPCServiceServer) mustEmbedUnimplementedAergoRPCServiceServer() {}

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

func RegisterAergoRPCServiceServer(s grpc.ServiceRegistrar, srv AergoRPCServiceServer) {
	s.RegisterService(&AergoRPCService_ServiceDesc, srv)
}

func _AergoRPCService_NodeState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).NodeState(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_NodeState_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).NodeState(ctx, req.(*NodeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_Metric_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MetricsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).Metric(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_Metric_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).Metric(ctx, req.(*MetricsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_Blockchain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).Blockchain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_Blockchain_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).Blockchain(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetChainInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetChainInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetChainInfo_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetChainInfo(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_ChainStat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).ChainStat(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_ChainStat_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).ChainStat(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_ListBlockHeaders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListParams)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).ListBlockHeaders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_ListBlockHeaders_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).ListBlockHeaders(ctx, req.(*ListParams))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_ListBlockMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListParams)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).ListBlockMetadata(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_ListBlockMetadata_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).ListBlockMetadata(ctx, req.(*ListParams))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_ListBlockStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(Empty)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(AergoRPCServiceServer).ListBlockStream(m, &aergoRPCServiceListBlockStreamServer{stream})
}

type AergoRPCService_ListBlockStreamServer interface {
	Send(*Block) error
	grpc.ServerStream
}

type aergoRPCServiceListBlockStreamServer struct {
	grpc.ServerStream
}

func (x *aergoRPCServiceListBlockStreamServer) Send(m *Block) error {
	return x.ServerStream.SendMsg(m)
}

func _AergoRPCService_ListBlockMetadataStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(Empty)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(AergoRPCServiceServer).ListBlockMetadataStream(m, &aergoRPCServiceListBlockMetadataStreamServer{stream})
}

type AergoRPCService_ListBlockMetadataStreamServer interface {
	Send(*BlockMetadata) error
	grpc.ServerStream
}

type aergoRPCServiceListBlockMetadataStreamServer struct {
	grpc.ServerStream
}

func (x *aergoRPCServiceListBlockMetadataStreamServer) Send(m *BlockMetadata) error {
	return x.ServerStream.SendMsg(m)
}

func _AergoRPCService_GetBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SingleBytes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetBlock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetBlock_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetBlock(ctx, req.(*SingleBytes))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetBlockMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SingleBytes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetBlockMetadata(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetBlockMetadata_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetBlockMetadata(ctx, req.(*SingleBytes))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetBlockBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockBodyParams)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetBlockBody(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetBlockBody_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetBlockBody(ctx, req.(*BlockBodyParams))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetTX_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SingleBytes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetTX(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetTX_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetTX(ctx, req.(*SingleBytes))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetBlockTX_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SingleBytes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetBlockTX(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetBlockTX_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetBlockTX(ctx, req.(*SingleBytes))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetReceipt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SingleBytes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetReceipt(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetReceipt_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetReceipt(ctx, req.(*SingleBytes))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetInternalOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BlockNumberParam)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetInternalOperations(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetInternalOperations_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetInternalOperations(ctx, req.(*BlockNumberParam))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetABI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SingleBytes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetABI(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetABI_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetABI(ctx, req.(*SingleBytes))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_SendTX_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Tx)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).SendTX(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_SendTX_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).SendTX(ctx, req.(*Tx))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_SignTX_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Tx)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).SignTX(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_SignTX_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).SignTX(ctx, req.(*Tx))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_VerifyTX_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Tx)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).VerifyTX(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_VerifyTX_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).VerifyTX(ctx, req.(*Tx))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_CommitTX_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TxList)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).CommitTX(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_CommitTX_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).CommitTX(ctx, req.(*TxList))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SingleBytes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetState(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetState_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetState(ctx, req.(*SingleBytes))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetStateAndProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountAndRoot)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetStateAndProof(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetStateAndProof_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetStateAndProof(ctx, req.(*AccountAndRoot))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_CreateAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Personal)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).CreateAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_CreateAccount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).CreateAccount(ctx, req.(*Personal))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetAccounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetAccounts_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetAccounts(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_LockAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Personal)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).LockAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_LockAccount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).LockAccount(ctx, req.(*Personal))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_UnlockAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Personal)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).UnlockAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_UnlockAccount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).UnlockAccount(ctx, req.(*Personal))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_ImportAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImportFormat)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).ImportAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_ImportAccount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).ImportAccount(ctx, req.(*ImportFormat))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_ExportAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Personal)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).ExportAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_ExportAccount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).ExportAccount(ctx, req.(*Personal))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_ExportAccountKeystore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Personal)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).ExportAccountKeystore(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_ExportAccountKeystore_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).ExportAccountKeystore(ctx, req.(*Personal))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_QueryContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Query)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).QueryContract(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_QueryContract_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).QueryContract(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_QueryContractState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StateQuery)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).QueryContractState(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_QueryContractState_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).QueryContractState(ctx, req.(*StateQuery))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetPeers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PeersParams)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetPeers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetPeers_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetPeers(ctx, req.(*PeersParams))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetVotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VoteParams)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetVotes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetVotes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetVotes(ctx, req.(*VoteParams))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetAccountVotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountAddress)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetAccountVotes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetAccountVotes_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetAccountVotes(ctx, req.(*AccountAddress))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetStaking_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountAddress)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetStaking(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetStaking_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetStaking(ctx, req.(*AccountAddress))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetNameInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Name)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetNameInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetNameInfo_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetNameInfo(ctx, req.(*Name))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_ListEventStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(FilterInfo)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(AergoRPCServiceServer).ListEventStream(m, &aergoRPCServiceListEventStreamServer{stream})
}

type AergoRPCService_ListEventStreamServer interface {
	Send(*Event) error
	grpc.ServerStream
}

type aergoRPCServiceListEventStreamServer struct {
	grpc.ServerStream
}

func (x *aergoRPCServiceListEventStreamServer) Send(m *Event) error {
	return x.ServerStream.SendMsg(m)
}

func _AergoRPCService_ListEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FilterInfo)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).ListEvents(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_ListEvents_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).ListEvents(ctx, req.(*FilterInfo))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetServerInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(KeyParams)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetServerInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetServerInfo_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetServerInfo(ctx, req.(*KeyParams))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetConsensusInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetConsensusInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetConsensusInfo_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetConsensusInfo(ctx, req.(*Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetEnterpriseConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EnterpriseConfigKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetEnterpriseConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetEnterpriseConfig_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetEnterpriseConfig(ctx, req.(*EnterpriseConfigKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _AergoRPCService_GetConfChangeProgress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SingleBytes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AergoRPCServiceServer).GetConfChangeProgress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: AergoRPCService_GetConfChangeProgress_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AergoRPCServiceServer).GetConfChangeProgress(ctx, req.(*SingleBytes))
	}
	return interceptor(ctx, in, info, handler)
}

// AergoRPCService_ServiceDesc is the grpc.ServiceDesc for AergoRPCService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var AergoRPCService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "types.AergoRPCService",
	HandlerType: (*AergoRPCServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "NodeState",
			Handler:    _AergoRPCService_NodeState_Handler,
		},
		{
			MethodName: "Metric",
			Handler:    _AergoRPCService_Metric_Handler,
		},
		{
			MethodName: "Blockchain",
			Handler:    _AergoRPCService_Blockchain_Handler,
		},
		{
			MethodName: "GetChainInfo",
			Handler:    _AergoRPCService_GetChainInfo_Handler,
		},
		{
			MethodName: "ChainStat",
			Handler:    _AergoRPCService_ChainStat_Handler,
		},
		{
			MethodName: "ListBlockHeaders",
			Handler:    _AergoRPCService_ListBlockHeaders_Handler,
		},
		{
			MethodName: "ListBlockMetadata",
			Handler:    _AergoRPCService_ListBlockMetadata_Handler,
		},
		{
			MethodName: "GetBlock",
			Handler:    _AergoRPCService_GetBlock_Handler,
		},
		{
			MethodName: "GetBlockMetadata",
			Handler:    _AergoRPCService_GetBlockMetadata_Handler,
		},
		{
			MethodName: "GetBlockBody",
			Handler:    _AergoRPCService_GetBlockBody_Handler,
		},
		{
			MethodName: "GetTX",
			Handler:    _AergoRPCService_GetTX_Handler,
		},
		{
			MethodName: "GetBlockTX",
			Handler:    _AergoRPCService_GetBlockTX_Handler,
		},
		{
			MethodName: "GetReceipt",
			Handler:    _AergoRPCService_GetReceipt_Handler,
		},
		{
			MethodName: "GetInternalOperations",
			Handler:    _AergoRPCService_GetInternalOperations_Handler,
		},
		{
			MethodName: "GetABI",
			Handler:    _AergoRPCService_GetABI_Handler,
		},
		{
			MethodName: "SendTX",
			Handler:    _AergoRPCService_SendTX_Handler,
		},
		{
			MethodName: "SignTX",
			Handler:    _AergoRPCService_SignTX_Handler,
		},
		{
			MethodName: "VerifyTX",
			Handler:    _AergoRPCService_VerifyTX_Handler,
		},
		{
			MethodName: "CommitTX",
			Handler:    _AergoRPCService_CommitTX_Handler,
		},
		{
			MethodName: "GetState",
			Handler:    _AergoRPCService_GetState_Handler,
		},
		{
			MethodName: "GetStateAndProof",
			Handler:    _AergoRPCService_GetStateAndProof_Handler,
		},
		{
			MethodName: "CreateAccount",
			Handler:    _AergoRPCService_CreateAccount_Handler,
		},
		{
			MethodName: "GetAccounts",
			Handler:    _AergoRPCService_GetAccounts_Handler,
		},
		{
			MethodName: "LockAccount",
			Handler:    _AergoRPCService_LockAccount_Handler,
		},
		{
			MethodName: "UnlockAccount",
			Handler:    _AergoRPCService_UnlockAccount_Handler,
		},
		{
			MethodName: "ImportAccount",
			Handler:    _AergoRPCService_ImportAccount_Handler,
		},
		{
			MethodName: "ExportAccount",
			Handler:    _AergoRPCService_ExportAccount_Handler,
		},
		{
			MethodName: "ExportAccountKeystore",
			Handler:    _AergoRPCService_ExportAccountKeystore_Handler,
		},
		{
			MethodName: "QueryContract",
			Handler:    _AergoRPCService_QueryContract_Handler,
		},
		{
			MethodName: "QueryContractState",
			Handler:    _AergoRPCService_QueryContractState_Handler,
		},
		{
			MethodName: "GetPeers",
			Handler:    _AergoRPCService_GetPeers_Handler,
		},
		{
			MethodName: "GetVotes",
			Handler:    _AergoRPCService_GetVotes_Handler,
		},
		{
			MethodName: "GetAccountVotes",
			Handler:    _AergoRPCService_GetAccountVotes_Handler,
		},
		{
			MethodName: "GetStaking",
			Handler:    _AergoRPCService_GetStaking_Handler,
		},
		{
			MethodName: "GetNameInfo",
			Handler:    _AergoRPCService_GetNameInfo_Handler,
		},
		{
			MethodName: "ListEvents",
			Handler:    _AergoRPCService_ListEvents_Handler,
		},
		{
			MethodName: "GetServerInfo",
			Handler:    _AergoRPCService_GetServerInfo_Handler,
		},
		{
			MethodName: "GetConsensusInfo",
			Handler:    _AergoRPCService_GetConsensusInfo_Handler,
		},
		{
			MethodName: "GetEnterpriseConfig",
			Handler:    _AergoRPCService_GetEnterpriseConfig_Handler,
		},
		{
			MethodName: "GetConfChangeProgress",
			Handler:    _AergoRPCService_GetConfChangeProgress_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "ListBlockStream",
			Handler:       _AergoRPCService_ListBlockStream_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListBlockMetadataStream",
			Handler:       _AergoRPCService_ListBlockMetadataStream_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListEventStream",
			Handler:       _AergoRPCService_ListEventStream_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "rpc.proto",
}
