NonblockingLzApp

Inherits: LzApp

State Variables

failedMessages

mapping(uint16 => mapping(bytes => mapping(uint64 => bytes32))) public failedMessages;

Functions

constructor

constructor(address authority, address _endpoint) LzApp(authority, _endpoint);

_blockingLzReceive

function _blockingLzReceive(uint16 _srcChainId, bytes memory _srcAddress, uint64 _nonce, bytes memory _payload) internal virtual override;

_storeFailedMessage

function _storeFailedMessage(uint16 _srcChainId, bytes memory _srcAddress, uint64 _nonce, bytes memory _payload, bytes memory _reason) internal virtual;

nonblockingLzReceive

function nonblockingLzReceive(uint16 _srcChainId, bytes calldata _srcAddress, uint64 _nonce, bytes calldata _payload) public virtual;

_nonblockingLzReceive

This function is used to receive a non-blocking LZ message from a source chain.

This function is used to receive a non-blocking LZ message from a source chain. It takes in the source chain ID, source address, nonce, and payload as parameters. It then verifies the source chain ID, source address, and nonce, and if they are valid, it stores the payload in the contract storage.

function _nonblockingLzReceive(uint16 _srcChainId, bytes memory _srcAddress, uint64 _nonce, bytes memory _payload) internal virtual;

retryMessage

function retryMessage(uint16 _srcChainId, bytes calldata _srcAddress, uint64 _nonce, bytes calldata _payload) public payable virtual;

Events

MessageFailed

event MessageFailed(uint16 _srcChainId, bytes _srcAddress, uint64 _nonce, bytes _payload, bytes _reason);

RetryMessageSuccess

event RetryMessageSuccess(uint16 _srcChainId, bytes _srcAddress, uint64 _nonce, bytes32 _payloadHash);

Errors

CallerMustBeLzApp

error CallerMustBeLzApp();

NoStoredMessage

error NoStoredMessage();