Skip to main content
@tevm/voltaire
@tevm/voltaire / primitives/RelayData

primitives/RelayData

Classes

InvalidRelayDataError

Defined in: src/primitives/RelayData/errors.js:6 Error thrown when RelayData operations fail

Extends

  • Error

Constructors

Constructor
new InvalidRelayDataError(message, details): InvalidRelayDataError
Defined in: src/primitives/RelayData/errors.js:7
Parameters
message
any
details
any
Returns
InvalidRelayDataError
Overrides
Error.constructor

Properties

details
details: any
Defined in: src/primitives/RelayData/errors.js:10
name
name: string
Defined in: src/primitives/RelayData/errors.js:9
Inherited from
Error.name

Type Aliases

RelayDataLike

RelayDataLike = RelayDataType | { builderPubkey?: Uint8Array | string; parentHash: HashType | string | Uint8Array; proposerFeeRecipient: AddressType | string; relayPubkey: Uint8Array | string; relayUrl: string; slot: SlotType | bigint | number | string; }
Defined in: src/primitives/RelayData/RelayDataType.ts:58 Inputs that can be converted to RelayData

RelayDataType

RelayDataType = object
Defined in: src/primitives/RelayData/RelayDataType.ts:17 RelayData type Represents MEV relay connection information for Proposer-Builder Separation (PBS). Relays act as trusted intermediaries between block builders and validators, ensuring builders cannot see validator signatures before block delivery.

See

Since

0.0.0

Properties

builderPubkey?
readonly optional builderPubkey: Uint8Array
Defined in: src/primitives/RelayData/RelayDataType.ts:34 Builder’s BLS public key (48 bytes, optional) If known, used to verify builder identity
parentHash
readonly parentHash: HashType
Defined in: src/primitives/RelayData/RelayDataType.ts:46 Parent block hash (32 bytes) The block being built on top of
proposerFeeRecipient
readonly proposerFeeRecipient: AddressType
Defined in: src/primitives/RelayData/RelayDataType.ts:52 Validator fee recipient address (20 bytes) Where block rewards should be sent
relayPubkey
readonly relayPubkey: Uint8Array
Defined in: src/primitives/RelayData/RelayDataType.ts:28 Relay’s BLS public key (48 bytes) Used to verify relay signatures and attestations
relayUrl
readonly relayUrl: string
Defined in: src/primitives/RelayData/RelayDataType.ts:22 MEV relay endpoint URL Base URL for relay API (e.g., “https://relay.flashbots.net”)
slot
readonly slot: SlotType
Defined in: src/primitives/RelayData/RelayDataType.ts:40 Current consensus layer slot The slot this relay data is valid for

Variables

MEV_RELAYS

const MEV_RELAYS: object
Defined in: src/primitives/RelayData/RelayDataType.ts:72 Well-known MEV relay endpoints

Type Declaration

AGNOSTIC
readonly AGNOSTIC: "https://agnostic-relay.net"
BLOXROUTE_MAX_PROFIT
readonly BLOXROUTE_MAX_PROFIT: "https://bloxroute.max-profit.bloxroute.com"
BLOXROUTE_REGULATED
readonly BLOXROUTE_REGULATED: "https://bloxroute.regulated.bloxroute.com"
EDEN
readonly EDEN: "https://relay.edennetwork.io"
FLASHBOTS
readonly FLASHBOTS: "https://relay.flashbots.net"
MANIFOLD
readonly MANIFOLD: "https://mainnet-relay.securerpc.com"
ULTRASOUND
readonly ULTRASOUND: "https://relay.ultrasound.money"

Functions

from()

from(value): RelayDataType
Defined in: src/primitives/RelayData/from.js:68 Creates RelayData from various input types

Parameters

value
RelayDataLike RelayData input

Returns

RelayDataType RelayData instance

Throws

If format is invalid

Example

import * as RelayData from './RelayData/index.js';
const relay = RelayData.from({
  relayUrl: "https://relay.flashbots.net",
  relayPubkey: relayKey,
  slot: 123456n,
  parentHash: parentHash,
  proposerFeeRecipient: feeRecipient,
});

getEndpoint()

getEndpoint(relay, method): string
Defined in: src/primitives/RelayData/getEndpoint.js:20 Constructs API endpoint for a specific relay method

Parameters

relay
RelayDataType RelayData instance
method
string API method path (e.g., “/eth/v1/builder/header”)

Returns

string Full endpoint URL

Example

import * as RelayData from './RelayData/index.js';
const url = RelayData.getEndpoint(relay, "/eth/v1/builder/header");
console.log(url); // "https://relay.flashbots.net/eth/v1/builder/header"