Skip to content

feat: use v2 of chomp associate address - #10687

Merged
Jwhiles merged 1 commit into
mainfrom
john-associate-addrss-v2
Oct 26, 2026
Merged

Jwhiles merged 1 commit into
mainfrom
john-associate-addrss-v2

Conversation

@Jwhiles

@Jwhiles Jwhiles commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Explanation

This PR updates the chomp service API to add the new v2 associate address endpoints and remove the v1 endpoints. It then also updates the consumer of this change (the money account upgrade controller) to use these new endpoints.

The chomp api service remains 'dumb', in that it doesn't handle signing anything for the address association. This is handled in the money upgrade controller's associate address step.

Note, the new chomp version that implements these endpoints is not released yet, so this PR will be blocked until that is done.

References

musd-1246

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

High Risk
Breaking removal of v1 association and messenger actions affects all consumers; the upgrade path changes auth/signing behavior tied to profile–address linking.

Overview
BREAKING: Replaces CHOMP v1 address association (associateAddress / POST /v1/auth/address) with a two-step v2 flow: createAddressChallenge (POST /v2/auth/address/challenge) returns a single-use SIWE message (including ASSOCIATE and ASSOCIATE_SUCCESSOR with optional predecessorAddress), then associateAddressV2 (POST /v2/auth/address) submits challengeId + signature. Non-2xx API failures now throw ChompApiError with an optional CHOMP code parsed from the response body, applied across existing CHOMP service methods.

Money account upgrade is updated to match: the associate-address step requests a challenge, signs the returned message (not CHOMP Authentication {timestamp}), submits v2, and retries once when the API returns CHALLENGE_INVALID_OR_EXPIRED. Messenger allowances switch from ChompApiService:associateAddress to createAddressChallenge and associateAddressV2.

Reviewed by Cursor Bugbot for commit 4749bdf. Bugbot is set up for automated code reviews on this repo. Configure here.

@Jwhiles
Jwhiles force-pushed the john-associate-addrss-v2 branch from 205b238 to 683a073 Compare October 6, 2026 12:31
@Jwhiles
Jwhiles added this pull request to stack #10688 October 6, 2026 13:13
@Jwhiles
Jwhiles removed this pull request from stack #10688 October 7, 2026 08:44
@Jwhiles
Jwhiles added this pull request to stack #10700 October 7, 2026 09:16
@Jwhiles
Jwhiles force-pushed the john-associate-addrss-v2 branch 2 times, most recently from c915dd3 to bd4de14 Compare October 26, 2026 10:23
@Jwhiles

Jwhiles commented Oct 26, 2026

Copy link
Copy Markdown
Contributor Author

@metamaskbot publish-preview

@github-actions

Copy link
Copy Markdown
Contributor

Preview builds have been published. Learn how to use preview builds in other projects.

