Skip to content

Test/fly 2238#445

Merged
Hakob23 merged 13 commits intov2.6.0from
test/FLY-2238
Mar 25, 2026
Merged

Test/fly 2238#445
Hakob23 merged 13 commits intov2.6.0from
test/FLY-2238

Conversation

@Hakob23
Copy link
Copy Markdown
Collaborator

@Hakob23 Hakob23 commented Mar 18, 2026

What

The idea is to compare the new version of the contract(s) with currently deployed version of the contract(s) to make sure they are behaving the same way for given scenarios as expected(unless if there is an intentional behavioral change of course).

To make the test suite as resilient to radical architectural changes as possible(as v2.5.0 is for example), an adapter was introduced to normalize the layouts between the current and new versions. The PR covers some simple test cases and also the skeleton of more test cases that could be covered as a suggestion for future development. The tests are network agnostic, as the later is handled via Helper config(in case if some of the networks have an external problem when trying to fork).

The task

https://rsklabs.atlassian.net/browse/FLY-2238?atlOrigin=eyJpIjoiMWRkZDE1NzgzMWY2NGQ1NGJkZDg4Nzg3Yjg5ZjAzYzYiLCJwIjoiaiJ9

@Hakob23 Hakob23 requested a review from a team as a code owner March 18, 2026 19:04
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 18, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
npm/@rsksmart/btc-transaction-solidity-helper 0.3.0-beta 🟢 6.5
Details
CheckScoreReason
Binary-Artifacts🟢 10no binaries found in the repo
Branch-Protection🟢 8branch protection is not maximal on development and all release branches
CI-Tests🟢 1014 out of 14 merged PRs checked by a CI test -- score normalized to 10
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Code-Review🟢 3Found 5/14 approved changesets -- score normalized to 3
Contributors🟢 3project has 1 contributing companies or organizations -- score normalized to 3
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Dependency-Update-Tool🟢 10update tool detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Maintained⚠️ 00 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Packaging⚠️ -1packaging workflow not detected
Pinned-Dependencies🟢 10all dependencies are pinned
SAST🟢 8SAST tool is not run on all commits -- score normalized to 8
Security-Policy🟢 10security policy file detected
Signed-Releases⚠️ -1no releases found
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Vulnerabilities⚠️ 014 existing vulnerabilities detected

Scanned Files

  • package-lock.json

@Hakob23 Hakob23 self-assigned this Mar 18, 2026
@Hakob23 Hakob23 requested a review from Luisfc68 March 18, 2026 19:06
@alexjavabraz alexjavabraz requested a review from Copilot March 19, 2026 13:11
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new differential testing harness intended to compare behavior between the currently deployed legacy Flyover (reference) and the new split-contract Flyover (candidate) on a fork, using adapters to normalize the APIs.

Changes:

  • Introduce DifferentialBase harness to fork a configured network, resolve deployed reference addresses, and deploy a split candidate locally.
  • Add adapter layer (IDifferentialAdapter, ReferenceAdapter, CandidateAdapter) to provide a unified interface for reference/candidate calls.
  • Add initial differential tests (plus TODO skeletons), and add a deployForTesting helper in DeployFlyover to support test deployments.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
test/differential/base/DifferentialBase.sol Fork/bootstrap harness and candidate deployment based on reference config
test/differential/adapters/IDifferentialAdapter.sol Unified adapter interface for differential comparisons
test/differential/adapters/ReferenceAdapter.sol Adapter over deployed legacy reference contract
test/differential/adapters/CandidateAdapter.sol Adapter over newly deployed split candidate contracts
test/differential/DifferentialParity.diff.t.sol Initial non-fuzz differential tests + skeletons
test/differential/DifferentialParity.fuzz.diff.t.sol Fuzz test skeletons
script/deployment/DeployFlyover.s.sol Adds deployForTesting helper for test deployments
script/HelperConfig.s.sol Adds differential-network selection config resolver
example.env Documents DIFF_NETWORK env var

You can also share your feedback on Copilot code review. Take the survey.

Copy link
Copy Markdown
Collaborator

@Luisfc68 Luisfc68 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved but pls take a look to my only comment (also check copilot ones according to your criteria)

@Hakob23 Hakob23 merged commit 05c6917 into v2.6.0 Mar 25, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants