Asset Management
Core Asset States
Global Asset Tracking
uint128 internal _totalIdle; // Unallocated assets
uint128 internal _totalDebt; // Allocated assets
uint256 public sharePriceWaterMark; // High watermark for performance
// Cross-chain tracking
uint256 public totalpendingXChainInvests;
uint256 public totalPendingXChainDivests;Per-Vault Asset Tracking
/// @notice A struct describing the status of an underlying vault
/// @dev Contains data about a vault's chain ID, share price, oracle, and more
struct VaultData {
/// @dev The ID of the chain where the vault is deployed
uint64 chainId;
/// @dev The last reported share price of the vault
uint256 superformId;
/// @dev The oracle that provides the share price for the vault
ISharePriceOracle oracle;
/// @dev The number of decimals used in the ERC4626 shares
uint8 decimals;
/// @dev The total assets invested in the vault
uint128 totalDebt;
/// @dev The address of the vault
address vaultAddress;
}
mapping(uint256 => VaultData) public vaults;Asset Operations
Direct Asset Management
Cross-Chain Asset Management
NFT Position Management
Fee Management
Fee Structure
Fee Assessment
Asset Accounting
Total Assets Calculation
Share Price Updates
Asset Safety
Critical Invariants
Balance Validation
Oracle Integration
Share Price Oracle
Hurdle Rate Oracle
Last updated