ฮฉ Olympus Smart Contracts

April 14, 2026 ยท View on GitHub

image

This is the main Olympus smart contract development repository.

๐Ÿ”ง Setting up local development

Requirements

Local Setup Steps

# Clone the repository
git clone https://github.com/OlympusDAO/olympus-contracts.git

# Install dependencies
yarn install

# Set up environment variables (keys)
cp .env.example .env # (linux)
copy .env.example .env # (windows)

# compile solidity, the below will automatically also run yarn typechain
yarn compile

# if you want to explicitly run typechain, run
yarn compile --no-typechain
yarn typechain

# run a local hardhat node
yarn run start

# test deployment or deploy
# yarn run deploy:<network>, example:
yarn run deploy:hardhat

Local Setup Steps (with Docker)

A Docker image is available to simplify setup.

# First setup keys, to do this first copy as above
cp .env.example .env # (linux)
copy .env.example .env # (windows)

# Populate ALCHEMY_API_KEY and PRIVATE_KEY into `.env` afterwards
# Then, start the node
make run

๐Ÿ“œ Contract Addresses

Notes for localhost

  • The deployments/localhost directory is included in the git repository, so that the contract addresses remain constant. Otherwise, the frontend's constants.ts file would need to be updated.
  • Avoid committing changes to the deployments/localhost files (unless you are sure), as this will alter the state of the hardhat node when deployed in tests.

๐Ÿ“– Guides

Contracts

Testing

Security Exceptions

Current unresolved findings are tracked inline in .trivyignore.

  • @openzeppelin/contracts-upgradeable@3.4.2 advisories are ignored for now because remediation requires migration to OpenZeppelin 4.x, which is currently out of scope.
  • Remaining Docker image OS findings come from upstream node:22-bookworm-slim Debian packages. These should be revisited as upstream base-image patches are published.

Node Version Note

The repository currently targets Node.js 22 in CI and local tooling. This is a temporary compatibility measure while resolving Hardhat compiler-download failures observed under Node.js 24.