无效的 BigNumber 值(参数 =“值”,值 = 未定义,代码 = INVALID_ARGUMENT,版本 = bignumber/5.7.0)

问题描述 投票:0回答:1

我正在尝试访问 chainlink 提供的 VRFCoordinatorMockV2.sol 合约。我已成功在本地安全帽网络上部署了模拟合约,并使用了它的一种方法。问题出在“fundSubscription”方法上。

相关代码: 01-部署-raffle.js

const FUND_AMOUNT = ethers.parseInt("1")

const transactionReceipt = await transactionResponse.wait()
subscriptionId = transactionReceipt.logs[0].args.subId
console.log(subscriptionId)
console.log(FUND_AMOUNT)
await vrfCoordinatorV2MockContract.fundSubscription(subscriptionId, FUND_AMOUNT)

相关输出:

1n
1000000000000000000n
An unexpected error occurred:

Error: ERROR processing /home/nimish/hh-fcc/hardhat-smartcontract-lottery/deploy/01-deploy-raffle.js:
Error: invalid BigNumber value (argument="value", value=undefined, code=INVALID_ARGUMENT, version=bignumber/5.7.0)

相关合约方式:

function fundSubscription(uint64 _subId, uint96 _amount) public {
    if (s_subscriptions[_subId].owner == address(0)) {
      revert InvalidSubscription();
    }
    uint96 oldBalance = s_subscriptions[_subId].balance;
    s_subscriptions[_subId].balance += _amount;
    emit SubscriptionFunded(_subId, oldBalance, oldBalance + _amount);
  }

相关资料:

  • 支持的模拟部署正确
  • 可以从
    createSubscription()
    方法及其输出中访问已部署的模拟明显

与本地安全帽网络上的模拟智能合约交互。 Mock是由chainlink提供的,它的

fundSubscription()
方法不起作用。

solidity ethers.js hardhat chainlink
1个回答
0
投票

解决了 我的 ```helper-hardhat-config.js`` 文件中存在一些不一致。

© www.soinside.com 2019 - 2024. All rights reserved.