Update dependency eslint to v9 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com> Co-authored-by: cairo <cairoeth@protonmail.com>
This commit is contained in:
@ -26,7 +26,7 @@ const upgradeableSlot = (contractName, offset) => {
|
||||
// Try to get the artifact paths, will throw if it doesn't exist
|
||||
artifacts._getArtifactPathSync(`${contractName}Upgradeable`);
|
||||
return offset + ethers.toBigInt(erc7201Slot(erc7201format(contractName)));
|
||||
} catch (_) {
|
||||
} catch {
|
||||
return offset;
|
||||
}
|
||||
};
|
||||
|
||||
@ -243,10 +243,10 @@ module.exports = function shouldBehaveLikeTransparentUpgradeableProxy() {
|
||||
});
|
||||
|
||||
it('proxy admin cannot call delegated functions', async function () {
|
||||
const interface = await ethers.getContractFactory('TransparentUpgradeableProxy');
|
||||
const factory = await ethers.getContractFactory('TransparentUpgradeableProxy');
|
||||
|
||||
await expect(this.instance.connect(this.proxyAdminAsSigner).delegatedFunction()).to.be.revertedWithCustomError(
|
||||
interface,
|
||||
factory,
|
||||
'ProxyDeniedAdminAccess',
|
||||
);
|
||||
});
|
||||
|
||||
@ -202,35 +202,35 @@ describe('ERC721Consecutive', function () {
|
||||
const receiver = ethers.Wallet.createRandom();
|
||||
|
||||
it('cannot mint a batch larger than 5000', async function () {
|
||||
const { interface } = await ethers.getContractFactory('$ERC721ConsecutiveMock');
|
||||
const factory = await ethers.getContractFactory('$ERC721ConsecutiveMock');
|
||||
|
||||
await expect(ethers.deployContract('$ERC721ConsecutiveMock', [name, symbol, 0, [], [receiver], [5001n]]))
|
||||
.to.be.revertedWithCustomError({ interface }, 'ERC721ExceededMaxBatchMint')
|
||||
.to.be.revertedWithCustomError(factory, 'ERC721ExceededMaxBatchMint')
|
||||
.withArgs(5001n, 5000n);
|
||||
});
|
||||
|
||||
it('cannot use single minting during construction', async function () {
|
||||
const { interface } = await ethers.getContractFactory('$ERC721ConsecutiveNoConstructorMintMock');
|
||||
const factory = await ethers.getContractFactory('$ERC721ConsecutiveNoConstructorMintMock');
|
||||
|
||||
await expect(
|
||||
ethers.deployContract('$ERC721ConsecutiveNoConstructorMintMock', [name, symbol]),
|
||||
).to.be.revertedWithCustomError({ interface }, 'ERC721ForbiddenMint');
|
||||
).to.be.revertedWithCustomError(factory, 'ERC721ForbiddenMint');
|
||||
});
|
||||
|
||||
it('cannot use single minting during construction', async function () {
|
||||
const { interface } = await ethers.getContractFactory('$ERC721ConsecutiveNoConstructorMintMock');
|
||||
const factory = await ethers.getContractFactory('$ERC721ConsecutiveNoConstructorMintMock');
|
||||
|
||||
await expect(
|
||||
ethers.deployContract('$ERC721ConsecutiveNoConstructorMintMock', [name, symbol]),
|
||||
).to.be.revertedWithCustomError({ interface }, 'ERC721ForbiddenMint');
|
||||
).to.be.revertedWithCustomError(factory, 'ERC721ForbiddenMint');
|
||||
});
|
||||
|
||||
it('consecutive mint not compatible with enumerability', async function () {
|
||||
const { interface } = await ethers.getContractFactory('$ERC721ConsecutiveEnumerableMock');
|
||||
const factory = await ethers.getContractFactory('$ERC721ConsecutiveEnumerableMock');
|
||||
|
||||
await expect(
|
||||
ethers.deployContract('$ERC721ConsecutiveEnumerableMock', [name, symbol, [receiver], [100n]]),
|
||||
).to.be.revertedWithCustomError({ interface }, 'ERC721EnumerableForbiddenBatchMint');
|
||||
).to.be.revertedWithCustomError(factory, 'ERC721EnumerableForbiddenBatchMint');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -126,8 +126,9 @@ describe('Address', function () {
|
||||
});
|
||||
|
||||
it('reverts when function does not exist', async function () {
|
||||
const interface = new ethers.Interface(['function mockFunctionDoesNotExist()']);
|
||||
const call = interface.encodeFunctionData('mockFunctionDoesNotExist');
|
||||
const call = new ethers.Interface(['function mockFunctionDoesNotExist()']).encodeFunctionData(
|
||||
'mockFunctionDoesNotExist',
|
||||
);
|
||||
|
||||
await expect(this.mock.$functionCall(this.target, call)).to.be.revertedWithCustomError(this.mock, 'FailedCall');
|
||||
});
|
||||
|
||||
@ -14,13 +14,13 @@ async function fixture() {
|
||||
// We use a vesting wallet, with 3 constructor arguments.
|
||||
const constructorByteCode = await ethers
|
||||
.getContractFactory('VestingWallet')
|
||||
.then(({ bytecode, interface }) => ethers.concat([bytecode, interface.encodeDeploy([other.address, 0n, 0n])]));
|
||||
.then(factory => ethers.concat([factory.bytecode, factory.interface.encodeDeploy([other.address, 0n, 0n])]));
|
||||
|
||||
// Bytecode for deploying a contract that has no constructor log.
|
||||
// Here we use the Create2 helper factory.
|
||||
const constructorLessBytecode = await ethers
|
||||
.getContractFactory('$Create2')
|
||||
.then(({ bytecode, interface }) => ethers.concat([bytecode, interface.encodeDeploy([])]));
|
||||
.then(factory => ethers.concat([factory.bytecode, factory.interface.encodeDeploy([])]));
|
||||
|
||||
const mockFactory = await ethers.getContractFactory('ConstructorMock');
|
||||
|
||||
|
||||
@ -26,7 +26,6 @@ describe('ECDSA', function () {
|
||||
|
||||
it('with long signature', async function () {
|
||||
await expect(
|
||||
// eslint-disable-next-line max-len
|
||||
this.mock.$recover(
|
||||
TEST_MESSAGE,
|
||||
'0x01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789',
|
||||
@ -61,7 +60,6 @@ describe('ECDSA', function () {
|
||||
});
|
||||
|
||||
it('reverts with invalid signature', async function () {
|
||||
// eslint-disable-next-line max-len
|
||||
const signature =
|
||||
'0x332ce75a821c982f9127538858900d87d3ec1f9f737338ad67cad133fa48feff48e6fa0c18abc62e42820f05943e47af3e9fbe306ce74d64094bdf1691ee53e01c';
|
||||
await expect(this.mock.$recover(TEST_MESSAGE, signature)).to.be.revertedWithCustomError(
|
||||
@ -73,7 +71,7 @@ describe('ECDSA', function () {
|
||||
|
||||
describe('with v=27 signature', function () {
|
||||
const signer = '0x2cc1166f6212628A0deEf2B33BEFB2187D35b86c';
|
||||
// eslint-disable-next-line max-len
|
||||
|
||||
const signatureWithoutV =
|
||||
'0x5d99b6f7f6d1f73d1a26497f2b1c89b24c0993913f86e9a2d02cd69887d9c94f3c880358579d811b21dd1b7fd9bb01c1d81d10e69f0384e675c32b39643be892';
|
||||
|
||||
@ -133,7 +131,7 @@ describe('ECDSA', function () {
|
||||
|
||||
describe('with v=28 signature', function () {
|
||||
const signer = '0x1E318623aB09Fe6de3C9b8672098464Aeda9100E';
|
||||
// eslint-disable-next-line max-len
|
||||
|
||||
const signatureWithoutV =
|
||||
'0x331fe75a821c982f9127538858900d87d3ec1f9f737338ad67cad133fa48feff48e6fa0c18abc62e42820f05943e47af3e9fbe306ce74d64094bdf1691ee53e0';
|
||||
|
||||
@ -193,7 +191,7 @@ describe('ECDSA', function () {
|
||||
|
||||
it('reverts with high-s value signature', async function () {
|
||||
const message = '0xb94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9';
|
||||
// eslint-disable-next-line max-len
|
||||
|
||||
const highSSignature =
|
||||
'0xe742ff452d41413616a5bf43fe15dd88294e983d3d36206c2712f39083d638bde0a0fc89be718fbc1033e1d30d78be1c68081562ed2e97af876f286f3453231d1b';
|
||||
|
||||
|
||||
@ -103,8 +103,8 @@ function shouldSupportInterfaces(interfaces = []) {
|
||||
describe('when the interfaceId is supported', function () {
|
||||
it('uses less than 30k gas', async function () {
|
||||
for (const k of interfaces) {
|
||||
const interface = INTERFACE_IDS[k] ?? k;
|
||||
expect(await this.contractUnderTest.supportsInterface.estimateGas(interface)).to.lte(30_000n);
|
||||
const interfaceId = INTERFACE_IDS[k] ?? k;
|
||||
expect(await this.contractUnderTest.supportsInterface.estimateGas(interfaceId)).to.lte(30_000n);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user