Search…
⌃K

StoredPayload Detection

Find the hidden reason for a StoredPayload

What does a StoredPayload look like on chain & How to deal with it

If you see a transaction like this, then you may have a StoredPayload:
https://rinkeby.etherscan.io/tx/0x2507f02a0548b4c88af1383ecaa1346937d528183f12d1f14c660ca96b78edd1
rinkeby.etherscan.io
If you forget to setTrustedRemote() from the destination, it cant receive inbound messages
See the orange text? Although the transaction may say it succeeded, LayerZero may have a StoredPayload blocking the queue of message until dealt with.

Go to the "Logs" tab to see the reason

When a StoredPayload happens, you can check the reason. Note the highlighted text.
Lets copy the highlighted text into a hex-to-string converter to see the reason:
LzReceiver: invalid source sending contract
OK! Thats some helpful information - Although we ran into a StoredPayload, we now know the reason: LzReceiver: invalid source sending contract
The error reminds us that we must setTrustedRemote() first on the destination to allow inbound communication from the source sending User Application contract.