anyFallback
If the anyExec
contract execution failed on Chain B, it can call _fallback
function to send messages back to Chain A.
anyExecute
DAPP receiver contract(Chain B failed) -> anyCall(Chain B) -> SMPC Network -> anyExec(Chain A) -> anyExecute
(DAPP sender contract(Chain A))
->anyFallback
Format of the fallback function needs to be:
function anyFallback(address _to, bytes calldata _data) external;
Logic
When anyExecute
fails on Chain B, the anycall contract would issue another call back to chain A with data including the anyFallback
selector.
Hence the anyExecute
execute normal function or fallback function based on the selector.
Example
Example Contract Code:https://ftmscan.com/address/0x2b6fbe2a08491130dcc2fe13f0e60b3540d92a55#code
2. Chain B issued callback: https://bscscan.com/tx/0x3ccb1f91ad66348ec5dd8676d1dd59372fd37bca4e202982b582cd8d4e5c582c#eventlog
3. anyFallback executing: https://ftmscan.com/tx/0x215002fb282c630dada2ebeb56ea605ae6c24df8a52db46b977e9c081893d061#eventlog
anyExecute
function:
When executing, anyExecute first look at the selector of the calldata passed in to determine if it should execute normal flow or fallback function.
Last updated