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

primitives/CompilerVersion

Type Aliases

CompilerVersionType

CompilerVersionType = string & object
Defined in: src/primitives/CompilerVersion/CompilerVersionType.ts:14 Branded CompilerVersion type - prevents version confusion Represents a Solidity or Vyper compiler version string Format: “v0.8.20+commit.a1b2c3d4” or “0.8.20+commit.a1b2c3d4”

Type Declaration

[brand]
readonly [brand]: "CompilerVersion"

Example

Variables

CompilerVersion

const CompilerVersion: object
Defined in: src/primitives/CompilerVersion/index.ts:51

Type Declaration

compare()
compare: (a, b) => number
Parameters
a
string
b
string
Returns
number
from()
from: (value) => CompilerVersionType
Create CompilerVersion from string
Parameters
value
string Version string (e.g., “v0.8.20+commit.a1b2c3d4”)
Returns
CompilerVersionType CompilerVersion
Throws
If version format is invalid
Example
getMajor()
getMajor: (version) => number
Parameters
version
string
Returns
number
getMinor()
getMinor: (version) => number
Parameters
version
string
Returns
number
getPatch()
getPatch: (version) => number
Parameters
version
string
Returns
number
isCompatible()
isCompatible: (version, range) => boolean
Parameters
version
string
range
string
Returns
boolean
parse()
parse: (version) => object
Parameters
version
string
Returns
object
commit?
optional commit: string
major
major: number
minor
minor: number
patch
patch: number
prerelease?
optional prerelease: string

Functions

_compare()

_compare(a, b): number
Defined in: src/primitives/CompilerVersion/compare.js:16 Compare two compiler versions

Parameters

a
CompilerVersionType First version
b
CompilerVersionType Second version

Returns

number -1 if a < b, 0 if a === b, 1 if a > b

Example


_getMajor()

_getMajor(version): number
Defined in: src/primitives/CompilerVersion/getMajor.js:15 Get major version number

Parameters

version
CompilerVersionType Version to extract from

Returns

number Major version

Example


_getMinor()

_getMinor(version): number
Defined in: src/primitives/CompilerVersion/getMinor.js:15 Get minor version number

Parameters

version
CompilerVersionType Version to extract from

Returns

number Minor version

Example


_getPatch()

_getPatch(version): number
Defined in: src/primitives/CompilerVersion/getPatch.js:15 Get patch version number

Parameters

version
CompilerVersionType Version to extract from

Returns

number Patch version

Example


_isCompatible()

_isCompatible(version, range): boolean
Defined in: src/primitives/CompilerVersion/isCompatible.js:23 Check if version is compatible with a semver range Supports basic semver ranges:
  • “^0.8.0” - Compatible with 0.8.x (same major.minor)
  • “~0.8.20” - Compatible with 0.8.20-0.8.x (same major.minor, patch >= specified)
  • ”>=0.8.0” - Greater than or equal
  • “0.8.20” - Exact match

Parameters

version
CompilerVersionType Version to check
range
string Semver range

Returns

boolean True if compatible

Example


_parse()

_parse(version): object
Defined in: src/primitives/CompilerVersion/parse.js:16 Parse compiler version into components

Parameters

version
CompilerVersionType Version to parse

Returns

object
commit?
optional commit: string
major
major: number
minor
minor: number
patch
patch: number
prerelease?
optional prerelease: string

Example


compare()

compare(a, b): number
Defined in: src/primitives/CompilerVersion/index.ts:27

Parameters

a
string
b
string

Returns

number

from()

from(value): CompilerVersionType
Defined in: src/primitives/CompilerVersion/from.js:14 Create CompilerVersion from string

Parameters

value
string Version string (e.g., “v0.8.20+commit.a1b2c3d4”)

Returns

CompilerVersionType CompilerVersion

Throws

If version format is invalid

Example


getMajor()

getMajor(version): number
Defined in: src/primitives/CompilerVersion/index.ts:31

Parameters

version
string

Returns

number

getMinor()

getMinor(version): number
Defined in: src/primitives/CompilerVersion/index.ts:35

Parameters

version
string

Returns

number

getPatch()

getPatch(version): number
Defined in: src/primitives/CompilerVersion/index.ts:39

Parameters

version
string

Returns

number

isCompatible()

isCompatible(version, range): boolean
Defined in: src/primitives/CompilerVersion/index.ts:43

Parameters

version
string
range
string

Returns

boolean

parse()

parse(version): object
Defined in: src/primitives/CompilerVersion/index.ts:17

Parameters

version
string

Returns

object
commit?
optional commit: string
major
major: number
minor
minor: number
patch
patch: number
prerelease?
optional prerelease: string