TempleTeleporter._lzReceive assumes to address length incorrectly.
TempleTeleporter.send converts to in the message from 20 bytes to 32 bytes.
However, TempleTeleporter._lzReceive assumes that to is 20 bytes.
abi.decode(_payload, (address, uint256)) will revert because it tries converting 64-byte_payload into (20 + 32)
bytes.
Manual review
LayerZero uses bytes32 for broad compatibility with non-EVM chains. Therefore, keep the to address as bytes32 in the message.
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.