0

I would like to know whether clones made using the OpenZeppelin Clones Library supports functions of inherited contracts (eg: using override functions, etc). I would like my cloned contract to make use of ChainLink VRF and ChainLink Keepers, and would like to know whether to use clones or proxies.

Thanks!

2 Answers 2

1

Unlike contracts, Solidity libraries are not inherited from and instead rely on using the for syntax (e.g. using Counters for Counters.Counter). Hence, clones made using the OpenZeppelin Clones Library do not support functions of inherited contracts (eg: using override functions, etc).

See: https://docs.openzeppelin.com/contracts/3.x/extending-contracts

1
  • Yes, if you want to use the functions in the other contracts, you need to use the FOR keyword. Commented Sep 26, 2022 at 7:15
0

No they don't, like the answer above you'd have to use the using _ for _ in your contract.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.