Skip to main content

CoreERC-4626 deviations

ERC-4626 Deviation Note — CreatorOVault

CreatorOVault inherits OpenZeppelin’s ERC4626 and presents a recognizable ERC-4626 share token interface. It is not a pure drop-in implementation.

Intentional Deviations

AreaStandard ERC-4626 BehaviorCreatorOVault Behavior
Large withdrawalsInstantlargeWithdrawalThreshold must go through queueWithdrawal → delay → claimQueuedWithdrawal
Preview functionsSymmetricpreviewRedeem subtracts queued shares. previewDeposit / previewMint / previewWithdraw remain vanilla OZ and can be inaccurate when queues or strategies are active
redeem / withdraw3-argument onlyAlso exposes 4-argument versions with Yearn-style maxLoss (bps)
Access controlOpendeposit / mint gated by whitelist + pause + shutdown. Exit paths have different guards
totalAssetsasset.balanceOf(address(this))Includes strategy marks + idle clamp via OVaultViewLib
Virtual sharesOptionalFixed _decimalsOffset() = 3 (1000 virtual shares) for inflation protection

Integrator Guidance

  • Prefer previewRedeem when queued withdrawals may be non-zero.
  • Do not assume instant liquidity for large positions.
  • Treat this vault as ERC-4626 + protocol extensions, not a vanilla implementation.
  • The 4-arg redeem/withdraw overloads are intentional (Yearn-style maxLoss).

Design Stance

The contract is an ABI + storage facade. Core logic lives in modules. Future product features should not be added as new methods on CreatorOVault.

Integrator walkthrough (queues, previews, maxLoss): How to integrate with CreatorOVault.