server

package
v1.7.1 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: MIT Imports: 42 Imported by: 1

Documentation

Index

Constants

View Source
const (
	HeaderKeySlotUID = "X-MEVBoost-SlotID"
	HeaderKeyVersion = "X-MEVBoost-Version"
)

Variables

View Source
var ErrMissingRelayPubkey = errors.New("missing relay public key")

ErrMissingRelayPubkey is returned if a new RelayEntry URL has no public key.

View Source
var ErrPointAtInfinityPubkey = errors.New("relay public key cannot be the point-at-infinity")

ErrPointAtInfinityPubkey is returned if a new RelayEntry URL has an all-zero public key.

Functions

func ComputeDomain added in v0.5.0

func ComputeDomain(domainType phase0.DomainType, forkVersionHex, genesisValidatorsRootHex string) (domain phase0.Domain, err error)

ComputeDomain computes the signing domain

func DecodeJSON added in v0.7.5

func DecodeJSON(r io.Reader, dst any) error

DecodeJSON reads JSON from io.Reader and decodes it into a struct

func GetURI added in v1.0.0

func GetURI(url *url.URL, path string) string

GetURI returns the full request URI with scheme, host, path and args.

func RelayEntriesToStrings added in v1.3.2

func RelayEntriesToStrings(relays []RelayEntry) []string

RelayEntriesToStrings returns the string representation of a list of relay entries

func SendHTTPRequest added in v0.5.0

func SendHTTPRequest(ctx context.Context, client http.Client, method, url string, userAgent UserAgent, headers map[string]string, payload, dst any) (code int, err error)

SendHTTPRequest - prepare and send HTTP request, marshaling the payload if any, and decoding the response if dst is set

func SendHTTPRequestWithRetries added in v1.5.0

func SendHTTPRequestWithRetries(ctx context.Context, client http.Client, method, url string, userAgent UserAgent, headers map[string]string, payload, dst any, maxRetries int, log *logrus.Entry) (code int, err error)

SendHTTPRequestWithRetries - prepare and send HTTP request, retrying the request if within the client timeout

Types

type AuctionTranscript added in v1.4.0

type AuctionTranscript struct {
	Bid        *builderSpec.VersionedSignedBuilderBid       // TODO: proper json marshalling and unmarshalling
	Acceptance *eth2ApiV1Bellatrix.SignedBlindedBeaconBlock `json:"acceptance"`
}

AuctionTranscript is the bid and blinded block received from the relay send to the relay monitor

type BlockHashHex added in v1.3.2

type BlockHashHex string

BlockHashHex is a hex-string representation of a block hash

type BoostService

type BoostService struct {
	// contains filtered or unexported fields
}

BoostService - the mev-boost service

func NewBoostService

func NewBoostService(opts BoostServiceOpts) (*BoostService, error)

NewBoostService created a new BoostService

func (*BoostService) CheckRelays added in v0.5.0

func (m *BoostService) CheckRelays() int

CheckRelays sends a request to each one of the relays previously registered to get their status

func (*BoostService) StartHTTPServer added in v0.4.0

func (m *BoostService) StartHTTPServer() error

StartHTTPServer starts the HTTP server for this boost service instance

type BoostServiceOpts added in v0.7.1

type BoostServiceOpts struct {
	Log                   *logrus.Entry
	ListenAddr            string
	Relays                []RelayEntry
	RelayMonitors         []*url.URL
	GenesisForkVersionHex string
	GenesisTime           uint64
	RelayCheck            bool
	RelayMinBid           types.U256Str

	RequestTimeoutGetHeader  time.Duration
	RequestTimeoutGetPayload time.Duration
	RequestTimeoutRegVal     time.Duration
	RequestMaxRetries        int
}

BoostServiceOpts provides all available options for use with NewBoostService

type RelayEntry added in v0.4.2

type RelayEntry struct {
	PublicKey phase0.BLSPubKey
	URL       *url.URL
}

RelayEntry represents a relay that mev-boost connects to.

func NewRelayEntry added in v0.4.5

func NewRelayEntry(relayURL string) (entry RelayEntry, err error)

NewRelayEntry creates a new instance based on an input string relayURL can be IP@PORT, PUBKEY@IP:PORT, https://IP, etc.

func (*RelayEntry) GetURI added in v0.7.4

func (r *RelayEntry) GetURI(path string) string

GetURI returns the full request URI with scheme, host, path and args for the relay.

func (*RelayEntry) String added in v0.4.5

func (r *RelayEntry) String() string

type UserAgent added in v0.7.5

type UserAgent string

UserAgent is a custom string type to avoid confusing url + userAgent parameters in SendHTTPRequest

Jump to

Keyboard shortcuts

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