feat: add Nexus implementation address to environment configuration#684
feat: add Nexus implementation address to environment configuration#684sundayonah wants to merge 2 commits intomainfrom
Conversation
* feat: implement deletion of fiat accounts in provider profile * refactor: remove logging for skipped fiat accounts with missing details in profile update
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This PR is being reviewed by Cursor Bugbot
Details
Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| VOYAGER_MONTHLY_LIMIT=300000 | ||
|
|
||
| # Nexus Implementation (e.g. MEE 2.1.0) | ||
| NEXUS_IMPLEMENTATION_ADDRESS=************************* No newline at end of file |
There was a problem hiding this comment.
Invalid placeholder address risks silent zero-address in production
Medium Severity
NEXUS_IMPLEMENTATION_ADDRESS is set to ************************* (25 asterisks) which is not a valid Ethereum address. Notably, Dockerfile.prod copies .env.example directly as the production .env file. Unlike the comparable ENTRY_POINT_CONTRACT_ADDRESS which contains an actual 0x-prefixed address, this placeholder will silently resolve to a zero address when passed to common.HexToAddress() once consuming code is added in subsequent phases. The value here needs to be either the real public Nexus implementation contract address or left empty with clear documentation.


Biconomy V2 → Nexus migration – implementation steps
Goal: Migrate from Biconomy V2/Infinitism to Nexus (and MEE versioning).
Scope: Aggregator only (bundler/paymaster, factory, initCode, paymaster payload).
Refs: Account Migration Guide, V2→Nexus, MEE Versioning, Contracts and Audits.
Phase 1: Prep and config
config/,ent/(if DB),utils/userop.goPhase 2: Nexus initCode for new accounts (aggregator code)
0x9406Cc6185a346906296840746125a0E44976454and SimpleAccountFactorycreateAccount(owner, salt)with Nexus factory + Nexus init encoding (bootstrap + initData / initNexusWithDefaultValidator)services/contracts/,utils/userop.go(~79–92)USE_NEXUS_ACCOUNTS(or similar) flag to toggle Nexus vs V2 path during rollout; remove V2 path after migrationutils/userop.goPhase 3: Paymaster payload (aggregator code)
SponsorUserOperation, replace Biconomy payloadsmartAccountInfo: { "name": "INFINITISM", "version": "1.0.0" }with Nexus/MEE payload per Biconomy paymaster API for Nexusutils/userop.go(~143–176)paymasterAndData, gas limits) still works with Nexus response formatutils/userop.goPhase 4: Bundler and endpoints
BundlerURLandPaymasterURLpoint to Nexus bundler/paymaster endpoints for that chain; keep staging/production in syncscripts/db_data/dump.sqldetectAAServiceand keep using the same biconomy code path for Sponsor/Sendutils/userop.goPhase 5: Signing and paymaster account (aggregator)
SignUserOperation(same UserOp hash/signature for Nexus)GetPaymasterAccount(currently hardcoded); use Nexus paymaster address per chain if differentutils/userop.goPhase 6: Bundler send and receipt
SendUserOperation(and any receipt/status calls) use same or updated params for Nexus bundler; adjust only if Biconomy docs require itutils/userop.goPhase 7: Contracts and tests
services/contracts/utils/userop_test.goand test env for Nexus payload and URLsutils/userop_test.go,utils/test/test.envPhase 8: Existing V2 accounts (outside aggregator)
@biconomy/account+@biconomy/abstractjs) or frontend + small servicePhase 9: Deploy and docs
Checklist (aggregator)
InitializeUserOperationSponsorUserOperation