Skip to content

Latest commit

 

History

History
86 lines (58 loc) · 2.41 KB

README.md

File metadata and controls

86 lines (58 loc) · 2.41 KB

MultiRewardsChef

This repository offers a suite of smart contracts designed to facilitate multi-token reward distribution across various DeFi scenarios. Developed using Foundry, these contracts are open-source and intended as a public good to benefit the broader blockchain community.


Disclaimer

Important: These contracts have not undergone formal security audits. They are provided "as-is" without any warranties or guarantees. The author assumes no responsibility for any issues, losses, or damages arising from the use of this code. Users are advised to conduct their own thorough testing and audits before deploying these contracts in a production environment.


Contracts Overview

  1. MasterChefRewarder: Integrates with MasterChef to provide multi-token rewards for liquidity providers.
  2. ChefIncentivesRewarder: Extends ChefIncentivesController, rewarding users holding aTokens or LP tokens.
  3. StandaloneRewarder: Enables direct token staking and rewards without external dependencies.
  4. StandaloneRewarderModern: A modernized version of StandaloneRewarder that uses solidity 0.8 with custom errors, modern libraries like SafeERC20, Ownable2Step, and removal of SafeMath.

Each directory includes a README.md file with detailed information on the contract's purpose, implementation instructions, and usage examples.


Getting Started

Ensure Foundry is installed. If not, follow the instructions at Foundry's official site.

Installation

  1. Clone the repository:

    git clone https://github.com/gas-limit/MultiRewardsChef.git
    cd MultiRewardsChef
  2. Install dependencies:

    forge install

Build the Project

Compile the contracts:

forge build

Run Tests

Execute the test suite:

forge test

Contribution

Contributions are welcome. To contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Description of changes"
  4. Push the branch:
    git push origin feature-name
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Acknowledgment

This project is released as a public good to support and enhance the DeFi ecosystem. For questions or support, please open an issue on GitHub.