Expand for full list of packages and versions.
@metamask-previews/account-tree-controller@11.1.1-preview-bd4de146a
@metamask-previews/accounts-controller@40.1.0-preview-bd4de146a
@metamask-previews/address-book-controller@8.0.0-preview-bd4de146a
@metamask-previews/advanced-chart-core@1.0.0-preview-bd4de146a
@metamask-previews/ai-controllers@2.0.0-preview-bd4de146a
@metamask-previews/analytics-controller@4.0.0-preview-bd4de146a
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-bd4de146a
@metamask-previews/announcement-controller@9.0.0-preview-bd4de146a
@metamask-previews/app-metadata-controller@3.0.0-preview-bd4de146a
@metamask-previews/approval-controller@10.0.0-preview-bd4de146a
@metamask-previews/assets-controller@19.1.0-preview-bd4de146a
@metamask-previews/assets-controllers@112.1.3-preview-bd4de146a
@metamask-previews/authenticated-user-storage@4.1.0-preview-bd4de146a
@metamask-previews/base-controller@10.1.0-preview-bd4de146a
@metamask-previews/base-data-service@2.1.0-preview-bd4de146a
@metamask-previews/bitcoin-regtest-up@2.0.0-preview-bd4de146a
@metamask-previews/bridge-controller@83.0.0-preview-bd4de146a
@metamask-previews/bridge-status-controller@77.0.0-preview-bd4de146a
@metamask-previews/build-utils@4.0.0-preview-bd4de146a
@metamask-previews/byte-utils@0.0.0-preview-bd4de146a
@metamask-previews/chain-agnostic-permission@2.1.0-preview-bd4de146a
@metamask-previews/chomp-api-service@6.0.1-preview-bd4de146a
@metamask-previews/claims-controller@1.0.4-preview-bd4de146a
@metamask-previews/client-controller@2.0.0-preview-bd4de146a
@metamask-previews/client-utils@3.0.4-preview-bd4de146a
@metamask-previews/compliance-controller@3.0.0-preview-bd4de146a
@metamask-previews/composable-controller@13.0.0-preview-bd4de146a
@metamask-previews/config-registry-controller@5.0.0-preview-bd4de146a
@metamask-previews/connectivity-controller@1.0.0-preview-bd4de146a
@metamask-previews/controller-utils@13.0.0-preview-bd4de146a
@metamask-previews/core-backend@12.3.0-preview-bd4de146a
@metamask-previews/cryptography@1.1.2-preview-bd4de146a
@metamask-previews/delegation-controller@4.0.0-preview-bd4de146a
@metamask-previews/earn-controller@13.0.2-preview-bd4de146a
@metamask-previews/eip-5792-middleware@4.0.1-preview-bd4de146a
@metamask-previews/eip-7702-internal-rpc-middleware@1.0.0-preview-bd4de146a
@metamask-previews/eip1193-permission-middleware@3.0.0-preview-bd4de146a
@metamask-previews/error-utils@0.0.0-preview-bd4de146a
@metamask-previews/eth-block-tracker@16.0.0-preview-bd4de146a
@metamask-previews/eth-json-rpc-middleware@26.0.0-preview-bd4de146a
@metamask-previews/eth-json-rpc-provider@7.0.0-preview-bd4de146a
@metamask-previews/foundryup@2.0.0-preview-bd4de146a
@metamask-previews/gas-fee-controller@27.0.0-preview-bd4de146a
@metamask-previews/gator-permissions-controller@6.0.1-preview-bd4de146a
@metamask-previews/geolocation-controller@2.0.0-preview-bd4de146a
@metamask-previews/java-tron-up@2.0.0-preview-bd4de146a
@metamask-previews/json-rpc-engine@11.0.0-preview-bd4de146a
@metamask-previews/json-rpc-middleware-stream@9.0.0-preview-bd4de146a
@metamask-previews/keyring-controller@28.2.0-preview-bd4de146a
@metamask-previews/kyc-controller@0.12.0-preview-bd4de146a
@metamask-previews/local-node-utils@2.0.0-preview-bd4de146a
@metamask-previews/logging-controller@10.0.0-preview-bd4de146a
@metamask-previews/marketing-consent-controller@1.0.2-preview-bd4de146a
@metamask-previews/message-manager@15.0.0-preview-bd4de146a
@metamask-previews/messenger@3.0.0-preview-bd4de146a
@metamask-previews/messenger-cli@1.0.0-preview-bd4de146a
@metamask-previews/mfa-recovery-controller@0.0.0-preview-bd4de146a
@metamask-previews/money-account-api-data-service@2.3.0-preview-bd4de146a
@metamask-previews/money-account-balance-service@3.1.2-preview-bd4de146a
@metamask-previews/money-account-controller@3.0.0-preview-bd4de146a
@metamask-previews/money-account-mfa-whitelist@0.1.0-preview-bd4de146a
@metamask-previews/money-account-upgrade-controller@5.1.0-preview-bd4de146a
@metamask-previews/money-account-utils@2.1.0-preview-bd4de146a
@metamask-previews/multichain-account-service@14.1.0-preview-bd4de146a
@metamask-previews/multichain-api-middleware@5.0.0-preview-bd4de146a
@metamask-previews/multichain-network-controller@4.0.0-preview-bd4de146a
@metamask-previews/multichain-transactions-controller@8.0.0-preview-bd4de146a
@metamask-previews/name-controller@10.0.0-preview-bd4de146a
@metamask-previews/network-connection-banner-controller@1.0.0-preview-bd4de146a
@metamask-previews/network-controller@37.1.1-preview-bd4de146a
@metamask-previews/network-enablement-controller@7.0.2-preview-bd4de146a
@metamask-previews/node-utils@0.0.0-preview-bd4de146a
@metamask-previews/notification-services-controller@30.0.1-preview-bd4de146a
@metamask-previews/passkey-controller@4.1.0-preview-bd4de146a
@metamask-previews/permission-controller@14.0.0-preview-bd4de146a
@metamask-previews/permission-log-controller@6.0.0-preview-bd4de146a
@metamask-previews/perps-controller@22.0.0-preview-bd4de146a
@metamask-previews/phishing-controller@18.2.1-preview-bd4de146a
@metamask-previews/platform-api-docs@0.2.1-preview-bd4de146a
@metamask-previews/polling-controller@17.0.0-preview-bd4de146a
@metamask-previews/preferences-controller@24.0.0-preview-bd4de146a
@metamask-previews/profile-controller@1.1.1-preview-bd4de146a
@metamask-previews/profile-metrics-controller@5.1.4-preview-bd4de146a
@metamask-previews/profile-sync-controller@35.0.0-preview-bd4de146a
@metamask-previews/ramps-controller@27.1.0-preview-bd4de146a
@metamask-previews/rate-limit-controller@8.0.0-preview-bd4de146a
@metamask-previews/react-data-query@2.0.0-preview-bd4de146a
@metamask-previews/remote-feature-flag-controller@7.0.0-preview-bd4de146a
@metamask-previews/sample-controllers@6.0.0-preview-bd4de146a
@metamask-previews/seedless-onboarding-controller@12.0.0-preview-bd4de146a
@metamask-previews/selected-network-controller@27.0.0-preview-bd4de146a
@metamask-previews/sentinel-api-service@2.1.0-preview-bd4de146a
@metamask-previews/shield-controller@7.0.5-preview-bd4de146a
@metamask-previews/signature-controller@40.0.0-preview-bd4de146a
@metamask-previews/smart-transactions-controller@27.1.1-preview-bd4de146a
@metamask-previews/snap-account-service@4.0.0-preview-bd4de146a
@metamask-previews/social-controllers@3.11.0-preview-bd4de146a
@metamask-previews/solana-test-validator-up@2.0.0-preview-bd4de146a
@metamask-previews/stellar-quickstart-up@0.0.0-preview-bd4de146a
@metamask-previews/storage-service@2.0.0-preview-bd4de146a
@metamask-previews/subscription-controller@15.0.0-preview-bd4de146a
@metamask-previews/transaction-controller@72.2.1-preview-bd4de146a
@metamask-previews/transaction-pay-controller@30.2.0-preview-bd4de146a
@metamask-previews/transaction-pay-middleware@1.0.0-preview-bd4de146a
@metamask-previews/type-utils@0.0.0-preview-bd4de146a
@metamask-previews/user-operation-controller@42.0.1-preview-bd4de146a
@metamask-previews/utils@12.0.0-preview-bd4de146a
@metamask-previews/wallet@19.1.0-preview-bd4de146a
@metamask-previews/watch-only-account-service@0.1.0-preview-bd4de146a

