Smart Contracts
Contract Architecture
The BaseCase protocol comprises a set of interconnected smart contracts deployed on Base (Ethereum L2).
Core Contracts
ShadowMarket
Primary contract managing the bonding curve phase and shadow share accounting.
interface IShadowMarket {
// State queries
function virtualYes() external view returns (uint256);
function virtualNo() external view returns (uint256);
function vaultBalance() external view returns (uint256);
function totalShadowYes() external view returns (uint256);
function totalShadowNo() external view returns (uint256);
function solvencyPercent() external view returns (uint256);
// Trading
function buyShadowYes(uint256 usdcAmount) external returns (uint256 shares);
function buyShadowNo(uint256 usdcAmount) external returns (uint256 shares);
function sellShadowYes(uint256 shares) external returns (uint256 payout);
function sellShadowNo(uint256 shares) external returns (uint256 payout);
// Graduation
function canGraduate() external view returns (bool);
function graduate() external;
}MarketFactory
Factory contract for deploying new prediction markets.
GraduationManager
Handles the graduation process and Order Book initialization.
OutcomeToken
ERC-20 token contract for YES and NO outcome tokens. One pair deployed per market at graduation.
External Dependencies
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Collateral token
UMA Oracle V3
0xfb55F43fB9F48F63f9269DB7Dde3BbBe1ebDC0dE
Resolution oracle
Deployment Addresses
MarketFactory
TBD
Pending deployment
GraduationManager
TBD
Pending deployment
TokenWrapper
TBD
Pending deployment
Configuration Parameters
INITIAL_VIRTUAL_RESERVE
100,000
Starting vYES and vNO
TRADE_FEE_BPS
200
2% fee (basis points)
GRADUATION_FEE_BPS
200
2% graduation fee
MIN_BONDING_DURATION
1 day
Minimum bonding period
MAX_BONDING_DURATION
30 days
Maximum bonding period
Events
Security Considerations
Access Control
buyShadowYes/No
Public
sellShadowYes/No
Public
graduate
Public (permissionless)
setParameters
Owner only
pause/unpause
Owner only
Reentrancy Protection
All state-modifying functions implement the checks-effects-interactions pattern and use reentrancy guards where applicable.
Oracle Trust
Market resolution relies on UMA Optimistic Oracle. Users should understand the dispute resolution mechanism and associated risks.
Last updated
