-
Notifications
You must be signed in to change notification settings - Fork 60
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
Conversation
WalkthroughThe 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
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
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? TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Additionally, you can add CodeRabbit Configuration File (
|
|
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
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- 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
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 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.
There was a problem hiding this 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
directoryPlease 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
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 thev1
directory.
18-20
: Defaults section added.The
defaults
section sets theworking-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 thev2
directory.
18-20
: Defaults section added.The
defaults
section sets theworking-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 thev2
directory.
18-20
: Defaults section added.The
defaults
section sets theworking-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
: Addingdefaults
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 shLength 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
: Addingdefaults
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 catLength 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
: Addingdefaults
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.
There was a problem hiding this 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
There was a problem hiding this 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
There was a problem hiding this 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
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! Thepaths
directive enhances targeted automation.Adding the
paths
directive ensures the workflow is triggered only for changes in thev2
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.
There was a problem hiding this 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
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 bothpush
andpull_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 thev2/**
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 forforge
is present in thev2/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' ./v2Length 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.tomlLength of output: 832
Q: do we need to port address generation or just use v1 for now? what is the usage for those?)
Summary by CodeRabbit
README.md
file providing an overview of the ZetaChain Protocol Contracts, including links to official resources and details on legacy and new contract versions..gitignore
entry forbroadcast
to maintain a cleaner repository..gitmodules
to reflect a more modular organization.