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

primitives/ProtocolVersion

Type Aliases

ProtocolVersionType

ProtocolVersionType = string & object
Defined in: src/primitives/ProtocolVersion/ProtocolVersionType.ts:14 Branded ProtocolVersion type - Ethereum protocol version identifier Wraps a string representing a protocol version (e.g., “eth/67”, “eth/68”) Protocol versions identify the version of the Ethereum wire protocol used for peer-to-peer communication:
  • “eth/66” = ETH66 protocol
  • “eth/67” = ETH67 protocol (current standard)
  • “eth/68” = ETH68 protocol
  • “snap/1” = Snapshot protocol

Type Declaration

[brand]
readonly [brand]: "ProtocolVersion"

Variables

ETH_66

const ETH_66: ProtocolVersionType
Defined in: src/primitives/ProtocolVersion/constants.js:6

ETH_67

const ETH_67: ProtocolVersionType
Defined in: src/primitives/ProtocolVersion/constants.js:12

ETH_68

const ETH_68: ProtocolVersionType
Defined in: src/primitives/ProtocolVersion/constants.js:18

ProtocolVersion

const ProtocolVersion: object
Defined in: src/primitives/ProtocolVersion/index.ts:40

Type Declaration

compare()
compare: (protocolVersion1, protocolVersion2) => number
Parameters
protocolVersion1
string
protocolVersion2
string
Returns
number
equals()
equals: (protocolVersion1, protocolVersion2) => boolean
Parameters
protocolVersion1
string
protocolVersion2
string
Returns
boolean
from()
from: (value) => ProtocolVersionType
Create ProtocolVersion from string
Parameters
value
string Protocol version string (e.g., “eth/67”, “snap/1”)
Returns
ProtocolVersionType Branded protocol version
Throws
If value is not a valid protocol version format
Example
import * as ProtocolVersion from './primitives/ProtocolVersion/index.js';
const eth67 = ProtocolVersion.from("eth/67");
const snap1 = ProtocolVersion.from("snap/1");
toString()
toString: (protocolVersion) => string
Parameters
protocolVersion
string
Returns
string

SNAP_1

const SNAP_1: ProtocolVersionType
Defined in: src/primitives/ProtocolVersion/constants.js:24

Functions

_compare()

_compare(this, other): number
Defined in: src/primitives/ProtocolVersion/compare.js:20 Compare two ProtocolVersions for ordering Returns negative if this < other, positive if this > other, 0 if equal Only compares versions within the same protocol family (e.g., eth/66 vs eth/67) Returns 0 for different protocols

Parameters

this
ProtocolVersionType
other
ProtocolVersionType Protocol version to compare

Returns

number Comparison result (-1, 0, or 1)

Example

import * as ProtocolVersion from './primitives/ProtocolVersion/index.js';
const v66 = ProtocolVersion.from("eth/66");
const v67 = ProtocolVersion.from("eth/67");
const result = ProtocolVersion._compare.call(v66, v67); // -1

_equals()

_equals(this, other): boolean
Defined in: src/primitives/ProtocolVersion/equals.js:16 Compare two ProtocolVersions for equality

Parameters

this
ProtocolVersionType
other
ProtocolVersionType Protocol version to compare

Returns

boolean True if equal

Example

import * as ProtocolVersion from './primitives/ProtocolVersion/index.js';
const a = ProtocolVersion.from("eth/67");
const b = ProtocolVersion.from("eth/67");
const equal = ProtocolVersion._equals.call(a, b); // true

_toString()

_toString(this): string
Defined in: src/primitives/ProtocolVersion/toString.js:15 Convert ProtocolVersion to string (identity function for branded type)

Parameters

this
ProtocolVersionType

Returns

string Protocol version as string

Example

import * as ProtocolVersion from './primitives/ProtocolVersion/index.js';
const proto = ProtocolVersion.from("eth/67");
const str = ProtocolVersion._toString.call(proto); // "eth/67"

compare()

compare(protocolVersion1, protocolVersion2): number
Defined in: src/primitives/ProtocolVersion/index.ts:29

Parameters

protocolVersion1
string
protocolVersion2
string

Returns

number

equals()

equals(protocolVersion1, protocolVersion2): boolean
Defined in: src/primitives/ProtocolVersion/index.ts:22

Parameters

protocolVersion1
string
protocolVersion2
string

Returns

boolean

from()

from(value): ProtocolVersionType
Defined in: src/primitives/ProtocolVersion/from.js:17 Create ProtocolVersion from string

Parameters

value
string Protocol version string (e.g., “eth/67”, “snap/1”)

Returns

ProtocolVersionType Branded protocol version

Throws

If value is not a valid protocol version format

Example

import * as ProtocolVersion from './primitives/ProtocolVersion/index.js';
const eth67 = ProtocolVersion.from("eth/67");
const snap1 = ProtocolVersion.from("snap/1");

toString()

toString(protocolVersion): string
Defined in: src/primitives/ProtocolVersion/index.ts:18

Parameters

protocolVersion
string

Returns

string