Contract Utilities
Encode and decode helpers used by contract actions
Contract actions (readContract, writeContract, getContractEvents, etc.) use ABI encoding and decoding under the hood. You can use the same utilities directly when building custom calldata, decoding return data, or parsing event logs.
Where they live
| Utility | Package / API | Doc |
|---|---|---|
| encodeFunctionData | client.EncodeFunctionData(opts) or abi.EncodeFunctionData on *ABI | ABI Encoding |
| decodeFunctionData | abi.DecodeFunctionData on *ABI | ABI Decoding |
| decodeFunctionResult | abi.DecodeFunctionResult on *ABI | ABI Decoding |
| encodeEventTopics | abi.EncodeEventTopics on *ABI | ABI Encoding |
| decodeEventLog | abi.DecodeEventLog / DecodeEventLogByName on *ABI | ABI Decoding |
| encodeErrorResult | abi.EncodeErrorResult on *ABI | ABI Encoding |
| decodeErrorResult | abi.DecodeErrorResult on *ABI | ABI Decoding |
| encodeFunctionResult | abi.EncodeFunctionResult on *ABI | ABI Encoding |
| parseEventLogs | abi.ParseEventLogs on *ABI | Selectors & Items |
| encodeDeployData | Bytecode + abi.EncodeConstructor(args...) | Deploy Contract, ABI Encoding |
| decodeDeployData | Decode constructor args from deploy data: use abi.DecodeFunctionArgsFromData with constructor “function” or decode with DecodeAbiParameters and constructor input params | ABI Decoding, ABI Decode Parameters |
Client-level helpers
- client.EncodeFunctionData(EncodeFunctionDataOptions) — encode calldata from ABI (string/bytes), function name, and args. Uses abi.Parse and EncodeFunctionData internally. Use when you don’t have a parsed *ABI.
- client.DecodeFunctionResult(DecodeFunctionResultOptions) — decode return data from ABI, function name, and raw data. Use when you don’t have a parsed *ABI.
For all other helpers (with a parsed *abi.ABI), use the abi package as in the table above. Standalone parameter encode/decode (no ABI) is in the ABI section: EncodeAbiParameters, DecodeAbiParameters, EncodePacked.
See also
- ABI Introduction — parsed ABI and types
- ABI Encoding — EncodeFunctionData, EncodeEventTopics, EncodeErrorResult, EncodeConstructor
- ABI Decoding — DecodeFunctionData, DecodeFunctionResult, DecodeEventLog, DecodeErrorResult
- ABI Selectors & Items — FormatAbiItem, ParseEventLogs