config.gateway is interchangeably used as layerZero endpoint.
The gateway address is also used interchangably used as layerZeroEndpoint address in multiple instances.
This would result in reverts when calling the layerzero endpoint due to wrong implementation.
from the interface:
https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/interfaces/IL1Sender.sol#L24
gateway is the address of token's gateway.
https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/L1Sender.sol#L114
https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/L1Sender.sol#L130
This is also used as the layerZeroEndpoint address which would always revert due to mismatched implementation.
Cross-chain functionality would revert due to mismatch implementation
Manual Review
The config.gateway should be different from layerZero endpoint 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.