Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterBlockEngineRelayerServer(s grpc.ServiceRegistrar, srv BlockEngineRelayerServer)
- func RegisterBlockEngineValidatorServer(s grpc.ServiceRegistrar, srv BlockEngineValidatorServer)
- type AccountsOfInterest
- func (*AccountsOfInterest) Descriptor() ([]byte, []int)deprecated
- func (x *AccountsOfInterest) GetAccounts() []string
- func (*AccountsOfInterest) ProtoMessage()
- func (x *AccountsOfInterest) ProtoReflect() protoreflect.Message
- func (x *AccountsOfInterest) Reset()
- func (x *AccountsOfInterest) String() string
- type AccountsOfInterestRequest
- type AccountsOfInterestUpdate
- func (*AccountsOfInterestUpdate) Descriptor() ([]byte, []int)deprecated
- func (x *AccountsOfInterestUpdate) GetAccounts() []string
- func (*AccountsOfInterestUpdate) ProtoMessage()
- func (x *AccountsOfInterestUpdate) ProtoReflect() protoreflect.Message
- func (x *AccountsOfInterestUpdate) Reset()
- func (x *AccountsOfInterestUpdate) String() string
- type BlockBuilderFeeInfoRequest
- type BlockBuilderFeeInfoResponse
- func (*BlockBuilderFeeInfoResponse) Descriptor() ([]byte, []int)deprecated
- func (x *BlockBuilderFeeInfoResponse) GetCommission() uint64
- func (x *BlockBuilderFeeInfoResponse) GetPubkey() string
- func (*BlockBuilderFeeInfoResponse) ProtoMessage()
- func (x *BlockBuilderFeeInfoResponse) ProtoReflect() protoreflect.Message
- func (x *BlockBuilderFeeInfoResponse) Reset()
- func (x *BlockBuilderFeeInfoResponse) String() string
- type BlockEngineRelayerClient
- type BlockEngineRelayerServer
- type BlockEngineRelayer_StartExpiringPacketStreamClient
- type BlockEngineRelayer_StartExpiringPacketStreamServer
- type BlockEngineRelayer_SubscribeAccountsOfInterestClient
- type BlockEngineRelayer_SubscribeAccountsOfInterestServer
- type BlockEngineRelayer_SubscribeProgramsOfInterestClient
- type BlockEngineRelayer_SubscribeProgramsOfInterestServer
- type BlockEngineValidatorClient
- type BlockEngineValidatorServer
- type BlockEngineValidator_SubscribeBundlesClient
- type BlockEngineValidator_SubscribeBundlesServer
- type BlockEngineValidator_SubscribePacketsClient
- type BlockEngineValidator_SubscribePacketsServer
- type ExpiringPacketBatch
- func (*ExpiringPacketBatch) Descriptor() ([]byte, []int)deprecated
- func (x *ExpiringPacketBatch) GetBatch() *packet.PacketBatch
- func (x *ExpiringPacketBatch) GetExpiryMs() uint32
- func (x *ExpiringPacketBatch) GetHeader() *shared.Header
- func (*ExpiringPacketBatch) ProtoMessage()
- func (x *ExpiringPacketBatch) ProtoReflect() protoreflect.Message
- func (x *ExpiringPacketBatch) Reset()
- func (x *ExpiringPacketBatch) String() string
- type PacketBatchUpdate
- func (*PacketBatchUpdate) Descriptor() ([]byte, []int)deprecated
- func (x *PacketBatchUpdate) GetBatches() *ExpiringPacketBatch
- func (x *PacketBatchUpdate) GetHeartbeat() *shared.Heartbeat
- func (m *PacketBatchUpdate) GetMsg() isPacketBatchUpdate_Msg
- func (*PacketBatchUpdate) ProtoMessage()
- func (x *PacketBatchUpdate) ProtoReflect() protoreflect.Message
- func (x *PacketBatchUpdate) Reset()
- func (x *PacketBatchUpdate) String() string
- type PacketBatchUpdate_Batches
- type PacketBatchUpdate_Heartbeat
- type ProgramsOfInterestRequest
- type ProgramsOfInterestUpdate
- func (*ProgramsOfInterestUpdate) Descriptor() ([]byte, []int)deprecated
- func (x *ProgramsOfInterestUpdate) GetPrograms() []string
- func (*ProgramsOfInterestUpdate) ProtoMessage()
- func (x *ProgramsOfInterestUpdate) ProtoReflect() protoreflect.Message
- func (x *ProgramsOfInterestUpdate) Reset()
- func (x *ProgramsOfInterestUpdate) String() string
- type StartExpiringPacketStreamResponse
- func (*StartExpiringPacketStreamResponse) Descriptor() ([]byte, []int)deprecated
- func (x *StartExpiringPacketStreamResponse) GetHeartbeat() *shared.Heartbeat
- func (*StartExpiringPacketStreamResponse) ProtoMessage()
- func (x *StartExpiringPacketStreamResponse) ProtoReflect() protoreflect.Message
- func (x *StartExpiringPacketStreamResponse) Reset()
- func (x *StartExpiringPacketStreamResponse) String() string
- type SubscribeBundlesRequest
- type SubscribeBundlesResponse
- func (*SubscribeBundlesResponse) Descriptor() ([]byte, []int)deprecated
- func (x *SubscribeBundlesResponse) GetBundles() []*bundle.BundleUuid
- func (*SubscribeBundlesResponse) ProtoMessage()
- func (x *SubscribeBundlesResponse) ProtoReflect() protoreflect.Message
- func (x *SubscribeBundlesResponse) Reset()
- func (x *SubscribeBundlesResponse) String() string
- type SubscribePacketsRequest
- type SubscribePacketsResponse
- func (*SubscribePacketsResponse) Descriptor() ([]byte, []int)deprecated
- func (x *SubscribePacketsResponse) GetBatch() *packet.PacketBatch
- func (x *SubscribePacketsResponse) GetHeader() *shared.Header
- func (*SubscribePacketsResponse) ProtoMessage()
- func (x *SubscribePacketsResponse) ProtoReflect() protoreflect.Message
- func (x *SubscribePacketsResponse) Reset()
- func (x *SubscribePacketsResponse) String() string
- type UnimplementedBlockEngineRelayerServer
- func (UnimplementedBlockEngineRelayerServer) StartExpiringPacketStream(grpc.BidiStreamingServer[PacketBatchUpdate, StartExpiringPacketStreamResponse]) error
- func (UnimplementedBlockEngineRelayerServer) SubscribeAccountsOfInterest(*AccountsOfInterestRequest, ...) error
- func (UnimplementedBlockEngineRelayerServer) SubscribeProgramsOfInterest(*ProgramsOfInterestRequest, ...) error
- type UnimplementedBlockEngineValidatorServer
- func (UnimplementedBlockEngineValidatorServer) GetBlockBuilderFeeInfo(context.Context, *BlockBuilderFeeInfoRequest) (*BlockBuilderFeeInfoResponse, error)
- func (UnimplementedBlockEngineValidatorServer) SubscribeBundles(*SubscribeBundlesRequest, grpc.ServerStreamingServer[SubscribeBundlesResponse]) error
- func (UnimplementedBlockEngineValidatorServer) SubscribePackets(*SubscribePacketsRequest, grpc.ServerStreamingServer[SubscribePacketsResponse]) error
- type UnsafeBlockEngineRelayerServer
- type UnsafeBlockEngineValidatorServer
Constants ¶
const ( BlockEngineValidator_SubscribePackets_FullMethodName = "/block_engine.BlockEngineValidator/SubscribePackets" BlockEngineValidator_SubscribeBundles_FullMethodName = "/block_engine.BlockEngineValidator/SubscribeBundles" BlockEngineValidator_GetBlockBuilderFeeInfo_FullMethodName = "/block_engine.BlockEngineValidator/GetBlockBuilderFeeInfo" )
const ( BlockEngineRelayer_SubscribeAccountsOfInterest_FullMethodName = "/block_engine.BlockEngineRelayer/SubscribeAccountsOfInterest" BlockEngineRelayer_SubscribeProgramsOfInterest_FullMethodName = "/block_engine.BlockEngineRelayer/SubscribeProgramsOfInterest" BlockEngineRelayer_StartExpiringPacketStream_FullMethodName = "/block_engine.BlockEngineRelayer/StartExpiringPacketStream" )
Variables ¶
var BlockEngineRelayer_ServiceDesc = grpc.ServiceDesc{ ServiceName: "block_engine.BlockEngineRelayer", HandlerType: (*BlockEngineRelayerServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "SubscribeAccountsOfInterest", Handler: _BlockEngineRelayer_SubscribeAccountsOfInterest_Handler, ServerStreams: true, }, { StreamName: "SubscribeProgramsOfInterest", Handler: _BlockEngineRelayer_SubscribeProgramsOfInterest_Handler, ServerStreams: true, }, { StreamName: "StartExpiringPacketStream", Handler: _BlockEngineRelayer_StartExpiringPacketStream_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "block_engine.proto", }
BlockEngineRelayer_ServiceDesc is the grpc.ServiceDesc for BlockEngineRelayer service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var BlockEngineValidator_ServiceDesc = grpc.ServiceDesc{ ServiceName: "block_engine.BlockEngineValidator", HandlerType: (*BlockEngineValidatorServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "GetBlockBuilderFeeInfo", Handler: _BlockEngineValidator_GetBlockBuilderFeeInfo_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "SubscribePackets", Handler: _BlockEngineValidator_SubscribePackets_Handler, ServerStreams: true, }, { StreamName: "SubscribeBundles", Handler: _BlockEngineValidator_SubscribeBundles_Handler, ServerStreams: true, }, }, Metadata: "block_engine.proto", }
BlockEngineValidator_ServiceDesc is the grpc.ServiceDesc for BlockEngineValidator service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_block_engine_proto protoreflect.FileDescriptor
Functions ¶
func RegisterBlockEngineRelayerServer ¶
func RegisterBlockEngineRelayerServer(s grpc.ServiceRegistrar, srv BlockEngineRelayerServer)
func RegisterBlockEngineValidatorServer ¶
func RegisterBlockEngineValidatorServer(s grpc.ServiceRegistrar, srv BlockEngineValidatorServer)
Types ¶
type AccountsOfInterest ¶
type AccountsOfInterest struct { // use * for all accounts Accounts []string `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` // contains filtered or unexported fields }
func (*AccountsOfInterest) Descriptor
deprecated
func (*AccountsOfInterest) Descriptor() ([]byte, []int)
Deprecated: Use AccountsOfInterest.ProtoReflect.Descriptor instead.
func (*AccountsOfInterest) GetAccounts ¶
func (x *AccountsOfInterest) GetAccounts() []string
func (*AccountsOfInterest) ProtoMessage ¶
func (*AccountsOfInterest) ProtoMessage()
func (*AccountsOfInterest) ProtoReflect ¶
func (x *AccountsOfInterest) ProtoReflect() protoreflect.Message
func (*AccountsOfInterest) Reset ¶
func (x *AccountsOfInterest) Reset()
func (*AccountsOfInterest) String ¶
func (x *AccountsOfInterest) String() string
type AccountsOfInterestRequest ¶
type AccountsOfInterestRequest struct {
// contains filtered or unexported fields
}
func (*AccountsOfInterestRequest) Descriptor
deprecated
func (*AccountsOfInterestRequest) Descriptor() ([]byte, []int)
Deprecated: Use AccountsOfInterestRequest.ProtoReflect.Descriptor instead.
func (*AccountsOfInterestRequest) ProtoMessage ¶
func (*AccountsOfInterestRequest) ProtoMessage()
func (*AccountsOfInterestRequest) ProtoReflect ¶
func (x *AccountsOfInterestRequest) ProtoReflect() protoreflect.Message
func (*AccountsOfInterestRequest) Reset ¶
func (x *AccountsOfInterestRequest) Reset()
func (*AccountsOfInterestRequest) String ¶
func (x *AccountsOfInterestRequest) String() string
type AccountsOfInterestUpdate ¶
type AccountsOfInterestUpdate struct { Accounts []string `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` // contains filtered or unexported fields }
func (*AccountsOfInterestUpdate) Descriptor
deprecated
func (*AccountsOfInterestUpdate) Descriptor() ([]byte, []int)
Deprecated: Use AccountsOfInterestUpdate.ProtoReflect.Descriptor instead.
func (*AccountsOfInterestUpdate) GetAccounts ¶
func (x *AccountsOfInterestUpdate) GetAccounts() []string
func (*AccountsOfInterestUpdate) ProtoMessage ¶
func (*AccountsOfInterestUpdate) ProtoMessage()
func (*AccountsOfInterestUpdate) ProtoReflect ¶
func (x *AccountsOfInterestUpdate) ProtoReflect() protoreflect.Message
func (*AccountsOfInterestUpdate) Reset ¶
func (x *AccountsOfInterestUpdate) Reset()
func (*AccountsOfInterestUpdate) String ¶
func (x *AccountsOfInterestUpdate) String() string
type BlockBuilderFeeInfoRequest ¶
type BlockBuilderFeeInfoRequest struct {
// contains filtered or unexported fields
}
func (*BlockBuilderFeeInfoRequest) Descriptor
deprecated
func (*BlockBuilderFeeInfoRequest) Descriptor() ([]byte, []int)
Deprecated: Use BlockBuilderFeeInfoRequest.ProtoReflect.Descriptor instead.
func (*BlockBuilderFeeInfoRequest) ProtoMessage ¶
func (*BlockBuilderFeeInfoRequest) ProtoMessage()
func (*BlockBuilderFeeInfoRequest) ProtoReflect ¶
func (x *BlockBuilderFeeInfoRequest) ProtoReflect() protoreflect.Message
func (*BlockBuilderFeeInfoRequest) Reset ¶
func (x *BlockBuilderFeeInfoRequest) Reset()
func (*BlockBuilderFeeInfoRequest) String ¶
func (x *BlockBuilderFeeInfoRequest) String() string
type BlockBuilderFeeInfoResponse ¶
type BlockBuilderFeeInfoResponse struct { Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` // commission (0-100) Commission uint64 `protobuf:"varint,2,opt,name=commission,proto3" json:"commission,omitempty"` // contains filtered or unexported fields }
func (*BlockBuilderFeeInfoResponse) Descriptor
deprecated
func (*BlockBuilderFeeInfoResponse) Descriptor() ([]byte, []int)
Deprecated: Use BlockBuilderFeeInfoResponse.ProtoReflect.Descriptor instead.
func (*BlockBuilderFeeInfoResponse) GetCommission ¶
func (x *BlockBuilderFeeInfoResponse) GetCommission() uint64
func (*BlockBuilderFeeInfoResponse) GetPubkey ¶
func (x *BlockBuilderFeeInfoResponse) GetPubkey() string
func (*BlockBuilderFeeInfoResponse) ProtoMessage ¶
func (*BlockBuilderFeeInfoResponse) ProtoMessage()
func (*BlockBuilderFeeInfoResponse) ProtoReflect ¶
func (x *BlockBuilderFeeInfoResponse) ProtoReflect() protoreflect.Message
func (*BlockBuilderFeeInfoResponse) Reset ¶
func (x *BlockBuilderFeeInfoResponse) Reset()
func (*BlockBuilderFeeInfoResponse) String ¶
func (x *BlockBuilderFeeInfoResponse) String() string
type BlockEngineRelayerClient ¶
type BlockEngineRelayerClient interface { // / The block engine feeds accounts of interest (AOI) updates to the relayer periodically. // / For all transactions the relayer receives, it forwards transactions to the block engine which write-lock // / any of the accounts in the AOI. SubscribeAccountsOfInterest(ctx context.Context, in *AccountsOfInterestRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[AccountsOfInterestUpdate], error) SubscribeProgramsOfInterest(ctx context.Context, in *ProgramsOfInterestRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ProgramsOfInterestUpdate], error) // Validators can subscribe to packets from the relayer and receive a multiplexed signal that contains a mixture // of packets and heartbeats. // NOTE: This is a bi-directional stream due to a bug with how Envoy handles half closed client-side streams. // The issue is being tracked here: https://github.com/envoyproxy/envoy/issues/22748. In the meantime, the // server will stream heartbeats to clients at some reasonable cadence. StartExpiringPacketStream(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[PacketBatchUpdate, StartExpiringPacketStreamResponse], error) }
BlockEngineRelayerClient is the client API for BlockEngineRelayer 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.
/ Relayers can forward packets to Block Engines. / Block Engines provide an AccountsOfInterest field to only send transactions that are of interest.
func NewBlockEngineRelayerClient ¶
func NewBlockEngineRelayerClient(cc grpc.ClientConnInterface) BlockEngineRelayerClient
type BlockEngineRelayerServer ¶
type BlockEngineRelayerServer interface { // / The block engine feeds accounts of interest (AOI) updates to the relayer periodically. // / For all transactions the relayer receives, it forwards transactions to the block engine which write-lock // / any of the accounts in the AOI. SubscribeAccountsOfInterest(*AccountsOfInterestRequest, grpc.ServerStreamingServer[AccountsOfInterestUpdate]) error SubscribeProgramsOfInterest(*ProgramsOfInterestRequest, grpc.ServerStreamingServer[ProgramsOfInterestUpdate]) error // Validators can subscribe to packets from the relayer and receive a multiplexed signal that contains a mixture // of packets and heartbeats. // NOTE: This is a bi-directional stream due to a bug with how Envoy handles half closed client-side streams. // The issue is being tracked here: https://github.com/envoyproxy/envoy/issues/22748. In the meantime, the // server will stream heartbeats to clients at some reasonable cadence. StartExpiringPacketStream(grpc.BidiStreamingServer[PacketBatchUpdate, StartExpiringPacketStreamResponse]) error // contains filtered or unexported methods }
BlockEngineRelayerServer is the server API for BlockEngineRelayer service. All implementations must embed UnimplementedBlockEngineRelayerServer for forward compatibility.
/ Relayers can forward packets to Block Engines. / Block Engines provide an AccountsOfInterest field to only send transactions that are of interest.
type BlockEngineRelayer_StartExpiringPacketStreamClient ¶
type BlockEngineRelayer_StartExpiringPacketStreamClient = grpc.BidiStreamingClient[PacketBatchUpdate, StartExpiringPacketStreamResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineRelayer_StartExpiringPacketStreamServer ¶
type BlockEngineRelayer_StartExpiringPacketStreamServer = grpc.BidiStreamingServer[PacketBatchUpdate, StartExpiringPacketStreamResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineRelayer_SubscribeAccountsOfInterestClient ¶
type BlockEngineRelayer_SubscribeAccountsOfInterestClient = grpc.ServerStreamingClient[AccountsOfInterestUpdate]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineRelayer_SubscribeAccountsOfInterestServer ¶
type BlockEngineRelayer_SubscribeAccountsOfInterestServer = grpc.ServerStreamingServer[AccountsOfInterestUpdate]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineRelayer_SubscribeProgramsOfInterestClient ¶
type BlockEngineRelayer_SubscribeProgramsOfInterestClient = grpc.ServerStreamingClient[ProgramsOfInterestUpdate]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineRelayer_SubscribeProgramsOfInterestServer ¶
type BlockEngineRelayer_SubscribeProgramsOfInterestServer = grpc.ServerStreamingServer[ProgramsOfInterestUpdate]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineValidatorClient ¶
type BlockEngineValidatorClient interface { // / Validators can subscribe to the block engine to receive a stream of packets SubscribePackets(ctx context.Context, in *SubscribePacketsRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SubscribePacketsResponse], error) // / Validators can subscribe to the block engine to receive a stream of simulated and profitable bundles SubscribeBundles(ctx context.Context, in *SubscribeBundlesRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SubscribeBundlesResponse], error) // Block builders can optionally collect fees. This returns fee information if a block builder wants to // collect one. GetBlockBuilderFeeInfo(ctx context.Context, in *BlockBuilderFeeInfoRequest, opts ...grpc.CallOption) (*BlockBuilderFeeInfoResponse, error) }
BlockEngineValidatorClient is the client API for BlockEngineValidator 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.
/ Validators can connect to Block Engines to receive packets and bundles.
func NewBlockEngineValidatorClient ¶
func NewBlockEngineValidatorClient(cc grpc.ClientConnInterface) BlockEngineValidatorClient
type BlockEngineValidatorServer ¶
type BlockEngineValidatorServer interface { // / Validators can subscribe to the block engine to receive a stream of packets SubscribePackets(*SubscribePacketsRequest, grpc.ServerStreamingServer[SubscribePacketsResponse]) error // / Validators can subscribe to the block engine to receive a stream of simulated and profitable bundles SubscribeBundles(*SubscribeBundlesRequest, grpc.ServerStreamingServer[SubscribeBundlesResponse]) error // Block builders can optionally collect fees. This returns fee information if a block builder wants to // collect one. GetBlockBuilderFeeInfo(context.Context, *BlockBuilderFeeInfoRequest) (*BlockBuilderFeeInfoResponse, error) // contains filtered or unexported methods }
BlockEngineValidatorServer is the server API for BlockEngineValidator service. All implementations must embed UnimplementedBlockEngineValidatorServer for forward compatibility.
/ Validators can connect to Block Engines to receive packets and bundles.
type BlockEngineValidator_SubscribeBundlesClient ¶
type BlockEngineValidator_SubscribeBundlesClient = grpc.ServerStreamingClient[SubscribeBundlesResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineValidator_SubscribeBundlesServer ¶
type BlockEngineValidator_SubscribeBundlesServer = grpc.ServerStreamingServer[SubscribeBundlesResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineValidator_SubscribePacketsClient ¶
type BlockEngineValidator_SubscribePacketsClient = grpc.ServerStreamingClient[SubscribePacketsResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type BlockEngineValidator_SubscribePacketsServer ¶
type BlockEngineValidator_SubscribePacketsServer = grpc.ServerStreamingServer[SubscribePacketsResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ExpiringPacketBatch ¶
type ExpiringPacketBatch struct { Header *shared.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` Batch *packet.PacketBatch `protobuf:"bytes,2,opt,name=batch,proto3" json:"batch,omitempty"` ExpiryMs uint32 `protobuf:"varint,3,opt,name=expiry_ms,json=expiryMs,proto3" json:"expiry_ms,omitempty"` // contains filtered or unexported fields }
A series of packets with an expiration attached to them. The header contains a timestamp for when this packet was generated. The expiry is how long the packet batches have before they expire and are forwarded to the validator. This provides a more censorship resistant method to MEV than block engines receiving packets directly.
func (*ExpiringPacketBatch) Descriptor
deprecated
func (*ExpiringPacketBatch) Descriptor() ([]byte, []int)
Deprecated: Use ExpiringPacketBatch.ProtoReflect.Descriptor instead.
func (*ExpiringPacketBatch) GetBatch ¶
func (x *ExpiringPacketBatch) GetBatch() *packet.PacketBatch
func (*ExpiringPacketBatch) GetExpiryMs ¶
func (x *ExpiringPacketBatch) GetExpiryMs() uint32
func (*ExpiringPacketBatch) GetHeader ¶
func (x *ExpiringPacketBatch) GetHeader() *shared.Header
func (*ExpiringPacketBatch) ProtoMessage ¶
func (*ExpiringPacketBatch) ProtoMessage()
func (*ExpiringPacketBatch) ProtoReflect ¶
func (x *ExpiringPacketBatch) ProtoReflect() protoreflect.Message
func (*ExpiringPacketBatch) Reset ¶
func (x *ExpiringPacketBatch) Reset()
func (*ExpiringPacketBatch) String ¶
func (x *ExpiringPacketBatch) String() string
type PacketBatchUpdate ¶
type PacketBatchUpdate struct { // Types that are assignable to Msg: // // *PacketBatchUpdate_Batches // *PacketBatchUpdate_Heartbeat Msg isPacketBatchUpdate_Msg `protobuf_oneof:"msg"` // contains filtered or unexported fields }
Packets and heartbeats are sent over the same stream. ExpiringPacketBatches have an expiration attached to them so the block engine can track how long it has until the relayer forwards the packets to the validator. Heartbeats contain a timestamp from the system and is used as a simple and naive time-sync mechanism so the block engine has some idea on how far their clocks are apart.
func (*PacketBatchUpdate) Descriptor
deprecated
func (*PacketBatchUpdate) Descriptor() ([]byte, []int)
Deprecated: Use PacketBatchUpdate.ProtoReflect.Descriptor instead.
func (*PacketBatchUpdate) GetBatches ¶
func (x *PacketBatchUpdate) GetBatches() *ExpiringPacketBatch
func (*PacketBatchUpdate) GetHeartbeat ¶
func (x *PacketBatchUpdate) GetHeartbeat() *shared.Heartbeat
func (*PacketBatchUpdate) GetMsg ¶
func (m *PacketBatchUpdate) GetMsg() isPacketBatchUpdate_Msg
func (*PacketBatchUpdate) ProtoMessage ¶
func (*PacketBatchUpdate) ProtoMessage()
func (*PacketBatchUpdate) ProtoReflect ¶
func (x *PacketBatchUpdate) ProtoReflect() protoreflect.Message
func (*PacketBatchUpdate) Reset ¶
func (x *PacketBatchUpdate) Reset()
func (*PacketBatchUpdate) String ¶
func (x *PacketBatchUpdate) String() string
type PacketBatchUpdate_Batches ¶
type PacketBatchUpdate_Batches struct {
Batches *ExpiringPacketBatch `protobuf:"bytes,1,opt,name=batches,proto3,oneof"`
}
type ProgramsOfInterestRequest ¶
type ProgramsOfInterestRequest struct {
// contains filtered or unexported fields
}
func (*ProgramsOfInterestRequest) Descriptor
deprecated
func (*ProgramsOfInterestRequest) Descriptor() ([]byte, []int)
Deprecated: Use ProgramsOfInterestRequest.ProtoReflect.Descriptor instead.
func (*ProgramsOfInterestRequest) ProtoMessage ¶
func (*ProgramsOfInterestRequest) ProtoMessage()
func (*ProgramsOfInterestRequest) ProtoReflect ¶
func (x *ProgramsOfInterestRequest) ProtoReflect() protoreflect.Message
func (*ProgramsOfInterestRequest) Reset ¶
func (x *ProgramsOfInterestRequest) Reset()
func (*ProgramsOfInterestRequest) String ¶
func (x *ProgramsOfInterestRequest) String() string
type ProgramsOfInterestUpdate ¶
type ProgramsOfInterestUpdate struct { Programs []string `protobuf:"bytes,1,rep,name=programs,proto3" json:"programs,omitempty"` // contains filtered or unexported fields }
func (*ProgramsOfInterestUpdate) Descriptor
deprecated
func (*ProgramsOfInterestUpdate) Descriptor() ([]byte, []int)
Deprecated: Use ProgramsOfInterestUpdate.ProtoReflect.Descriptor instead.
func (*ProgramsOfInterestUpdate) GetPrograms ¶
func (x *ProgramsOfInterestUpdate) GetPrograms() []string
func (*ProgramsOfInterestUpdate) ProtoMessage ¶
func (*ProgramsOfInterestUpdate) ProtoMessage()
func (*ProgramsOfInterestUpdate) ProtoReflect ¶
func (x *ProgramsOfInterestUpdate) ProtoReflect() protoreflect.Message
func (*ProgramsOfInterestUpdate) Reset ¶
func (x *ProgramsOfInterestUpdate) Reset()
func (*ProgramsOfInterestUpdate) String ¶
func (x *ProgramsOfInterestUpdate) String() string
type StartExpiringPacketStreamResponse ¶
type StartExpiringPacketStreamResponse struct { Heartbeat *shared.Heartbeat `protobuf:"bytes,1,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"` // contains filtered or unexported fields }
func (*StartExpiringPacketStreamResponse) Descriptor
deprecated
func (*StartExpiringPacketStreamResponse) Descriptor() ([]byte, []int)
Deprecated: Use StartExpiringPacketStreamResponse.ProtoReflect.Descriptor instead.
func (*StartExpiringPacketStreamResponse) GetHeartbeat ¶
func (x *StartExpiringPacketStreamResponse) GetHeartbeat() *shared.Heartbeat
func (*StartExpiringPacketStreamResponse) ProtoMessage ¶
func (*StartExpiringPacketStreamResponse) ProtoMessage()
func (*StartExpiringPacketStreamResponse) ProtoReflect ¶
func (x *StartExpiringPacketStreamResponse) ProtoReflect() protoreflect.Message
func (*StartExpiringPacketStreamResponse) Reset ¶
func (x *StartExpiringPacketStreamResponse) Reset()
func (*StartExpiringPacketStreamResponse) String ¶
func (x *StartExpiringPacketStreamResponse) String() string
type SubscribeBundlesRequest ¶
type SubscribeBundlesRequest struct {
// contains filtered or unexported fields
}
func (*SubscribeBundlesRequest) Descriptor
deprecated
func (*SubscribeBundlesRequest) Descriptor() ([]byte, []int)
Deprecated: Use SubscribeBundlesRequest.ProtoReflect.Descriptor instead.
func (*SubscribeBundlesRequest) ProtoMessage ¶
func (*SubscribeBundlesRequest) ProtoMessage()
func (*SubscribeBundlesRequest) ProtoReflect ¶
func (x *SubscribeBundlesRequest) ProtoReflect() protoreflect.Message
func (*SubscribeBundlesRequest) Reset ¶
func (x *SubscribeBundlesRequest) Reset()
func (*SubscribeBundlesRequest) String ¶
func (x *SubscribeBundlesRequest) String() string
type SubscribeBundlesResponse ¶
type SubscribeBundlesResponse struct { Bundles []*bundle.BundleUuid `protobuf:"bytes,1,rep,name=bundles,proto3" json:"bundles,omitempty"` // contains filtered or unexported fields }
func (*SubscribeBundlesResponse) Descriptor
deprecated
func (*SubscribeBundlesResponse) Descriptor() ([]byte, []int)
Deprecated: Use SubscribeBundlesResponse.ProtoReflect.Descriptor instead.
func (*SubscribeBundlesResponse) GetBundles ¶
func (x *SubscribeBundlesResponse) GetBundles() []*bundle.BundleUuid
func (*SubscribeBundlesResponse) ProtoMessage ¶
func (*SubscribeBundlesResponse) ProtoMessage()
func (*SubscribeBundlesResponse) ProtoReflect ¶
func (x *SubscribeBundlesResponse) ProtoReflect() protoreflect.Message
func (*SubscribeBundlesResponse) Reset ¶
func (x *SubscribeBundlesResponse) Reset()
func (*SubscribeBundlesResponse) String ¶
func (x *SubscribeBundlesResponse) String() string
type SubscribePacketsRequest ¶
type SubscribePacketsRequest struct {
// contains filtered or unexported fields
}
func (*SubscribePacketsRequest) Descriptor
deprecated
func (*SubscribePacketsRequest) Descriptor() ([]byte, []int)
Deprecated: Use SubscribePacketsRequest.ProtoReflect.Descriptor instead.
func (*SubscribePacketsRequest) ProtoMessage ¶
func (*SubscribePacketsRequest) ProtoMessage()
func (*SubscribePacketsRequest) ProtoReflect ¶
func (x *SubscribePacketsRequest) ProtoReflect() protoreflect.Message
func (*SubscribePacketsRequest) Reset ¶
func (x *SubscribePacketsRequest) Reset()
func (*SubscribePacketsRequest) String ¶
func (x *SubscribePacketsRequest) String() string
type SubscribePacketsResponse ¶
type SubscribePacketsResponse struct { Header *shared.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` Batch *packet.PacketBatch `protobuf:"bytes,2,opt,name=batch,proto3" json:"batch,omitempty"` // contains filtered or unexported fields }
func (*SubscribePacketsResponse) Descriptor
deprecated
func (*SubscribePacketsResponse) Descriptor() ([]byte, []int)
Deprecated: Use SubscribePacketsResponse.ProtoReflect.Descriptor instead.
func (*SubscribePacketsResponse) GetBatch ¶
func (x *SubscribePacketsResponse) GetBatch() *packet.PacketBatch
func (*SubscribePacketsResponse) GetHeader ¶
func (x *SubscribePacketsResponse) GetHeader() *shared.Header
func (*SubscribePacketsResponse) ProtoMessage ¶
func (*SubscribePacketsResponse) ProtoMessage()
func (*SubscribePacketsResponse) ProtoReflect ¶
func (x *SubscribePacketsResponse) ProtoReflect() protoreflect.Message
func (*SubscribePacketsResponse) Reset ¶
func (x *SubscribePacketsResponse) Reset()
func (*SubscribePacketsResponse) String ¶
func (x *SubscribePacketsResponse) String() string
type UnimplementedBlockEngineRelayerServer ¶
type UnimplementedBlockEngineRelayerServer struct{}
UnimplementedBlockEngineRelayerServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedBlockEngineRelayerServer) StartExpiringPacketStream ¶
func (UnimplementedBlockEngineRelayerServer) StartExpiringPacketStream(grpc.BidiStreamingServer[PacketBatchUpdate, StartExpiringPacketStreamResponse]) error
func (UnimplementedBlockEngineRelayerServer) SubscribeAccountsOfInterest ¶
func (UnimplementedBlockEngineRelayerServer) SubscribeAccountsOfInterest(*AccountsOfInterestRequest, grpc.ServerStreamingServer[AccountsOfInterestUpdate]) error
func (UnimplementedBlockEngineRelayerServer) SubscribeProgramsOfInterest ¶
func (UnimplementedBlockEngineRelayerServer) SubscribeProgramsOfInterest(*ProgramsOfInterestRequest, grpc.ServerStreamingServer[ProgramsOfInterestUpdate]) error
type UnimplementedBlockEngineValidatorServer ¶
type UnimplementedBlockEngineValidatorServer struct{}
UnimplementedBlockEngineValidatorServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedBlockEngineValidatorServer) GetBlockBuilderFeeInfo ¶
func (UnimplementedBlockEngineValidatorServer) GetBlockBuilderFeeInfo(context.Context, *BlockBuilderFeeInfoRequest) (*BlockBuilderFeeInfoResponse, error)
func (UnimplementedBlockEngineValidatorServer) SubscribeBundles ¶
func (UnimplementedBlockEngineValidatorServer) SubscribeBundles(*SubscribeBundlesRequest, grpc.ServerStreamingServer[SubscribeBundlesResponse]) error
func (UnimplementedBlockEngineValidatorServer) SubscribePackets ¶
func (UnimplementedBlockEngineValidatorServer) SubscribePackets(*SubscribePacketsRequest, grpc.ServerStreamingServer[SubscribePacketsResponse]) error
type UnsafeBlockEngineRelayerServer ¶
type UnsafeBlockEngineRelayerServer interface {
// contains filtered or unexported methods
}
UnsafeBlockEngineRelayerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to BlockEngineRelayerServer will result in compilation errors.
type UnsafeBlockEngineValidatorServer ¶
type UnsafeBlockEngineValidatorServer interface {
// contains filtered or unexported methods
}
UnsafeBlockEngineValidatorServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to BlockEngineValidatorServer will result in compilation errors.