What problem does it solve? Writing Hardhat tests with the ethers + Mocha toolbox involves specific patterns—top-level await connections, TypeChain-typed contracts, and Ethereum-specific chai matchers—that are easy to get wrong without a reference. ## Core Features & Use Cases - Connection Setup: Establishes one network.create() connection per test file with top-level await, since Mocha does not await describe callbacks. - Contract Interaction: Covers ethers.deployContract with constructor args and custom signers, typed function calls, connect for alternate signers, payable calls, and getImpersonatedSigner for arbitrary addresses. - Chai Matchers: Documents Ethereum-specific assertions including .to.emit, .to.be.revertedWith, .to.be.revertedWithCustomError, and .to.changeEtherBalance(s). - Use Case: When writing a test suite for a Solidity contract, use this Skill to correctly deploy typed contract instances inside loadFixture and assert on events, reverts, and balance changes. ## Quick Start Write a Hardhat test that deploys my Counter contract with ethers, checks that unauthorized callers revert, and asserts the Increment event emits with the right arguments.