hats-finance / Fenix--0x9d7765a7ebd5b6322a30797a44a5428531970d3d

0 stars 1 forks source link

Audit Competition for Fenix-

This repository is for the audit competition for the Fenix-. To participate, submit your findings only by using the on-chain submission process on https://app.hats.finance/vulnerability .

How to participate

Project overiew

The Fenix protocol is a modified version of Chronos & Thena, introducing innovations and changes. More information about the changes can be found in the CHANGELOG.

At its core, the protocol is based on the ve(3,3) concept, with a new set of integrations and a variable set of rules.

Significant changes introduced from the initial implementation by Chronos & Thena include:

  1. Changes to the emission algorithm, with emissions increasing by 1.5% for the first 8 epochs and then decreasing by 1% with each epoch until reaching a minimum emission per epoch.
  2. Support for custom fees for dex v2 Pairs, including the ability to adjust the distribution between the FeeVault and lp providers in the pool from 0-100%.
  3. A change in the fee distribution approach, now distributing fees through an additional FeeVault contract.
  4. Support for configuring the Blast Governor for all main contracts.
  5. Support for configuring rebase token settings with Blast rebase tokens in pairs.
  6. Emission distribution through another protocol, Merkl, for gauge types 1 and 2 (ICHIVault & Manual positions)
  7. Other various changes.

A key goal of this initiative is to review and validate the changes made, as well as new implementations to support the protocol's deployment within the Blast L2 network.

Additional Context

Links

List of projects on which Fenix is based:

Audit competition scope

All contract code marked as [FULL] is within the scope. The tag [Only changes and their effect on other parts] means that only the part that has been changed relative to the implementations from Chronos or Thena is within scope, including any impact these changes may have on other parts of the system. Any vulnerabilities critical to the system leading to loss of funds/blockages are also considered within scope.

The contracts listed below are partially or fully in the scope

https://github.com/Satsyxbt/Fenix

|-- contracts/
    |-- bribes/
        |-- BribeFactoryUpgradeable.sol [Full]
        |-- BribeUpgradeable.sol [Only changes and their effect on other parts]
    |-- gauges/
        |-- GaugeFactoryUpgradeable.sol [Full]
        |-- GaugeUpgradeable.sol [Only changes and their effect on other parts]
    |-- core/
        |-- Fenix.sol [Full]
        |-- MinterUpgradeable.sol [Full]
        |-- VoterUpgradeable.sol [Only changes and their effect on other parts]
        |-- VotingEscrowUpgradeable.sol [Only changes and their effect on other parts]
    |-- dexV2/
        |-- Pair.sol [Only changes and their effect on other parts]
        |-- PairFactoryUpgradeable.sol [Full]
        |-- PairFees.sol [Full]
        |-- RouterV2.sol [Only changes and their effect on other parts]
    |-- integration/
        |-- BlastERC20RebasingManage.sol [Full]
        |-- BlastGovernorSetup.sol [Full]
        |-- FeesVaultFactory.sol [Full]
        |-- FeesVaultUpgradeable.sol [Full]
        |-- MerklGaugeMiddleman.sol [Full]

Out of scope

The following contracts are out of scope

|-- contracts/
    |-- bribes/
        |-- BribeProxy.sol
    |-- gauges/
        |-- GaugeProxy.sol
    |-- core/
        |-- VeArtProxyUpgradeable.sol
        |-- libraries
            |-- DateTime.sol
            |-- NumberFormatter.sol
    |-- mocks/**/*

Publicly Known Issues

The following issues are known:

Setup

Getting the code

Clone this repository

git clone --recursive -j8  https://github.com/Satsyxbt/Fenix

or

git clone https://github.com/Satsyxbt/Fenix
cd fenix
git submodule update --init --recursive

Enter into the directory

cd fenix

Running basic tests

npm run test