Solidity contracts for Umia: token launches (LBP auctions), Uniswap v4 spot markets, futarchic decision markets, and onchain treasury governance.
forge build
forge testVerbose output:
forge test -vvvRun focused suites:
forge test --match-path test/governance/*
forge test --match-path test/markets/*
forge test --match-path test/launchpad/*
forge test --match-path test/periphery/*
forge test --match-path test/reclaim/*
forge test --match-path test/liquidation/*Format before committing:
forge fmt| Path | Role |
|---|---|
src/core/ |
Hub registry, market manager, market stake, swap router, governance executor |
src/launchpad/ |
LBP factory and auction strategy |
src/periphery/ |
TWAP oracle, validation hooks, Uniswap v4 hook, TWAP unlock vault |
src/tokens/ |
Venture ERC-20 token |
src/libraries/ |
CPMM math, governance types/actions, Uniswap helpers |
src/liquidation/ |
Treasury liquidation |
src/reclaim/ |
Social recovery / claims utilities |
script/ |
Deployment scripts |
test/ |
Foundry test suites |
docs/ |
Protocol and contract reference docs |
certora/ |
Formal verification specs |
- Launch — A venture is created via
UmiaHub, runs a tailored auction throughUmiaLBP, and migrates liquidity to a Uniswap v4 spot pool. - Trade — The spot pool provides price discovery;
UmiaHookroutes fees and oracle observations. - Govern —
UmiaMarketCoreruns decision markets: users split venture tokens into virtual token positions per proposal (a minimal balanceOf ledger, not full ERC-6909), trade on CPMM pools, and settle by TWAP. The winning proposal executes against the venture treasury throughGovernanceExecutor.
See Architecture for contract-level detail and data flows.
- Architecture
- Development Guide
- Decision Market Flow
- Governance & Treasury Layer
- Building a Liquidation Proposal
- Spot Oracle
- Contract Upgrades
- New Chain Deployment
- Security Notes
- Formal Verification
Full index: Contract Reference
Core
Periphery
Launchpad
Governance libraries
| Script | Purpose |
|---|---|
script/Deploy.s.sol |
Deploy Umia contracts and wire hub registry pointers |
script/DeployV4Infra.s.sol |
Deploy local Uniswap v4 infra for dev chains |
script/DeployTestnetToken.s.sol |
Deploy a test ERC-20 for local/testnet use |
script/MineUmiaHookSalt.s.sol |
Mine CREATE2 salt for UmiaHook deployment |
For production deployment steps, follow New Chain Deployment.
Contracts are licensed per file, with the SPDX identifier on line 1 as the source of
truth. Full texts are in licenses/.
| Surface | License | What |
|---|---|---|
| Integration | MIT |
src/interfaces/**, the shared type libraries, and generic math. Build against Umia freely. |
| Mechanism | BUSL-1.1 |
Markets, settlement, governance, launchpad, hook, and vaults. Converts to MIT on the Change Date. |
| Vendored | MIT |
src/reclaim/** (Reclaim Protocol). |
BUSL-1.1 permits all non-production use — development, testing, testnet deploys, security research and audits — and restricts production deployment of a competing decision-market or venture-funding protocol until the Change Date (2030-08-11), when it converts to MIT. The Licensor may grant further exemptions in writing.
bash check-licenses.sh enforces the map in CI. MetaVesT is AGPL-3.0, so src/ declares
minimal local interfaces instead of importing it; the same check guards that boundary.