@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
34 lines • 1.62 kB
JavaScript
import { expect } from 'chai';
import { ethers } from 'ethers';
import hre from 'hardhat';
import { ERC20Test__factory } from '@hyperlane-xyz/core';
import { TestChainName } from '../consts/testChains.js';
import { MultiProvider } from '../providers/MultiProvider.js';
import { isAddressActive } from './contracts.js';
describe('Contracts', () => {
let signer;
let contract;
let multiProvider;
before(async () => {
[] = await hre.ethers.getSigners();
multiProvider = MultiProvider.createTestMultiProvider({ signer });
const factory = new ERC20Test__factory(signer);
contract = await factory.deploy('fake', 'FAKE', '100000000000000000000', 18);
await contract.deployed();
});
describe('isAddressActive', async () => {
it('should return false for AddressZero', async () => {
const isActive = await isAddressActive(multiProvider.getProvider(TestChainName.test1), ethers.constants.AddressZero);
expect(isActive).to.be.false;
});
it('should return true for EOA address with some transactions', async () => {
const active = await isAddressActive(multiProvider.getProvider(TestChainName.test1), await signer.getAddress());
expect(active).to.be.true;
});
it('should return true for contracts address with a non-zero nonce', async () => {
const active = await isAddressActive(multiProvider.getProvider(TestChainName.test1), contract.address);
expect(active).to.be.true;
});
});
});
//# sourceMappingURL=contracts.hardhat-test.js.map