Skip to main content

Contract Architecture & Patterns

File structure

plutus/
├── core/
│   ├── VaultFactory.hs        # Creates vault instances
│   ├── VaultRegistry.hs       # Global vault tracking
│   ├── FractionalizedVault.hs # Core vault functionality
│   └── VaultValidator.hs      # Main validation logic
├── governance/
│   ├── ProposalValidator.hs   # Governance validation
│   ├── ExecutorValidator.hs   # Proposal execution
│   └── VotingValidator.hs     # Vote handling
├── tokens/
│   ├── FractionalPolicy.hs    # Fractional token minting
│   └── GovernancePolicy.hs    # Governance token minting
├── windows/
│   ├── AssetWindowValidator.hs     # Asset contribution period
│   └── InvestmentWindowValidator.hs # Investment period
├── types/
│   ├── VaultTypes.hs          # Core type definitions
│   ├── GovernanceTypes.hs     # Governance related types 
│   └── WindowTypes.hs         # Window related types
└── utils/
   ├── Validators.hs          # Common validation functions
   └── Scripts.hs             # Script utilities