0

If there exists a proxy/implementation system (two contract system) where Contract C (the proxy) only accepts calls from Contract B (Contract B is the owner of Contract C via {owner = msg.sender} in the constructor of contract C), could a third contract, Contract A that is also the owner of Contract B, call Contract C with a msg.sender value that is equal to Contract B (and thus be able to use the proxy's functions because to the proxy it is being called by its owner)?

Additionally, is there any way that A can call C with the identity of B? What if B does not have an explicit function to do so?

Any help here would be greatly appreciated. I am trying to wrap my head around the various calls/interactions between contracts. Is this achievable with a special type of call?

  • What if B does not have an explicit function to do so? - then you can't do that. – goodvibration Jun 1 at 20:05
  • @goodvibration thanks for your reply! Additionally, do you think there is anyway that A could write to B's storage even if there is not an explicit function to do so (but A is the owner/has authority privileges of B)? – Benjamin Hughes Jun 1 at 20:09
  • Ask yourself what does is the owner/has authority privileges of really mean in technical terms... – goodvibration Jun 1 at 20:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.