Prerequisites
The UMA CTF Adapter uses Foundry as its development framework. Foundry is a fast, portable, and modular toolkit for Ethereum application development.Install Foundry
To install Foundry, run:Foundry has daily updates. Run
foundryup regularly to update forge and cast to the latest versions.Clone the Repository
Clone the repository with submodules:Install Dependencies
Update Forge dependencies:- OpenZeppelin contracts
- UMA Protocol contracts
- Conditional Tokens Framework
Build Contracts
Compile the smart contracts:out/ directory. The project is configured with the following compiler settings:
- Solidity version:
0.8.15 - Optimizer runs:
1,000,000 - Gas reports enabled
Build Configuration
The project’s build configuration is defined infoundry.toml:
Run Tests
Execute the test suite:Verbose Test Output
For detailed stack traces when tests fail, use the-vvv flag:
-v: Show test results-vv: Show logs-vvv: Show stack traces for failed tests-vvvv: Show stack traces for all tests and setup-vvvvv: Show full traces including internal calls
Fuzz Testing
The project includes fuzz testing configuration:Verify Setup
To verify your environment is correctly configured, run:Next Steps
Configuration
Learn about constructor parameters and environment variables
Deploy Contract
View official deployments and deploy to your own network