Contract Utilities
Encode and decode helpers used by contract actions
Loading...
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.
| 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 |
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.