✨ New!✨  C4 Cosmos leagueRead more »

Contest ran November 9November 11

3 day contest

FairSide contest

Decentralized Cost Sharing Network.

$30,000 worth of ETH

Total Awards

Fairside contest details

Introduction

FSD is distributed via an automated market maker (AMM) bonded to a capital pool of ETH. This is a continuous token model. FSD will be minted at variable prices along the curve. To combat the issues with standard bonding curves, we will use an augmented bonding curve (ABC) or similar mechanism. The ABC uses protection principles to create a more robust and controlled system with incentive alignments, while managing speculation. The ABC will allow for continuous network operation, grow the capital pool, reward early contributors and support scalability of the network.

Contributors support the network with staked contributions in exchange for FSD tokens, staking, tribute and governance rewards. There is no specific lockup period or waiting period to un-stake. During the Hatch Phase, contributors are incentivized to contribute and secure their position on the governance committee. Note: Qualifying contributors will be required to maintain an active membership to receive governance rewards (For specific details see Hatch Phase and Governance). In order to become a member, a membership fee must be paid to the network to receive cost sharing benefits.

Key Features of FairSide Protocol

  1. Deposit ETH to mint FSD tokens via a bonding curve scheme
  2. Accrue conviction score over time based on his/her FSD balance
  3. Vest his/her tokens on a linear vesting schedule with a cliff during the initial phases of the token
  4. Tokenize his/her conviction score into a non-fungible token
  5. Burn FairSide fungible and non-fungible tokens to withdraw ETH or DAI
  6. An ability to mint interest-bearing synthetic assets from pool liquidity
  7. Participate in the FairSide DAO to evolve the FairSide system
  8. The Guardian of the DAO can (i) accept a timelocked Admin change and (ii) cancel a proposal
  9. The Guardian of the DAO and the Admin can enable/disable off-chain voting
  10. A user can join the FairSide network by purchasing a membership and get a percentage of the fees collected in the network
  11. The network supports the full workflow of a cost share request
  12. The Assessors of the network assess the Cost Share Request actions by a 2-out-of-3 scheme

Contracts

├── contracts
│   ├── conviction
│   │   └── FairSideConviction.sol
│   ├── dao
│   │   └── FairSideDAO.sol
│   ├── dependencies
│   │   ├── ABDKMathQuad.sol
│   │   ├── CurveLock.sol
│   │   ├── DSMath.sol
│   │   ├── ERC20ConvictionScore.sol
│   │   ├── FairSideFormula.sol
│   │   ├── FSOwnable.sol
│   │   ├── SafeUint224.sol
│   │   ├── SafeUint32.sol
│   │   ├── SignatureWhitelist.sol
│   │   ├── TributeAccrual.sol
│   │   └── Withdrawable.sol
│   ├── interfaces
│   │   ├── chainlink
│   │   │   └── AggregatorV3Interface.sol
│   │   ├── IERC20ConvictionScore.sol
│   │   ├── IFairSideConviction.sol
│   │   ├── IFairSideDAO.sol
│   │   ├── IFSDNetwork.sol
│   │   ├── IFSD.sol
│   │   ├── IFSDVestingFactory.sol
│   │   ├── IFSDVesting.sol
│   │   ├── IFundingPool.sol
│   │   └── ITributeAccrual.sol
│   ├── Migrations.sol
│   ├── mocks
│   │   ├── MockConstants.sol
│   │   └── MockToken.sol
│   ├── network
│   │   └── FSDNetwork.sol
│   ├── shared
│   │   └── ProtocolConstants.sol
│   ├── timelock
│   │   └── Timelock.sol
│   └── token
│       ├── ABC.sol
│       ├── FSD.sol
│       ├── FSDVestingFactory.sol
│       └── FSDVesting.sol
├── migrations
│   └── 1_initial_migration.js
├── package.json
├── test
│   ├── ERC20ConvictionScore.test.js
│   ├── FairSideConviction.test.js
│   ├── FSDNetwork.test.js
│   ├── FSD.test.js
│   ├── FSDVestingFactory.test.js
│   ├── FSDVesting.test.js
│   ├── testing_instructions.md
│   └── utils
│       ├── eip712Sign.js
│       └── index.js
└── truffle-config.js

Points of interest

Check if:

  • The system's decentralization mechanisms are working as expected
  • The DAO functionality works as intended and does not introduce any vulnerability
  • The ABC contract properly calculates the true FSD value for any input, and the conversion between ETH and FSD is correct
  • The FSD token works correctly by minting the corresponding amount of tokens across phases, as well as burning the token balance to withdraw ETH
  • The tribute and governance tribute accrual is proporsional to the corresponding conviction score
  • Any claim should be reviewed for any exploits that allow draining of funds from the pool
  • Vesting contracts are created on a per-user basis and a user can only vest once, but accrue and utilize conviction score based on his/her vested amount
  • A user that is currently vesting tokens, can still participate seamlessly on the DAO
  • There is no inconsistency encountered in the liquidity issuance and redeeming as the liquidity is issued in non-fungible and fungible tokens
  • The cost share request workflow cannot be abused by the network users
  • Purchasing of membership works as expected