> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AbiFunction

> AbiFunction API reference.

Package: [`com.coinbase.cdp.types`](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/index)

```java theme={null}
public final class AbiFunction extends Object
```

## Method Details

### `getName`

```java theme={null}
public String getName()
```

**Returns:**

`String` - The name of the ABI function.

### `getInputs`

```java theme={null}
public List<AbiParameter> getInputs()
```

**Returns:**

`List`\<[AbiParameter](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AbiParameter)> - The list of ABI parameters used for this function.

### `getOutputs`

```java theme={null}
public List<AbiParameter> getOutputs()
```

**Returns:**

`List`\<[AbiParameter](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AbiParameter)> - The values returned by this function.

### `getConstant`

```java theme={null}
public Optional<Boolean> getConstant()
```

**Returns:**

`Optional<Boolean>` - Deprecated. Use pure or view from `stateMutability` instead.

### `getPayable`

```java theme={null}
public Optional<Boolean> getPayable()
```

**Returns:**

`Optional<Boolean>` - Deprecated. Use payable or nonpayable from `stateMutability` instead.

### `getStateMutability`

```java theme={null}
public AbiStateMutability getStateMutability()
```

**Returns:**

[AbiStateMutability](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AbiStateMutability)

### `getGas`

```java theme={null}
public Optional<Integer> getGas()
```

**Returns:**

`Optional<Integer>` - Deprecated. Vyper used to provide gas estimates.

### `equals`

```java theme={null}
public boolean equals(Object other)
```

**Overrides:**

`[equals](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals\(java.lang.Object\) "class or interface in java.lang")` in class `[Object](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html "class or interface in java.lang")`

**Parameters:**

`other` - `Object`

**Returns:**

`boolean`

### `getAdditionalProperties`

```java theme={null}
public Map<String,Object> getAdditionalProperties()
```

**Returns:**

`Map<String,Object>`

### `hashCode`

```java theme={null}
public int hashCode()
```

**Overrides:**

`[hashCode](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode\(\) "class or interface in java.lang")` in class `[Object](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html "class or interface in java.lang")`

**Returns:**

`int`

### `toString`

```java theme={null}
public String toString()
```

**Overrides:**

`[toString](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString\(\) "class or interface in java.lang")` in class `[Object](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html "class or interface in java.lang")`

**Returns:**

`String`

### `builder`

```java theme={null}
public static AbiFunction.NameStage builder()
```

**Returns:**

[AbiFunction](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/AbiFunction).`NameStage`
