Skip to main content
@tevm/voltaire
@tevm/voltaire / index / BrandedAddress

BrandedAddress

Namespaces

Variables

BrandedAddress

const BrandedAddress: object
Defined in: src/primitives/Address/internal-index.ts:156

Type Declaration

assert()
assert: (value, options?) => AddressType = assertWithKeccak
Parameters
value
string | Uint8Array<ArrayBufferLike>
options?
strict?
boolean
Returns
AddressType
Assert()
Assert: (deps) => (value, options?) => AddressType
Factory: Create assert function with keccak256 injected
Parameters
deps
Crypto dependencies
keccak256
(data) => Uint8Array
Returns
(value, options?): AddressType
Parameters
value
string | Uint8Array<ArrayBufferLike>
options?
strict?
boolean
Returns
AddressType
calculateCreate2Address()
calculateCreate2Address: (arg0, arg1, arg2) => AddressType
Calculate CREATE2 contract address (with auto-injected keccak256) For tree-shakeable version without auto-injected crypto, use CalculateCreate2Address({ keccak256 }) factory
Parameters
arg0
AddressType
arg1
HashType
arg2
BrandedBytecode
Returns
AddressType
CalculateCreate2Address()
CalculateCreate2Address: (deps) => (arg0, arg1, arg2) => AddressType = CalculateCreate2AddressFactory
Factory function to create calculateCreate2Address with injected keccak256 dependency
Parameters
deps
Dependencies
keccak256
(data) => Uint8Array Keccak256 hash function
Returns
(arg0, arg1, arg2): AddressType
Parameters
arg0
AddressType
arg1
HashType
arg2
BrandedBytecode
Returns
AddressType
calculateCreateAddress()
calculateCreateAddress: (address, nonce) => AddressType
Calculate CREATE contract address (with auto-injected keccak256 and rlpEncode) For tree-shakeable version without auto-injected crypto, use CalculateCreateAddress({ keccak256, rlpEncode }) factory
Parameters
address
AddressType
nonce
bigint
Returns
AddressType
CalculateCreateAddress()
CalculateCreateAddress: (deps) => (address, nonce) => AddressType = CalculateCreateAddressFactory
Factory for CREATE contract address calculation with injected dependencies
Parameters
deps
Dependencies
keccak256
(data) => Uint8Array Keccak256 hash function
rlpEncode
(items) => Uint8Array RLP encode function
Returns
(address, nonce): AddressType
Parameters
address
AddressType
nonce
bigint
Returns
AddressType
Example
import { hash } from '../../../crypto/Keccak256/hash.js'
import { encode } from '../../Rlp/encode.js'
const calculateCreateAddress = CalculateCreateAddress({
  keccak256: hash,
  rlpEncode: encode
})
const contractAddr = calculateCreateAddress(deployerAddr, 5n);
Checksummed
Checksummed: Checksummed
clone()
clone: (address) => AddressType
Create a deep copy of an Address
Parameters
address
AddressType Address to clone
Returns
AddressType Deep copy
Example
const addr1 = Address.from("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
const addr2 = Address.clone(addr1);
console.log(Address.equals(addr1, addr2)); // true
console.log(addr1 === addr2); // false
compare()
compare: (address, other) => number
Compare two addresses lexicographically
Parameters
address
AddressType First address
other
AddressType Address to compare with
Returns
number -1 if address < other, 0 if equal, 1 if address > other
Example
const sorted = addresses.sort((a, b) => Address.compare(a, b));
deduplicateAddresses()
deduplicateAddresses: (addresses) => AddressType[]
Remove duplicate addresses from array Preserves first occurrence of each unique address
Parameters
addresses
AddressType[] Addresses to deduplicate
Returns
AddressType[] Deduplicated addresses (new array)
Example
const unique = Address.deduplicateAddresses([addr1, addr2, addr1, addr3]);
// Returns [addr1, addr2, addr3]
equals()
equals: (address, other) => boolean
Check if two addresses are equal
Parameters
address
AddressType First address
other
AddressType Address to compare with
Returns
boolean True if addresses are identical
Example
if (Address.equals(addr1, addr2)) {
  console.log("Addresses match");
}
from()
from: (value) => AddressType
Create Address from various input types (universal constructor)
Parameters
value
Number, bigint, hex string, Uint8Array, or number array string | number | bigint | Uint8Array<ArrayBufferLike> | number[]
Returns
AddressType Address
Throws
If value type is unsupported or invalid
Throws
If hex string is invalid
Throws
If bytes length is not 20
Example
const addr1 = Address.from(0x742d35Cc6634C0532925a3b844Bc9e7595f251e3n);
const addr2 = Address.from(12345);
const _addr3 = Address.from("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
const addr4 = Address.from(new Uint8Array(20));
const addr5 = Address.from([0x74, 0x2d, 0x35, ...]);
fromAbiEncoded()
fromAbiEncoded: (bytes) => AddressType
Decode Address from ABI-encoded bytes (32 bytes) Extracts the last 20 bytes from 32-byte ABI-encoded address data.
Parameters
bytes
Uint8Array<ArrayBufferLike> 32-byte ABI-encoded data
Returns
AddressType Decoded Address
Throws
If bytes length is not 32
Example
const encoded = new Uint8Array(32);
// ... set encoded[12:32] to address bytes ...
const addr = Address.fromAbiEncoded(encoded);
fromBase64()
fromBase64: (b64) => AddressType
Create Address from base64 string
Parameters
b64
string Base64 encoded string
Returns
AddressType Address
Throws
If decoded length is not 20 bytes
Example
const addr = Address.fromBase64("dC01zGY0wFMpJaO4RLyedZXyUeM=");
fromBytes()
fromBytes: (bytes) => AddressType
Create Address from raw bytes (standard form)
Parameters
bytes
Uint8Array<ArrayBufferLike> Raw 20-byte array
Returns
AddressType Address
Throws
If length is not 20 bytes
Example
const bytes = new Uint8Array(20);
const addr = Address.fromBytes(bytes);
fromHex()
fromHex: (hex) => AddressType
Parse hex string to Address (standard form)
Parameters
hex
string Hex string with 0x prefix
Returns
AddressType Address bytes
Throws
If invalid format or length
Throws
If hex contains invalid characters
Example
const addr = Address.fromHex("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
fromNumber()
fromNumber: (value) => AddressType
Create Address from number value (takes lower 160 bits) (standard form)
Parameters
value
Number or bigint value number | bigint
Returns
AddressType Address from lower 160 bits
Throws
If value is negative
Example
const addr = Address.fromNumber(0x742d35Cc6634C0532925a3b844Bc9e7595f251e3n);
const addr2 = Address.fromNumber(12345);
fromPrivateKey()
fromPrivateKey: (privateKey) => AddressType
Create Address from secp256k1 private key (with auto-injected crypto) For tree-shakeable version without auto-injected crypto, use FromPrivateKey({ keccak256, derivePublicKey }) factory
Parameters
privateKey
any
Returns
AddressType
FromPrivateKey()
FromPrivateKey: (deps) => (privateKey) => AddressType = FromPrivateKeyFactory
Factory: Create Address from secp256k1 private key
Parameters
deps
Crypto dependencies
derivePublicKey
(privateKey) => Uint8Array Secp256k1 public key derivation function
keccak256
(data) => Uint8Array Keccak256 hash function
Returns
Function that creates Address from private key
(privateKey): AddressType
Parameters
privateKey
any
Returns
AddressType
Example
import { FromPrivateKey } from '@tevm/voltaire/Address/BrandedAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'
import { derivePublicKey } from '@tevm/voltaire/crypto/Secp256k1'

const fromPrivateKey = FromPrivateKey({ keccak256, derivePublicKey })
const addr = fromPrivateKey(privateKey)
fromPublicKey()
fromPublicKey: (xOrPublicKey, y?) => AddressType
Create Address from secp256k1 public key coordinates (with auto-injected keccak256) For tree-shakeable version without auto-injected crypto, use FromPublicKey({ keccak256 }) factory
Parameters
xOrPublicKey
bigint | Uint8Array<ArrayBufferLike>
y?
bigint
Returns
AddressType
FromPublicKey()
FromPublicKey: (deps) => (xOrPublicKey, y?) => AddressType = FromPublicKeyFactory
Factory: Create Address from secp256k1 public key
Parameters
deps
Crypto dependencies
keccak256
(data) => Uint8Array Keccak256 hash function
Returns
Function that creates Address from public key
(xOrPublicKey, y?): AddressType
Parameters
xOrPublicKey
bigint | Uint8Array<ArrayBufferLike>
y?
bigint
Returns
AddressType
Example
import { FromPublicKey } from '@tevm/voltaire/Address/BrandedAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'

const fromPublicKey = FromPublicKey({ keccak256 })
// From coordinates
const addr1 = fromPublicKey(xCoord, yCoord)
// From 64-byte public key
const addr2 = fromPublicKey(publicKeyBytes)
greaterThan()
greaterThan: (address, other) => boolean
Check if this address is greater than other
Parameters
address
AddressType First address
other
AddressType Address to compare with
Returns
boolean True if address > other
is()
is: (value) => value is AddressType
Type guard for Address (standard form)
Parameters
value
unknown Value to check
Returns
value is AddressType True if value is an Address
Example
if (Address.is(value)) {
  const hex = Address.toHex(value);
}
isValid()
isValid: (value) => boolean
Check if value is a valid address (accepts string, Uint8Array, or Address instance)
Parameters
value
Value to validate string | Uint8Array<ArrayBufferLike>
Returns
boolean True if valid address format
Example
// Validate hex string
Address.isValid("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3"); // true

// Validate Uint8Array (including Address instances)
const addr = Address.fromHex("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
Address.isValid(addr); // true

// Invalid cases
Address.isValid("0xinvalid"); // false
Address.isValid(new Uint8Array(10)); // false (wrong length)
isValidChecksum()
isValidChecksum: (str) => boolean
Check if string has valid EIP-55 checksum (with auto-injected keccak256) For tree-shakeable version without auto-injected crypto, use IsValidChecksum({ keccak256 }) factory
Parameters
str
string
Returns
boolean
IsValidChecksum()
IsValidChecksum: (deps) => (str) => boolean = IsValidChecksumFactory
Factory: Check if string has valid EIP-55 checksum
Parameters
deps
Crypto dependencies
keccak256
(data) => Uint8Array Keccak256 hash function
Returns
Function that validates EIP-55 checksum
(str): boolean
Parameters
str
string
Returns
boolean
Example
import { IsValidChecksum } from '@tevm/voltaire/Address/BrandedAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'

const isValidChecksum = IsValidChecksum({ keccak256 })
if (isValidChecksum("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3")) {
  console.log("Valid checksum")
}
isZero()
isZero: (address) => boolean
Check if address is zero address
Parameters
address
AddressType Address to check
Returns
boolean True if all bytes are zero
Example
if (Address.isZero(addr)) {
  console.log("Zero address");
}
lessThan()
lessThan: (address, other) => boolean
Check if this address is less than other
Parameters
address
AddressType First address
other
AddressType Address to compare with
Returns
boolean True if address < other
Lowercase
Lowercase: Lowercase
SIZE
SIZE: 20
Address size in bytes
sortAddresses()
sortAddresses: (addresses) => AddressType[]
Sort addresses lexicographically
Parameters
addresses
AddressType[] Addresses to sort
Returns
AddressType[] Sorted addresses (new array)
Example
const sorted = Address.sortAddresses([addr3, addr1, addr2]);
toAbiEncoded()
toAbiEncoded: (address) => Uint8Array<ArrayBufferLike>
Convert Address to ABI-encoded bytes (32 bytes, left-padded) Ethereum ABI encoding pads addresses to 32 bytes by prepending 12 zero bytes.
Parameters
address
AddressType Address to encode
Returns
Uint8Array<ArrayBufferLike> 32-byte ABI-encoded Uint8Array
Example
const addr = Address.fromHex("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
const encoded = Address.toAbiEncoded(addr);
// encoded.length === 32
toBytes()
toBytes: (address) => Uint8Array<ArrayBufferLike>
Convert Address to Uint8Array
Parameters
address
AddressType Address to convert
Returns
Uint8Array<ArrayBufferLike> Underlying Uint8Array
Example
const addr = Address.from("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
const bytes = Address.toBytes(addr);
console.log(bytes); // Uint8Array(20) [...]
toChecksummed()
toChecksummed: (address) => Checksummed
Convert Address to EIP-55 checksummed hex string (with auto-injected keccak256) For tree-shakeable version without auto-injected crypto, use ToChecksummed({ keccak256 }) factory
Parameters
address
AddressType
Returns
Checksummed
ToChecksummed()
ToChecksummed: (deps) => (address) => Checksummed = ToChecksummedFactory
Factory: Convert Address to EIP-55 checksummed hex string
Parameters
deps
Crypto dependencies
keccak256
(data) => Uint8Array Keccak256 hash function
Returns
Function that converts Address to checksummed hex string
(address): Checksummed
Parameters
address
AddressType
Returns
Checksummed
Example
import { ToChecksummed } from '@tevm/voltaire/Address/BrandedAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'

const toChecksummed = ToChecksummed({ keccak256 })
const checksummed = toChecksummed(addr)
// "0x742d35Cc6634C0532925a3b844Bc9e7595f251e3"
toHex()
toHex: (address) => HexType
Convert Address to hex string
Parameters
address
AddressType Address to convert
Returns
HexType Lowercase hex string with 0x prefix
Example
const hex = Address.toHex(addr);
// "0x742d35cc6634c0532925a3b844bc9e7595f251e3"
toLowercase()
toLowercase: (address) => Lowercase
Convert Address to lowercase hex string
Parameters
address
AddressType Address to convert
Returns
Lowercase Lowercase hex string
Example
const lower = Address.toLowercase(addr);
// "0x742d35cc6634c0532925a3b844bc9e7595f251e3"
toShortHex()
toShortHex: (address, prefixLength?, suffixLength?) => string
Format address with shortened display
Parameters
address
AddressType Address to format
prefixLength?
number Number of chars to show at start
suffixLength?
number Number of chars to show at end
Returns
string Shortened address like “0x742d…51e3”
Example
const short = Address.toShortHex(addr);
// "0x742d...51e3"
const custom = Address.toShortHex(addr, 8, 6);
// "0x742d35...251e3"
toU256()
toU256: (address) => bigint
Convert Address to uint256
Parameters
address
AddressType Address to convert
Returns
bigint Bigint representation
Example
const value = Address.toU256(addr);
toUppercase()
toUppercase: (address) => Uppercase
Convert Address to uppercase hex string
Parameters
address
AddressType Address to convert
Returns
Uppercase Uppercase hex string
Example
const upper = Address.toUppercase(addr);
// "0x742D35CC6634C0532925A3B844BC9E7595F251E3"
Uppercase
Uppercase: Uppercase
zero()
zero: () => AddressType
Create zero address (standard form)
Returns
AddressType Zero address (0x0000…0000)
Example
const zero = Address.zero();

calculateCreate2Address()

const calculateCreate2Address: (arg0, arg1, arg2) => AddressType
Defined in: src/primitives/Address/internal-index.ts:61 Calculate CREATE2 contract address (with auto-injected keccak256) For tree-shakeable version without auto-injected crypto, use CalculateCreate2Address({ keccak256 }) factory

Parameters

arg0
AddressType
arg1
HashType
arg2
BrandedBytecode

Returns

AddressType

calculateCreateAddress()

const calculateCreateAddress: (address, nonce) => AddressType
Defined in: src/primitives/Address/internal-index.ts:51 Calculate CREATE contract address (with auto-injected keccak256 and rlpEncode) For tree-shakeable version without auto-injected crypto, use CalculateCreateAddress({ keccak256, rlpEncode }) factory

Parameters

address
AddressType
nonce
bigint

Returns

AddressType

fromPrivateKey()

const fromPrivateKey: (privateKey) => AddressType
Defined in: src/primitives/Address/internal-index.ts:77 Create Address from secp256k1 private key (with auto-injected crypto) For tree-shakeable version without auto-injected crypto, use FromPrivateKey({ keccak256, derivePublicKey }) factory

Parameters

privateKey
any

Returns

AddressType

fromPublicKey()

const fromPublicKey: (xOrPublicKey, y?) => AddressType
Defined in: src/primitives/Address/internal-index.ts:70 Create Address from secp256k1 public key coordinates (with auto-injected keccak256) For tree-shakeable version without auto-injected crypto, use FromPublicKey({ keccak256 }) factory

Parameters

xOrPublicKey
bigint | Uint8Array<ArrayBufferLike>
y?
bigint

Returns

AddressType

isValidChecksum()

const isValidChecksum: (str) => boolean
Defined in: src/primitives/Address/internal-index.ts:44 Check if string has valid EIP-55 checksum (with auto-injected keccak256) For tree-shakeable version without auto-injected crypto, use IsValidChecksum({ keccak256 }) factory

Parameters

str
string

Returns

boolean

toChecksummed()

const toChecksummed: (address) => Checksummed
Defined in: src/primitives/Address/internal-index.ts:37 Convert Address to EIP-55 checksummed hex string (with auto-injected keccak256) For tree-shakeable version without auto-injected crypto, use ToChecksummed({ keccak256 }) factory

Parameters

address
AddressType

Returns

Checksummed

Functions

assert()

assert(value, options?): AddressType
Defined in: src/primitives/Address/internal-index.ts:118

Parameters

value
string | Uint8Array<ArrayBufferLike>
options?
strict?
boolean

Returns

AddressType

Assert()

Assert(deps): (value, options?) => AddressType
Defined in: src/primitives/Address/assert.js:106 Factory: Create assert function with keccak256 injected

Parameters

deps
Crypto dependencies
keccak256
(data) => Uint8Array

Returns

(value, options?): AddressType
Parameters
value
string | Uint8Array<ArrayBufferLike>
options?
strict?
boolean
Returns
AddressType

CalculateCreate2Address()

CalculateCreate2Address(deps): (arg0, arg1, arg2) => AddressType
Defined in: src/primitives/Address/calculateCreate2Address.js:8 Factory function to create calculateCreate2Address with injected keccak256 dependency

Parameters

deps
Dependencies
keccak256
(data) => Uint8Array Keccak256 hash function

Returns

(arg0, arg1, arg2): AddressType
Parameters
arg0
AddressType
arg1
HashType
arg2
BrandedBytecode
Returns
AddressType

CalculateCreateAddress()

CalculateCreateAddress(deps): (address, nonce) => AddressType
Defined in: src/primitives/Address/calculateCreateAddress.js:51 Factory for CREATE contract address calculation with injected dependencies

Parameters

deps
Dependencies
keccak256
(data) => Uint8Array Keccak256 hash function
rlpEncode
(items) => Uint8Array RLP encode function

Returns

(address, nonce): AddressType
Parameters
address
AddressType
nonce
bigint
Returns
AddressType

Example

import { hash } from '../../../crypto/Keccak256/hash.js'
import { encode } from '../../Rlp/encode.js'
const calculateCreateAddress = CalculateCreateAddress({
  keccak256: hash,
  rlpEncode: encode
})
const contractAddr = calculateCreateAddress(deployerAddr, 5n);

clone()

clone(address): AddressType
Defined in: src/primitives/Address/clone.js:17 Create a deep copy of an Address

Parameters

address
AddressType Address to clone

Returns

AddressType Deep copy

Example

const addr1 = Address.from("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
const addr2 = Address.clone(addr1);
console.log(Address.equals(addr1, addr2)); // true
console.log(addr1 === addr2); // false

compare()

compare(address, other): number
Defined in: src/primitives/Address/compare.js:15 Compare two addresses lexicographically

Parameters

address
AddressType First address
other
AddressType Address to compare with

Returns

number -1 if address < other, 0 if equal, 1 if address > other

Example

const sorted = addresses.sort((a, b) => Address.compare(a, b));

deduplicateAddresses()

deduplicateAddresses(addresses): AddressType[]
Defined in: src/primitives/Address/deduplicateAddresses.js:16 Remove duplicate addresses from array Preserves first occurrence of each unique address

Parameters

addresses
AddressType[] Addresses to deduplicate

Returns

AddressType[] Deduplicated addresses (new array)

Example

const unique = Address.deduplicateAddresses([addr1, addr2, addr1, addr3]);
// Returns [addr1, addr2, addr3]

equals()

equals(address, other): boolean
Defined in: src/primitives/Address/equals.js:15 Check if two addresses are equal

Parameters

address
AddressType First address
other
AddressType Address to compare with

Returns

boolean True if addresses are identical

Example

if (Address.equals(addr1, addr2)) {
  console.log("Addresses match");
}

from()

from(value): AddressType
Defined in: src/primitives/Address/from.js:24 Create Address from various input types (universal constructor)

Parameters

value
Number, bigint, hex string, Uint8Array, or number array string | number | bigint | Uint8Array<ArrayBufferLike> | number[]

Returns

AddressType Address

Throws

If value type is unsupported or invalid

Throws

If hex string is invalid

Throws

If bytes length is not 20

Example

const addr1 = Address.from(0x742d35Cc6634C0532925a3b844Bc9e7595f251e3n);
const addr2 = Address.from(12345);
const _addr3 = Address.from("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
const addr4 = Address.from(new Uint8Array(20));
const addr5 = Address.from([0x74, 0x2d, 0x35, ...]);

From()

From(deps): (value) => Checksummed
Defined in: src/primitives/Address/ChecksumAddress.js:27 Factory: Create checksummed address from any input

Parameters

deps
Crypto dependencies
keccak256
(data) => Uint8Array Keccak256 hash function

Returns

Function that converts to checksummed address
(value): Checksummed
Parameters
value
string | number | bigint | Uint8Array<ArrayBufferLike>
Returns
Checksummed

Example

import { From } from '@tevm/voltaire/Address/ChecksumAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'

const from = From({ keccak256 })
const checksummed = from("0x742d35cc6634c0532925a3b844bc9e7595f251e3")
// "0x742d35Cc6634c0532925a3b844bc9e7595F251E3"

fromAbiEncoded()

fromAbiEncoded(bytes): AddressType
Defined in: src/primitives/Address/fromAbiEncoded.js:17 Decode Address from ABI-encoded bytes (32 bytes) Extracts the last 20 bytes from 32-byte ABI-encoded address data.

Parameters

bytes
Uint8Array<ArrayBufferLike> 32-byte ABI-encoded data

Returns

AddressType Decoded Address

Throws

If bytes length is not 32

Example

const encoded = new Uint8Array(32);
// ... set encoded[12:32] to address bytes ...
const addr = Address.fromAbiEncoded(encoded);

fromBase64()

fromBase64(b64): AddressType
Defined in: src/primitives/Address/fromBase64.js:16 Create Address from base64 string

Parameters

b64
string Base64 encoded string

Returns

AddressType Address

Throws

If decoded length is not 20 bytes

Example

const addr = Address.fromBase64("dC01zGY0wFMpJaO4RLyedZXyUeM=");

fromBytes()

fromBytes(bytes): AddressType
Defined in: src/primitives/Address/fromBytes.js:17 Create Address from raw bytes (standard form)

Parameters

bytes
Uint8Array<ArrayBufferLike> Raw 20-byte array

Returns

AddressType Address

Throws

If length is not 20 bytes

Example

const bytes = new Uint8Array(20);
const addr = Address.fromBytes(bytes);

fromHex()

fromHex(hex): AddressType
Defined in: src/primitives/Address/fromHex.js:19 Parse hex string to Address (standard form)

Parameters

hex
string Hex string with 0x prefix

Returns

AddressType Address bytes

Throws

If invalid format or length

Throws

If hex contains invalid characters

Example

const addr = Address.fromHex("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");

fromNumber()

fromNumber(value): AddressType
Defined in: src/primitives/Address/fromNumber.js:17 Create Address from number value (takes lower 160 bits) (standard form)

Parameters

value
Number or bigint value number | bigint

Returns

AddressType Address from lower 160 bits

Throws

If value is negative

Example

const addr = Address.fromNumber(0x742d35Cc6634C0532925a3b844Bc9e7595f251e3n);
const addr2 = Address.fromNumber(12345);

FromPrivateKey()

FromPrivateKey(deps): (privateKey) => AddressType
Defined in: src/primitives/Address/fromPrivateKey.js:23 Factory: Create Address from secp256k1 private key

Parameters

deps
Crypto dependencies
derivePublicKey
(privateKey) => Uint8Array Secp256k1 public key derivation function
keccak256
(data) => Uint8Array Keccak256 hash function

Returns

Function that creates Address from private key
(privateKey): AddressType
Parameters
privateKey
any
Returns
AddressType

Example

import { FromPrivateKey } from '@tevm/voltaire/Address/BrandedAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'
import { derivePublicKey } from '@tevm/voltaire/crypto/Secp256k1'

const fromPrivateKey = FromPrivateKey({ keccak256, derivePublicKey })
const addr = fromPrivateKey(privateKey)

FromPublicKey()

FromPublicKey(deps): (xOrPublicKey, y?) => AddressType
Defined in: src/primitives/Address/fromPublicKey.js:20 Factory: Create Address from secp256k1 public key

Parameters

deps
Crypto dependencies
keccak256
(data) => Uint8Array Keccak256 hash function

Returns

Function that creates Address from public key
(xOrPublicKey, y?): AddressType
Parameters
xOrPublicKey
bigint | Uint8Array<ArrayBufferLike>
y?
bigint
Returns
AddressType

Example

import { FromPublicKey } from '@tevm/voltaire/Address/BrandedAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'

const fromPublicKey = FromPublicKey({ keccak256 })
// From coordinates
const addr1 = fromPublicKey(xCoord, yCoord)
// From 64-byte public key
const addr2 = fromPublicKey(publicKeyBytes)

greaterThan()

greaterThan(address, other): boolean
Defined in: src/primitives/Address/greaterThan.js:10 Check if this address is greater than other

Parameters

address
AddressType First address
other
AddressType Address to compare with

Returns

boolean True if address > other

is()

is(value): value is AddressType
Defined in: src/primitives/Address/is.js:16 Type guard for Address (standard form)

Parameters

value
unknown Value to check

Returns

value is AddressType True if value is an Address

Example

if (Address.is(value)) {
  const hex = Address.toHex(value);
}

isValid()

isValid(value): boolean
Defined in: src/primitives/Address/isValid.js:21 Check if value is a valid address (accepts string, Uint8Array, or Address instance)

Parameters

value
Value to validate string | Uint8Array<ArrayBufferLike>

Returns

boolean True if valid address format

Example

// Validate hex string
Address.isValid("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3"); // true

// Validate Uint8Array (including Address instances)
const addr = Address.fromHex("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
Address.isValid(addr); // true

// Invalid cases
Address.isValid("0xinvalid"); // false
Address.isValid(new Uint8Array(10)); // false (wrong length)

IsValid()

IsValid(deps): (str) => boolean
Defined in: src/primitives/Address/ChecksumAddress.js:74 Factory: Check if string has valid EIP-55 checksum

Parameters

deps
Crypto dependencies
keccak256
(data) => Uint8Array Keccak256 hash function

Returns

Function that validates EIP-55 checksum
(str): boolean
Parameters
str
string
Returns
boolean

Example

import { IsValid } from '@tevm/voltaire/Address/ChecksumAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'

const isValid = IsValid({ keccak256 })
if (isValid("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3")) {
  console.log("Valid checksum")
}

IsValidChecksum()

IsValidChecksum(deps): (str) => boolean
Defined in: src/primitives/Address/isValidChecksum.js:21 Factory: Check if string has valid EIP-55 checksum

Parameters

deps
Crypto dependencies
keccak256
(data) => Uint8Array Keccak256 hash function

Returns

Function that validates EIP-55 checksum
(str): boolean
Parameters
str
string
Returns
boolean

Example

import { IsValidChecksum } from '@tevm/voltaire/Address/BrandedAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'

const isValidChecksum = IsValidChecksum({ keccak256 })
if (isValidChecksum("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3")) {
  console.log("Valid checksum")
}

isZero()

isZero(address): boolean
Defined in: src/primitives/Address/isZero.js:14 Check if address is zero address

Parameters

address
AddressType Address to check

Returns

boolean True if all bytes are zero

Example

if (Address.isZero(addr)) {
  console.log("Zero address");
}

lessThan()

lessThan(address, other): boolean
Defined in: src/primitives/Address/lessThan.js:10 Check if this address is less than other

Parameters

address
AddressType First address
other
AddressType Address to compare with

Returns

boolean True if address < other

sortAddresses()

sortAddresses(addresses): AddressType[]
Defined in: src/primitives/Address/sortAddresses.js:14 Sort addresses lexicographically

Parameters

addresses
AddressType[] Addresses to sort

Returns

AddressType[] Sorted addresses (new array)

Example

const sorted = Address.sortAddresses([addr3, addr1, addr2]);

toAbiEncoded()

toAbiEncoded(address): Uint8Array<ArrayBufferLike>
Defined in: src/primitives/Address/toAbiEncoded.js:16 Convert Address to ABI-encoded bytes (32 bytes, left-padded) Ethereum ABI encoding pads addresses to 32 bytes by prepending 12 zero bytes.

Parameters

address
AddressType Address to encode

Returns

Uint8Array<ArrayBufferLike> 32-byte ABI-encoded Uint8Array

Example

const addr = Address.fromHex("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
const encoded = Address.toAbiEncoded(addr);
// encoded.length === 32

toBytes()

toBytes(address): Uint8Array<ArrayBufferLike>
Defined in: src/primitives/Address/toBytes.js:14 Convert Address to Uint8Array

Parameters

address
AddressType Address to convert

Returns

Uint8Array<ArrayBufferLike> Underlying Uint8Array

Example

const addr = Address.from("0x742d35Cc6634C0532925a3b844Bc9e7595f251e3");
const bytes = Address.toBytes(addr);
console.log(bytes); // Uint8Array(20) [...]

ToChecksummed()

ToChecksummed(deps): (address) => Checksummed
Defined in: src/primitives/Address/toChecksummed.js:20 Factory: Convert Address to EIP-55 checksummed hex string

Parameters

deps
Crypto dependencies
keccak256
(data) => Uint8Array Keccak256 hash function

Returns

Function that converts Address to checksummed hex string
(address): Checksummed
Parameters
address
AddressType
Returns
Checksummed

Example

import { ToChecksummed } from '@tevm/voltaire/Address/BrandedAddress'
import { hash as keccak256 } from '@tevm/voltaire/crypto/Keccak256'

const toChecksummed = ToChecksummed({ keccak256 })
const checksummed = toChecksummed(addr)
// "0x742d35Cc6634C0532925a3b844Bc9e7595f251e3"

toHex()

toHex(address): HexType
Defined in: src/primitives/Address/toHex.js:13 Convert Address to hex string

Parameters

address
AddressType Address to convert

Returns

HexType Lowercase hex string with 0x prefix

Example

const hex = Address.toHex(addr);
// "0x742d35cc6634c0532925a3b844bc9e7595f251e3"

toLowercase()

toLowercase(address): Lowercase
Defined in: src/primitives/Address/toLowercase.js:15 Convert Address to lowercase hex string

Parameters

address
AddressType Address to convert

Returns

Lowercase Lowercase hex string

Example

const lower = Address.toLowercase(addr);
// "0x742d35cc6634c0532925a3b844bc9e7595f251e3"

toShortHex()

toShortHex(address, prefixLength?, suffixLength?): string
Defined in: src/primitives/Address/toShortHex.js:19 Format address with shortened display

Parameters

address
AddressType Address to format
prefixLength?
number Number of chars to show at start
suffixLength?
number Number of chars to show at end

Returns

string Shortened address like “0x742d…51e3”

Example

const short = Address.toShortHex(addr);
// "0x742d...51e3"
const custom = Address.toShortHex(addr, 8, 6);
// "0x742d35...251e3"

toU256()

toU256(address): bigint
Defined in: src/primitives/Address/toU256.js:14 Convert Address to uint256

Parameters

address
AddressType Address to convert

Returns

bigint Bigint representation

Example

const value = Address.toU256(addr);

toUppercase()

toUppercase(address): Uppercase
Defined in: src/primitives/Address/toUppercase.js:15 Convert Address to uppercase hex string

Parameters

address
AddressType Address to convert

Returns

Uppercase Uppercase hex string

Example

const upper = Address.toUppercase(addr);
// "0x742D35CC6634C0532925A3B844BC9E7595F251E3"

zero()

zero(): AddressType
Defined in: src/primitives/Address/zero.js:13 Create zero address (standard form)

Returns

AddressType Zero address (0x0000…0000)

Example

const zero = Address.zero();

References

AddressType

Re-exports AddressType

BrandedAddressType

Renames and re-exports AddressType

HEX_SIZE

Re-exports HEX_SIZE

InvalidAddressError

Re-exports InvalidAddressError

InvalidAddressLengthError

Re-exports InvalidAddressLengthError

InvalidChecksumError

Re-exports InvalidChecksumError

InvalidHexFormatError

Re-exports InvalidHexFormatError

InvalidHexStringError

Re-exports InvalidHexStringError

InvalidValueError

Re-exports InvalidValueError

NATIVE_ASSET_ADDRESS

Re-exports NATIVE_ASSET_ADDRESS

NotImplementedError

Re-exports NotImplementedError

SIZE

Re-exports SIZE