Workflow

The owner of the vault can put arbitrary checkers and arbitrary actions for conditional statefull execution

/// @notice Adds a new workflow to the EntryPoint.
/// @param checkers An array of Checker structures to define the conditions.
/// @param actions An array of Action structures to define the actions.
/// @param executor The address of the executor.
/// @param count The number of times the workflow should be executed.
function addWorkflow(
	Checker[] calldata checkers,
	Action[] calldata actions,
	address executor,
	uint88 count
) external;

After successful storage of the workflow data, the workflow can be executed if all the checkers return True by the ditto executor.

To run workflow the executor should call the run method on the vault and provide the meta transaction data along with the user signature.

/// @notice Executes a specific workflow and compensates the `feeReceiver` for gas costs.
/// @param workflowKey Unique identifier for the workflow to be executed.
function run(uint256 workflowKey) external;

This infrastructure allows for trustless workflow execution defined by pre-stored conditions.

Last updated