You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two Dependabot PRs in solidity/ecdsa (#3942 and #3924) have been held because they bundle a @nomiclabs/hardhat-waffle + ethereum-waffle major-version bump alongside an otherwise unrelated transitive bump. The waffle major break is real and out of scope for a dependency-update PR.
What fails
Both PRs fail the same four jobs on the bundled waffle bump:
contracts-lint
contracts-slither
contracts-build-and-test
contracts-deployment-dry-run
The underlying cause is the chai matchers API break when going from ethereum-waffle v3 to v4 (the chai plugin moved from ethereum-waffle/chai to @nomicfoundation/hardhat-chai-matchers, and several assertion signatures changed). Test files using expect(...).to.be.revertedWith(...) and friends need to be updated, and hardhat.config.ts needs to register the new plugin.
Proposed work, in order
Toolchain upgrade PR (standalone, scoped to solidity/ecdsa)
Background
Two Dependabot PRs in
solidity/ecdsa(#3942 and #3924) have been held because they bundle a@nomiclabs/hardhat-waffle+ethereum-wafflemajor-version bump alongside an otherwise unrelated transitive bump. The waffle major break is real and out of scope for a dependency-update PR.What fails
Both PRs fail the same four jobs on the bundled waffle bump:
contracts-lintcontracts-slithercontracts-build-and-testcontracts-deployment-dry-runThe underlying cause is the chai matchers API break when going from
ethereum-wafflev3 to v4 (thechaiplugin moved fromethereum-waffle/chaito@nomicfoundation/hardhat-chai-matchers, and several assertion signatures changed). Test files usingexpect(...).to.be.revertedWith(...)and friends need to be updated, andhardhat.config.tsneeds to register the new plugin.Proposed work, in order
Toolchain upgrade PR (standalone, scoped to
solidity/ecdsa)@nomiclabs/hardhat-waffleandethereum-waffleto the versions Dependabot is pushing in chore(deps): bump node-fetch, @nomiclabs/hardhat-waffle and ethereum-waffle in /solidity/ecdsa #3942chaiintegration with@nomicfoundation/hardhat-chai-matchersinhardhat.config.ts.to.be.revertedWithCustomError(...),.changeTokenBalance(...), etc.)contracts-build-and-test,contracts-lint,contracts-slither,contracts-deployment-dry-runall passsolidity/random-beaconif the toolchain is sharedClose the held Dependabot PRs
node-fetch) — Dependabot will regenerate cleanly against the new toolchainlodash) — sameAcceptance
solidity/ecdsa(andsolidity/random-beaconif shared) build and test green on the upgraded toolchain.node-fetchandlodashbumps without dragging the waffle major in.References