LikeRegistry collects a 10% fee from every match reward via matchRewards(). The fee rate is stored as uint256 immutable FIXEDFEE = 10, making it permanently fixed at 10% for the entire lifetime of the contract.
The owner has no function to change the fee rate. If the protocol needs to adjust fees for competitive or regulatory reasons, the only option is to deploy an entirely new LikeRegistry contract, losing all existing state (likes, matches, balances).
Likelihood:
The protocol will eventually need to adjust fees. With an immutable fee constant, every adjustment requires a full redeployment and state migration.
Impact:
Owner cannot respond to market conditions, competitive pressure, or governance decisions without a breaking redeployment. Users on the old contract retain their history (likes, matches) but would need to migrate to interact with a new fee structure.
A grep of the source confirms FIXEDFEE is declared immutable and no setter function exists in the contract. The immutable keyword bakes the value into bytecode at construction — no transaction can change it after deployment.
No setFee, updateFee, or similar function exists in the contract. The immutable keyword ensures the value is baked into the bytecode at construction and cannot be altered by any transaction.
Replace the immutable constant with a state variable and add an owner-restricted setter:
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.