Contract Architecture
System Diagram
Contracts
| Contract | Solidity | Role |
|---|---|---|
| Obelisk | ^0.8.0 | Core ERC-20 token with all protocol logic: mint, stake, burn, payouts, referrals |
| BuyAndBurn | ^0.7.6 | Manages Uniswap V3 LP position, swaps WETH for LODE, burns purchased LODE |
| PrelodeBurnRedeemer | ^0.8.20 | Verifies Merkle proofs of Solana PRELODE burns, distributes LODE to claimants |
Obelisk Inheritance
Obelisk inherits from six abstract modules:| Module | Responsibility |
|---|---|
| GlobalInfo | Daily update loop, cycle payout state, share rate, mint cost |
| MintInfo | Mint creation, claiming, batch operations, tRank tracking |
| StakeInfo | Stake lifecycle, share calculation, penalties |
| BurnInfo | Burn tracking, cycle-28 burn pool accounting |
| OwnerInfo | Ownership with explicit initialOwner (not deployer) |
| ReferralInfo | Referral codes, lock modifier, reward tracking |
ERC20 (custom Solmate-derived, no EIP-2612) and ReentrancyGuard (OpenZeppelin).
Security Model
- No upgradeability: All contracts are immutable after deployment
- No admin pause: There is no pause mechanism
- Explicit ownership: Constructors accept
initialOwner— the deployer does not become owner - Reentrancy protection: All state-changing user functions use
nonReentrant - Permissionless operations:
distributeETH,triggerPayouts,buynBurn,collectFeesare callable by anyone (incentivized by 0.33% fee)
Dependencies
| Contract | OpenZeppelin | Forge Std |
|---|---|---|
| Obelisk | v5.0.1 | v1.9.7 |
| BuyAndBurn | v3.4.0-solc-0.7 | v1.7.4 |
| PrelodeBurnRedeemer | v5.0.1 | v1.9.7 |