Documentation
¶
Index ¶
- type Client
- func (k *Client) CloseRelayer(ctx context.Context, relayID types.RelayID) error
- func (k *Client) EVM(relayID types.RelayID) (types.EVMService, error)
- func (k *Client) Get(ctx context.Context, relayID types.RelayID) (core.Relayer, error)
- func (k *Client) List(ctx context.Context, relayIDs ...types.RelayID) (map[types.RelayID]core.Relayer, error)
- func (k *Client) NewContractReader(ctx context.Context, relayID types.RelayID, contractReaderConfig []byte) (types.ContractReader, error)
- func (k *Client) NewContractWriter(ctx context.Context, relayID types.RelayID, contractWriterConfig []byte) (uint32, error)
- func (k *Client) NewPluginProvider(ctx context.Context, relayID types.RelayID, relayArgs core.RelayArgs, ...) (uint32, error)
- func (k *Client) RelayerGetChainInfo(ctx context.Context, relayID types.RelayID) (types.ChainInfo, error)
- func (k *Client) RelayerHealthReport(ctx context.Context, relayID types.RelayID) (map[string]error, error)
- func (k *Client) RelayerLatestHead(ctx context.Context, relayID types.RelayID) (types.Head, error)
- func (k *Client) RelayerName(ctx context.Context, relayID types.RelayID) (string, error)
- func (k *Client) RelayerReady(ctx context.Context, relayID types.RelayID) error
- func (k *Client) StartRelayer(ctx context.Context, relayID types.RelayID) error
- type Server
- func (s *Server) BalanceAt(ctx context.Context, request *evmpb.BalanceAtRequest) (*evmpb.BalanceAtReply, error)
- func (s *Server) Bind(ctx context.Context, in *pb.BindRequest) (*emptypb.Empty, error)
- func (s *Server) CalculateTransactionFee(ctx context.Context, request *evmpb.CalculateTransactionFeeRequest) (*evmpb.CalculateTransactionFeeReply, error)
- func (s *Server) CallContract(ctx context.Context, request *evmpb.CallContractRequest) (*evmpb.CallContractReply, error)
- func (s *Server) Close() error
- func (s *Server) CloseRelayer(ctx context.Context, relayID *relayerset.RelayerId) (*emptypb.Empty, error)
- func (s *Server) ContractReaderClose(ctx context.Context, _ *emptypb.Empty) (*emptypb.Empty, error)
- func (s *Server) ContractReaderStart(ctx context.Context, _ *emptypb.Empty) (*emptypb.Empty, error)
- func (s *Server) EstimateGas(ctx context.Context, request *evmpb.EstimateGasRequest) (*evmpb.EstimateGasReply, error)
- func (s *Server) FilterLogs(ctx context.Context, request *evmpb.FilterLogsRequest) (*evmpb.FilterLogsReply, error)
- func (s *Server) Get(ctx context.Context, req *relayerset.GetRelayerRequest) (*relayerset.GetRelayerResponse, error)
- func (s *Server) GetForwarderForEOA(ctx context.Context, request *evmpb.GetForwarderForEOARequest) (*evmpb.GetForwarderForEOAReply, error)
- func (s *Server) GetLatestValue(ctx context.Context, in *pb.GetLatestValueRequest) (*pb.GetLatestValueReply, error)
- func (s *Server) GetLatestValueWithHeadData(ctx context.Context, in *pb.GetLatestValueRequest) (*pb.GetLatestValueWithHeadDataReply, error)
- func (s *Server) GetLatestValues(ctx context.Context, in *pb.BatchGetLatestValuesRequest) (*pb.BatchGetLatestValuesReply, error)
- func (s *Server) GetTransactionByHash(ctx context.Context, request *evmpb.GetTransactionByHashRequest) (*evmpb.GetTransactionByHashReply, error)
- func (s *Server) GetTransactionFee(ctx context.Context, request *evmpb.GetTransactionFeeRequest) (*evmpb.GetTransactionFeeReply, error)
- func (s *Server) GetTransactionReceipt(ctx context.Context, request *evmpb.GetTransactionReceiptRequest) (*evmpb.GetTransactionReceiptReply, error)
- func (s *Server) GetTransactionStatus(ctx context.Context, request *evmpb.GetTransactionStatusRequest) (*evmpb.GetTransactionStatusReply, error)
- func (s *Server) LatestAndFinalizedHead(ctx context.Context, _ *emptypb.Empty) (*evmpb.LatestAndFinalizedHeadReply, error)
- func (s *Server) List(ctx context.Context, req *relayerset.ListAllRelayersRequest) (*relayerset.ListAllRelayersResponse, error)
- func (s *Server) NewContractReader(ctx context.Context, req *relayerset.NewContractReaderRequest) (*relayerset.NewContractReaderResponse, error)
- func (s *Server) NewContractWriter(ctx context.Context, req *relayerset.NewContractWriterRequest) (*relayerset.NewContractWriterResponse, error)
- func (s *Server) QueryKey(ctx context.Context, in *pb.QueryKeyRequest) (*pb.QueryKeyReply, error)
- func (s *Server) QueryKeys(ctx context.Context, in *pb.QueryKeysRequest) (*pb.QueryKeysReply, error)
- func (s *Server) QueryTrackedLogs(ctx context.Context, request *evmpb.QueryTrackedLogsRequest) (*evmpb.QueryTrackedLogsReply, error)
- func (s *Server) RegisterLogTracking(ctx context.Context, request *evmpb.RegisterLogTrackingRequest) (*emptypb.Empty, error)
- func (s *Server) RelayerGetChainInfo(ctx context.Context, req *relayerset.GetChainInfoRequest) (*pb.GetChainInfoReply, error)
- func (s *Server) RelayerHealthReport(ctx context.Context, relayID *relayerset.RelayerId) (*relayerset.RelayerHealthReportResponse, error)
- func (s *Server) RelayerLatestHead(ctx context.Context, req *relayerset.LatestHeadRequest) (*relayerset.LatestHeadResponse, error)
- func (s *Server) RelayerName(ctx context.Context, relayID *relayerset.RelayerId) (*relayerset.RelayerNameResponse, error)
- func (s *Server) RelayerReady(ctx context.Context, relayID *relayerset.RelayerId) (*emptypb.Empty, error)
- func (s *Server) StartRelayer(ctx context.Context, relayID *relayerset.RelayerId) (*emptypb.Empty, error)
- func (s *Server) SubmitTransaction(ctx context.Context, request *evmpb.SubmitTransactionRequest) (*evmpb.SubmitTransactionReply, error)
- func (s *Server) Unbind(ctx context.Context, in *pb.UnbindRequest) (*emptypb.Empty, error)
- func (s *Server) UnregisterLogTracking(ctx context.Context, request *evmpb.UnregisterLogTrackingRequest) (*emptypb.Empty, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
*net.BrokerExt
*goplugin.ServiceClient
// contains filtered or unexported fields
}
func NewRelayerSetClient ¶
func (*Client) CloseRelayer ¶
func (*Client) EVM ¶ added in v0.7.1
EVM creates an EVM Relayer Set client which is a wrapper over the regular EVM client that attaches the Relayer ID to every request. This wrapper is then returned as a regular EVMClient .
func (*Client) NewContractReader ¶ added in v0.2.2
func (*Client) NewContractWriter ¶ added in v0.4.0
func (*Client) NewPluginProvider ¶
func (*Client) RelayerGetChainInfo ¶ added in v0.7.1
func (*Client) RelayerHealthReport ¶
func (*Client) RelayerLatestHead ¶ added in v0.2.2
func (*Client) RelayerName ¶
func (*Client) RelayerReady ¶
type Server ¶
type Server struct {
relayerset.UnimplementedRelayerSetServer
evmpb.UnimplementedEVMServer
pb.ContractReaderServer
Name string
// contains filtered or unexported fields
}
func NewRelayerSetServer ¶
func (*Server) BalanceAt ¶ added in v0.7.1
func (s *Server) BalanceAt(ctx context.Context, request *evmpb.BalanceAtRequest) (*evmpb.BalanceAtReply, error)
func (*Server) CalculateTransactionFee ¶ added in v0.7.1
func (s *Server) CalculateTransactionFee(ctx context.Context, request *evmpb.CalculateTransactionFeeRequest) (*evmpb.CalculateTransactionFeeReply, error)
func (*Server) CallContract ¶ added in v0.7.1
func (s *Server) CallContract(ctx context.Context, request *evmpb.CallContractRequest) (*evmpb.CallContractReply, error)
func (*Server) CloseRelayer ¶
func (*Server) ContractReaderClose ¶ added in v0.7.1
func (*Server) ContractReaderStart ¶ added in v0.7.1
func (*Server) EstimateGas ¶ added in v0.7.1
func (s *Server) EstimateGas(ctx context.Context, request *evmpb.EstimateGasRequest) (*evmpb.EstimateGasReply, error)
func (*Server) FilterLogs ¶ added in v0.7.1
func (s *Server) FilterLogs(ctx context.Context, request *evmpb.FilterLogsRequest) (*evmpb.FilterLogsReply, error)
func (*Server) Get ¶
func (s *Server) Get(ctx context.Context, req *relayerset.GetRelayerRequest) (*relayerset.GetRelayerResponse, error)
func (*Server) GetForwarderForEOA ¶ added in v0.7.1
func (s *Server) GetForwarderForEOA(ctx context.Context, request *evmpb.GetForwarderForEOARequest) (*evmpb.GetForwarderForEOAReply, error)
func (*Server) GetLatestValue ¶ added in v0.7.1
func (s *Server) GetLatestValue(ctx context.Context, in *pb.GetLatestValueRequest) (*pb.GetLatestValueReply, error)
func (*Server) GetLatestValueWithHeadData ¶ added in v0.7.1
func (s *Server) GetLatestValueWithHeadData(ctx context.Context, in *pb.GetLatestValueRequest) (*pb.GetLatestValueWithHeadDataReply, error)
func (*Server) GetLatestValues ¶ added in v0.7.1
func (s *Server) GetLatestValues(ctx context.Context, in *pb.BatchGetLatestValuesRequest) (*pb.BatchGetLatestValuesReply, error)
func (*Server) GetTransactionByHash ¶ added in v0.7.1
func (s *Server) GetTransactionByHash(ctx context.Context, request *evmpb.GetTransactionByHashRequest) (*evmpb.GetTransactionByHashReply, error)
func (*Server) GetTransactionFee ¶ added in v0.7.1
func (s *Server) GetTransactionFee(ctx context.Context, request *evmpb.GetTransactionFeeRequest) (*evmpb.GetTransactionFeeReply, error)
func (*Server) GetTransactionReceipt ¶ added in v0.7.1
func (s *Server) GetTransactionReceipt(ctx context.Context, request *evmpb.GetTransactionReceiptRequest) (*evmpb.GetTransactionReceiptReply, error)
func (*Server) GetTransactionStatus ¶ added in v0.7.1
func (s *Server) GetTransactionStatus(ctx context.Context, request *evmpb.GetTransactionStatusRequest) (*evmpb.GetTransactionStatusReply, error)
func (*Server) LatestAndFinalizedHead ¶ added in v0.7.1
func (*Server) List ¶
func (s *Server) List(ctx context.Context, req *relayerset.ListAllRelayersRequest) (*relayerset.ListAllRelayersResponse, error)
func (*Server) NewContractReader ¶ added in v0.2.2
func (s *Server) NewContractReader(ctx context.Context, req *relayerset.NewContractReaderRequest) (*relayerset.NewContractReaderResponse, error)
RelayerSet is supposed to serve relayers, which then hold a ContractReader and ContractWriter. Serving NewContractReader and NewContractWriter from RelayerSet is a way to save us from instantiating an extra server for the Relayer. Without this approach, the calls we would make normally are
- RelayerSet.Get -> Relayer
- Relayer.NewContractReader -> ContractReader
We could translate this to the GRPC world by having each call to RelayerSet.Get wrap the returned relayer in a server and register that to the GRPC server. However this is actually pretty inefficient since a relayer object on its own is not useful. Users will always want to use the relayer to instantiate a contractreader or contractwriter. So we can avoid the intermediate server for the relayer by just storing a reference to the relayerSet client and the relayer we want to fetch. I.e. the calls described above instead would become:
- RelayerSet.Get -> (RelayerSetClient, RelayerID). Effectively this call just acts as check that Relayer exists
RelayerClient.NewContractReader -> This is a call to RelayerSet.NewContractReader with (relayerID, []contractReaderConfig); The implementation will then fetch the relayer and call NewContractReader on it
func (*Server) NewContractWriter ¶ added in v0.4.0
func (s *Server) NewContractWriter(ctx context.Context, req *relayerset.NewContractWriterRequest) (*relayerset.NewContractWriterResponse, error)
RelayerSet is supposed to serve relayers, which then hold a ContractReader and ContractWriter. Serving NewContractWriter and NewContractWriter from RelayerSet is a way to save us from instantiating an extra server for the Relayer. Without this approach, the calls we would make normally are
- RelayerSet.Get -> Relayer
- Relayer.NewContractWriter -> ContractWriter
We could translate this to the GRPC world by having each call to RelayerSet.Get wrap the returned relayer in a server and register that to the GRPC server. However this is actually pretty inefficient since a relayer object on its own is not useful. Users will always want to use the relayer to instantiate a contractreader or contractwriter. So we can avoid the intermediate server for the relayer by just storing a reference to the relayerSet client and the relayer we want to fetch. I.e. the calls described above instead would become:
- RelayerSet.Get -> (RelayerSetClient, RelayerID). Effectively this call just acts as check that Relayer exists
RelayerClient.NewContractWriter -> This is a call to RelayerSet.NewContractWriter with (relayerID, []contractWriterConfig); The implementation will then fetch the relayer and call NewContractWriter on it
func (*Server) QueryKey ¶ added in v0.7.1
func (s *Server) QueryKey(ctx context.Context, in *pb.QueryKeyRequest) (*pb.QueryKeyReply, error)
func (*Server) QueryKeys ¶ added in v0.7.1
func (s *Server) QueryKeys(ctx context.Context, in *pb.QueryKeysRequest) (*pb.QueryKeysReply, error)
func (*Server) QueryTrackedLogs ¶ added in v0.7.1
func (s *Server) QueryTrackedLogs(ctx context.Context, request *evmpb.QueryTrackedLogsRequest) (*evmpb.QueryTrackedLogsReply, error)
func (*Server) RegisterLogTracking ¶ added in v0.7.1
func (*Server) RelayerGetChainInfo ¶ added in v0.7.1
func (s *Server) RelayerGetChainInfo(ctx context.Context, req *relayerset.GetChainInfoRequest) (*pb.GetChainInfoReply, error)
func (*Server) RelayerHealthReport ¶
func (s *Server) RelayerHealthReport(ctx context.Context, relayID *relayerset.RelayerId) (*relayerset.RelayerHealthReportResponse, error)
func (*Server) RelayerLatestHead ¶ added in v0.2.2
func (s *Server) RelayerLatestHead(ctx context.Context, req *relayerset.LatestHeadRequest) (*relayerset.LatestHeadResponse, error)
func (*Server) RelayerName ¶
func (s *Server) RelayerName(ctx context.Context, relayID *relayerset.RelayerId) (*relayerset.RelayerNameResponse, error)
func (*Server) RelayerReady ¶
func (*Server) StartRelayer ¶
func (*Server) SubmitTransaction ¶ added in v0.7.1
func (s *Server) SubmitTransaction(ctx context.Context, request *evmpb.SubmitTransactionRequest) (*evmpb.SubmitTransactionReply, error)