- TvlMathLib.sol: Safe-math helpers for TVL, APR, APY, basis-point operations (pure)
- RiskMathLib.sol: Volatility, Sharpe/Sortino, z-score calculations (pure)
- PriceOracleAdapter.sol: Normalize chain-specific price feeds to unified format (view)
- LiquidityOracleAdapter.sol: Fetch & scale on-chain DEX liquidity data (view)
- RiskScoreLib.sol: Compose math + oracle data => risk score (pure)
- HealthFactorLib.sol: LTV / collateral health calculation (pure)
- BridgeEncoder.sol: ABI ↔ FA2 packing/unpacking for bridge messages (pure)
- SigVerifier.sol: ECDSA/Ed25519 signature checks for off-chain attestations (pure)
- MetricsCoordinator.sol: Stores oracle addresses + pushes aggregated metrics; only owner-settable config
- VeritasVaultView.sol: Stateless read-only facade exposing consolidated TVL & risk endpoints
Note: All business logic lives in libraries to maximize purity. Stateful contracts only store config/owner pointers.
veritasvault-chain/
│
├── contracts/ # Generated + hand-written chain code
│ ├── solidity/
│ │ ├── libs/ # *_Lib.sol (stateless)
│ │ ├── adapters/ # Oracle adapters
│ │ ├── utils/ # Reusable helpers (SafeCast, FixedPoint)
│ │ ├── facades/
│ │ └── coordinators/
│ └── tezos/
│ ├── michelson/ # *.tz output
│ └── ligo/ # Optional higher-level sources
│
├── dsl/ # Domain-specific language
│ ├── spec/ # EBNF, type system docs
│ ├── examples/ # VV sample programs
│ └── src/
│ └── ... # Parser, IR, tests
│
├── compiler/ # Rust-based codegen
│ ├── src/
│ └── wasm/
│
├── deployments/
│ ├── hardhat/ # EVM deploy scripts + config
│ └── taqueria/ # Tezos deploy scripts
│
├── test/
│ ├── unit/ # JS/TS & Python fast-check
│ └── integration/ # Cross-chain parity tests
│
├── scripts/ # Dev & maintenance tooling
│
├── ci/ # GitHub Actions, gas snapshots
│
└── docs/ # MkDocs site, tutorials, audit reports
- @veritasvault/dsl-compiler: CLI & WASM pkg
- @veritasvault/evm-libs: Precompiled Solidity libraries & ABIs
- @veritasvault/tezos-libs: Michelson binaries & views
- Confirm contract list with stakeholders.
- Stub library interfaces in both targets to unblock DSL codegen.
- Integrate folders into existing VV GitHub org.