Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@ethernauta/utils

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ethernauta/utils

[![bundlejs](https://deno.bundlejs.com/badge?q=@ethernauta/utils&treeshake=[*])](https://deno.bundlejs.com/?q=@ethernauta/utils&treeshake=[*])

Source
npmnpm
Version
0.0.44
Version published
Maintainers
1
Created
Source

bundlejs

Philosophy

This module is a set of small, dependency-free utilities used across the other packages. It is intentionally generic — nothing here knows about Ethereum, chains, or transactions. Pure, side-effect-free, no third-party runtime dependencies. No new dependencies in @ethernauta/utils is a hard rule of the monorepo.

Modules

API

Hex ↔ bytes

import { bytes_to_hex, hex_to_bytes, strip_hex_prefix } from "@ethernauta/utils"

const hex = bytes_to_hex(new Uint8Array([0xde, 0xad, 0xbe, 0xef])) // "0xdeadbeef"
const bytes = hex_to_bytes("0xdeadbeef")                            // Uint8Array
const stripped = strip_hex_prefix("0xdeadbeef")                     // "deadbeef"

Hex ↔ number

import { hex_to_number, number_to_hex } from "@ethernauta/utils"

const hex = number_to_hex(255)  // "0xff"
const value = hex_to_number("0xff") // 255

Bytes ↔ unsigned integer

import { bytes_to_uint } from "@ethernauta/utils"

const n = bytes_to_uint(new Uint8Array([0x01, 0x00])) // 256n

RLP encoding

import { rlp_encode, type RlpInput } from "@ethernauta/utils"

const encoded = rlp_encode([
  new Uint8Array([0x01]),
  new Uint8Array([0x02, 0x03]),
])

Wei ↔ string formatting

import {
  format_ether, format_gwei, format_unit,
  parse_ether, parse_gwei, parse_unit,
} from "@ethernauta/utils"

format_ether(1_000_000_000_000_000_000n)  // "1"
format_gwei(2_000_000_000n)               // "2"
format_unit(123_456n, 4)                  // "12.3456"

parse_ether("1.5")                         // 1500000000000000000n
parse_gwei("2")                            // 2000000000n
parse_unit("12.34", 4)                     // 123400n

Time helpers

import { seconds_to_big, now_to_big, deadline_in } from "@ethernauta/utils"

const now = now_to_big()                        // BigInt seconds since epoch
const in_one_minute = deadline_in(60)           // now + 60
const ms_as_bigint = seconds_to_big(30)         // 30n

Case conversion

import { camel_to_kebab } from "@ethernauta/utils"

camel_to_kebab("transferFrom") // "transfer-from"

Type narrowing — invariant

import { invariant } from "@ethernauta/utils"

const input: string | null = "helloWorld"
invariant(typeof input === "string", "input must be a string")
// input is narrowed to `string` from here on

FAQs

Package last updated on 28 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts