Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: v1 v2 split #268

Merged
merged 46 commits into from
Aug 2, 2024
Merged

refactor: v1 v2 split #268

merged 46 commits into from
Aug 2, 2024

Conversation

skosito
Copy link
Contributor

@skosito skosito commented Jul 29, 2024

  • will add go and ts bindings in follow up PR (started here: refactor: v2 bindings #270
    Q: do we need to port address generation or just use v1 for now? what is the usage for those?)
  • this PR separates contracts into 2 subprojects with workflows, v1 old hardhat project and v2 new foundry project
  • all development should be in v2 folder now

Summary by CodeRabbit

  • New Features
    • Introduced a new README.md file providing an overview of the ZetaChain Protocol Contracts, including links to official resources and details on legacy and new contract versions.
  • Chores
    • Enhanced GitHub Actions workflows for better versioning and focused execution on specific directories, improving overall efficiency for tasks like linting, testing, and publishing to NPM.
    • Updated Node.js version in workflows to ensure the use of the latest features and improvements.
    • Added a .gitignore entry for broadcast to maintain a cleaner repository.
    • Restructured submodule definitions in .gitmodules to reflect a more modular organization.

Copy link
Contributor

coderabbitai bot commented Jul 29, 2024

Walkthrough

The recent changes enhance the GitHub Actions workflows for project management, emphasizing versioning and streamlining processes specific to the 'v1' and 'v2' directories. Key updates include revised workflow names, newly defined triggers based on directory paths, and centralized working directories. These improvements reflect a focus on better organization, efficiency in testing, linting, and publishing tasks, as well as a clearer setup for tools and dependencies.

Changes

Files Change Summary
.github/workflows/generated-files_*.yaml Workflows renamed to "Generated Files are Updated (V1/V2)", restricted to v1/** and v2/**, added working directory defaults.
.github/workflows/lint_*.yaml Workflows renamed to "Lint TS/JS (V1)" and "Lint TS/JS/Sol (V2)", restricted to v1/** and v2/**, updated Node.js version, added Foundry installation, and adjusted steps accordingly.
.github/workflows/publish-npm_v1.yaml Renamed to "Publish to NPM (V1)", added working directory defaults, removed submodule checkout.
.github/workflows/slither_v2.yaml Renamed to "Slither (V2)", updated to v2/**, upgraded checkout and Node.js versions, changed build command to forge build.
.github/workflows/test_*.yaml Workflows renamed to "Test (V1)" and "Test (V2)", adjusted to v1/** and v2/**, removed Foundry installation, and introduced Hardhat testing.
.gitignore New entry broadcast added to ignore files related to broadcasting.
.gitmodules Submodule paths updated to v2/, indicating a reorganization of dependencies.
README.md New file introduced outlining the ZetaChain Protocol Contracts, linking to relevant resources.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GitHubActions as GHA
    participant Node as NodeJS
    participant Tools as Tools
    participant Repo as Repository

    User->>GHA: Push changes to v1 or v2
    GHA->>Repo: Check out code
    GHA->>Node: Set up Node environment
    GHA->>Tools: Run linting/tests
    Tools->>GHA: Return results
    GHA->>User: Notify completion
Loading

🐇
In the meadow, changes bloom,
New workflows rise, dispelling gloom.
With paths defined and tools in hand,
Our projects flourish, oh so grand!
Hopping forward, we'll take flight,
Celebrating code, our delight!
🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

gitguardian bot commented Jul 29, 2024

⚠️ GitGuardian has uncovered 2 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
13159201 Triggered Alchemy API Key 72e1200 v2/lib/forge-std/src/StdChains.sol View secret
13159201 Triggered Alchemy API Key 8fafcbd v2/lib/forge-std/src/StdChains.sol View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@skosito skosito linked an issue Jul 29, 2024 that may be closed by this pull request
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (2)
README.md (1)

10-13: Fix unordered list style.

The unordered list style should use asterisks instead of dashes.

- - [v1 legacy contracts](v1)
- - [v2 new contracts (currently in development)](v2)
+ * [v1 legacy contracts](v1)
+ * [v2 new contracts (currently in development)](v2)
Tools
Markdownlint

12-12: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


13-13: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)

.github/workflows/publish-npm_v1.yaml (1)

13-13: Foundry is still being used in the project.

The removal of the Foundry installation step from the workflow might lead to issues, as Foundry is referenced in several files:

  • v1/yarn.lock
  • v1/readme.md
  • v1/package.json
  • Multiple test files in the v2/test directory

Please review the workflow to ensure that the removal of Foundry does not disrupt the project.

Analysis chain

Verify if Foundry is no longer needed.

The removal of the Foundry installation step suggests that Foundry is no longer required. Ensure that this change does not affect any dependencies.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify if Foundry is no longer needed for the workflow.

# Test: Search for Foundry usage in the codebase. Expect: No occurrences of Foundry installation or usage.
rg --type yaml 'foundry'

Length of output: 24


Script:

#!/bin/bash
# Description: Verify if Foundry is no longer needed for the workflow.

# Test: Search for Foundry usage in the entire codebase. Expect: No occurrences of Foundry installation or usage.
rg 'foundry'

Length of output: 1062

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between d1746fd and 545201b.

Files ignored due to path filters (241)
  • pkg/contracts/prototypes/evm/erc20custodynew.sol/erc20custodynew.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/gatewayevm.sol/gatewayevm.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/gatewayevmupgradetest.sol/gatewayevmupgradetest.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/ierc20custodynew.sol/ierc20custodynewerrors.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/ierc20custodynew.sol/ierc20custodynewevents.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/igatewayevm.sol/igatewayevm.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/igatewayevm.sol/igatewayevmerrors.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/igatewayevm.sol/igatewayevmevents.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/igatewayevm.sol/revertable.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/ireceiverevm.sol/ireceiverevmevents.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/izetaconnector.sol/izetaconnectorevents.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/izetanonethnew.sol/izetanonethnew.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/receiverevm.sol/receiverevm.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/testerc20.sol/testerc20.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/zetaconnectornative.sol/zetaconnectornative.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/zetaconnectornewbase.sol/zetaconnectornewbase.go is excluded by !pkg/**
  • pkg/contracts/prototypes/evm/zetaconnectornonnative.sol/zetaconnectornonnative.go is excluded by !pkg/**
  • pkg/contracts/prototypes/zevm/gatewayzevm.sol/gatewayzevm.go is excluded by !pkg/**
  • pkg/contracts/prototypes/zevm/igatewayzevm.sol/igatewayzevm.go is excluded by !pkg/**
  • pkg/contracts/prototypes/zevm/igatewayzevm.sol/igatewayzevmerrors.go is excluded by !pkg/**
  • pkg/contracts/prototypes/zevm/igatewayzevm.sol/igatewayzevmevents.go is excluded by !pkg/**
  • pkg/contracts/prototypes/zevm/senderzevm.sol/senderzevm.go is excluded by !pkg/**
  • pkg/contracts/prototypes/zevm/testzcontract.sol/testzcontract.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/access/ownableupgradeable.sol/ownableupgradeable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/interfaces/ierc1967upgradeable.sol/ierc1967upgradeable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/proxy/beacon/ibeaconupgradeable.sol/ibeaconupgradeable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/proxy/erc1967/erc1967upgradeupgradeable.sol/erc1967upgradeupgradeable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/proxy/utils/initializable.sol/initializable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/proxy/utils/uupsupgradeable.sol/uupsupgradeable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/security/reentrancyguardupgradeable.sol/reentrancyguardupgradeable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/utils/addressupgradeable.sol/addressupgradeable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/utils/contextupgradeable.sol/contextupgradeable.go is excluded by !pkg/**
  • pkg/openzeppelin/contracts-upgradeable/utils/storageslotupgradeable.sol/storageslotupgradeable.go is excluded by !pkg/**
  • typechain-types/contracts/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/ERC20Custody.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/ERC20CustodyNew.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/Gateway.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/GatewayUpgradeTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/GatewayV2.sol/Gateway.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/GatewayV2.sol/GatewayV2.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/GatewayV2.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/GatewayV2.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/Receiver.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/TestERC20.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/WETH9.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/ERC20CustodyNew.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/ERC20CustodyNewEchidnaTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/Gateway.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayEVM.sol/GatewayEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayEVM.sol/Revertable.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayEVM.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayEVM.t.sol/GatewayEVMTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayEVM.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayEVMEchidnaTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayEVMUpgradeTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/GatewayUpgradeTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IERC20CustodyNew.sol/IERC20CustodyNewErrors.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IERC20CustodyNew.sol/IERC20CustodyNewEvents.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IERC20CustodyNew.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IGatewayEVM.sol/IGatewayEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IGatewayEVM.sol/IGatewayEVMErrors.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IGatewayEVM.sol/IGatewayEVMEvents.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IGatewayEVM.sol/Revertable.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IGatewayEVM.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IReceiverEVM.sol/IReceiverEVMEvents.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IReceiverEVM.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IZetaConnector.sol/IZetaConnectorEvents.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IZetaConnector.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/IZetaNonEthNew.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/Receiver.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/ReceiverEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/TestERC20.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/ZetaConnectorNative.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/ZetaConnectorNew.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/ZetaConnectorNewBase.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/ZetaConnectorNonNative.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/interfaces.sol/IGateway.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/interfaces.sol/IGatewayEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/interfaces.sol/IGatewayEVMErrors.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/interfaces.sol/IGatewayEVMEvents.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/interfaces.sol/IReceiverEVMEvents.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/evm/interfaces.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/interfaces.sol/IGateway.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayEVMZEVM.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayIntegration.t.sol/GatewayIntegrationTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayIntegration.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/test/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/GatewayZEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/IGatewayZEVM.sol/IGatewayZEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/IGatewayZEVM.sol/IGatewayZEVMErrors.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/IGatewayZEVM.sol/IGatewayZEVMEvents.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/IGatewayZEVM.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/Sender.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/SenderZEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/TestZContract.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/ZRC20New.sol/ZRC20Errors.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/ZRC20New.sol/ZRC20New.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/interfaces.sol/IGatewayZEVM.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/interfaces.sol/IGatewayZEVMErrors.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/interfaces.sol/IGatewayZEVMEvents.ts is excluded by !typechain-types/**
  • typechain-types/contracts/prototypes/zevm/interfaces.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/contracts/zevm/ZRC20New.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/@openzeppelin/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/ERC20CustodyNew__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/ERC20Custody__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/GatewayUpgradeTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/GatewayV2.sol/GatewayV2__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/GatewayV2.sol/Gateway__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/GatewayV2.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/GatewayV2__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/Gateway__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/Receiver__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/TestERC20__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/WETH9__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ERC20CustodyNewEchidnaTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ERC20CustodyNew__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayEVM.sol/GatewayEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayEVM.sol/Revertable__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayEVM.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayEVM.t.sol/GatewayEVMTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayEVM.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayEVMEchidnaTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayEVMUpgradeTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/GatewayUpgradeTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/Gateway__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IERC20CustodyNew.sol/IERC20CustodyNewErrors__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IERC20CustodyNew.sol/IERC20CustodyNewEvents__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IERC20CustodyNew.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IGatewayEVM.sol/IGatewayEVMErrors__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IGatewayEVM.sol/IGatewayEVMEvents__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IGatewayEVM.sol/IGatewayEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IGatewayEVM.sol/Revertable__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IGatewayEVM.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IReceiverEVM.sol/IReceiverEVMEvents__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IReceiverEVM.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IZetaConnector.sol/IZetaConnectorEvents__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IZetaConnector.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/IZetaNonEthNew__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ReceiverEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/Receiver__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/TestERC20__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ZetaConnectorNative__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ZetaConnectorNewBase__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ZetaConnectorNewEth__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ZetaConnectorNewNonEth__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ZetaConnectorNew__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/ZetaConnectorNonNative__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/interfaces.sol/IGatewayEVMErrors__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/interfaces.sol/IGatewayEVMEvents__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/interfaces.sol/IGatewayEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/interfaces.sol/IGateway__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/interfaces.sol/IReceiverEVMEvents__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/evm/interfaces.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/interfaces.sol/IGateway__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/interfaces.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayEVMZEVM.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayIntegration.t.sol/GatewayIntegrationTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayIntegration.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/test/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/GatewayZEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/IGatewayZEVM.sol/IGatewayZEVMErrors__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/IGatewayZEVM.sol/IGatewayZEVMEvents__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/IGatewayZEVM.sol/IGatewayZEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/IGatewayZEVM.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/SenderZEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/Sender__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/TestZContract__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/ZRC20New.sol/ZRC20Errors__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/ZRC20New.sol/ZRC20New__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/interfaces.sol/IGatewayZEVMErrors__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/interfaces.sol/IGatewayZEVMEvents__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/interfaces.sol/IGatewayZEVM__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/prototypes/zevm/interfaces.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/contracts/zevm/ZRC20New.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/StdAssertions__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/StdError.sol/StdError__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/StdError.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/StdInvariant__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/StdStorage.sol/StdStorageSafe__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/StdStorage.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/Test__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/Vm.sol/VmSafe__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/Vm.sol/Vm__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/Vm.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/IERC165__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/IERC20__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/IERC721.sol/IERC721Enumerable__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/IERC721.sol/IERC721Metadata__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/IERC721.sol/IERC721TokenReceiver__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/IERC721.sol/IERC721__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/IERC721.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/IMulticall3__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/interfaces/index.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/mocks/MockERC20__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/mocks/MockERC721__factory.ts is excluded by !typechain-types/**
  • typechain-types/factories/forge-std/mocks/index.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/StdAssertions.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/StdError.sol/StdError.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/StdError.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/StdInvariant.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/StdStorage.sol/StdStorageSafe.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/StdStorage.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/Test.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/Vm.sol/Vm.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/Vm.sol/VmSafe.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/Vm.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/index.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/IERC165.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/IERC20.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/IERC721.sol/IERC721.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/IERC721.sol/IERC721Enumerable.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/IERC721.sol/IERC721Metadata.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/IERC721.sol/IERC721TokenReceiver.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/IERC721.sol/index.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/IMulticall3.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/interfaces/index.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/mocks/MockERC20.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/mocks/MockERC721.ts is excluded by !typechain-types/**
  • typechain-types/forge-std/mocks/index.ts is excluded by !typechain-types/**
Files selected for processing (10)
  • .github/workflows/generated-files_v1.yaml (3 hunks)
  • .github/workflows/lint_v1.yaml (2 hunks)
  • .github/workflows/lint_v2.yaml (2 hunks)
  • .github/workflows/publish-npm_v1.yaml (1 hunks)
  • .github/workflows/slither_v2.yaml (4 hunks)
  • .github/workflows/test_v1.yaml (2 hunks)
  • .github/workflows/test_v2.yaml (2 hunks)
  • .gitignore (1 hunks)
  • .gitmodules (1 hunks)
  • README.md (1 hunks)
Files skipped from review due to trivial changes (1)
  • .gitignore
Additional context used
Markdownlint
README.md

12-12: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)


13-13: Expected: asterisk; Actual: dash
Unordered list style

(MD004, ul-style)

Additional comments not posted (37)
README.md (2)

1-3: LGTM!

The header and introduction are clear and concise.


5-8: LGTM!

The links to the website and documentation are correctly formatted and relevant.

.gitmodules (3)

1-2: LGTM!

The submodule path and URL are correctly formatted.


4-6: LGTM!

The submodule path and URL are correctly formatted.


7-9: LGTM!

The submodule path and URL are correctly formatted.

.github/workflows/test_v1.yaml (4)

1-8: LGTM!

The workflow name and trigger conditions are correctly formatted and relevant to the project's versioning approach.


18-20: LGTM!

The defaults section is correctly formatted and centralizes the execution context for the jobs defined in the workflow.


21-41: LGTM!

The jobs section is correctly formatted and relevant to the project's testing approach.


41-41: LGTM!

The Test (hardhat) step is correctly formatted and relevant to the project's testing framework.

.github/workflows/lint_v1.yaml (4)

1-1: Workflow name updated.

The workflow name has been updated to "Lint TS/JS (V1)" to reflect the versioning change.


7-8: Trigger conditions updated.

The paths filter has been added to trigger the workflow only for changes in the v1 directory.


18-20: Defaults section added.

The defaults section sets the working-directory to ./v1, centralizing the execution context for subsequent steps.


25-26: Foundry toolchain step removed.

The step for installing the Foundry toolchain has been removed, streamlining the workflow to focus on dependency installation via yarn install.

.github/workflows/lint_v2.yaml (6)

1-1: Workflow name updated.

The workflow name has been updated to "Lint TS/JS/Sol (V2)" to reflect the versioning change and expanded scope.


7-8: Trigger conditions updated.

The paths filter has been added to trigger the workflow only for changes in the v2 directory.


18-20: Defaults section added.

The defaults section sets the working-directory to ./v2, centralizing the execution context for subsequent steps.


28-30: Checkout action updated.

The checkout action has been updated to actions/checkout@v4 with submodules checked out recursively, enhancing the repository's setup process.


35-35: Node.js version updated.

The Node.js version has been updated to "21.1.0", aligning with modern development standards.


38-48: Foundry toolchain and lint steps added.

A new step for installing the Foundry toolchain has been introduced, and steps for linting JavaScript/TypeScript and Solidity code have been added, enhancing the workflow's functionality.

.github/workflows/test_v2.yaml (7)

1-1: Workflow name updated.

The workflow name has been updated to "Test (V2)" to reflect the versioning change and expanded scope.


7-8: Trigger conditions updated.

The paths filter has been added to trigger the workflow only for changes in the v2 directory.


18-20: Defaults section added.

The defaults section sets the working-directory to ./v2, centralizing the execution context for subsequent steps.


28-30: Checkout action updated.

The checkout action has been updated to actions/checkout@v4 with submodules checked out recursively, enhancing the repository's setup process.


35-35: Node.js version updated.

The Node.js version has been updated to "21.1.0", aligning with modern development standards.


44-45: Test step added.

A new step for running tests (yarn test) has been added, ensuring that tests are executed as part of the workflow.


47-47: Coverage reporting step updated.

The coverage reporting step has been retained but is now positioned after the new test step, ensuring that coverage is reported based on the test results.

.github/workflows/publish-npm_v1.yaml (3)

1-1: Workflow name update is appropriate.

The workflow name change to include the version number is clear and aligns with the versioning strategy.


7-9: Adding defaults section is a good practice.

Centralizing the working directory for all job steps ensures consistency and reduces the risk of errors related to incorrect paths.


12-12: Verify if submodules are no longer needed.

The removal of the with clause for submodules suggests that submodules are no longer required. Ensure that this change does not affect any dependencies.

Verification successful

Submodules are no longer needed.

The removal of the with clause for submodules in the checkout step is appropriate, as there are no references to submodules in the repository.

  • No occurrences of submodules: recursive in YAML files.
  • No .gitmodules file found.
  • No git submodule commands found in shell scripts.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify if submodules are no longer needed for the workflow.

# Test: Search for submodule usage in the codebase. Expect: No occurrences of submodule initialization.
rg --type yaml 'submodules: recursive'

Length of output: 40


Script:

#!/bin/bash
# Description: Verify if submodules are referenced in the repository.

# Test 1: Search for .gitmodules file which indicates submodule usage.
fd --type f '.gitmodules'

# Test 2: Search for submodule-related commands in shell scripts.
rg 'git submodule' --type sh

Length of output: 56

.github/workflows/slither_v2.yaml (5)

1-1: Workflow name update is appropriate.

The workflow name change to include the version number is clear and aligns with the versioning strategy.


7-8: Adding path filter is a good practice.

Refining the conditions under which the workflow is executed ensures it runs only for relevant changes within the v2 directory.


18-20: Adding defaults section is a good practice.

Centralizing the working directory for all job steps ensures consistency and reduces the risk of errors related to incorrect paths.


31-31: Upgrading checkout action is beneficial.

Upgrading the checkout action to version 4 may offer improved functionality or fixes. Ensure compatibility with the rest of the workflow.

Verification successful

Upgrading checkout action is beneficial.

Upgrading the checkout action to version 4 may offer improved functionality or fixes. No compatibility issues were found with the rest of the workflow.

  • No dependencies or specific configurations related to actions/checkout were found in other YAML files.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify compatibility of actions/checkout@v4 with the workflow.

# Test: Search for any known issues or incompatibilities with actions/checkout@v4.
rg --type yaml 'actions/checkout@v4'

Length of output: 36


Script:

#!/bin/bash
# Description: Search for all instances of actions/checkout in the repository to understand its usage and verify compatibility.

# Test: Search for any usage of actions/checkout in YAML files.
rg --type yaml 'actions/checkout@'

Length of output: 34


Script:

#!/bin/bash
# Description: List all YAML files and inspect their contents for any configurations related to actions/checkout.

# Find all YAML files in the repository.
fd --type f --extension yaml --exec cat {} +

Length of output: 287


Script:

#!/bin/bash
# Description: List all YAML files and inspect their contents for any configurations related to actions/checkout.

# Find all YAML files in the repository and display their contents.
fd --type f --extension yaml | xargs cat

Length of output: 247


Line range hint 38-47: Verify compatibility of Node.js version and build command.

The update to Node.js version "21.1.0" and the change to forge build reflect a shift to newer tools. Ensure that these changes do not affect any dependencies.

Verification successful

Verification successful: No issues found with the update to Node.js version "21.1.0" and the forge build command.

  • The forge build command is correctly integrated into the .github/workflows/slither_v2.yaml file.
  • Node.js version "21.1.0" is consistently used across multiple workflow files, indicating a deliberate update.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify compatibility of Node.js version "21.1.0" and the `forge build` command.

# Test: Search for any known issues or incompatibilities with Node.js version "21.1.0" and `forge build`.
rg --type yaml 'node-version: "21.1.0"'
rg --type yaml 'forge build'

Length of output: 72


Script:

#!/bin/bash
# Description: Verify compatibility of Node.js version "21.1.0" and the `forge build` command.

# Search for Node.js version in package.json to check for compatibility issues.
rg '"node": "21.1.0"' package.json

# Search for any scripts or files that use the `forge build` command.
rg 'forge build' 

Length of output: 135


Script:

#!/bin/bash
# Description: Verify compatibility of Node.js version "21.1.0" and the `forge build` command.

# Search for Node.js version in potential configuration files.
rg 'node-version' .github/workflows/

# Search for any scripts or files that use the `forge build` command within the repository.
rg 'forge build' 

Length of output: 610


Script:

#!/bin/bash
# Description: Verify compatibility of Node.js version "21.1.0" and the `forge build` command.

# Search for any build-related scripts or configuration files that might use the `forge build` command.
rg 'build' .github/workflows/
rg 'build' scripts/
rg 'build' config/

Length of output: 432

.github/workflows/generated-files_v1.yaml (3)

1-1: Workflow name update is appropriate.

The workflow name change to include the version number is clear and aligns with the versioning strategy.


7-8: Adding path filter is a good practice.

Refining the conditions under which the workflow is executed ensures it runs only for relevant changes within the v1 directory.


18-20: Adding defaults section is a good practice.

Centralizing the working directory for all job steps ensures consistency and reduces the risk of errors related to incorrect paths.

Copy link
Member

@lumtis lumtis left a comment

Choose a reason for hiding this comment

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

  • I would call it more a refactor than a feat

Looks good, just a few comments

v2/README.md Outdated Show resolved Hide resolved
v2/README.md Outdated Show resolved Hide resolved
v2/README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 545201b and f4c1c7d.

Files selected for processing (1)
  • README.md (1 hunks)
Files skipped from review due to trivial changes (1)
  • README.md

@skosito skosito changed the title feat: v1 v2 split refactor: v1 v2 split Jul 30, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between f4c1c7d and 640e67d.

Files selected for processing (1)
  • .github/workflows/generated-files_v2.yaml (4 hunks)
Additional comments not posted (4)
.github/workflows/generated-files_v2.yaml (4)

1-1: LGTM! The workflow name update improves clarity.

Updating the workflow name to include the version (V2) is a good practice for distinguishing between different workflow versions.


7-8: LGTM! The paths directive enhances targeted automation.

Adding the paths directive ensures the workflow is triggered only for changes in the v2 directory, making the automation more efficient.


18-20: LGTM! Setting the working directory improves modularity.

Adding the defaults section to set the working directory to ./v2 ensures all commands run in the specified directory, enhancing modularity and clarity.


34-34: LGTM! Updating the Node.js version ensures the latest features and improvements.

Updating the Node.js version from "18.0.0" to "21.1.0" ensures the workflow uses the latest features and improvements available in Node.js.

@skosito
Copy link
Contributor Author

skosito commented Jul 30, 2024

@lumtis i think all these issues can be closed with this PR, please let me know if that is not the case:
#263
#238
#193
#192
#156

@lumtis lumtis linked an issue Jul 31, 2024 that may be closed by this pull request
@skosito skosito linked an issue Aug 1, 2024 that may be closed by this pull request
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 640e67d and 5f2ea3c.

Files selected for processing (7)
  • .github/workflows/generated-files_v1.yaml (2 hunks)
  • .github/workflows/generated-files_v2.yaml (1 hunks)
  • .github/workflows/lint_v1.yaml (1 hunks)
  • .github/workflows/lint_v2.yaml (1 hunks)
  • .github/workflows/slither_v2.yaml (3 hunks)
  • .github/workflows/test_v1.yaml (1 hunks)
  • .github/workflows/test_v2.yaml (1 hunks)
Files skipped from review as they are similar to previous changes (5)
  • .github/workflows/generated-files_v1.yaml
  • .github/workflows/generated-files_v2.yaml
  • .github/workflows/lint_v1.yaml
  • .github/workflows/lint_v2.yaml
  • .github/workflows/test_v1.yaml
Additional comments not posted (12)
.github/workflows/test_v2.yaml (6)

20-22: LGTM!

The working-directory is correctly set to ./v2 to centralize the execution context for the jobs.


24-25: LGTM!

The job name and runner correctly reflect the new focus on testing.


30-32: LGTM!

The checkout action is correctly upgraded and configured to enhance the repository setup process.


35-37: LGTM!

The Node.js setup action is correctly upgraded to a more recent version.


46-51: LGTM!

The test and coverage steps are correctly integrated into the workflow.


1-13: LGTM! Ensure path filters are correct.

The workflow name and triggers correctly reflect the new focus on testing the v2 directory.

Verification successful

LGTM! Ensure path filters are correct.

The workflow name and triggers correctly reflect the new focus on testing the v2 directory.

  • .github/workflows/test_v2.yaml: Path filters are correctly set to 'v2/**' for both push and pull_request events.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the path filters in the GitHub Actions workflows.

# Test: Search for path filters in all workflow files. Expect: Correct path filters for the `v2` directory.
rg --type yaml -A 2 'paths:' .github/workflows/

Length of output: 2105

.github/workflows/slither_v2.yaml (6)

20-22: LGTM!

The working-directory is correctly set to ./v2 to centralize the execution context for the jobs.


33-35: LGTM!

The checkout action is correctly upgraded and configured to enhance the repository setup process.


40-40: LGTM!

The Node.js setup action is correctly upgraded to a more recent version.


57-57: LGTM!

The Slither action is correctly configured for the v2 directory.


1-13: LGTM! Ensure path filters are correct.

The workflow name and triggers correctly reflect the new focus on the v2 directory.

Verification successful

LGTM! Ensure path filters are correct.

The workflow name and triggers correctly reflect the new focus on the v2 directory. The path filters are correctly defined.

  • .github/workflows/slither_v2.yaml includes the v2/** path filter.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the path filters in the GitHub Actions workflows.

# Test: Search for path filters in all workflow files. Expect: Correct path filters for the `v2` directory.
rg --type yaml -A 2 'paths:' .github/workflows/

Length of output: 2105


49-49: LGTM! Ensure build tool is correctly configured.

The build command is correctly updated to forge build.

Verification successful

LGTM! Ensure build tool is correctly configured.

The build command is correctly updated to forge build, and the configuration for forge is present in the v2/foundry.toml file, indicating proper setup.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the build tool configuration in the `v2` directory.

# Test: Search for the build tool configuration files. Expect: Correct configuration for `forge`.
fd -e toml -e json -e yaml -e yml 'forge' ./v2

Length of output: 46


Script:

#!/bin/bash
# Description: Verify the build tool configuration in the entire repository.

# Test: Search for the build tool configuration files. Expect: Correct configuration for `forge`.
fd -e toml -e json -e yaml -e yml 'forge'

Length of output: 41


Script:

#!/bin/bash
# Description: Search for any references to `forge` in the repository.

# Test: Search for references to `forge` in all files. Expect: Identify how `forge` is being configured or used.
rg 'forge'

Length of output: 2828


Script:

#!/bin/bash
# Description: Display the contents of the `v2/foundry.toml` file to verify the `forge` configuration.

# Test: Print the contents of `v2/foundry.toml`. Expect: Correct configuration for `forge`.
cat v2/foundry.toml

Length of output: 832

@lumtis lumtis merged commit 8c5c55c into main Aug 2, 2024
5 of 7 checks passed
@lumtis lumtis deleted the v1-v2-split branch August 2, 2024 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants