Overview
SingleDepositorVault extends BaseVault with direct deposit and withdraw functions for a single vault owner. It is designed for dedicated treasury management where one entity (the vault owner) deposits assets and a guardian executes strategy operations on their behalf.
Unlike the multi-depositor model, SingleDepositorVault does not use tokenized vault units or a Provisioner. The vault owner interacts directly with the vault contract to deposit and withdraw assets. The guardian model, Merkle verification, hooks, and pause functionality are all inherited from BaseVault.
Fee calculation for single-depositor vaults uses the DelayedFeeCalculator, which applies time-delayed fee accrual based on accountant-reported vault values. See FeeVault for fee distribution details.
Functions
deposit
Deposits assets into the vault. Only callable by the vault owner. Assets are held by the vault and managed by the guardian via submitted operations. Signature:| Parameter | Type | Description |
|---|---|---|
token | address | Address of the ERC-20 token to deposit |
amount | uint256 | Amount of tokens to deposit |
withdraw
Withdraws assets from the vault. Only callable by the vault owner. Signature:| Parameter | Type | Description |
|---|---|---|
token | address | Address of the ERC-20 token to withdraw |
amount | uint256 | Amount of tokens to withdraw |
recipient | address | Address to receive the withdrawn tokens |
execute
Executes an arbitrary call from the vault. Only callable by the vault owner. This provides a direct execution path outside the guardian model for owner-level administrative actions. Signature:| Parameter | Type | Description |
|---|---|---|
target | address | Contract to call |
data | bytes | Calldata for the call |
setFeeCalculator
Sets the fee calculator contract for this vault. Only callable by the vault owner. Signature:| Parameter | Type | Description |
|---|---|---|
calculator | address | Address of the DelayedFeeCalculator contract |
Events
Deposited
Emitted when the vault owner deposits assets.Withdrawn
Emitted when the vault owner withdraws assets.Executed
Emitted when the vault owner executes a direct call.Errors
SingleDepositorVault__NotOwner
Thrown when a non-owner address attempts a deposit, withdraw, or execute action.Inheritance
- BaseVault — Core guardian operations, Merkle verification, hooks, pause
- SingleDepositorVault — Adds single-depositor deposit/withdraw/execute
This page was manually created as a baseline. Run the contract reference generation pipeline to update with complete NatSpec documentation from the Solidity source.