In my smart contract I have some methods that get a struct as an input: contract MyContract { MyStruct { uint[] arr; address[] addresses; } function myFunction(MyStruct[] structs) external { } } I called this function and on Etherscan although my contract is verified it seems to show the function selector (first 4 bytes of the encoded function signature) and not the function name. Is there a way to overcome this and show the function name? [![enter image description here][1]][1] ********** **UPDATE** ********** Following [this answer][2] I have managed to match between my function signature and the right function selector. As far as I understood from the [documentation I should be able to use the method-registry][3] contract in order to register my method. I have registered my function over the [SignatureReg contract][4] but I can't see any change in the names of the functions over etherscan. I was expecting etherscan to listen to this contract (or something like that) and update the method name accordingly once it is registered but I guess this is not how this thing works. Still looking for a solution. [1]: https://i.sstatic.net/zPmwL.png [2]: https://ethereum.stackexchange.com/a/60875/37689 [3]: https://docs.metamask.io/guide/registering-function-names.html#using-eth-method-registry [4]: https://etherscan.io/address/0x44691b39d1a75dc4e0a0346cbb15e310e6ed1e86