feat: CoW TWAP ExtensibleFallbackHandler verification + inline hardhat config#135
Open
tamtamchik wants to merge 7 commits intomainfrom
Open
feat: CoW TWAP ExtensibleFallbackHandler verification + inline hardhat config#135tamtamchik wants to merge 7 commits intomainfrom
tamtamchik wants to merge 7 commits intomainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new verification config for CoW Protocol’s TWAP ExtensibleFallbackHandler and introduces support for embedding Hardhat settings directly in JSON configs by generating a Hardhat config file at runtime.
Changes:
- Generate a Hardhat
.tsconfig from inlinebytecode_comparison.hardhat_configsettings and clean it up after the run. - Add a new sample config to verify CoW TWAP’s
ExtensibleFallbackHandlerdeployment on Ethereum mainnet. - Document inline Hardhat config usage and supported fields in the README.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
diffyscan/utils/hardhat.py |
Adds generate_hardhat_config() to emit a Hardhat config from JSON settings. |
diffyscan/diffyscan.py |
Resolves Hardhat config path via inline config or hardhat_config_name, and cleans up generated config. |
config_samples/ethereum/mainnet/cow_twap/cow_twap_extensible_fallback_handler.json |
New sample config for verifying CoW TWAP EFH deployment and bytecode match. |
README.md |
Documents inline hardhat_config and updates usage instructions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Wrap os.remove in try/except to prevent cleanup masking exceptions - Fix solidity_version docs to reflect it's optional with default - Remove unused tempfile import - Apply evm_version even when optimizer is disabled
# Conflicts: # README.md # diffyscan/diffyscan.py # diffyscan/utils/hardhat.py
Contributor
|
no longer hardhatting here 👷 ❌ |
TheDZhon
approved these changes
Mar 17, 2026
| commit: fd81a96f01cc42ef1c9a5399364968d0e07e9e90 | ||
| relative_root: "" | ||
|
|
||
| fail_on_bytecode_comparison_error: false |
|
|
||
| github_repo: | ||
| url: https://github.com/cowprotocol/composable-cow | ||
| commit: bd2634dbd2634d3b3b4297402fd3a5ca3f3a5ccbf75aed0 |
| dependencies: | ||
| lib/safe: | ||
| url: https://github.com/rndlabs/safe-contracts | ||
| commit: e53ffea42d8547c984c463bf5b7e47f156619a1f |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
0x2f55e8b20D0B9FEFA187AA7d00B6Cbe563605bF5— source (26/26 files identical) and bytecode fully matchhardhat_configin JSON configs, so separate.tsfiles are no longer required for bytecode comparisonDetails
CoW TWAP verification config
Verifies the ExtensibleFallbackHandler deployed for CoW Protocol TWAP orders against:
cowprotocol/composable-cow@ab3addadcowdao-grants/extensible-fallback-handler@e53ffea4Inline hardhat config
New
bytecode_comparison.hardhat_configJSON field that auto-generates a temporary Hardhat config at runtime:Chain ID is taken from
explorer_chain_id. Temp file is cleaned up after the run. Existinghardhat_config_nameand--hardhat-pathcontinue to work.Test plan
--hardhat-pathCLI flag still workshardhat_config_namein JSON still works