Harhat-Chai 匹配器中的类型错误 - isAddress 不是函数

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

我在 Hardhat 测试脚本中遇到 TypeError,该脚本涉及 @nomicfoundation/hardhat-chai-matchers 库中的 isAddress 函数。该错误似乎导致我的测试套件出现问题。下面是相关的代码片段: 这是我的代码。

const { expect, assert } = require("chai");

const { ethers } = require("hardhat");

const {

  addressFactory,

  addressRouter,

  addressFrom,

  addressTo,

} = require("../utils/AddressList");

const { erc20ABI, factoryABI, routerABI } = require("../utils/AbiList");

describe("read and write blockchain", () => {

  let provider,

    contractFactory,

    contractRouter,

    contractToken,

    decimals,

    amountIn,

    amountOut;

  before(async () => {

    provider = new ethers.providers.JsonRpcProvider(

      ""

    );

    contractFactory = new ethers.Contract(addressFactory, factoryABI, provider);

    contractRouter = new ethers.Contract(addressRouter, routerABI, provider);

    contractToken = new ethers.Contract(addressFrom, erc20ABI, provider);

  });

  it("connects to the provider, factory, token, and router", () => {

    assert(provider._isProvider);

    expect(contractFactory.address).to.equal(

      "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f"

    );

    expect(contractRouter.address).to.equal(

      "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"

    );

    expect(contractToken.address).to.equal(

      "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"

    );

  });

});

我正在尝试在 Hardhat 测试中执行 [读写区块链],但由于以下错误,测试失败: 我尝试将 ethers 版本降级到 5.6.1 但没有修复。

这是我得到的。

read and write blockchain
    1) connects to the provider, factory, token, and router


  0 passing (73ms)
  1 failing

  1) read and write blockchain
       connects to the provider, factory, token, and router:
     TypeError: (0 , ethers_1.isAddress) is not a function
      at tryGetAddressSync (node_modules/@nomicfoundation/hardhat-chai-matchers/src/internal/addressable.ts:29:16)
      at Proxy.<anonymous> (node_modules/@nomicfoundation/hardhat-chai-matchers/src/internal/addressable.ts:53:20)
      at Proxy.overwritingMethodWrapper (node_modules/chai/lib/chai/utils/overwriteMethod.js:78:33)
      at Proxy.<anonymous> (node_modules/@nomicfoundation/hardhat-chai-matchers/src/internal/bigNumber.ts:193:14)
      at Proxy.overwritingMethodWrapper (node_modules/chai/lib/chai/utils/overwriteMethod.js:78:33)
      at doAsserterAsyncAndAddThen (node_modules/chai-as-promised/lib/chai-as-promised.js:289:22)
      at Proxy.<anonymous> (node_modules/chai-as-promised/lib/chai-as-promised.js:255:20)
      at Proxy.overwritingMethodWrapper (node_modules/chai/lib/chai/utils/overwriteMethod.js:78:33)
      at Context.<anonymous> (test/SendSwapTx.js:34:40)
blockchain chai ethers.js hardhat
1个回答
0
投票

我也遇到同样的问题,请问你找到解决办法了吗?

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