gpt4 book ai didi

javascript - wagmi 如何使用智能合约的重载函数?

转载 作者:行者123 更新时间:2023-12-05 04:24:56 25 4
gpt4 key购买 nike

所以我的 solidity 智能合约中有两个同名但参数不同的函数函数名(args1)函数名(args1, args2)

并且由于这个函数重载,智能合约的 ABI 有 2 个名称完全相同的函数,functionName 有 1 个参数,functionName 有 2 个参数

当我尝试使用 wagmi useContractWrite 调用第一个函数时:

const functionWrite = useContractWrite({
...ContractInstance,
functionName: 'functionName',
args: [args1],
});

或者调用第二个函数

const functionWrite = useContractWrite({
...ContractInstance,
functionName: 'functionName',
args: [args1, args2],
});

由于名称重复,wagmi 似乎没有检测到该函数,它给了我这个错误:“functionName”在合约“{my contract address}”的接口(interface)中不存在

有谁知道如何在 wagmi 中使用重载函数?

最佳答案

我一直在寻找这个,只是做了一些试验和错误来弄清楚。自从它开始工作后,我想我会回来给你和其他人一个答案。

const functionWrite = useContractWrite({
...ContractInstance,
functionName: 'functionName(arg1Type, arg2Type)',
args: [args1, args2],
});

这应该将函数签名传递给底层的 ethers 调用。

关于javascript - wagmi 如何使用智能合约的重载函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73397606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com