[General] How can a user initiate a withdrawal from L1? (similar to force exit in zk lite) #198
-
EnvironmentTestnet Provide a brief description of the functionality you're trying to implement.Hi there, i am trying to figure out how to initiate a withdrawal from ZK sync era back to main net by initiating a transaction from L1. There are bits and pieces in different places, but I haven't been able to get a working process going. It looks like I have to make the request from L1, to "wallet" with the request, but when i do that the call reverts (on mainnet and tetnet). I also found a lot of documentation regarding this in ZK lite, but i think that those functions are not implemented in Era. any helo would be greatly appreciated, thank you! What is the specific issue or error you're encountering?(cannot initiate withdrawal from L1) Can you share the error messages or logs you're receiving, if any?When i call the functions on L1 ,they dont revert or anything, but they will revert on zk era. Have you made any recent changes to the contract before encountering this issue?The reason im looking to do this is because our project has an EVM address that a number of users mistakenly sent ETh to. At first i figured these were lost funds, but it might still be able to make this call given the account abstraction methods. Are there any external libraries or contracts that your contract interacts with?No Can you provide the relevant portions of your contract code where the issue is occurring?No Have you tried to isolate the problem, and if so, what were the results?Yes What steps have you already taken to try to resolve the issue?. Repo Link (Optional)No response Additional DetailsNo response |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hey, sorry to hear that. Unfortunately, there is no mechanism such as "Forced Exit" on zkSync Era as there was on zkSync Lite. The only way to access the funds is to have the private key for that wallet. If tokens were sent to an Ethereum (L1) address of the contract but on the zkSync Era (L2) network, where this contract does not exist, then, unfortunately, there is no way to access the funds. You can find more details about the differences between the zkSync Era and Ethereum chain: https://era.zksync.io/docs/reference/architecture/differences-with-ethereum.html#non-standard-create-create2-behaviour |
Beta Was this translation helpful? Give feedback.
Hey, sorry to hear that.
Unfortunately, there is no mechanism such as "Forced Exit" on zkSync Era as there was on zkSync Lite. The only way to access the funds is to have the private key for that wallet. If tokens were sent to an Ethereum (L1) address of the contract but on the zkSync Era (L2) network, where this contract does not exist, then, unfortunately, there is no way to access the funds.
You can find more details about the differences between the zkSync Era and Ethereum chain: https://era.zksync.io/docs/reference/architecture/differences-with-ethereum.html#non-standard-create-create2-behaviour