Badger Citadel contest details
- $71,250 USDC main award pot
- $3,750 USDC gas optimization award pot
- Join C4 Discord to register
- Submit findings using the C4 form
- Read our guidelines for more details
- Starts April 14, 2022 00:00 UTC
- Ends April 20, 2022 23:59 UTC
Assemby of the Knights
The high-level concepts and progress updates can be found on Medium.
An informal video offering a summary of the smart contracts.
Getting Started
Prerequisites
Installation
Install and update submodules:
git submodule init
git submodule update
Installation
Install hardhat dependencies:
npm install
Compilation
forge build
Tests
Because the tests interact with mainnet contracts, tests must be run in mainnet fork mode.
forge test --fork-url <mainnet-rpc-url>
⚠️ Some tests are currently failing, they are under active development
Hardhat deploy
Hardhat Ganace is more reliable than ganache itself for UI testing so we provide an integration with hardhat as well. This will be run the deploy script on default network, but don't be shy to use other hardhat options for it
npx hardhat run scripts/deploy-local.js
System Overview
An informal video offering a summary of the system.
Contract / Subsystem Overviews
- Access Control
- Citadel Token
- Staked Citadel
- Locked Citadel
- Emissions and Distribution
- Knighting Round
- Oracles
- Other
Code4rena: Audit Scope & Assumptions
-
Assume all allocated role permissions are correct in the setup of the system.
- e.g. holders of CONTRACT_GOVERNANCE_ROLE won't rug or set malicious permissions for other roles.
- However, if roles can be set in an unintended manner, this is a very valid finding,
See BaseFixture.sol for how the system components are wired together in practice.
What's in scope?
- All (non-test) contracts in this repo.
- The modified convex locker from our staked-citadel-locker repo.
- The MedianOracle from ampleforth.