@Jwhiles
Jwhiles force-pushed the john-associate-addrss-v2 branch 2 times, most recently from e91dc1e to 52bd986 Compare October 26, 2026 14:12
Includes:
- feat: add v2 auth address methods to chomp service
- feat: use v2 address association in the money account upgrade associate step
- feat!: remove v1 associateAddress from chomp service
- chore: add PR link to changelog entries

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@Jwhiles
Jwhiles force-pushed the john-associate-addrss-v2 branch from 52bd986 to 4749bdf Compare October 26, 2026 14:51
@Jwhiles
Jwhiles marked this pull request as ready for review October 26, 2026 15:28
@Jwhiles
Jwhiles requested review from a team as code owners October 26, 2026 15:28
@Jwhiles
Jwhiles deployed to default-branch October 26, 2026 15:28 — with GitHub Actions Active
@Jwhiles
Jwhiles added this pull request to the merge queue Oct 26, 2026
Merged via the queue into main with commit 7340ae1 Oct 26, 2026
526 of 535 checks passed
@Jwhiles
Jwhiles deleted the john-associate-addrss-v2 branch October 26, 2026 16:17

This branch was successfully deployed

1 active deployment
default-branch — 4749bdfe Deployed Oct 26, 2026 by Jwhiles via Determine whether this PR is a release PR #6043
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants