Hey. Has anyone faced an absent function issue while overloading inherited function in UUPS upgraded implementation by changing struct in its arguments?

Struct is in separate contract (not inherited) hence there should be no storage slot overlapping.

Im using hardhat for tests

Sep 24, 2022, 1:33 PM
It doesn't matter where the struct is implemented. if you use an UUPS proxy all storage is at the proxy.
Except maybe if the implementation contract does delegatecall, in which case I'm not sure what happens.
Sep 24, 2022, 1:44 PM
The issue was in incorrect ABI generated by hardhat. By calling the function through Contract["function_signature()"] it worked fine. Thanks
Sep 24, 2022, 2:19 PM

© 2024 Draquery.com All rights reserved.