[Deployment] Deploying UUPS Upgradeable contracts and proxies via factories (Permissionless II Hackathon) #129
-
EnvironmentTestnet zkSolc Versionv1.3.14 zksync-web3 Version^0.14.3 Hardhat.config.tshttps://github.com/LocksmithWallet/smartrust-zksync/blob/main/hardhat.config.js Deployment Script (WITHOUT PRIVATE KEY)(Not super relevant) https://github.com/LocksmithWallet/smartrust-zksync/blob/main/tasks/genie.js Contract Codehttps://github.com/LocksmithWallet/smartrust-zksync/blob/main/contracts/agents/KeyAddressFactory.sol Does this work on other EVMs? (If yes, please list at least 1 of them)Ethereum, OPStack, Scroll, Polygon Description of What Your Contract DoesI have an Account Factory that deploys a UUPS Proxy account and its proxy in a single transaction as part of a smart contract. The create code provided in the documentation (using yul) does not produce an address that has a code length after return. It seems as if the lifecycle of the bytecode is different for zkSync, as deploying the ERC1967 proxy fails to deploy due to the given address not being a contract (code.length == 0). Repo Link (Optional)https://github.com/LocksmithWallet/smartrust-zksync Additional DetailsThe code length at the address after the create yul is empty. |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 3 replies
-
Hey hey @scotthconner 👋 I can't recall where we left off in Austin re this issue but if you are still facing the issue please refer to the |
Beta Was this translation helpful? Give feedback.
Hi @scotthconner, we have an example that deploys a Beacon proxy on our code. Let me know if this helps your case.