The BoostController contract implements an asymmetric permission model for boost delegations where only delegation recipients can remove delegations, while delegators have no control over their delegated boosts after creation. This creates a significant risk where delegators could have their boosts locked if recipients refuse or are unable to release the delegation.
No mechanism for delegators to revoke their delegations
Delegations can only be removed by recipients
Delegators lose control of their boost until expiry
In order to run the test you need to:
Run foundryup to get the latest version of Foundry
Install hardhat-foundry: npm install --save-dev @nomicfoundation/hardhat-foundry
Import it in your Hardhat config: require("@nomicfoundation/hardhat-foundry");
Make sure you've set the BASE_RPC_URL in the .env file or comment out the forking option in the hardhat config.
Run npx hardhat init-foundry
There is one file in the test folder that will throw an error during compilation so rename the file in test/unit/libraries/ReserveLibraryMock.sol to => ReserveLibraryMock.sol_broken so it doesn't get compiled anymore (we don't need it anyways).
Create a new folder test/foundry
Paste the below code into a new test file i.e.: FoundryTest.t.sol
Run the test: forge test --mc FoundryTest -vvvv
Delegators can lose access to their boost if recipients become unresponsive
Potential for malicious recipients to hold delegations hostage
No recourse for delegators in case of disputes
Manual code review
Add delegation revocation capabilities for delegator
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.