Assessment reports>Y2K Finance>Discussion>Use Non-blocking pattern instead of blocking pattern in lzReceive

Use Non-blocking pattern instead of blocking pattern in lzReceive

LayerZero provides ordered delivery of messages from a given sender to a destination chain, i.e. srcUA-> dstChain. Therefore, when a transaction fails on the destination chain (eg: if lzReceive reverts for some reason), the channel between the source and destination is blocked.

If it isn't necessary to preserve the sequential nonce property then the non-blocking pattern should be used. An example implementation of non-blocking pattern by LayerZero is here: https://github.com/LayerZero-Labs/solidity-examples/blob/main/contracts/lzApp/NonblockingLzApp.sol

This issue has been acknowledged by Y2K Finance, and a fix was implemented in commit c0df7ed0.

Zellic © 2024Back to top ↑