Skip to main content

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)
ParameterTypeDescription
targetaddressContract to call
valueuint256ETH value to send
databytesCalldata

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