-
Notifications
You must be signed in to change notification settings - Fork 149
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
chore(verifier): extract dependencies into workspace #1232
Conversation
WalkthroughThis pull request updates several Possibly related PRs
Poem
Tip 🌐 Web search-backed reviews and chat
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 using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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
🧹 Nitpick comments (2)
smart-contract-verifier/sig-provider-extension/Cargo.toml (1)
7-15
: Consistent Workspace Dependency UsageAll dependencies in the
[dependencies]
section have been updated to use theworkspace = true
directive. This helps centralize and standardize version management across the workspace. Please ensure that the workspace root provides the necessary version definitions for these dependencies so that package resolution remains consistent.smart-contract-verifier/smart-contract-verifier/Cargo.toml (1)
10-48
: Unified Main Dependencies ConfigurationThe main dependencies have been transitioned entirely to workspace references. This simplifies management by deferring version information to the workspace’s central configuration. Verify that the centralized versions meet all compatibility requirements across various packages.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
smart-contract-verifier/Cargo.lock
is excluded by!**/*.lock
📒 Files selected for processing (5)
smart-contract-verifier/Cargo.toml
(1 hunks)smart-contract-verifier/sig-provider-extension/Cargo.toml
(1 hunks)smart-contract-verifier/smart-contract-verifier-proto/Cargo.toml
(2 hunks)smart-contract-verifier/smart-contract-verifier-server/Cargo.toml
(1 hunks)smart-contract-verifier/smart-contract-verifier/Cargo.toml
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Linting / lint
- GitHub Check: Unit, doc and integration tests
🔇 Additional comments (13)
smart-contract-verifier/smart-contract-verifier-proto/Cargo.toml (5)
9-16
: Unified Workspace Dependencies for Main DependenciesThe dependencies block for core libraries (e.g.,
actix-prost
,actix-prost-macros
,actix-web
,async-trait
,prost
,serde
,serde_with
, andtonic
) now uniformly uses{ workspace = true }
. This change aligns well with the workspace strategy and ensures centralized dependency management.
18-25
: Unified Configuration for Optional DependenciesThe optional dependencies (
anyhow
,mockall
,reqwest
,reqwest-middleware
,reqwest-retry
,thiserror
,tokio
, andurl
) have been updated to use{ workspace = true, optional = true }
. This approach maintains consistency and makes these dependencies available on an opt-in basis.
28-30
: Standardizing Build Dependencies with Workspace AttributesThe build dependencies (
actix-prost-build
,prost-build
, andtonic-build
) now use{ workspace = true }
. This update standardizes the dependency management across both the regular and build dependency sections.
33-34
: Dev Dependencies Aligned to Workspace ConfigurationThe dev-dependencies section correctly reflects the workspace configuration for
smart-contract-verifier-proto
(with additional features) andtokio
. These updates improve consistency and simplify dependency tracking for development and testing purposes.
37-48
: Feature Flags: Verification and ConsistencyThe
[features]
section defines feature groups forhttp-client
andmock
effectively by referencing the necessary dependent features. Please verify that downstream consumers are aware of and compatible with these workspace-based dependency resolutions.smart-contract-verifier/smart-contract-verifier/Cargo.toml (1)
53-61
: Consistent Transition for Dev DependenciesAll development dependencies have been updated to use the workspace configuration. Confirm that test and development builds still resolve these dependencies correctly and that any special features (e.g. for
quick-xml
ortokio
) remain fully supported.smart-contract-verifier/Cargo.toml (2)
3-8
: Updated Workspace Members ListThe workspace members now include
"sig-provider-extension"
alongside"smart-contract-verifier"
,"smart-contract-verifier-proto"
, and"smart-contract-verifier-server"
. This update ensures that all related projects are part of the centralized workspace, facilitating unified dependency resolution and project builds.
10-77
: Centralized Dependency ManagementThe
[workspace.dependencies]
section now centrally defines all dependencies—with a mix of direct path references, Git sources, and explicit version numbers. This is a significant enhancement for maintainability. Please review the version constraints (e.g., foralloy-dyn-abi
,async-trait
, and third-party libraries) to ensure they align with the requirements of all workspace members. A careful check will help avoid any unexpected version conflicts across packages.smart-contract-verifier/smart-contract-verifier-server/Cargo.toml (5)
9-11
: Centralizing Core Dependencies via WorkspaceThe dependencies for
sig-provider-extension
,smart-contract-verifier
, andsmart-contract-verifier-proto
have been updated to use{ workspace = true }
(withsig-provider-extension
additionally marked as optional). This centralizes dependency version management across the workspace and helps avoid version mismatches between interdependent crates.
13-16
: Unified Dependency Declaration for Web Framework and Utility CratesThe changes on lines 13-16 convert dependencies like
actix-web
,amplify
,anyhow
, andasync-trait
to use workspace declarations. This reinforces consistency by delegating version management to the workspace configuration. Ensure that the workspace’s versions meet the package’s specific needs.
19-28
: Consistent Workspace Adoption for Core LibrariesFor dependencies spanning from
bytes
toprometheus
, the configuration now uses{ workspace = true }
. This change ensures that libraries such asconfig
,cron
,ethers-core
,ethers-solc
, and others are managed uniformly. Verify that the workspace-level versions are compatible with this crate’s requirements.
29-38
: Standardizing Common Serialization and Async LibrariesThe modifications in lines 29-38 update dependencies for crates like
rust-s3
,serde
,serde_json
,serde_with
,thiserror
,tokio
,tonic
,tracing
,url
, anduuid
to their workspace-based equivalents (with additional features where necessary). This is an effective move to reduce duplication of dependency versions across multiple packages.
43-49
: Harmonizing Development Dependencies Using WorkspaceThe dev-dependencies (
ethabi
,ethers-solc
with features,pretty_assertions
,reqwest
,rstest
,stdext
, andtempfile
) are now declared with{ workspace = true }
. This aligns the test and development environment dependencies with the workspace approach, simplifying dependency updates and maintenance.
Summary by CodeRabbit