Skip to content

Tags: compound-finance/compound-protocol

Tags

v2.8.1

Toggle v2.8.1's commit message
Add testnet configs and helpers

v2.8

Toggle v2.8's commit message
Final deployments (#83)

This patch adds the final deployments for the COMP distribution system (aka flywheel) to mainnet, kovan, and ropsten. It includes testnet harnesses, as well as the scripts that will be used to initialize all the pre-existing borrower COMP indices.

Co-authored-by: Max Wolff <[email protected]>
Co-authored-by: Geoff Hayes <[email protected]>

v2.7.18

Toggle v2.7.18's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Final deployments (#83)

This patch adds the final deployments for the COMP distribution system (aka flywheel) to mainnet, kovan, and ropsten. It includes testnet harnesses, as well as the scripts that will be used to initialize all the pre-existing borrower COMP indices.

Co-authored-by: Max Wolff <[email protected]>
Co-authored-by: Geoff Hayes <[email protected]>

v2.7-alpha1.0

Toggle v2.7-alpha1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Release revisions and network configurations (#73)

* Allow Fauceteer to handle non-standard EIP-20 Tokens

* Add the new eureka Kovan config with flywheel

* Add (old) new DSR rate model to mainnet config

audit-flywheel

Toggle audit-flywheel's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Pre-release branch for Flywheel (#40)

This patch adds a COMP distribution mechanism to the Comptroller nicknamed the 'flywheel'. Whenever a user interacts with the protocol, the *Allowed hooks now trigger tracking of a COMP supply and borrow index, and a distribution of COMP to user's whose supply or borrow balances may have changed, proportional to the fraction of total protocol interest they have accumulated.

Tracking interest between markets is accomplished via COMP 'speeds', which are a fraction of a total COMP rate being distributed, proportional to that market's share of total borrow interest (per block, at the time of recalculation). Anyone may trigger a recalculation of speeds at any time.

Tracking interest for a user is accomplished via per-market indices which track the amount of COMP that should have been distributed to the market, given the COMP speeds, the total COMP rate, and the number of blocks that have elapsed since the last update.

This patch also adds a Dripper, which distributes Comp (or any token) to a target (Comptroller) at some fixed rate. The goal of Dripper is to be simple and immutable. Anyone can poke the Dripper at any time to move Comp to the Comptroller as per the scheduled rate. If there is not enough Comp in the Dripper, we drip as much as we can and will try to drip the complete expected sum next time.

Co-authored-by: Max Wolff <[email protected]>
Co-authored-by: Geoffrey Hayes <[email protected]>

audit-2.7-alpha1.0

Toggle audit-2.7-alpha1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Pre-release branch for Flywheel (#40)

This patch adds a COMP distribution mechanism to the Comptroller nicknamed the 'flywheel'. Whenever a user interacts with the protocol, the *Allowed hooks now trigger tracking of a COMP supply and borrow index, and a distribution of COMP to user's whose supply or borrow balances may have changed, proportional to the fraction of total protocol interest they have accumulated.

Tracking interest between markets is accomplished via COMP 'speeds', which are a fraction of a total COMP rate being distributed, proportional to that market's share of total borrow interest (per block, at the time of recalculation). Anyone may trigger a recalculation of speeds at any time.

Tracking interest for a user is accomplished via per-market indices which track the amount of COMP that should have been distributed to the market, given the COMP speeds, the total COMP rate, and the number of blocks that have elapsed since the last update.

This patch also adds a Dripper, which distributes Comp (or any token) to a target (Comptroller) at some fixed rate. The goal of Dripper is to be simple and immutable. Anyone can poke the Dripper at any time to move Comp to the Comptroller as per the scheduled rate. If there is not enough Comp in the Dripper, we drip as much as we can and will try to drip the complete expected sum next time.

Co-authored-by: Max Wolff <[email protected]>
Co-authored-by: Geoffrey Hayes <[email protected]>

v2.7

Toggle v2.7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Rinkeby cUSDT and scenario fix for DAIInterestRateModelV2 (#37)

* Fix scenarios for DAIInterestRateModelV2

* Add a test rinkeby cUSDT using a faucet token

v2.6-rc3

Toggle v2.6-rc3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Rinkeby cUSDT and scenario fix for DAIInterestRateModelV2 (#37)

* Fix scenarios for DAIInterestRateModelV2

* Add a test rinkeby cUSDT using a faucet token

audit-oz-tether

Toggle audit-oz-tether's commit message
Tether Support and Gas Optimizations

This patch adds Tether support and creates a number of small gas optimizations. The goal is to reduce about 10-20K of gas on operations by simplying certain operations in the protocol, without significantly changing behavior. Specfically we:

1. Remove `checkTransferIn` as the now look at the effect of `transfer` to handle fees, which obviates the need for check transfer in.
2. Change our delegator contract to use `msg.data` directly, instead of re-encoding. This removes some unnecessary repacking.
3. Reduce potentially redunant SLOADs by memoizing values.
4. Do not re-accrue interest multiple-times per block (as the interest accrued is, by definition, zero, beyond the first transaction in a block for a given cToken).
5. Remove `localVars` structs as Solidity handles more variables correctly and it cleans up code.
6. In some cases, switch from `CarefulMath` to `SafeMath` (that is, revert instead of returning error codes). This is done in select places as it's technically a change of behavior and needs to be handled carefully.
7. Add Tether to Price Oracle Proxy.
8. Bump up to 0.5.16, but:
9. Update Solidity 0.6.x-style contract inheritence (that is, interfaces cannot declare constants, etc)

audit-2.6-alpha2.0-rev

Toggle audit-2.6-alpha2.0-rev's commit message
Tether Support and Gas Optimizations

This patch adds Tether support and creates a number of small gas optimizations. The goal is to reduce about 10-20K of gas on operations by simplying certain operations in the protocol, without significantly changing behavior. Specfically we:

1. Remove `checkTransferIn` as the now look at the effect of `transfer` to handle fees, which obviates the need for check transfer in.
2. Change our delegator contract to use `msg.data` directly, instead of re-encoding. This removes some unnecessary repacking.
3. Reduce potentially redunant SLOADs by memoizing values.
4. Do not re-accrue interest multiple-times per block (as the interest accrued is, by definition, zero, beyond the first transaction in a block for a given cToken).
5. Remove `localVars` structs as Solidity handles more variables correctly and it cleans up code.
6. In some cases, switch from `CarefulMath` to `SafeMath` (that is, revert instead of returning error codes). This is done in select places as it's technically a change of behavior and needs to be handled carefully.
7. Add Tether to Price Oracle Proxy.
8. Bump up to 0.5.16, but:
9. Update Solidity 0.6.x-style contract inheritence (that is, interfaces cannot declare constants, etc)