api3dao / airnode

Airnode monorepo
https://docs.api3.org/
MIT License
160 stars 66 forks source link

chore(deps): update dependency hardhat-gas-reporter to v2 #1975

Open renovate[bot] opened 3 months ago

renovate[bot] commented 3 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
hardhat-gas-reporter ^1.0.10 -> ^2.2.0 age adoption passing confidence

Release Notes

cgewecke/hardhat-gas-reporter (hardhat-gas-reporter) ### [`v2.2.0`](https://togithub.com/cgewecke/hardhat-gas-reporter/releases/tag/v2.2.0): Gas Golfing Support [Compare Source](https://togithub.com/cgewecke/hardhat-gas-reporter/compare/v2.1.1...v2.2.0) #### New This release adds a `trackGasDeltas` option. When enabled, the reporter displays changes in gas usage between test runs - super useful for optimization work. Many thanks to [@​0xVolosnikov](https://togithub.com/0xVolosnikov) for writing this feature. ![Screen Shot 2024-05-23 at 11 40 47 AM](https://togithub.com/cgewecke/hardhat-gas-reporter/assets/7332026/c3ca47fb-b046-4b90-b553-06d8ba4be289) #### Bugfixes - A bug that prevented correct identification of factory deployed contracts in some cases has been fixed. (Thanks to [@​CSY54](https://togithub.com/CSY54) for reporting and providing a nice reproduction case to add to the test suite). ##### PRs - Track gas deltas by [@​0xVolosnikov](https://togithub.com/0xVolosnikov) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/230](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/230) - Add gas delta tracking for deployments by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/233](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/233) - Fix bug preventing correct resolution of factory deployed contracts by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/234](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/234) #### New Contributors - [@​0xVolosnikov](https://togithub.com/0xVolosnikov) made their first contribution in [https://github.com/cgewecke/hardhat-gas-reporter/pull/230](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/230) **Full Changelog**: https://github.com/cgewecke/hardhat-gas-reporter/compare/v2.1.1...v2.2.0 ### [`v2.1.1`](https://togithub.com/cgewecke/hardhat-gas-reporter/releases/tag/v2.1.1): Allow sub-gwei `blobBaseFee` [Compare Source](https://togithub.com/cgewecke/hardhat-gas-reporter/compare/v2.1.0...v2.1.1) #### What's Changed - Fix bug in pricing for OP stack chains when the reported L1 `blobBaseFee` drops below 1 gwei by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/228](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/228) **Full Changelog**: https://github.com/cgewecke/hardhat-gas-reporter/compare/v2.1.0...v2.1.1 ### [`v2.1.0`](https://togithub.com/cgewecke/hardhat-gas-reporter/releases/tag/v2.1.0): Arbitrum & Base L2 Network Support [Compare Source](https://togithub.com/cgewecke/hardhat-gas-reporter/compare/v2.0.2...v2.1.0) #### What's New - Arbitrum and Base have been added to the list of L2 networks the gas reporter can emulate ```ts gasReporter: { L2: "arbitrum" | "base" | "optimism", L2Etherscan: "ABC....", coinmarketcap: "abc...", } ``` - `blobBaseFee` is now fetched directly from the OP stack GasOracle contracts (should be accurate) - :warning: To get live `blobBaseFee` prices for L2 emulation you'll need to set the `L2Etherscan` api key option. - the JSON output object now includes a separate intrinsic gas measurement for each transaction. This could be convenient if you want to do more complex post-processing with the gas data. #### What's changed - Bump undici from 5.28.2 to 5.28.3 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/175](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/175) - Fetch live blobBaseFee from OP Stack GasPriceOracle by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/222](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/222) - Add Base network support by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/223](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/223) - Collect intrinsicGas for JSON output by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/224](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/224) - Add Arbitrum support by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/225](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/225) - Update README image for 2.1.0 by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/226](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/226) **Full Changelog**: https://github.com/cgewecke/hardhat-gas-reporter/compare/v2.0.2...v2.1.0 ### [`v2.0.2`](https://togithub.com/cgewecke/hardhat-gas-reporter/releases/tag/v2.0.2): Fix crash with --parallel flag [Compare Source](https://togithub.com/cgewecke/hardhat-gas-reporter/compare/v2.0.1...v2.0.2) #### What's Changed - Fix crash when --parallel flag is used by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/219](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/219) **Full Changelog**: https://github.com/cgewecke/hardhat-gas-reporter/compare/v2.0.1...v2.0.2 ### [`v2.0.1`](https://togithub.com/cgewecke/hardhat-gas-reporter/releases/tag/v2.0.1): Optimism Ecotone (EIP-4844) [Compare Source](https://togithub.com/cgewecke/hardhat-gas-reporter/compare/v2.0.0...v2.0.1) #### What's Changed - Finalize Optimism Ecotone support and set as default hardfork by [@​cgewecke](https://togithub.com/cgewecke) in [https://github.com/cgewecke/hardhat-gas-reporter/pull/213](https://togithub.com/cgewecke/hardhat-gas-reporter/pull/213) **Full Changelog**: https://github.com/cgewecke/hardhat-gas-reporter/compare/v2.0.0...v2.0.1 ### [`v2.0.0`](https://togithub.com/cgewecke/hardhat-gas-reporter/releases/tag/v2.0.0): : Optimism L2 & View/Pure Method Gas [Compare Source](https://togithub.com/cgewecke/hardhat-gas-reporter/compare/373412d97ebba9ed79778bf770d63c421ec81d0b...v2.0.0) ![Screen Shot 2024-03-14 at 12 48 35 PM](https://togithub.com/cgewecke/hardhat-gas-reporter/assets/7332026/4948dd7f-b0ac-4cd7-b3d1-d8f458b0c670) #### What's New - **Configuration** for chains with Etherscan support has been **simplified to a single key**. Just set the `L1` option to one of the [supported networks][2] and the reporter will take care of the rest. (You'll still need a [coinmarketcap][8] api key) ```ts gasReporter: { L1: "gnosis", coinmarketcap: "abc...", } ``` - Gas reporting for **L2 networks** is coming online, starting with **Optimism**. ```ts gasReporter: { L2: "optimism", coinmarketcap: "abc...", } ``` - Gas metrics for `view` and `pure` methods are now available as an option. You can also exclude [intrinsic gas][10] costs for state-changing methods. (⚠️ There are performance hits when the view and pure options are enabled) ```ts gasReporter: { // Debits intrinsic gas for state-changing method calls in order to model contracts // that will never be called by an EOA includeIntrinsicGas: false, // This option executes an additional `eth_estimateGas` for every `eth_call` // detected by the reporter. If you have 1000's of tests setting it to true has a // noticeable performance impact reportPureAndViewMethods: true, // This option can add SIGNIFICANT LAG to test startup time if you have // 100's of contracts in your project. (It parses all the sources in your dependency tree // to identify state variable declarations) excludeAutoGeneratedGetters: true, } ``` - There are **multiple report formats**, [including markdown][9]. - The reporter now supports **sub-gwei gas prices**. Sub-penny cost display is possible by configuring the `currencyDisplayPrecision` option - Dedicated support for the **OpenZeppelin Upgrades** plugin has been added. (Their proxy pattern often resulted in missing gas data because the reporter didn't know what contract was being called - that's all handled under the hood now.) - Dedicated support for the **hardhat-viem** plugin has been added (this was broken and should be fixed by this release) - There are many **new** output, display and low-level **options** - check out the [Config Examples][3] section of the docs - There's additional support for [custom proxy contract resolution][4]. If you're routing your calls through contract middleware you can configure the reporter to understand how that works and get the data you expect. - Additionally: - [eth-gas-reporter][6]'s logic has been ported here and translated to Typescript - The plugin has been decoupled from Mocha so it can be seamlessly integrated with lots of other tasks or test frameworks - There have been big architectural changes and testing improvements and additional features are in the pipeline #### Breaking - Codechecks support was removed because it hasn't been accepting users for a while. I loved codechecks. (Building a github action for the reporter is on the V2 roadmap though). - The JSON object emitted by the reporter has changed to reflect the plugin's internal types. If you've been post-processing that data you'll need to look at the [JSON Output docs][1] and update your logic. - The `gas-reporter:merge` task has been renamed `hhgas:merge` - The `onlyCalledMethods` option has been renamed `showUncalledMethods` and must be set to `true` (if you want that). #### Funding Work on V2 was funded in part by OpenZeppelin via [DRIPS][5], a public goods protocol that helps direct funding to packages in your dependency tree. If you're using DRIPS and want to add hardhat-gas-reporter to the packages you support [its page is here][7]. [1]: https://togithub.com/cgewecke/hardhat-gas-reporter/blob/master/docs/advanced.md#json-output [2]: https://togithub.com/cgewecke/hardhat-gas-reporter/tree/master?tab=readme-ov-file#supported-networks [3]: https://togithub.com/cgewecke/hardhat-gas-reporter/blob/master/docs/advanced.md#config-examples [4]: https://togithub.com/cgewecke/hardhat-gas-reporter/blob/master/docs/advanced.md#proxy-resolvers [5]: https://www.drips.network [6]: https://togithub.com/cgewecke/eth-gas-reporter [7]: https://www.drips.network/app/projects/github/cgewecke/hardhat-gas-reporter [8]: https://coinmarketcap.com/api/pricing/ [9]: https://togithub.com/cgewecke/hardhat-gas-reporter/blob/master/docs/advanced.md#markdown-format-example [10]: https://togithub.com/cgewecke/hardhat-gas-reporter/blob/master/docs/advanced.md#intrinsic-gas **Full Changelog**: https://github.com/cgewecke/hardhat-gas-reporter/compare/v1.10.0...v2.0.0

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.