:warning: The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog. Thank you for all the support over the years.
Hello all! Tiny release this week, just internal improvements and dependency updates. Thanks once again to @legobeat for getting all of these! That's it for now!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hello all! Not much this week, primarily just a bunch of internal improvements and dependency updates. ποΈ Thanks to @legobeat for getting a bunch of these! π§±π₯ We've also updated the list of Sourcify networks, even though the fetcher no longer actually checks it.
That's it for now! π
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
node-ipc
9.2.1 with @achrinza/node-ipc
9.2.7 (#6178 by @legobeat)Hello all, Truffle now supports Node 20! π
That being the case, we've also finally dropped support for Node 14. Of course Node 14 went end-of-life quite a while back, ποΈ but we'd kept support for it up until we had Node 20 working. And now it is! Together with that, we've updated Ganche to Ganache 7.9.1.
There are some additional minor updates this week. The list of Sourcify networks has been updated once again. π However, we've also disabled the check here, so the Sourcify fetcher can now be used with networks we haven't bothered to add to the list, should we be tardy with any updates. Also, we fixed a small problem in the debugger that could crop up if you used modifier arguments together with user-defined value types. π·
That's it for now! π
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hi all! π
We've got a small release this week. We've updated Truffle for Solidity 0.8.21 in various ways, including allowing better debugging of Yul π contracts when compiled with it, though this is a little experimental. π§ͺ We've also updated the list of networks that can be used with truffle debug --fetch-external
π΅οΈ and truffle call --fetch-external
βοΈ, including adding support for Consensys's own Linea βοΈ network!
That's all for this week, so bye for now! π
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hello hello! π« This week we have a minor release that includes some maintenance work π§ and updates to the new visual debugger in Truffle Dashboard (check out the v5.11.0 release notes for more info on getting started using it). Shout out to @dependabot for being cool and bumping stuff! Hee ho!
We hope your week is going well and we'll see you next time!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hey again everyone, welcome back! π―
This week's release contains a special new feature; we have ported our CLI debugger π
π½ββοΈπ over to work with Truffle Dashboard! So now you can step through your Solidity code in the browser! After installing the new version of Truffle, run truffle dashboard
on the command line. After Truffle Dashboard starts up, just navigate to the URL specified and you can get started! There may be a few preparation steps for you to get up-and-running with your code, so expand the information below for more! We hope you enjoy it and, as always, let us know if you find some bugs so that we can improve it!
To use the debugger to step through code, Truffle Dashboard will first need to have the compilations for the contracts involved. If the sources are verified on Etherscan, then using the debugger is simple: enter your transaction hash in the input field and click Debug. Truffle will automatically fetch them for you and compile them! If you are debugging a transaction and you have the sources locally in a Truffle or HardHat project, you can send them to Truffle Dashboard using one of the following two methods...
For Truffle projects π«
If you have a Truffle project with the source files, you should first open Truffle Dashboard by running truffle dashboard
in a terminal. Once Truffle Dashboard is running, navigate in a web browser to the URL specified. You should see a page with "Truffle Dashboard" in the top left. In another terminal, navigate to your Truffle project directory and run truffle develop
. After the development
console opens up, run migrate --compile-all
. After you migration is complete, Truffle Dashboard will have your compilations saved in the browser! You can then enter the transaction hash you are interested in in the Dashboard Debugger and click Debug! The debugger will load up your session and you can then step through your transaction. Neat!
For HardHat projects π·ββοΈ
If you have a HardHat project with the source files, you should open Truffle Dashboard by running truffle dashboard
in a terminal. Once Truffle Dashboard is running, navigate in a web browser to the URL specified. You should see a page with "Truffle Dashboard" in the top-left. In another terminal window, navigate to your HardHat project's root directory and install the @truffle/dashboard-hardhat-plugin by running npm install @truffle/dashboard-hardhat-plugin
. In your hardhat-config.ts
, add import "@truffle/dashboard-hardhat-plugin"
to the top of the file. Then run npx hardhat compile
to send the compilations to Truffle Dashboard where
they will be saved in the browser! You can then enter the transaction hash you are interested in in the Dashboard Debugger and click Debug! The debugger will load up your session and you can then step through your transaction. Voila!
Note 1: You can verify that the compilation was received by opening the developer console in your browser. Set the logging levels to "all levels" and you should see a "received cli-event message" that looks something like the screenshot below.
Note 2: The debugger is a bit resource-intensive and slow to initialize, and may even lock up your browser for a short time. But get yourself a coffee, and hopefully before you return it will be up and running! π
So the debugger for Truffle Dashboard is the meat π of this week's release. Besides that, we have a handful of maintenance-related PRs; some debugger/decoder-related bug fixes and a bump to the Ganache version utilized by Truffle. We also have to give a shoutout to @BreadQL for making a teeny tiny edit to a README in Truffle. Thanks!
We hope you all enjoy the weekend and we'll see you soon!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
CalldataDecodingInspector
always passes through inspector options (#6136 by @haltman-at)Welcome to another Truffle release!
This week we have a small set of updates, focused on improving the decoding and debugging experience. π Our Decoder's input interfaces are now more flexible; π€Έ it accepts both string
's and bigint
's in places where only number
's were accepted. Additionally, address value now has a contractClass
interpretation field that may provide additional information like contract name and payability. π
We also updated our source fetcher 𧲠to support the layer-2 Rollux blockchain mainnet and testnet.
Stay tuned for more next week! Enjoy the rest of your week. π¦
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
contractClass
interpretation to address values (#6130 by @haltman-at)Hey everybody! Here's a Truffle release that will end your Friday with joy. π¨βπ³
If you're using Truffle Test, Debugger, or Decoder, you'll be happy to know that our event decoding is improved to support contracts that use Solidity >= 0.8.20. πΊ And if you're a fan of Yul, our Decoder can now properly decode internal function pointers from contracts compiled with viaIR
enabled. π With these cases covered, it means decoding everywhere inside Truffle is hardened to give you a more stable experience.
Thanks to @calebyouki for bringing our attention to an issue related to the programmatic usage of @truffle/test
. πͺ We've gone ahead and fixed that. Additionally, thank you to @73alexstep, @vlasov-hub, @BIOtrice, @elenaqi, and @HelenCodePro for looking after our readme's, cheers and welcome! π£
As per usual, our fetchers are kept up to date to reflect what Etherscan and Sourcify currently support. ποΈ We also made an improvement to a codec component.
Try a rum baba if you can find one. π₯ If not, well, still have a good weekend! We'll be back next week with more.
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
viaIR
compilations (in Solidity 0.8.20) (#6050 by @haltman-at)Hello everyone, we've got a new Truffle for you!
The biggest addition this week is the new package @truffle/codec-components
! If you're making use of the @truffle/decoder
or @truffle/debugger
π΅ libraries, you may have found yourself saying, this output format is quite nice, but how do I display it on a webpage? πΈοΈ Well, @truffle/codec-components
gives you a convenient way of doing so! Behold!
Look at that those collapsible arrays! This library is still pretty internal for now, but you can look forward to its use in Truffle features to come. And we are working on documentation and interfaces to make it more generally available in the future!
Speaking of @truffle/decoder
, we've upgraded it so that it can make use of 4byte.directory π to decode transactions it otherwise can't make sense of. In order to use this, you'll need to pass { projectInfo: <...>, selectorDirectory: { enabled: true } }
when starting it up. (You can also set it to use a website other than 4byte.directory, so long as you have one that follows the same protocol. π΄οΈ)
If you do this, then when you get back a message decoding or unknown decoding, it may have attached a selectorBasedDecodings
interpretation; this will be an array of decodings based on what can be found on 4byte.directory. Note such decodings will be pretty bare-bones π©», but they'll be there!
But we've got other enhancements this week as well! Thanks to @farcaller, you can now override the copy of chai β used for assert
and expect
in truffle test
π§ͺ by putting a different package in your config. Just write
module.exports = {
//rest of truffle-config.js
chai: {
package: require("my-preferred-chai")
}
}
and you should be good to go!
Also this week, the truffle dashboard
command now allows a --no-auto-open
option to prevent it from automatically opening a browser window πͺ; we've fixed some bugs π that prevented some people from compiling, decoding, or debugging their contracts; and we've updated what chains you can use truffle debug -x
or truffle call -x
with. βοΈ
We hope that's enough for you for one release! But if it isn't, well, come back next week!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hello again everyone! π
This week we have a few improvements for you. π οΈ One impacts truffle call
and makes Truffle more accurately resolve function overloads. More accuracy is always better! π Additionally there is an update that improves the way Truffle Dashboard operates when using the Frame wallet. It used to hang when no account was connected but Truffle now produces some helpful output in that case. Nice!
We hope your week goes well and we'll see you next time!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
strictBooleans
is on (#6044 by @haltman-at)