IFluidVaultFactory_OwnerWrapper ​
VaultFactoryOwner — owner wrapper for FluidVaultFactory that gates position transfers. Purpose: Sits as owner of VaultFactory. Passes through all admin methods to governance unchanged. Adds two restricted methods that can move position NFTs to the team multisig:
- transferPosition: for allowlisted vault IDs, callable by team / governance.
- transferDustPosition: for tiny (<1e5 raw debt) and risky (>=50% LTV) positions, callable by dustPosAuths / team / governance. Access control (3 tiers): governance (= Liquidity proxy admin) → full factory admin + config + all transfers team multisig → transferPosition, transferDustPosition (skip ratio check) dustPosAuths → transferDustPosition only (must pass ratio check) Transfer mechanism:
- spellApprove() delegatecalled via factory.spell() → sets getApproved[tokenId] = this
- factory.transferFrom(from, team, tokenId) → executes ERC721 transfer
- transferFrom clears approval atomically → no lingering approval Key thresholds: DEBT_THRESHOLD = 1e5 positions with raw debt > this cannot be dust-transferred RATIO_THRESHOLD = 500 50% LTV; dustPosAuths can only move positions at or above this ratio
Functions ​
readFromStorage ​
solidity
function readFromStorage(bytes32 slot_) external view returns (uint256 result_);getVaultAddress ​
solidity
function getVaultAddress(uint256 vaultId_) external view returns (address vault_);isVault ​
solidity
function isVault(address vault_) external view returns (bool);transferFrom ​
solidity
function transferFrom(address from_, address to_, uint256 id_) external;setDeployer ​
solidity
function setDeployer(address deployer_, bool allowed_) external;setGlobalAuth ​
solidity
function setGlobalAuth(address globalAuth_, bool allowed_) external;setVaultAuth ​
solidity
function setVaultAuth(address vault_, address vaultAuth_, bool allowed_) external;setVaultDeploymentLogic ​
solidity
function setVaultDeploymentLogic(address deploymentLogic_, bool allowed_) external;spell ​
solidity
function spell(address target_, bytes memory data_) external returns (bytes memory response_);transferOwnership ​
solidity
function transferOwnership(address newOwner) external;