This is the main Olympus smart contract development repository.
# 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
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
localhostdeployments/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.deployments/localhost files (unless you
are sure), as this will alter the state of the hardhat node when deployed
in tests.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.node:22-bookworm-slim Debian packages. These should be revisited as upstream base-image patches are published.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.
Solidity
55.8%
TypeScript
28.9%
JavaScript
13.9%
This is the main Olympus smart contract development repository.
# 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
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
localhostdeployments/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.deployments/localhost files (unless you
are sure), as this will alter the state of the hardhat node when deployed
in tests.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.node:22-bookworm-slim Debian packages. These should be revisited as upstream base-image patches are published.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.
Solidity
55.8%
TypeScript
28.9%
JavaScript
13.9%