relayerset

package
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2025 License: MIT Imports: 24 Imported by: 0

Documentation

Index

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 NewRelayerSetClient(log logger.Logger, b *net.BrokerExt, conn grpc.ClientConnInterface) *Client

func (*Client) CloseRelayer

func (k *Client) CloseRelayer(ctx context.Context, relayID types.RelayID) error

func (*Client) EVM added in v0.7.1

func (k *Client) EVM(relayID types.RelayID) (types.EVMService, error)

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) Get

func (k *Client) Get(ctx context.Context, relayID types.RelayID) (core.Relayer, error)

func (*Client) List

func (k *Client) List(ctx context.Context, relayIDs ...types.RelayID) (map[types.RelayID]core.Relayer, error)

func (*Client) NewContractReader added in v0.2.2

func (k *Client) NewContractReader(ctx context.Context, relayID types.RelayID, contractReaderConfig []byte) (types.ContractReader, error)

func (*Client) NewContractWriter added in v0.4.0

func (k *Client) NewContractWriter(ctx context.Context, relayID types.RelayID, contractWriterConfig []byte) (uint32, error)

func (*Client) NewPluginProvider

func (k *Client) NewPluginProvider(ctx context.Context, relayID types.RelayID, relayArgs core.RelayArgs, pluginArgs core.PluginArgs) (uint32, error)

func (*Client) RelayerGetChainInfo added in v0.7.1

func (k *Client) RelayerGetChainInfo(ctx context.Context, relayID types.RelayID) (types.ChainInfo, error)

func (*Client) RelayerHealthReport

func (k *Client) RelayerHealthReport(ctx context.Context, relayID types.RelayID) (map[string]error, error)

func (*Client) RelayerLatestHead added in v0.2.2

func (k *Client) RelayerLatestHead(ctx context.Context, relayID types.RelayID) (types.Head, error)

func (*Client) RelayerName

func (k *Client) RelayerName(ctx context.Context, relayID types.RelayID) (string, error)

func (*Client) RelayerReady

func (k *Client) RelayerReady(ctx context.Context, relayID types.RelayID) error

func (*Client) StartRelayer

func (k *Client) StartRelayer(ctx context.Context, relayID types.RelayID) error

type Server

type Server struct {
	relayerset.UnimplementedRelayerSetServer
	evmpb.UnimplementedEVMServer
	pb.ContractReaderServer

	Name string
	// contains filtered or unexported fields
}

func NewRelayerSetServer

func NewRelayerSetServer(log logger.Logger, underlying core.RelayerSet, broker *net.BrokerExt) (*Server, net.Resource)

func (*Server) BalanceAt added in v0.7.1

func (s *Server) BalanceAt(ctx context.Context, request *evmpb.BalanceAtRequest) (*evmpb.BalanceAtReply, error)

func (*Server) Bind added in v0.7.1

func (s *Server) Bind(ctx context.Context, in *pb.BindRequest) (*emptypb.Empty, 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) Close

func (s *Server) Close() error

func (*Server) CloseRelayer

func (s *Server) CloseRelayer(ctx context.Context, relayID *relayerset.RelayerId) (*emptypb.Empty, error)

func (*Server) ContractReaderClose added in v0.7.1

func (s *Server) ContractReaderClose(ctx context.Context, _ *emptypb.Empty) (*emptypb.Empty, error)

func (*Server) ContractReaderStart added in v0.7.1

func (s *Server) ContractReaderStart(ctx context.Context, _ *emptypb.Empty) (*emptypb.Empty, error)

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) 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 (*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 (s *Server) LatestAndFinalizedHead(ctx context.Context, _ *emptypb.Empty) (*evmpb.LatestAndFinalizedHeadReply, error)

func (*Server) NewContractReader added in v0.2.2

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

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 (s *Server) RegisterLogTracking(ctx context.Context, request *evmpb.RegisterLogTrackingRequest) (*emptypb.Empty, error)

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 (*Server) RelayerName

func (s *Server) RelayerName(ctx context.Context, relayID *relayerset.RelayerId) (*relayerset.RelayerNameResponse, error)

func (*Server) RelayerReady

func (s *Server) RelayerReady(ctx context.Context, relayID *relayerset.RelayerId) (*emptypb.Empty, error)

func (*Server) StartRelayer

func (s *Server) StartRelayer(ctx context.Context, relayID *relayerset.RelayerId) (*emptypb.Empty, error)

func (*Server) SubmitTransaction added in v0.7.1

func (s *Server) SubmitTransaction(ctx context.Context, request *evmpb.SubmitTransactionRequest) (*evmpb.SubmitTransactionReply, error)

func (*Server) Unbind added in v0.7.1

func (s *Server) Unbind(ctx context.Context, in *pb.UnbindRequest) (*emptypb.Empty, error)

func (*Server) UnregisterLogTracking added in v0.7.1

func (s *Server) UnregisterLogTracking(ctx context.Context, request *evmpb.UnregisterLogTrackingRequest) (*emptypb.Empty, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL