The setVaultDeploymentParams function allows the owner to update vaultDeploymentThreshold and vaultDeploymentAmount. This affects the behavior of checkUpkeep and performUpkeep functions, which determine when new vaults should be deployed. Improperly setting these parameters can lead to unexpected behavior, where new vaults are not deployed as intended.
The setVaultDeploymentParams function allows for updates to the vaultDeploymentThreshold, which is used by the checkUpkeep function to return a boolean indicating whether a new batch of vaults should be deployed. If the vaultDeploymentThreshold is set too low, the checkUpkeep function may return false more frequently, preventing the performUpkeep function from deploying new vaults.
When the threshold is improperly set, performUpkeep will fail to deploy new vaults as expected, since the function reverts if the condition (vaults.length - globalVaultState.depositIndex) >= vaultDeploymentThreshold is not met. This could cause a disruption in the expected deployment of vaults.
If the vaultDeploymentThreshold is set too low, new vaults will not be deployed when needed, which could lead to a significant operational delay. This would negatively affect the performance of the protocol, potentially limiting liquidity availability and leading to inefficiencies in the system.
Manual review.
There should be safeguards in place when updating the vaultDeploymentThreshold in the setVaultDeploymentParams function. Specifically:
Implement checks to ensure that the vaultDeploymentThreshold is set within a reasonable range based on the number of already deployed vaults or liquidity demands.
Consider adding validation logic that prevents setting thresholds too low or high, which could disrupt the proper functioning of the vault deployment process.
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.