UNPKG

ox

Version:

Ethereum Standard Library

99 lines 5.28 kB
/* eslint-disable jsdoc-js/require-jsdoc, jsdoc-js/require-description, jsdoc-js/require-example */ import * as core_Hex from '../core/Hex.js'; import { decodeInteger, encodeNumberish, quantityHex, uintBigint, uintBigintNumberish, uintNumber, uintNumberNumberish, } from './internal/Integer.js'; import * as z from 'zod/mini'; /** Unsized unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint = z.codec(quantityHex(), uintBigint(), { decode: (value) => core_Hex.toBigInt(value), encode: (value) => core_Hex.fromNumber(value), }); /** Encode-only unsized unsigned integer accepting `Hex | bigint | number`. */ export const UintToRpc = z.codec(quantityHex(), uintBigintNumberish(), { decode: (value) => core_Hex.toBigInt(value), encode: (value) => encodeNumberish(value), }); /** Encode-only 8-bit unsigned integer accepting `Hex | number`. */ export const Uint8ToRpc = unsignedToRpc(8); /** 8-bit unsigned integer decoded as `number` and encoded as hex. */ export const Uint8 = unsigned(8); /** 16-bit unsigned integer decoded as `number` and encoded as hex. */ export const Uint16 = unsigned(16); /** 24-bit unsigned integer decoded as `number` and encoded as hex. */ export const Uint24 = unsigned(24); /** 32-bit unsigned integer decoded as `number` and encoded as hex. */ export const Uint32 = unsigned(32); /** 40-bit unsigned integer decoded as `number` and encoded as hex. */ export const Uint40 = unsigned(40); /** 48-bit unsigned integer decoded as `number` and encoded as hex. */ export const Uint48 = unsigned(48); /** 56-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint56 = unsignedBigint(56); /** 64-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint64 = unsignedBigint(64); /** 72-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint72 = unsignedBigint(72); /** 80-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint80 = unsignedBigint(80); /** 88-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint88 = unsignedBigint(88); /** 96-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint96 = unsignedBigint(96); /** 104-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint104 = unsignedBigint(104); /** 112-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint112 = unsignedBigint(112); /** 120-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint120 = unsignedBigint(120); /** 128-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint128 = unsignedBigint(128); /** 136-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint136 = unsignedBigint(136); /** 144-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint144 = unsignedBigint(144); /** 152-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint152 = unsignedBigint(152); /** 160-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint160 = unsignedBigint(160); /** 168-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint168 = unsignedBigint(168); /** 176-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint176 = unsignedBigint(176); /** 184-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint184 = unsignedBigint(184); /** 192-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint192 = unsignedBigint(192); /** 200-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint200 = unsignedBigint(200); /** 208-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint208 = unsignedBigint(208); /** 216-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint216 = unsignedBigint(216); /** 224-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint224 = unsignedBigint(224); /** 232-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint232 = unsignedBigint(232); /** 240-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint240 = unsignedBigint(240); /** 248-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint248 = unsignedBigint(248); /** 256-bit unsigned integer decoded as `bigint` and encoded as hex. */ export const Uint256 = unsignedBigint(256); function unsigned(bits) { return z.codec(quantityHex(bits), uintNumber(bits), { decode: (value) => globalThis.Number(decodeInteger(value, bits, false)), encode: (value) => core_Hex.fromNumber(value), }); } function unsignedToRpc(bits) { return z.codec(quantityHex(bits), uintNumberNumberish(bits), { decode: (value) => globalThis.Number(decodeInteger(value, bits, false)), encode: (value) => encodeNumberish(value), }); } function unsignedBigint(bits) { return z.codec(quantityHex(bits), uintBigint(bits), { decode: (value) => decodeInteger(value, bits, false), encode: (value) => core_Hex.fromNumber(value), }); } //# sourceMappingURL=Uint.js.map