Skip to main content

Uint32

A branded type for 32-bit unsigned integers (0 to 4,294,967,295). Represented as JavaScript number with compile-time type safety.

Overview

Uint32Type provides:
  • Compile-time type branding
  • Range validation (0 to 2^32-1)
  • Full arithmetic and bitwise operations
  • Efficient number representation (fits in JavaScript safe integer range)

Type Definition

Range

  • Minimum: 0
  • Maximum: 4,294,967,295 (2^32 - 1)
  • Size: 32 bits (4 bytes)

Constants

Construction

from

Create from number, bigint, or string:

fromNumber

fromBigInt

fromHex

fromBytes

Create from Uint8Array (big-endian, up to 4 bytes):

fromAbiEncoded

Create from 32-byte ABI-encoded data:

tryFrom

Safe construction that returns undefined on invalid input:

Conversion

toNumber

toBigInt

toHex

toBytes

toAbiEncoded

toString

Arithmetic

plus

minus

times

dividedBy

modulo

toPower

Comparison

equals

lessThan / greaterThan

isZero

minimum / maximum

Bitwise Operations

bitwiseAnd / bitwiseOr / bitwiseXor

bitwiseNot

shiftLeft / shiftRight

Bit Analysis

bitLength

leadingZeros

popCount

Validation

isValid

Use Cases

  • Block numbers: Ethereum block numbers fit in 32 bits until ~year 2100
  • Gas limits: Transaction and block gas limits
  • Timestamps: Unix timestamps (valid until year 2106)
  • Nonces: Transaction nonces
  • Indices: Array indices, loop counters
  • IP addresses: IPv4 addresses

Example: Block Number Operations

Example: Timestamp Handling

API Reference

CategoryMethods
Constructionfrom, fromNumber, fromBigInt, fromHex, fromBytes, fromAbiEncoded, tryFrom
ConversiontoNumber, toBigInt, toHex, toBytes, toAbiEncoded, toString, clone
Arithmeticplus, minus, times, dividedBy, modulo, toPower
Comparisonequals, lessThan, greaterThan, isZero, minimum, maximum
BitwisebitwiseAnd, bitwiseOr, bitwiseXor, bitwiseNot, shiftLeft, shiftRight
Bit AnalysisbitLength, leadingZeros, popCount
ValidationisValid