How Does the Ethereum’s Assets Transferring Cycle Work?

I had been asked to explain how the cycle of transferring assets from EVM to an other chain and then back works. Here is a generalized summary:
1) Owner of ERC20/ERC721/ERC1155 token has to approve a contract to spend the amount of tokens to be transferred. This specific contract is deployed on the Ethereum network and locks the amount of tokens to be deposited.
2) Once the approval is given, the next step is to deposit the asset. A function call has to be made on an another contract which triggers the contract on the non-EVM chain. The non-EVM contract calls the deposit function of the token contract and the corresponding amount of asset tokens are minted to the users account. When a user gets the tokens, they can be transfered on the non-EVM chain.
3) Withdrawing assets back to EVM is a 2 step process in which the asset tokens has to be first burnt on the non-EVM chain and then the proof of this burn transaction has to be submitted to the EVM after which the exit function is called.
4) This function verifies the inclusion and then triggers the contract which had locked the asset tokens when the assets were deposited to EVM initially. The EVM contract releases the locked tokens and refunds it to user’s account.
Espero que funcione :)
For detailed blockchain industry reports and projects analytics visit our platform: https://svetrating.com
For more information and community talks on this subject join our Whitepapers analysis Telegram group: https://t.me/joinchat/I5eQ-A6FSC2vXg_PNgFwJw
or my Twitter: https://twitter.com/SvjatoslavSedof
… also if you’re residing somewhere in the South Bay, CA, please, join our meetup group: https://www.meetup.com/South-Bay-Decentralized-Finance/