@coraprotocol/core v0.2.5
Cora Protocol Monorepo
Non liquidatable loans
Requirements
- Node.js version 16.13.1 (we recommend getting nvm)
Getting Started
# change the node version 16.13.1
nvm use
# install dependencies
yarn
Next you'll need to create a .env file. An example file .env.example is provided for you to use as a starting point. submodule "modules/cora-governance-initiation" path = modules/cora-governance-initiation url = https://github.com/Cora-Protocol/cora-governance-initiation.git branch = main
submodule "lib/forge-std" path = lib/forge-std url = https://github.com/foundry-rs/forge-std
Commands
yarn prepare:subgraph
yarn compile:protocol
yarn start:app
yarn start:storybook
Submodules
This repository uses other Cora repos as Git submodules.
They are located at modules
, we include their Solidity files at contracts/modules
Create a submodule
git submodule add https://github.com/Cora-Protocol/<submodule_name>.git modules/<submodule_name>
Note that only the contracts from a submodule that are used in some way (e.g. inheritance) from these project contracts will be available as Hardhat artifacts.
Otherwise, it can be imported here HardhatModulesArtifacts.sol
which is just a dummy contract to make sure Hardhat will include the module contracts in the artifacts folder.
To clone the repo with submodules:
git clone https://github.com/Cora-Protocol/dev.git
git submodule update --init --recursive
Update submodules in this repo:
git submodule update --recursive --remote
To push changes to a submodule to its own repo:
cd [path/to/submodule]
git push
cd ..
Governance initiation
We are doing it in steps, facilitated by the scripts/governance_initiation/generateGovernanceInitiation.ts
script.
- We deploy
GovernanceInitiationData.sol