: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!
Another small release this week! We've added support for the Symplexia and Dogechain ๐ถ networks to truffle debug -x
and truffle call -x
, and we've made some changes to speed up compilation times. ๐๏ธ We also fixed a buggy printout.
More is coming next week as always, so stay tuned! ๐บ
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hello all!
Tiny release this week, focused on dependencies. But don't go away, we'll have bigger improvements for you soon! ๐ท
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hello all! ๐
Solidity 0.8.20 is out, and we've started updating Truffle for it! ๐งโ๐ป Thanks to @sukanyaparashar for some updates, so new projects created with truffle init
will use Solidity 0.8.20! We'll have more updates related to Solidity 0.8.20 soon!
In addition, we've added functions for parsing signatures to our abi-utils
library. If you have some function or event or error signatures and you want to parse them to get usable ABI objects, these added functions let you do that! โ๐ชก
That's it for this week, see you all again soon with more!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
parseSignature
functions to ABI utils (#6052 by @haltman-at)Ring ring ring, it's Truffle 5.9.0!
truffle call
This week's Truffle release introduces the new truffle call
command! You can use it to make read-only calls โ to your contracts (or external ones, see below) and display the results. Just type truffle call ContractName functionName
, followed by the list of arguments. You can also use the function's full ABI-style signature in place of the function name, which can be useful for resolving overloads.
You can also use an address in place of a contract name... and if you pass the --fetch-external
option (or -x
for short), you can use it with external contracts verified on Etherscan or Sourcify, and Truffle will automatically download and compile the source to allow to you interact with it. ๐
The truffle call
command is powered by Truffle Encoder and Truffle Decoder, so it not only displays detailed decoding information, but also has a powerful overload resolution system that can resolve which overload you wanted not only based on how many arguments you supplied, but on their types. ๐ง Write yourself some overloaded functions and try it out! I think you'll be pleasantly surprised. (Note that correct overload resolution by name and arguments is never a guarantee and you may need to specify the full signature in cases where you need that guarantee. ๐งโโ๏ธ )
You might have in the past had to write things like myFunction(address,address,string,uint160)
, where you needed to tediously specify the full signature. This is because Solidity allows you to write functions with the same name that take different arguments:
contract Example {
function register(string memory name) public {
/* ... */
}
function register(bytes memory id) public {
/* ... */
}
}
Many tools refuse to make a guess at which register()
you want when you do register("0xabcdef")
, instead forcing you to do the work of specifying register(string)
or register(bytes)
, and in this case could tell that you obviously meant register(bytes)
. This gets annoying if you have a lot of arguments, especially if you have to change them later!
In contrast, truffle call
uses @truffle/encoder's sophisticated heuristics to make the most educated guess possible about which overload you intend. This means less boilerplate between you and getting the data you want!
Thanks so much to @sukanyaparashar for getting this started for us!
truffle debug
!)But that's not the only substantial improvement going out this week... Truffle Debugger now supports ENS reverse resolution when decoding! Now, when decoding, addresses (including contracts) with reverse ENS records will have their ENS primary name displayed alongside their ethereum address. ๐ต You can use the default ENS registry for the network you're on if there is one, or you can specify a registry in your config, or you can use the --registry
option to specify one at the command line. There's also --no-ens
option to turn this feature off.
We've also got a few small bug fixes, and we've updated the list of Sourcify networks allowed in trufle debug --fetch-external
.
And we'll be back soon with yet more improvements to Truffle! See you all!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
truffle call
command using @truffle/encoder and @truffle/decoder (#5647 by @sukanyaparashar and @haltman-at)Hello all! We've just got one small fix ๐ง this week, courtesy of @d10r. The buffer size has been increased when compiling using a native-binary copy of solc
, allowing for compilation of larger projects in such cases. We intend to revisit this in the future with a more comprehensive solution that won't require you to make a PR if the buffer size still isn't high enough for you! ๐ฆพ
...and, well, that's it for this week. But we've got big things coming down the pipeline... ๐งช
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hello everyone! ๐ซถ We have another release for you this week. This one updates Ganache to the most recent version; a version which supports Shanghai! We also have to give a shoutout to @lwedge99 ๐ for correcting a source mapping problem that affected the debugger. Much obliged!
We hope you have a wonderful rest of your week 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
Hello all! ๐
This release beings a few enhancements and a bug fix ๐. Firstly, the recently released @truffle/dashboard-hardhat-plugin
now automatically adds a --network truffleDashboard
to your Hardhat project, eliminating the need to add a custom network to your Hardhard config. In addition, it brings some additional flexibility by allowing you to customize a number of settings such as network, port, etc.
Beyond that we've added support for Polygon ZkEVM to Etherscan source fetcher and fixed a pesky typo in the @trufflesuite/codec
docs.
That's all for now, but, as always we'll be back soon with more!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hey everyone, we have yet another release for you this week! ๐ There are some bug fixes, some dependency updates, and a couple of enhancements. Thanks very much to @sheetalkamat and @AlexToTheSun for their contributions! ๐
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
LICENSE
in README.md
(#5969 by @AlexToTheSun)typeRoots
in tsconfig.json
(#5956 by @sheetalkamat)package.json
(#5964 by @gnidan)5.76.0
(#5972 by @dependabot[bot])7.7.6
(#5954 by @cds-amal)7.7.7
(#5966 by @davidmurdoch)Hello! ๐ It's time for another Truffle release!
This week, we're introducing the Truffle Dashboard Hardhat plugin.
This plugin enables you to see decoded transaction information (both the function signature and the values of any arguments passed) when using Truffle Dashboard with your Hardhat projects. It extends npx hardhat compile
by sending the compiled artifacts to Truffle Dashboard, which in turn uses @truffle/decoder for decoding, giving you that extra degree of visibility before signing the transactions with your browser-based wallet.
You can install this plugin with npm
(or yarn
) by running:
npm i @truffle/dashboard-hardhat-plugin -D
Beyond that, simply import the plugin in your hardhat.config.js
:
import "@truffle/dashboard-hardhat-plugin";
Truffle Dashboard allows developers to deploy their applications using a browser-based wallet instead of through local key management. For details on how to use the Truffle Dashboard, take a look at the documentation here. ๐
That's it for this week! We hope you enjoy this new feature. Please let us know what you think!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
Hey everyone, we hope you enjoy today's release which contains some library updates and a bug fix related to @truffle/from-hardhat. We hope you all have a nice weekend!
We recommend upgrading to the latest version of Truffle by running:
npm uninstall -g truffle
npm install -g truffle
solc
as a devDep to compile-solidity-tests (#5940 by @cds-amal)