EVMTXGun Non-EVM Destination Support#1147
Open
Farber98 wants to merge 7 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Extends the EVMTXGun E2E load-test “gun” to support EVM-source lanes targeting non-EVM (V3) destinations by resolving receivers and encoding extra-args based on the destination’s capabilities, while also extracting WETH/router load-prep into a shared helper.
Changes:
- Make
EVMTXGundestination-aware for receiver selection and extra-args encoding (EVMmock_receivervs V3 destination impl). - Extract WETH funding + router approval into
EnsureWETHBalanceAndApproval(load_prep.go) and update load tests to use it. - Add
V3DestinationLoadDefaultsinterface to allow destination implementations to provide load-test defaults (e.g., execution gas limit).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| build/devenv/tests/e2e/load_test.go | Removes inlined WETH prep and switches to shared helper. |
| build/devenv/tests/e2e/load_prep.go | Adds shared WETH deposit + router approval helper for load tests. |
| build/devenv/tests/e2e/gun.go | Adds destination-aware receiver resolution/extra-args building; updates send options. |
| build/devenv/cciptestinterfaces/extra_args.go | Introduces optional interface for destination-provided V3 load defaults. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Code coverage report:
|
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
Extends
EVMTXGunso EVM source load tests can target V3 AltVM destinations without family repos or adding family specific logic to CCV.Today the gun assumes every destination has a deployed
mock_receiverin the CLDF datastore and always serializes EVM shaped extra args. This causes issues with cross-family lanes, which needBuildV3ExtraArgsand a receiver from the destination chain impl.Why
Reuse one gun for all EVM-source lanes: EVM→EVM behavior is unchanged; EVM→AltVM should be additive behind destination detection.
What changed
EVMTXGun: destination-aware receiver resolution and extra-args encodingmock_receiverin datastore) → existing EVM extra-args pathBuildV3ExtraArgs; execution defaults from destination viaV3DestinationLoadDefaultsV3DestinationLoadDefaults: optional interface so destination impls supply load-testMessageOptionswithout CCV knowing family specificsEnsureWETHBalanceAndApproval: shared WETH deposit + router approval for load senders (chain.Users + DeployerKey)Out of scope for now
verifyTestConfig+ cross-family impl loading inTestStaging)