UVAAccount Contract
The smart vault contract that holds assets and executes operations.
Overview
UVAAccount is an ERC-4337 compatible smart account that:
- Holds ETH and ERC-20 tokens
- Executes operations on behalf of the owner
- Validates agent permissions before execution
- Supports batched operations
Functions
execute
Execute a single operation.
function execute(
address target,
uint256 value,
bytes calldata data
) external returns (bytes memory)
| Parameter | Type | Description |
|---|---|---|
target | address | Contract to call |
value | uint256 | ETH value to send |
data | bytes | Calldata |
executeBatch
Execute multiple operations atomically.
function executeBatch(
address[] calldata targets,
uint256[] calldata values,
bytes[] calldata calldatas
) external returns (bytes[] memory)
owner
Get the vault owner address.
function owner() external view returns (address)
Events
OperationExecuted
event OperationExecuted(
address indexed target,
uint256 value,
bytes data
);
Deposit
event Deposit(address indexed from, uint256 amount);
Security
- Only owner or authorized agents can execute operations
- Reentrancy guard on all state-changing functions
- Permission validation on every operation