incentive-contracts
@zerolendCompleted
Total reward
$80,000
Status
Completed
Findings submitted
609
Start date
8 Jan 2024
End date
25 Jan 2024
Zerolend Competition
ZeroLend is the leading lending market on zkSync!
What are ZeroLend governance contracts
A walkthrough of the governance contracts will be done on 9th of January.
Prize distribution and scoring
The prize distribution works as follows:
- Security reviewers will score points for each finding.
- Prizes are distributed proportionally to the number of points scored.
- A High Severity is worth 10 points, and a Medium Severity 3 points.
- Duplicate findings will be resolved using a scoring formula that incentivizes unique findings.
- Duplicate findings will be resolved using the following scoring formula that incentivizes unique findings:
- Each duplicate finding will be scaled down by , where is the # of duplicates.
- 10% of the prize pot is reserved for Low Severity or informational findings. These reports are judged based on quality and researchers are then ranked from 1st to 5th for the purpose of prize allocation:
- 1st: $4k
- 2nd: $2k
- 3rd: $1k
- 4th: $500
- 5th: $500
Scope
Basic POC test
import { loadFixture } from "@nomicfoundation/hardhat-toolbox/network-helpers";import { expect } from "chai";import { deployFixture } from "./fixtures/core";
describe("Basic", function () { it("Should deploy token properly", async function () { const { token, owner } = await loadFixture(deployFixture); expect(await token.owner()).to.equal(owner.address); expect(await token.owner()).to.equal(owner.address); });});
Zerolend incentive-contracts
- Repository: zerolend/incentive-contracts
- Commit: 3fbcd817c310d1682d2301d23233f0fc7e7d1f00
- Total LOC: 2,401
- Files: all files in
src
File | blank | comment | code |
---|---|---|---|
./ZeroLocker.sol | 123 | 268 | 732 |
./ZLRewardsController.sol | 89 | 215 | 512 |
./ZeroLockerTimelock.sol | 46 | 179 | 297 |
./FeeDistributor.sol | 68 | 11 | 228 |
./StreamedVesting.sol | 50 | 22 | 186 |
./interfaces/IZLRewardsController.sol | 39 | 9 | 73 |
./interfaces/IZeroLocker.sol | 24 | 4 | 63 |
./Epoch.sol | 20 | 14 | 58 |
./interfaces/IStreamedVesting.sol | 9 | 1 | 43 |
./StakingEmissions.sol | 11 | 10 | 40 |
./VestedZeroLend.sol | 12 | 10 | 39 |
./BonusPool.sol | 9 | 10 | 35 |
./ZeroLend.sol | 8 | 10 | 27 |
./interfaces/IZeroLend.sol | 3 | 10 | 15 |
./interfaces/IFeeDistributor.sol | 6 | 10 | 15 |
./utils/RecoverERC20.sol | 4 | 8 | 11 |
./interfaces/IIncentivesController.sol | 2 | 1 | 9 |
./interfaces/IBonusPool.sol | 5 | 1 | 7 |
./interfaces/IERC20Burnable.sol | 3 | 1 | 6 |
./interfaces/IWETH.sol | 2 | 1 | 5 |
SUM: | 533 | 795 | 2401 |
Out of Scope issues
- Previous security reviews.
- Automated findings from 4naly3er.