我遇到了这个AssertionError。我使用的是一个从草帽网络中生成的公钥。它被保存为const const recipient = "0x8626f6940e2eb28930efb4cef49b2d1f2c9c1199";
正如您在下面的错误中所看到的,收件人的值正在改变(大写字母与小写字母)。知道为什么和怎么会发生吗?
应该使用ERC2981版税:
AssertionError: expected '0x8626f6940E2eb28930eFb4CeF49B2d1F2C9…' to equal '0x8626f6940e2eb28930efb4cef49b2d1f2c9…'
+ expected - actual
-0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199
+0x8626f6940e2eb28930efb4cef49b2d1f2c9c1199这是实际的测试:
it("should work with ERC2981 royalties", async function () {
const Token = await ethers.getContractFactory("Token");
const token = await Token.deploy();
await token.deployed();
await token.setRoyalties(0, recipient, 1000);
let getRoyalties = await token.getRaribleV2Royalties(0);
assert.equal(getRoyalties[0].value, "1000");
assert.equal(getRoyalties[0].account, recipient);
let royalties = await token.royaltyInfo(0, 100000);
assert.equal(royalties.royaltyAmount.toString(), "10000");
assert.equal(royalties.receiver, recipient);
});发布于 2022-02-12 12:47:28
是地址校验和。您可以使用ethers.utils.getAddress()函数(文档)检查和地址。
https://stackoverflow.com/questions/71087892
复制相似问题