@hyperlane-xyz/core
Version:
Core solidity contracts for Hyperlane
35 lines (30 loc) • 1.05 kB
text/typescript
import { ethers } from 'hardhat'
import { Contract } from 'ethers'
import { expect } from 'chai'
import { publicAbi } from '../../test-helpers/helpers'
describe('KeeperCompatible', () => {
for (let version = 8; version <= 8; version++) {
describe(`version v0.${version}`, () => {
let contract: Contract
before(async () => {
const factory = await ethers.getContractFactory(
`src/v0.${version}/tests/KeeperCompatibleTestHelper.sol:KeeperCompatibleTestHelper`,
)
contract = await factory.deploy()
})
it('has a keeper compatible interface [ @skip-coverage ]', async () => {
publicAbi(contract, [
'checkUpkeep',
'performUpkeep',
'verifyCannotExecute',
])
})
it('prevents execution of protected functions', async () => {
await contract
.connect(ethers.constants.AddressZero)
.verifyCannotExecute() // succeeds
await expect(contract.verifyCannotExecute()).to.be.reverted
})
})
}
})