Skip to content

equilibria-xyz/governance

Repository files navigation

Solidity Template

Uses

  • Hardhat: compile and run the smart contracts on a local development network
  • TypeChain: generate TypeScript types for smart contracts
  • Ethers: Ethereum library and wallet implementation
  • Waffle: tooling for writing comprehensive smart contract tests
  • Solhint: Solidity linter
  • Prettier Plugin Solidity: code formatter

This is a GitHub template, which means you can reuse it as many times as you want. You can do that by clicking the "Use this template" button at the top of the page.

Usage

Pre Requisites

Before running any command, make sure to install dependencies:

$ yarn

Compile

Compile the smart contracts with Hardhat:

$ yarn compile

This also generates the Typechain types

Test

Run the Mocha tests:

$ yarn test

To run tests against a Mainnet fork, set your ALCHEMY_KEY in .env and run

$ yarn test-integration

Gas Report

To get a gas report based on unit test calls:

$ yarn gasReport

Deploy contract to netowrk (requires Mnemonic and infura API key)

npx hardhat run --network rinkeby ./scripts/deploy.ts

Validate a contract with etherscan (requires API ke)

npx hardhat verify --network <network> <DEPLOYED_CONTRACT_ADDRESS> "Constructor argument 1"

Added plugins

About

Equilibria On-Chain Governance Proposals

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published