From 3373a928275e4f2f2964d78f4c8b59e97ef40760 Mon Sep 17 00:00:00 2001 From: tmm Date: Mon, 22 Jun 2026 12:18:27 -0400 Subject: [PATCH] docs: deprecate human-readable abi utilities --- .changeset/sour-crabs-share.md | 5 +++++ packages/abitype/src/human-readable/formatAbi.ts | 6 ++++++ packages/abitype/src/human-readable/formatAbiItem.ts | 6 ++++++ packages/abitype/src/human-readable/formatAbiParameter.ts | 7 +++++++ packages/abitype/src/human-readable/formatAbiParameters.ts | 7 +++++++ packages/abitype/src/human-readable/parseAbi.ts | 6 ++++++ packages/abitype/src/human-readable/parseAbiItem.ts | 6 ++++++ packages/abitype/src/human-readable/parseAbiParameter.ts | 7 +++++++ packages/abitype/src/human-readable/parseAbiParameters.ts | 7 +++++++ 9 files changed, 57 insertions(+) create mode 100644 .changeset/sour-crabs-share.md diff --git a/.changeset/sour-crabs-share.md b/.changeset/sour-crabs-share.md new file mode 100644 index 00000000..2f3ee1ef --- /dev/null +++ b/.changeset/sour-crabs-share.md @@ -0,0 +1,5 @@ +--- +"abitype": minor +--- + +Deprecated human-readable ABI utilities in favor of Ox's `Abi`, `AbiItem`, `AbiParameter`, and `AbiParameters` modules. diff --git a/packages/abitype/src/human-readable/formatAbi.ts b/packages/abitype/src/human-readable/formatAbi.ts index 947a2742..8eb457b1 100644 --- a/packages/abitype/src/human-readable/formatAbi.ts +++ b/packages/abitype/src/human-readable/formatAbi.ts @@ -6,6 +6,9 @@ import { type FormatAbiItem, formatAbiItem } from './formatAbiItem.js' * * @param abi - ABI * @returns Human-readable ABI + * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `Abi.format.ReturnType` instead: `import { Abi } from 'ox'`. */ export type FormatAbi = Abi extends abi ? readonly string[] @@ -22,6 +25,9 @@ export type FormatAbi = Abi extends abi * * @param abi - ABI * @returns Human-readable ABI + * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `Abi.format` instead: `import { Abi } from 'ox'`. */ export function formatAbi( abi: abi, diff --git a/packages/abitype/src/human-readable/formatAbiItem.ts b/packages/abitype/src/human-readable/formatAbiItem.ts index 7fe3df83..68e379e5 100644 --- a/packages/abitype/src/human-readable/formatAbiItem.ts +++ b/packages/abitype/src/human-readable/formatAbiItem.ts @@ -21,6 +21,9 @@ import type { AssertName } from './types/signatures.js' * * @param abiItem - ABI item * @returns Human-readable ABI item + * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiItem.format.ReturnType` instead: `import { AbiItem } from 'ox'`. */ export type FormatAbiItem = Abi[number] extends abiItem @@ -94,6 +97,9 @@ type FormatAbiParameters< * * @param abiItem - ABI item * @returns Human-readable ABI item + * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiItem.format` instead: `import { AbiItem } from 'ox'`. */ export function formatAbiItem( abiItem: abiItem, diff --git a/packages/abitype/src/human-readable/formatAbiParameter.ts b/packages/abitype/src/human-readable/formatAbiParameter.ts index 066e9f90..df4a3e83 100644 --- a/packages/abitype/src/human-readable/formatAbiParameter.ts +++ b/packages/abitype/src/human-readable/formatAbiParameter.ts @@ -9,6 +9,10 @@ import type { AssertName } from './types/signatures.js' * @param abiParameter - ABI parameter * @returns Human-readable ABI parameter * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiParameter.format.ReturnType` instead: `import { AbiParameter } from + * 'ox'`. + * * @example * type Result = FormatAbiParameter<{ type: 'address'; name: 'from'; }> * // ^? type Result = 'address from' @@ -60,6 +64,9 @@ const tupleRegex = /^tuple(?(\[(\d*)\])*)$/ * @param abiParameter - ABI parameter * @returns Human-readable ABI parameter * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiParameter.format` instead: `import { AbiParameter } from 'ox'`. + * * @example * const result = formatAbiParameter({ type: 'address', name: 'from' }) * // ^? const result: 'address from' diff --git a/packages/abitype/src/human-readable/formatAbiParameters.ts b/packages/abitype/src/human-readable/formatAbiParameters.ts index b39eda6d..bc544eec 100644 --- a/packages/abitype/src/human-readable/formatAbiParameters.ts +++ b/packages/abitype/src/human-readable/formatAbiParameters.ts @@ -11,6 +11,10 @@ import { * @param abiParameters - ABI parameters * @returns Human-readable ABI parameters * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiParameters.format.ReturnType` instead: `import { AbiParameters } from + * 'ox'`. + * * @example * type Result = FormatAbiParameters<[ * // ^? type Result = 'address from, uint256 tokenId' @@ -36,6 +40,9 @@ export type FormatAbiParameters< * @param abiParameters - ABI parameters * @returns Human-readable ABI parameters * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiParameters.format` instead: `import { AbiParameters } from 'ox'`. + * * @example * const result = formatAbiParameters([ * // ^? const result: 'address from, uint256 tokenId' diff --git a/packages/abitype/src/human-readable/parseAbi.ts b/packages/abitype/src/human-readable/parseAbi.ts index 49405b3d..1e5eec8f 100644 --- a/packages/abitype/src/human-readable/parseAbi.ts +++ b/packages/abitype/src/human-readable/parseAbi.ts @@ -13,6 +13,9 @@ import type { ParseSignature } from './types/utils.js' * @param signatures - Human-readable ABI * @returns Parsed {@link Abi} * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `Abi.from.ReturnType` instead: `import { Abi } from 'ox'`. + * * @example * type Result = ParseAbi< * // ^? type Result = readonly [{ name: "balanceOf"; type: "function"; stateMutability:... @@ -49,6 +52,9 @@ export type ParseAbi = * @param signatures - Human-Readable ABI * @returns Parsed {@link Abi} * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `Abi.from` instead: `import { Abi } from 'ox'`. + * * @example * const abi = parseAbi([ * // ^? const abi: readonly [{ name: "balanceOf"; type: "function"; stateMutability:... diff --git a/packages/abitype/src/human-readable/parseAbiItem.ts b/packages/abitype/src/human-readable/parseAbiItem.ts index 3643711b..7a300b25 100644 --- a/packages/abitype/src/human-readable/parseAbiItem.ts +++ b/packages/abitype/src/human-readable/parseAbiItem.ts @@ -15,6 +15,9 @@ import type { ParseSignature } from './types/utils.js' * @param signature - Human-readable ABI item * @returns Parsed {@link Abi} item * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiItem.from.ReturnType` instead: `import { AbiItem } from 'ox'`. + * * @example * type Result = ParseAbiItem<'function balanceOf(address owner) view returns (uint256)'> * // ^? type Result = { name: "balanceOf"; type: "function"; stateMutability: "view";... @@ -63,6 +66,9 @@ export type ParseAbiItem< * @param signature - Human-readable ABI item * @returns Parsed {@link Abi} item * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiItem.from` instead: `import { AbiItem } from 'ox'`. + * * @example * const abiItem = parseAbiItem('function balanceOf(address owner) view returns (uint256)') * // ^? const abiItem: { name: "balanceOf"; type: "function"; stateMutability: "view";... diff --git a/packages/abitype/src/human-readable/parseAbiParameter.ts b/packages/abitype/src/human-readable/parseAbiParameter.ts index ccd47728..af6e694e 100644 --- a/packages/abitype/src/human-readable/parseAbiParameter.ts +++ b/packages/abitype/src/human-readable/parseAbiParameter.ts @@ -15,6 +15,10 @@ import type { ParseAbiParameter as ParseAbiParameter_ } from './types/utils.js' * @param param - Human-readable ABI parameter * @returns Parsed {@link AbiParameter} * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiParameter.from.ReturnType` instead: `import { AbiParameter } from + * 'ox'`. + * * @example * type Result = ParseAbiParameter<'address from'> * // ^? type Result = { type: "address"; name: "from"; } @@ -64,6 +68,9 @@ export type ParseAbiParameter< * @param param - Human-readable ABI parameter * @returns Parsed {@link AbiParameter} * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiParameter.from` instead: `import { AbiParameter } from 'ox'`. + * * @example * const abiParameter = parseAbiParameter('address from') * // ^? const abiParameter: { type: "address"; name: "from"; } diff --git a/packages/abitype/src/human-readable/parseAbiParameters.ts b/packages/abitype/src/human-readable/parseAbiParameters.ts index aaf92fb6..0efd2dae 100644 --- a/packages/abitype/src/human-readable/parseAbiParameters.ts +++ b/packages/abitype/src/human-readable/parseAbiParameters.ts @@ -17,6 +17,10 @@ import type { ParseAbiParameters as ParseAbiParameters_ } from './types/utils.js * @param params - Human-readable ABI parameters * @returns Parsed {@link AbiParameter}s * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiParameters.from.ReturnType` instead: `import { AbiParameters } from + * 'ox'`. + * * @example * type Result = ParseAbiParameters('address from, address to, uint256 amount') * // ^? type Result: [{ type: "address"; name: "from"; }, { type: "address";... @@ -88,6 +92,9 @@ type DeepFlatten< * @param params - Human-readable ABI parameters * @returns Parsed {@link AbiParameter}s * + * @deprecated Human-readable ABI utilities are moving to Ox. Install `ox` and + * use `AbiParameters.from` instead: `import { AbiParameters } from 'ox'`. + * * @example * const abiParameters = parseAbiParameters('address from, address to, uint256 amount') * // ^? const abiParameters: [{ type: "address"; name: "from"; }, { type: "address";...