ERC7821
Inherits: IERC7821
Minimal batch executor following ERC-7821.
Only supports supports single batch mode (0x01000000000000000000). Does not support optional "opData".
Note: stateless:
Functions
execute
Executes the calls in executionData with no optional opData support.
NOTE: Access to this function is controlled by _erc7821AuthorizedExecutor. Changing access permissions, for
example to approve calls by the ERC-4337 entrypoint, should be implemented by overriding it.
Reverts and bubbles up error if any call fails.
function execute(bytes32 mode, bytes calldata executionData) public payable virtual;
supportsExecutionMode
*This function is provided for frontends to detect support. Only returns true for:
bytes32(0x01000000000000000000...): does not support optionalopData.bytes32(0x01000000000078210001...): supports optionalopData.*
function supportsExecutionMode(bytes32 mode) public view virtual returns (bool result);
_erc7821AuthorizedExecutor
*Access control mechanism for the execute function. By default, only the contract itself is allowed to execute. Override this function to implement custom access control, for example to allow the ERC-4337 entrypoint to execute.
function _erc7821AuthorizedExecutor(
address caller,
bytes32 mode,
bytes calldata executionData
) internal view virtual override returns (bool) {
return caller == address(entryPoint()) || super._erc7821AuthorizedExecutor(caller, mode, executionData);
}
```*
```solidity
function _erc7821AuthorizedExecutor(address caller, bytes32, bytes calldata) internal view virtual returns (bool);
Errors
UnsupportedExecutionMode
error UnsupportedExecutionMode();