I Was trying to interact with a smart contract named clearingHouse and use the function "openPosition", I went ahead and matched the data types as they were described using python3 web3 package but I still get this error which shows I ve matched everything correctly
Could not identify the intended function with name openPosition
, positional arguments with type(s) (address,bool,bool,int,int,int,int,bytes)
and keyword arguments with type(s) {}
.
Found 1 function(s) with the name openPosition
: ['openPosition((address,bool,bool,uint256,uint256,uint256,uint160,bytes32))']
Function invocation failed due to no matching argument types.
as shown above all my data types match the ones that are required
thanks for your time and help.
Best Answer
I faced the same problem, but I can't find a solution yet. Maybe you managed to overcome it?
Upd: My problem was that the parameters had to be passed as an array with a tuple:
arg = [(...parameters...)]
. And also I incorrectly counted one of the function parameters and the number went beyond the boundaries of the type in solidity(uint24)
. Therefore, I advise you to recalculate the call parameters again.