There is an inconsistency in the token address used for the USDC token on the zkSync network in the Deploy.s.sol
scipt. The s_zkSyncUSDC
state variable is declared with one address, but a different address is hardcoded in the Deploy::run
function when transferring USDC to the MerkleAirdrop
contract.
In the Deploy
script the s_zkSyncUSDC
address is declared as 0x1D17CbCf0D6d143135be902365d2e5E2a16538d4
.
But within the Deploy::run
function, there is a hardcoded address 0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4
that is used in the transfer call. The problem is that the s_zkSyncUSDC
address is not the same as the hardcoded address:
The airdrop
address will be not able to receive the required amount of USDC
due to the wrong hardcoded address used in the Deploy::run
function. This leads to unsuccessful deploy of the protocol and inability of the protocol to function properly.
Manual Review
Replace the hardcoded address in the Deploy::run
function with the s_zkSyncUSDC
variable to ensure the intended address is used for the transfer of the required USDC amount to the airdrop
address:
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.