# AbiParameters.from

Parses arbitrary **JSON ABI Parameters** or **Human Readable ABI Parameters** into typed [`AbiParameters.AbiParameters`](/api/AbiParameters/types#abiparameters).

## Imports

:::code-group
```ts [Named]
import { AbiParameters } from 'ox'
```

```ts [Entrypoint]
import * as AbiParameters from 'ox/AbiParameters'
```
:::

## Examples

### JSON Parameters

```ts twoslash
import { AbiParameters } from 'ox'

const parameters = AbiParameters.from([
  {
    name: 'spender',
    type: 'address'
  },
  {
    name: 'amount',
    type: 'uint256'
  }
])

parameters
//^?
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
```

### Human Readable Parameters

Human Readable ABI Parameters can be parsed into a typed [`AbiParameters.AbiParameters`](/api/AbiParameters/types#abiparameters):

```ts twoslash
import { AbiParameters } from 'ox'

const parameters = AbiParameters.from(
  'address spender, uint256 amount'
)

parameters
//^?
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
```

It is possible to specify `struct`s along with your definitions:

```ts twoslash
import { AbiParameters } from 'ox'

const parameters = AbiParameters.from([
  'struct Foo { address spender; uint256 amount; }', // [!code hl]
  'Foo foo, address bar'
])

parameters
//^?
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
```

## Definition

```ts
function from<parameters>(
  parameters: parameters | AbiParameters | string | readonly string[],
): from.ReturnType<parameters>
```

**Source:** [src/core/AbiParameters.ts](https://github.com/wevm/ox/blob/main/src/core/AbiParameters.ts#L819)

## Parameters

### parameters

* **Type:** `parameters | AbiParameters | string | readonly string[]`

The ABI Parameters to parse.

## Return Type

The typed ABI Parameters.

`from.ReturnType<parameters>`
