The FundFlowController contract uses the unbondingPeriod variable to track the unbonding duration for vault groups in the Chainlink staking contract. However, if Chainlink updates its unbonding period, the FundFlowController will be out of sync, as there is no mechanism in place to update this variable. This misalignment between the two contracts can cause operational issues, such as failed withdrawals or deposits, because the unbondingPeriod will be outdated.
The unbondingPeriod variable in the FundFlowController is initialized when the contract is deployed and remains static thereafter:
The problem arises if Chainlink updates its unbonding period in the staking contract. Since the unbondingPeriod in FundFlowController is not updatable, the protocol will continue using the outdated value. This misalignment can cause issues during vault group unbondings, as the unbondingPeriod calculations will not match those of the Chainlink staking contract. As a result, withdrawals and deposits may revert unpredictably.
If the unbondingPeriod is out of sync with Chainlink's updated value, the protocol's unbonding and claim periods will be calculated incorrectly. This could lead to failed transactions, causing disruptions in the protocol’s operations, such as withdrawals and deposits reverting unexpectedly. Over time, this could erode user confidence and result in financial losses.
Manual
Introduce a function in the FundFlowController contract that allows the unbondingPeriod to be updated dynamically in case of changes to the Chainlink staking contract. This will ensure that the protocol remains in sync with Chainlink’s current staking parameters and prevent operational misalignment.
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.