# Interface FunctionDecoding

This type represents a transaction decoding for an ordinary function call to a known class; not a constructor call, not a fallback call.

#### Category

Output

#### Hierarchy

- FunctionDecoding

- Defined in codec/lib/types.ts:79

#####
Index

### Properties

abi
arguments
class
decodingMode
interpretations
kind
selector

## Properties

### abi

abi: FunctionEntry

The ABI entry for the function that was called. You can use this to extract the name, for instance.

- Defined in codec/lib/types.ts:96

### arguments

arguments: AbiArgument[]

The list of decoded arguments to the function.

- Defined in codec/lib/types.ts:91

### class

class: ContractType

The class of contract that was called, as a Format.Types.ContractType.

- Defined in codec/lib/types.ts:87

### decodingMode

decodingMode: DecodingMode

The decoding mode that was used; see the README for more on these.

- Defined in codec/lib/types.ts:105

### interpretations

interpretations: {
aggregate?: CallInterpretationInfo[];
deadlinedMulticall?: DeadlinedMulticallInfo;
multicall?: CalldataDecoding[];
specifiedBlockhashMulticall?: BlockhashedMulticallInfo;
tryAggregate?: TryAggregateInfo;
}

Further information about how the decoding may be interpreted. Note that interpretations may be added by things that use @truffle/codec, such as @truffle/decoder, rather than by @truffle/codec itself. See individual interpretations for details.

#### Type declaration

- ##### `Optional` aggregate?: CallInterpretationInfo[]

  If this interpretation is present, indicates that the transaction can be understood as an `aggregate` (from multicallv2). This also includes `blockAndAggregate`. See [[CallInterpretationInfo]] for more information.

- ##### `Optional` deadlinedMulticall?: DeadlinedMulticallInfo

  Similar to `multicall`, but for Uniswap's deadlined multicall.

- ##### `Optional` multicall?: CalldataDecoding[]

  If this interpretation is present, indicates that the transaction can be understood as a multicall (v1). The field contains decodings for the individual calls that the multicall can be broken into. Note that in case of an error, individual decodings will be returned as null, so be sure to check for this.

- ##### `Optional` specifiedBlockhashMulticall?: BlockhashedMulticallInfo

  Similar to `multicall`, but for Uniswap's multicall with previous block hash.

- ##### `Optional` tryAggregate?: TryAggregateInfo

  Similar to the `aggregate` interpretation, but for `tryAggregate`. Also includes `tryBlockAndAggregate`.

- Defined in codec/lib/types.ts:111

### kind

kind: "function"

The kind of decoding; indicates that this is a FunctionDecoding.

- Defined in codec/lib/types.ts:83

### selector

selector: string

The selector for the function that was called, as a hexadecimal string.

- Defined in codec/lib/types.ts:100

Generated using TypeDoc