MultiCollateralVault
MultiCollateralVault is the custody contract for supported collateral assets.
Responsibilities
- Accept supported collateral deposits.
- Track asset-specific vault accounting.
- Enforce pause and emergency controls.
- Execute proof-backed withdrawals.
- Coordinate with state commitment roots.
Design goals
| Goal | Meaning |
|---|---|
| Multi-asset support | USDC, USDT, and future assets can be isolated by asset configuration |
| Cross-asset isolation | Accounting errors in one asset must not corrupt another |
| Withdrawal verification | Claims execute only when backed by valid roots and proofs |
| Emergency controls | Operators can pause unsafe paths under governance constraints |
Test surface
The vault is exercised by behavior tests covering deposits, withdrawals, decimal precision, ERC-20 edge cases, rate limiting, pause governance, access control, and adversarial scenarios. An invariant suite asserts solvency, claim-tracking accuracy, and pause-state safety across randomized action sequences.
Integration notes
The web application and SDK should:
- show active vs committed balances separately,
- avoid exposing server-only proof keys,
- display transaction lifecycle clearly,
- handle wrong-network and user-rejected-signature states.