Skip to content

Conversation

@cryptonoyaiba
Copy link
Collaborator

@cryptonoyaiba cryptonoyaiba commented Oct 1, 2025

Description

  • Added network configs for Carr Chain.
  • Deployed base modular contracts to Carr Chain.
  • Added deployment info.

Motivation and Context

  • To support Carr Chain.

How Has This Been Tested?

  • Deployed and verified on block explorer.

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Summary by CodeRabbit

  • New Features
    • Added carr_chain network support, including deployments and an RPC endpoint.
  • Documentation
    • Updated deployment reference with new carr_chain entries.
  • Chores
    • Added deployment artifacts for carr_chain.
    • Introduced CARR_CHAIN_RPC_URL in the environment example.
    • Updated tooling configuration to include the carr_chain RPC endpoint.
  • Refactor
    • Adjusted an import to use a standardized source without changing behavior.

@coderabbitai
Copy link

coderabbitai bot commented Oct 1, 2025

Walkthrough

Adds carr_chain RPC configuration and env placeholder, updates DeployAllAndSetup import path for Bootstrap, appends carr_chain deployments to DEPLOYMENTS.md, and commits broadcast artifacts for CREATE2 deployments (ModularEtherspotWallet, Factory, Bootstrap, MultipleOwnerECDSAValidator) plus a stake call.

Changes

Cohort / File(s) Summary
Env and RPC config
\.env.example, foundry.toml
Adds CARR_CHAIN_RPC_URL placeholder and binds it as rpc_endpoints.carr_chain in Foundry.
Deployment records
DEPLOYMENTS.md
Appends carr_chain entries for ModularEtherspotWallet, ModularEtherspotWalletFactory, Bootstrap, MultipleOwnerECDSAValidator with addresses and tx hashes.
Broadcast artifacts
broadcast/DeployAllAndSetup.s.sol/7667/run-1759313564.json, broadcast/DeployAllAndSetup.s.sol/7667/run-latest.json
Adds full transaction and receipt logs for carr_chain: multiple CREATE2 deployments and a CALL to addStake on the factory.
Deploy script import
script/DeployAllAndSetup.s.sol
Changes Bootstrap import path to ERC7579/utils/Bootstrap.sol (no logic changes).

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant Dev as Developer
  participant Script as DeployAllAndSetup.s.sol
  participant Factory as CREATE2 Deployer
  participant MEW as ModularEtherspotWallet
  participant MEWF as ModularEtherspotWalletFactory
  participant Boot as Bootstrap
  participant Validator as MultipleOwnerECDSAValidator
  note over Dev,Script: Run with carr_chain RPC

  Dev->>Script: forge script (broadcast)
  Script->>Factory: CREATE2 deploy MEW
  Factory-->>MEW: Contract address
  Script->>Factory: CREATE2 deploy MEWF (args include MEW)
  Factory-->>MEWF: Contract address
  Script->>Factory: CREATE2 deploy Boot
  Factory-->>Boot: Contract address
  Script->>Factory: CREATE2 deploy Validator
  Factory-->>Validator: Contract address
  Script->>MEWF: addStake(address,uint32)
  MEWF-->>Script: Receipt/logs
  note right of Script: Artifacts written to broadcast/*.json
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • kanthgithub

Poem

I thump my paws on carr_chain ground,
New wallets bloom where salts are found.
A factory hums, a bootstrap sings,
Validators flex their rings.
I stash some stake, then hop away—
Deployments logged, all neat today. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description correctly includes the required template sections for Description, Motivation and Context, and How Has This Been Tested, and even provides a Screenshots header; however, the Types of changes section remains entirely unchecked, leaving the change classification unspecified and in conflict with the template’s requirement to mark at least one box. Please update the “Types of changes” section by selecting the appropriate checkbox (e.g., marking “New feature” for the Carr Chain deployment) so that the change type is clearly indicated per the repository’s template.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title “Deployment carr chain mainnet” concisely communicates the primary purpose of this pull request, namely deploying contracts and configurations to the Carr Chain mainnet, and directly reflects the main change without extraneous information. It is clear, specific, and focused on the key objective of the changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch deployment-carr-chain-mainnet

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5735ffd and 11e9412.

📒 Files selected for processing (6)
  • .env.example (1 hunks)
  • DEPLOYMENTS.md (1 hunks)
  • broadcast/DeployAllAndSetup.s.sol/7667/run-1759313564.json (1 hunks)
  • broadcast/DeployAllAndSetup.s.sol/7667/run-latest.json (1 hunks)
  • foundry.toml (1 hunks)
  • script/DeployAllAndSetup.s.sol (1 hunks)
🔇 Additional comments (6)
.env.example (1)

35-35: LGTM! Carr Chain RPC URL environment variable added correctly.

The new environment variable follows the established naming convention and is appropriately positioned alphabetically.

broadcast/DeployAllAndSetup.s.sol/7667/run-latest.json (1)

1-234: Deployment artifacts look correct.

The broadcast artifacts document successful deployments to Carr Chain (chain ID 7667):

  • All contract addresses match the expected addresses in the deployment script
  • CREATE2 deployments ensure deterministic addresses across networks
  • Factory stake amount (0.01 ETH) matches the script constant
  • All transactions executed successfully with proper receipts

These are generated artifacts and should be committed for deployment tracking.

broadcast/DeployAllAndSetup.s.sol/7667/run-1759313564.json (1)

1-234: Standard Foundry deployment artifact.

This file is a timestamped copy of the deployment run, which is standard Foundry behavior. It's identical to run-latest.json and serves as a historical record of this specific deployment.

foundry.toml (1)

49-49: I couldn’t locate a public block explorer or verification API for “Carr Chain.” Please confirm the exact chain identifier (RPC URL or chainId) or share a link to its block explorer. Once we have that, we can determine if and how to add the explorer configuration in foundry.toml.

script/DeployAllAndSetup.s.sol (1)

8-8: Import path verified — Bootstrap present at src/ERC7579/utils/Bootstrap.sol.
Bootstrap.sol exists and defines contract Bootstrap (imports ModuleManager/HookManager and includes singleInitMSA); the import "ERC7579/utils/Bootstrap.sol" is correctly mapped.

DEPLOYMENTS.md (1)

37-40: Verify Carrscan links and HookMultiPlexer deployment

Automated checks returned HTTP 403 for all carrscan.io address/tx URLs—please manually confirm each link resolves and that the contracts are verified. Also confirm whether HookMultiPlexer was deployed on carr_chain mainnet and add its row if so.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

- Added missing deployment info
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants