Hi I have a proxy contract A which delegates function execution to implementation contract B using the standard OpenZeppelin code:
assembly {
calldatacopy(0, 0, calldatasize())
let result := delegatecall(gas(), _implementation, 0, calldatasize(), 0, 0)
// Copy the returned data.
returndatacopy(0, 0, returndatasize())
switch result
// delegatecall returns 0 on error.
case 0 { revert(0, returndatasize()) }
default { return(0, returndatasize()) }
}
when I tried to call a function getter for a result which is supposed to be [10, 100]
I got the string 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000064
. What is this encoding and which library I can use to decode it. At first I thought it was RLP encoding but I checked with some RLP decoders but it didn't check out. Thanks