The Compound On-Chain Protocol
BSD-3-CLAUSE License
Bot releases are hidden (Show)
Published by jflatow over 4 years ago
This is the final release for the COMP distribution mechanism to the Comptroller. It contains the deployment configurations for mainnet, kovan, and ropsten, as well as the code changes for the protocol.
Once applied, users of 'comped' markets will receive units of the Compound governance token whenever they interact with the protocol. COMP is distributed at a steady rate (controlled by the admin), and earned based on the fraction of total supply or borrow held by each user within a market, and that market's share of total interest generated. Above a certain threshold, earned COMP is automatically transferred to the user. COMP which has not yet been transferred may be claimed explicitly.
This patch also adds a Reservoir contract, which will drip COMP to the Comptroller contract at a constant rate, whenever poked. The Reservoir effectively guarantees the Comptroller will have enough COMP to distribute, up to a maximum rate.
The Comptroller also now tracks the entire list of markets that have ever been supported. The existing Market struct is modified to track an additional 'isComped' field.
Published by jflatow over 4 years ago
This patch adds a COMP distribution mechanism to the Comptroller. Once applied, users of 'comped' markets will receive units of the Compound governance token whenever they interact with the protocol. COMP is distributed at a steady rate (controlled by the admin), and earned based on the fraction of total supply or borrow held by each user within a market, and that market's share of total interest generated. Above a certain threshold, earned COMP is automatically transferred to the user. COMP which has not yet been transferred may be claimed explicitly.
This patch also adds a Reservoir contract, which will drip COMP to the Comptroller contract at a constant rate, whenever poked. The Reservoir effectively guarantees the Comptroller will have enough COMP to distribute, up to a maximum rate.
The Comptroller also now tracks the entire list of markets that have ever been supported. The existing Market struct is modified to track an additional 'isComped' field.
This patch also contains configuration for connecting to a fully verifiable Kovan flywheel testnet.
Published by jflatow over 4 years ago
This release includes changes to CToken in order to support listing Tether. In particular, underlying transfer fees are accounted for properly when moving underlying in and out of the CToken.
This release also creates a number of small gas optimizations. The goal is to reduce about 10-20K of gas on operations by simplifying certain operations in the protocol, without significantly changing behavior.
This release also includes a new deploy script and Compound Lens contract. The lens can be used for fetching data from the protocol in bulk, to cut down on web3 provider usage.
Finally, this release includes a change to the DAI interest rate model to bump gapPerBlock
from 0.05%
to 2%
.
More specifically with regards to CToken changes:
checkTransferIn
in favor of looking at the effect of transfer
to handle fees, which obviates the need for checking the transfer in.msg.data
directly, instead of re-encoding. This removes some unnecessary repacking.localVars
structs as Solidity handles more variables correctly and it cleans up code.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.Published by jflatow over 4 years ago
This release includes the deployment of a new PriceOracleProxy which allows the SAI price to be set once by the guardian, at some point in the future. This is in preparation for the emergency shutdown of SAI - at which point each SAI will become worth a fractional amount of Ether. The proxy will not accept a SAI price >= 0.1 ETH, as a sanity check, given the current price of ETH.
Published by jflatow over 4 years ago
This patch adds the pause by market functionality to Comptroller, giving finer-grained control to the pause guardian. Mint and borrow may now be paused for individual markets, instead of globally for all markets at once. A new event type is emitted by the Comptroller to indicate when an action is paused in a market.
This patch also includes a new 'lens' contract, which is designed to cut down on bandwidth from off-chain clients to web3 providers, for accessing data from the Compound markets.
Published by hayesgm over 4 years ago
This patch adds the Comp Token and Governor Alpha contracts. The Comp token represents the administrative rights of the protocol, divided into 10,000,000 fungible tokens. These tokens have governance rights in the Governor contract, which in turn will become the admin of the Compound Timelock that administers the Compound Comptroller and cToken contracts.
The Comp Token is a basic Erc-20 with an ability to delegate to third parties. The goal of delegation is that an account could delegate his/her voting rights in the Governor to a hot-wallet or trusted third-party which is paying closer attention to governance proposals.
The Governor Alpha system is a simple vote-based governor which allows Comp Token holders to propose and ratify specific Ethereum actions. For instance, a user with sufficient tokens could propose supporting a new market in the Compound Comptroller. All Comp Token delegees will then have the ability over some period to vote on that proposal, and if its ratified, it can be automatically executed (through the Compound Timelock).
Delegation is unique in the fact it's tracked by block, forever, for each account. This allows us to say "how many delegated votes existed for X account at block Y." We then say that your votes for a given proposal are the amount of votes you had delegated at the time the proposal was created. In this way, we prevent sybil attacks without forcing users to lock tokens before voting.
Patch Notes 1
Patch Notes 2
This patch builds our official release candidates for the Comp and Governor Alpha systems. We make a number of minor changes from the 2.5 Alpha 2 version, including:
Patch Notes 3
This patch is a very small update to our Comp and Gov contracts to improve formatting and grammar. We also:
Published by hayesgm over 4 years ago
Note: this is a pre-release version available exclusively for testing and evaluation. A protocol specification is attached. For information on security audits and to report issues, please visit the Compound Security page.
This patch adds the Comp Token and Governor Alpha contracts. The Comp token represents the administrative rights of the protocol, divided into 10,000,000 fungible tokens. These tokens have governance rights in the Governor contract, which in turn will become the admin of the Compound Timelock that administers the Compound Comptroller and cToken contracts.
The Comp Token is a basic Erc-20 with an ability to delegate to third parties. The goal of delegation is that an account could delegate his/her voting rights in the Governor to a hot-wallet or trusted third-party which is paying closer attention to governance proposals.
The Governor Alpha system is a simple vote-based governor which allows Comp Token holders to propose and ratify specific Ethereum actions. For instance, a user with sufficient tokens could propose supporting a new market in the Compound Comptroller. All Comp Token delegees will then have the ability over some period to vote on that proposal, and if its ratified, it can be automatically executed (through the Compound Timelock).
Delegation is unique in the fact it's tracked by block, forever, for each account. This allows us to say "how many delegated votes existed for X account at block Y." We then say that your votes for a given proposal are the amount of votes you had delegated at the time the proposal was created. In this way, we prevent sybil attacks without forcing users to lock tokens before voting.
Patch Notes 1:
Patch Notes 2:
This patch builds our official release candidates for the Comp and Governor Alpha systems. We make a number of minor changes from the 2.5 Alpha 2 version, including:
Patch Notes 3:
This patch includes minor updates:
Published by hayesgm almost 5 years ago
Compound v2.31 Release Candidate
Published by hayesgm almost 5 years ago
Compound v2.3 Release Candidate