Good day, dear forum members. I apologize for my possibly stupid question. I can't figure out the problem. There is a function in my smart contract ///---------------- struct parmsData{ address a uint256 b uint256 c uint256 d uint256 f uint256 g address[] h string[] j uint256[] k uint24[] l } function calc(parmsData memory parms) external isOwner payable returns(bool){ ................. } //------------------------------ the contract has been published, but I cannot access this function. since bytes4(keccak256(bytes("calc((address,uint256,uint256,uint256,uint256,uint256,address[],string[],uint256[],uint24[]))"))) It doesn't match. Please help me how to calculate the correct bytes4 values. Thank you all very much. I'm sorry again.