Hello forum members, I have questions related to smart contract upgreadeble:
Scene:
- I have contract proxy A (pA) and current implement (iA)
- If I have contract called Factory and it has the function createNewContract, inside that function I use clone from ClonesUpgradeable libs, so I want to clone the contract A, clone function return me address then I used Interface of iA to call initialize(param, ...)
Question:
- In that case the correct address I pass to clone is ClonesUpgradeable.clone(pA) or
ClonesUpgradeable.clone(iA), I tried it, when I used pA, its does not work, but its work fine with iA. - So let say I have a base smart contract (A), I want to clone contract B C D from that contract, will it be different contract and storage?