The Auction::businessAddress
is the designated address that receives all USDC
funds whenever someone purchases ZENO
tokens by calling Auction::buy
. This address is set once during deployment and is immutable.
This parameter is critical because it collects all USDC
from purchases. After the auction closes, all collected USDC
are transferred from this address back to ZENO
for redemption. If the businessAddress
is ever compromised or becomes inaccessible, all incoming auction funds would be lost, and subsequent redemptions would be impossible.
Additionally, although the documentation (see: https://github.com/Cyfrin/2025-02-raac/blob/main/docs/core/zeno/ZENO_BOND.md#ownership-and-access-control-2) references an updateBusinessAddress
function for updating this address in case of compromise, no such function is actually implemented in the contract.
The businessAddress
address is set in the constructor and cannot be modified after contract deployment.
During calls to Auction::buy
, all funds are sent directly to this address. If it becomes compromised during the auction, participants will unknowingly continue sending funds to the compromised address. Since there is no mechanism to redirect these funds, the entire auction's proceeds could be lost, making any future redemptions impossible.
Manual review.
Implement the missing Auction::updateBusinessAddress
function.
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.