An implementation of zero-coupon bonds on the Ethereum blockchain. In-depth documentation on Hifi is available at docs.hifi.finance.
The built contract artifacts can be browsed via unpkg.com.
Our contracts are written in Solidity and our tests in TypeScript.
If you want to contribute, familiarity with Hardhat, Ethers, Waffle and TypeChain is needed.
Before running any command, make sure to install dependencies:
$ yarn install
Compile the smart contracts with Hardhat:
$ yarn compile
Compile the smart contracts and generate TypeChain artifacts:
$ yarn typechain
Lint the Solidity code:
$ yarn lint:sol
Lint the TypeScript code:
$ yarn lint:ts
Run the Prettier formatter:
$ yarn prettier
Run the unit tests:
$ yarn test:unit
Run the integration tests:
$ yarn test:integration
Generate the code coverage report:
$ yarn coverage
Delete the smart contract artifacts, the coverage reports and the Hardhat cache:
$ yarn clean
- Dan Robinson and Allan Niemerg, for their work on The Yield Protocol: On-Chain Lending With Interest Rate Discovery, which shaped many of our protocol design choices.
- Chainlink, for their Price Feeds.
- Compound Finance, for their Solidity math library.
- OpenZeppelin, for their outstanding smart contract library.
For any concerns or feedback, open an issue or visit us on Discord to discuss.
Everything is released under the LGPL3.0 license.