簡體   English   中英

如何使用 wagmi 智能合約中的重載 function?

[英]How to use overloaded function from smart contract with wagmi?

所以我有兩個 function 在我的solidity智能合約functionName(args1)functionName(args1, args2)中具有相同的名稱但不同的參數

並且由於這個 function 重載,智能合約的 ABI 有 2 個 function 名稱完全相同, functionName有 1 個參數, functionName有 2 個 ZDBC11CAA5BDA99F77E6FB4DAD882E

當我嘗試使用 wagmi useContractWrite 調用第一個 function 時:

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

或致電第二個 function

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

由於名稱重復,wagmi 似乎沒有檢測到 function,它給了我這個錯誤: 'functionName' doesn't exist in interface for contract "{my contract address}"

有誰知道如何將重載的 function 與 wagmi 一起使用?

我一直在尋找這個,只是做了一些試驗和錯誤來弄清楚。 自從我得到它的工作,我想我會回來給你和其他人一個答案。

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

這應該將 function 簽名傳遞給底層的 ethers 調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM