hifi
hifi copied to clipboard
Monorepo implementing the Hifi fixed-rate, fixed-term lending protocol
In the Hifi monorepo, all the interface function implementations use the "override" modifier. The issue here is that the "override" modifier has been [made optional for interface functions since Solidity...
Currently, the project's environment variables are loaded from the `.env` file stored in the local project's main directory. The `.env` has those variables stored in plaintext format. Due to the...
A "pow" function with a normalization factor would joggle with the numbers in such a way that it staves off overflows when the time to maturity is large. See Yield's...
There's no point in having them as "public" because they are called by no other function in the contract. Marking them as "external" would save a bit of gas.
In https://github.com/hifi-finance/hifi/commit/087d03b412ad3e1109d0d4f56dec631ffc15af93, we eliminated the `tasks` package, and moved the tasks in one of the smart contracts package (the one associated with each contract deployed). One of the side-effects of...
## Problem Statement In the [hTokenOutForUnderlyingIn](https://github.com/hifi-finance/hifi/blob/6fbaf2b2d0af49b071a29d3157ed5e10da460b1c/packages/amm/contracts/math/YieldSpace.sol#L143) and the [underlyingOutForHTokenIn](https://github.com/hifi-finance/hifi/blob/6fbaf2b2d0af49b071a29d3157ed5e10da460b1c/packages/amm/contracts/math/YieldSpace.sol#L253) functions, the last operation is a subtraction: ```solidity hTokenOut = hTokenReserves - newHTokenReserves; ``` And: ```solidity normalizedUnderlyingOut = normalizedUnderlyingReserves - newNormalizedUnderlyingReserves;...
The current approach is to expect the end user to *know* the path of the Hifi-related contract they want to interact with. Refer to the [code snippets](https://github.com/hifi-finance/hifi/tree/3308a45a03838da9a31458ceed0aeef3a7152615/packages/amm#javascript) in the README...
All arguments come normalized in the functions defined in `YieldSpace.sol`, except for the `timeToMaturity` argument, which is normalized internally in the library. The style would be more consistent if we...
It would reduce the number of contract calls the protocol admin has to undertake when initializing the protocol. Ditto for "collateralizationRatio" and "liquidationIncentive " in "listCollateral".
When only 1/3 or 2/3 of packages have been modified, the Coveralls GitHub action deletes the previous coverage report for the non-modified packages.