🧇 Waffle 3.0 released! With ethers.js 5.0 and more!
We‘re glad to announce that we’ve just released Waffle 3.0 with support for ethers.js 5.0 and much more.
We‘re especially happy that we have managed to release it on the same day 📅 as the long awaited ethers version 5!
Advancements 🚀
In recent weeks, we’ve put a lot of effort pushing Waffle forward to make it the most advanced and the best smart contracts testing framework.
We’ve added a lot of new functionalities, most of which were available in Waffle 2.5 as experimental:
- Mocking smart contracts (blog post, docs, example)
- Testing the effects of a call (blog post, docs, example)
- Add support for testing with ENS (blog post coming, docs)
- Support for Vyper compilation (docs)
- Flattening (doc)
- New cleaner and simpler configuration (doc)
Moreover, we’ve:
- updated documentation 📝
- added examples 🪀
- refreshed our website 🌎.
Waffle 3.0 and breaking changes 💔
And, as a final effort in this batch of work, we‘re releasing Waffle 3.0.
Releasing a new major version is a great occasion to make breaking changes and improve on some early design decisions that we made. Some of them made API inconsistent, others make it hard to extend.
Below is a list of the key breaking changes:
- Remove
createMockProvider()
in favour ofnew MockProvider()
- Remove
getWallets()
in favour ofprovider.getWallets()
- Remove experimental warnings from features introduced in 2.5
- Fixtures have swapped arguments order,
before:fixtureFunction(provider, wallets)
,
after:fixtureFunction(wallets, provider)
- Full migration guide is available here.
Acknowledgements 🙏
I would like give thanks to all the great people who have been involved in developing recent advancements:
- @pedrouid from WalletConnect who did most of the heavy lifting of migration to Ethers.js version 5.0
- @ricmoo from ethers.js who helped us in the toughest moments of the migration
- @b_asselstine from PoolTogether who introduced mocking for overloaded functions
- Developers in Ethworks team:@PSzlachciak, @VladStarostenko, @rzadp, @Jozwiaczek, @msieczko, @vanruch who worked hard to deliver all the new features listed above
- Last but by no means least— Nomic Labs team and Ethereum foundation for appreciating our efforts and giving us a grant to develop Waffle further
And most importantly, we would like to say thank you to all of our users!
Over 250 projects are using Waffle! 🎉🎉🎉
Thank you!