我如何将 eth 值发送到在 ethers.js 中支付的特定智能合约功能?

How would I send an eth value to specific smart contract function that is payable in ethers.js?

我正在尝试在仅接受一个参数的智能合约上调用应付函数。

如何将 eth 值与函数调用一起发送到 ethers.js 中的此函数?文档似乎没有给出太多关于执行此操作的最佳方法的示例。

我的函数调用

const reciept = await contract.buyPunk(1001);

所有其他读写函数调用都按预期工作,但它调用了一个我尚未解决的付费函数。

const options = {value: ethers.utils.parseEther("1.0")}
const reciept = await contract.buyPunk(1001, options);

通过ethers.js调用合约函数时,您可以在参数末尾传递一个选项对象。此对象可以设置 value 随交易一起发送。

此处的文档:https://docs.ethers.io/v5/api/contract/contract/#Contract-functionsCall