因此,在我的实体智能契约functionName(args1)和functionName(args1, args2)中有两个名称相同但参数不同的函数
由于这个函数重载,智能契约的ABI有两个完全相同的名称,functionName有一个参数,functionName有两个参数。
当我尝试使用wagmi useContractWrite调用第一个函数时:
const functionWrite = useContractWrite({
...ContractInstance,
functionName: 'functionName',
args: [args1],
});或调用第二个函数
const functionWrite = useContractWrite({
...ContractInstance,
functionName: 'functionName',
args: [args1, args2],
});由于重复的名称,wagmi似乎没有检测到函数,它给了我一个错误:'functionName' doesn't exist in interface for contract "{my contract address}"
有人知道如何在wagmi中使用重载函数吗?
发布于 2022-09-07 18:05:31
我正在寻找这个,只是做了一些尝试和错误来找出它。既然我开始工作了,我想我会回来给你和其他人一个答案。
const functionWrite = useContractWrite({
...ContractInstance,
functionName: 'functionName(arg1Type, arg2Type)',
args: [args1, args2],
});这应该将函数签名传递给底层的以太调用。
https://stackoverflow.com/questions/73397606
复制相似问题