Each Action contract must implement the IAction interface. This interface defines two external functions: argumentsHash and execute

argumentsHash

This function returns the information necessary to construct the signing hash for the Instruction depending on the Action arguments.

execute

The execute function contains the actual feature-specific logic and is called during each execution. This function is designed to be lightweight and reusable considering Instructions are designed to be executed many times.