Overview

The Subvault contract represents a modular, permissioned vault component designed to manage delegated asset strategies within a parent Vault. It enables curated logic for permissioned calls and asset management without exposing external deposit or redemption interfaces.

This contract combines callable and verifiable logic to serve as a secure, controlled execution unit within a system.

Inheritance Structure

contract Subvault is IFactoryEntity, CallModule, SubvaultModule

The Subvault inherits:

The constructor explicitly calls:

VerifierModule(name_, version_)
SubvaultModule(name_, version_)

This indicates that both modules rely on deterministic storage and versioned deployment identifiers via SlotLibrary.

Constructor

constructor(string memory name_, uint256 version_)

Parameters:

Behavior:

Passes the name_ and version_ arguments into the constructors of VerifierModule and SubvaultModule.

External Functions