Skip to content

feat(kyc-controller): Add fetchSessionDisclaimers to KycController. Rename relevant KycService methods - #10162

Merged
jiexi merged 9 commits into
mainfrom
jl/kyc-controller-expose-fetch-session-disclaimers-from-controller
Sep 9, 2026
Merged

feat(kyc-controller): Add fetchSessionDisclaimers to KycController. Rename relevant KycService methods#10162
jiexi merged 9 commits into
mainfrom
jl/kyc-controller-expose-fetch-session-disclaimers-from-controller

Conversation

@jiexi

@jiexi jiexi commented Sep 9, 2026

Copy link
Copy Markdown
Member

Explanation

  • Rename fetchDisclaimersCatalog to fetchSessionDisclaimersByCountry in KycService
  • Rename fetchSessionDisclaimers to fetchSessionDisclaimersBySessionId in KycService
  • Add fetchSessionDisclaimers to KycController which takes either country or sessionId params and calls the relevant underlying KycService method

References

See: MetaMask/metamask-mobile#35924

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

Medium Risk
Breaking renames on KycService/messenger actions require consumer updates; the new controller API touches session disclaimer/consent state on the KYC path.

Overview
Adds KycController.fetchSessionDisclaimers, a messenger-exposed entry point that loads the idOS + KYC-provider disclaimer catalog by either { sessionId } (session-scoped, with consent flags) or { country } (global catalog). Session fetches also update controller sessionDisclaimers, with the existing flow-generation guard so a reset() during the request does not write stale state.

Breaking renames on KycService (and matching messenger actions / exported param types): fetchDisclaimersCatalogfetchSessionDisclaimersByCountry, and fetchSessionDisclaimersfetchSessionDisclaimersBySessionId. Internal consent recording (#recordSessionDisclaimers) now calls the session-id action. Docs, changelog, exports, and tests follow the new names.

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

@jiexi
jiexi requested review from a team as code owners September 9, 2026 21:14
@jiexi

jiexi commented Sep 9, 2026

Copy link
Copy Markdown
Member Author

@metamaskbot publish-preview

@github-actions

github-actions Bot commented Sep 9, 2026

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@10.0.0-preview-0a30e47
@metamask-previews/accounts-controller@40.0.0-preview-0a30e47
@metamask-previews/address-book-controller@8.0.0-preview-0a30e47
@metamask-previews/ai-controllers@2.0.0-preview-0a30e47
@metamask-previews/analytics-controller@3.0.0-preview-0a30e47
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-0a30e47
@metamask-previews/announcement-controller@9.0.0-preview-0a30e47
@metamask-previews/app-metadata-controller@3.0.0-preview-0a30e47
@metamask-previews/approval-controller@10.0.0-preview-0a30e47
@metamask-previews/assets-controller@16.0.0-preview-0a30e47
@metamask-previews/assets-controllers@112.0.0-preview-0a30e47
@metamask-previews/authenticated-user-storage@4.0.0-preview-0a30e47
@metamask-previews/base-controller@10.0.0-preview-0a30e47
@metamask-previews/base-data-service@2.0.0-preview-0a30e47
@metamask-previews/bitcoin-regtest-up@2.0.0-preview-0a30e47
@metamask-previews/bridge-controller@81.0.0-preview-0a30e47
@metamask-previews/bridge-status-controller@76.0.0-preview-0a30e47
@metamask-previews/build-utils@4.0.0-preview-0a30e47
@metamask-previews/chain-agnostic-permission@2.0.0-preview-0a30e47
@metamask-previews/chomp-api-service@5.0.0-preview-0a30e47
@metamask-previews/claims-controller@1.0.0-preview-0a30e47
@metamask-previews/client-controller@2.0.0-preview-0a30e47
@metamask-previews/client-utils@3.0.0-preview-0a30e47
@metamask-previews/compliance-controller@3.0.0-preview-0a30e47
@metamask-previews/composable-controller@13.0.0-preview-0a30e47
@metamask-previews/config-registry-controller@4.0.0-preview-0a30e47
@metamask-previews/connectivity-controller@1.0.0-preview-0a30e47
@metamask-previews/controller-utils@13.0.0-preview-0a30e47
@metamask-previews/core-backend@10.0.0-preview-0a30e47
@metamask-previews/cryptography@0.0.0-preview-0a30e47
@metamask-previews/delegation-controller@4.0.0-preview-0a30e47
@metamask-previews/earn-controller@13.0.0-preview-0a30e47
@metamask-previews/eip-5792-middleware@4.0.0-preview-0a30e47
@metamask-previews/eip-7702-internal-rpc-middleware@1.0.0-preview-0a30e47
@metamask-previews/eip1193-permission-middleware@3.0.0-preview-0a30e47
@metamask-previews/eth-block-tracker@16.0.0-preview-0a30e47
@metamask-previews/eth-json-rpc-middleware@25.0.0-preview-0a30e47
@metamask-previews/eth-json-rpc-provider@7.0.0-preview-0a30e47
@metamask-previews/foundryup@2.0.0-preview-0a30e47
@metamask-previews/gas-fee-controller@27.0.0-preview-0a30e47
@metamask-previews/gator-permissions-controller@6.0.0-preview-0a30e47
@metamask-previews/geolocation-controller@2.0.0-preview-0a30e47
@metamask-previews/java-tron-up@2.0.0-preview-0a30e47
@metamask-previews/json-rpc-engine@11.0.0-preview-0a30e47
@metamask-previews/json-rpc-middleware-stream@9.0.0-preview-0a30e47
@metamask-previews/keyring-controller@28.0.0-preview-0a30e47
@metamask-previews/kyc-controller@0.2.0-preview-0a30e47
@metamask-previews/local-node-utils@2.0.0-preview-0a30e47
@metamask-previews/logging-controller@10.0.0-preview-0a30e47
@metamask-previews/message-manager@15.0.0-preview-0a30e47
@metamask-previews/messenger@3.0.0-preview-0a30e47
@metamask-previews/messenger-cli@1.0.0-preview-0a30e47
@metamask-previews/money-account-api-data-service@1.0.0-preview-0a30e47
@metamask-previews/money-account-balance-service@3.0.0-preview-0a30e47
@metamask-previews/money-account-controller@2.0.0-preview-0a30e47
@metamask-previews/money-account-upgrade-controller@5.0.0-preview-0a30e47
@metamask-previews/money-account-utils@2.0.0-preview-0a30e47
@metamask-previews/multichain-account-service@14.0.0-preview-0a30e47
@metamask-previews/multichain-api-middleware@5.0.0-preview-0a30e47
@metamask-previews/multichain-network-controller@4.0.0-preview-0a30e47
@metamask-previews/multichain-transactions-controller@8.0.0-preview-0a30e47
@metamask-previews/name-controller@10.0.0-preview-0a30e47
@metamask-previews/network-connection-banner-controller@1.0.0-preview-0a30e47
@metamask-previews/network-controller@37.0.0-preview-0a30e47
@metamask-previews/network-enablement-controller@7.0.0-preview-0a30e47
@metamask-previews/notification-services-controller@28.0.0-preview-0a30e47
@metamask-previews/passkey-controller@4.0.0-preview-0a30e47
@metamask-previews/permission-controller@14.0.0-preview-0a30e47
@metamask-previews/permission-log-controller@6.0.0-preview-0a30e47
@metamask-previews/perps-controller@17.0.0-preview-0a30e47
@metamask-previews/phishing-controller@18.0.0-preview-0a30e47
@metamask-previews/platform-api-docs@0.2.0-preview-0a30e47
@metamask-previews/polling-controller@17.0.0-preview-0a30e47
@metamask-previews/preferences-controller@24.0.0-preview-0a30e47
@metamask-previews/profile-metrics-controller@5.0.0-preview-0a30e47
@metamask-previews/profile-sync-controller@31.0.0-preview-0a30e47
@metamask-previews/ramps-controller@21.0.0-preview-0a30e47
@metamask-previews/rate-limit-controller@8.0.0-preview-0a30e47
@metamask-previews/react-data-query@2.0.0-preview-0a30e47
@metamask-previews/remote-feature-flag-controller@7.0.0-preview-0a30e47
@metamask-previews/sample-controllers@6.0.0-preview-0a30e47
@metamask-previews/seedless-onboarding-controller@11.0.0-preview-0a30e47
@metamask-previews/selected-network-controller@27.0.0-preview-0a30e47
@metamask-previews/sentinel-api-service@2.0.0-preview-0a30e47
@metamask-previews/shield-controller@7.0.0-preview-0a30e47
@metamask-previews/signature-controller@40.0.0-preview-0a30e47
@metamask-previews/smart-transactions-controller@27.0.0-preview-0a30e47
@metamask-previews/snap-account-service@3.0.0-preview-0a30e47
@metamask-previews/social-controllers@3.0.0-preview-0a30e47
@metamask-previews/solana-test-validator-up@2.0.0-preview-0a30e47
@metamask-previews/stellar-quickstart-up@0.0.0-preview-0a30e47
@metamask-previews/storage-service@2.0.0-preview-0a30e47
@metamask-previews/subscription-controller@9.0.0-preview-0a30e47
@metamask-previews/transaction-controller@70.0.0-preview-0a30e47
@metamask-previews/transaction-pay-controller@28.0.0-preview-0a30e47
@metamask-previews/user-operation-controller@42.0.0-preview-0a30e47
@metamask-previews/wallet@13.0.0-preview-0a30e47
@metamask-previews/wallet-cli@0.0.0-preview-0a30e47

jiexi and others added 6 commits September 9, 2026 14:30
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Sébastien Van Eyck <sebastien.vaneyck@consensys.net>
Signed-off-by: Sébastien Van Eyck <sebastien.vaneyck@consensys.net>
…ession-disclaimers-from-controller' into jl/kyc-controller-expose-fetch-session-disclaimers-from-controller

@Akaryatrh Akaryatrh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jiexi
jiexi enabled auto-merge September 9, 2026 22:25
@jiexi
jiexi added this pull request to the merge queue Sep 9, 2026
Merged via the queue into main with commit 679aa08 Sep 9, 2026
43 checks passed
@jiexi
jiexi deleted the jl/kyc-controller-expose-fetch-session-disclaimers-from-controller branch September 9, 2026 22:28
@Akaryatrh
Akaryatrh restored the jl/kyc-controller-expose-fetch-session-disclaimers-from-controller branch September 10, 2026 09:42
@Akaryatrh

Copy link
Copy Markdown
Contributor

@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@10.0.0-preview-97d6b86c0
@metamask-previews/accounts-controller@40.0.0-preview-97d6b86c0
@metamask-previews/address-book-controller@8.0.0-preview-97d6b86c0
@metamask-previews/ai-controllers@2.0.0-preview-97d6b86c0
@metamask-previews/analytics-controller@3.0.0-preview-97d6b86c0
@metamask-previews/analytics-data-regulation-controller@0.0.0-preview-97d6b86c0
@metamask-previews/announcement-controller@9.0.0-preview-97d6b86c0
@metamask-previews/app-metadata-controller@3.0.0-preview-97d6b86c0
@metamask-previews/approval-controller@10.0.0-preview-97d6b86c0
@metamask-previews/assets-controller@16.0.0-preview-97d6b86c0
@metamask-previews/assets-controllers@112.0.0-preview-97d6b86c0
@metamask-previews/authenticated-user-storage@4.0.0-preview-97d6b86c0
@metamask-previews/base-controller@10.0.0-preview-97d6b86c0
@metamask-previews/base-data-service@2.0.0-preview-97d6b86c0
@metamask-previews/bitcoin-regtest-up@2.0.0-preview-97d6b86c0
@metamask-previews/bridge-controller@81.0.0-preview-97d6b86c0
@metamask-previews/bridge-status-controller@76.0.0-preview-97d6b86c0
@metamask-previews/build-utils@4.0.0-preview-97d6b86c0
@metamask-previews/chain-agnostic-permission@2.0.0-preview-97d6b86c0
@metamask-previews/chomp-api-service@5.0.0-preview-97d6b86c0
@metamask-previews/claims-controller@1.0.0-preview-97d6b86c0
@metamask-previews/client-controller@2.0.0-preview-97d6b86c0
@metamask-previews/client-utils@3.0.0-preview-97d6b86c0
@metamask-previews/compliance-controller@3.0.0-preview-97d6b86c0
@metamask-previews/composable-controller@13.0.0-preview-97d6b86c0
@metamask-previews/config-registry-controller@4.0.0-preview-97d6b86c0
@metamask-previews/connectivity-controller@1.0.0-preview-97d6b86c0
@metamask-previews/controller-utils@13.0.0-preview-97d6b86c0
@metamask-previews/core-backend@10.0.0-preview-97d6b86c0
@metamask-previews/cryptography@0.0.0-preview-97d6b86c0
@metamask-previews/delegation-controller@4.0.0-preview-97d6b86c0
@metamask-previews/earn-controller@13.0.0-preview-97d6b86c0
@metamask-previews/eip-5792-middleware@4.0.0-preview-97d6b86c0
@metamask-previews/eip-7702-internal-rpc-middleware@1.0.0-preview-97d6b86c0
@metamask-previews/eip1193-permission-middleware@3.0.0-preview-97d6b86c0
@metamask-previews/eth-block-tracker@16.0.0-preview-97d6b86c0
@metamask-previews/eth-json-rpc-middleware@25.0.0-preview-97d6b86c0
@metamask-previews/eth-json-rpc-provider@7.0.0-preview-97d6b86c0
@metamask-previews/foundryup@2.0.0-preview-97d6b86c0
@metamask-previews/gas-fee-controller@27.0.0-preview-97d6b86c0
@metamask-previews/gator-permissions-controller@6.0.0-preview-97d6b86c0
@metamask-previews/geolocation-controller@2.0.0-preview-97d6b86c0
@metamask-previews/java-tron-up@2.0.0-preview-97d6b86c0
@metamask-previews/json-rpc-engine@11.0.0-preview-97d6b86c0
@metamask-previews/json-rpc-middleware-stream@9.0.0-preview-97d6b86c0
@metamask-previews/keyring-controller@28.0.0-preview-97d6b86c0
@metamask-previews/kyc-controller@0.2.0-preview-97d6b86c0
@metamask-previews/local-node-utils@2.0.0-preview-97d6b86c0
@metamask-previews/logging-controller@10.0.0-preview-97d6b86c0
@metamask-previews/message-manager@15.0.0-preview-97d6b86c0
@metamask-previews/messenger@3.0.0-preview-97d6b86c0
@metamask-previews/messenger-cli@1.0.0-preview-97d6b86c0
@metamask-previews/money-account-api-data-service@1.0.0-preview-97d6b86c0
@metamask-previews/money-account-balance-service@3.0.0-preview-97d6b86c0
@metamask-previews/money-account-controller@2.0.0-preview-97d6b86c0
@metamask-previews/money-account-upgrade-controller@5.0.0-preview-97d6b86c0
@metamask-previews/money-account-utils@2.0.0-preview-97d6b86c0
@metamask-previews/multichain-account-service@14.0.0-preview-97d6b86c0
@metamask-previews/multichain-api-middleware@5.0.0-preview-97d6b86c0
@metamask-previews/multichain-network-controller@4.0.0-preview-97d6b86c0
@metamask-previews/multichain-transactions-controller@8.0.0-preview-97d6b86c0
@metamask-previews/name-controller@10.0.0-preview-97d6b86c0
@metamask-previews/network-connection-banner-controller@1.0.0-preview-97d6b86c0
@metamask-previews/network-controller@37.0.0-preview-97d6b86c0
@metamask-previews/network-enablement-controller@7.0.0-preview-97d6b86c0
@metamask-previews/notification-services-controller@28.0.0-preview-97d6b86c0
@metamask-previews/passkey-controller@4.0.0-preview-97d6b86c0
@metamask-previews/permission-controller@14.0.0-preview-97d6b86c0
@metamask-previews/permission-log-controller@6.0.0-preview-97d6b86c0
@metamask-previews/perps-controller@17.0.0-preview-97d6b86c0
@metamask-previews/phishing-controller@18.0.0-preview-97d6b86c0
@metamask-previews/platform-api-docs@0.2.0-preview-97d6b86c0
@metamask-previews/polling-controller@17.0.0-preview-97d6b86c0
@metamask-previews/preferences-controller@24.0.0-preview-97d6b86c0
@metamask-previews/profile-metrics-controller@5.0.0-preview-97d6b86c0
@metamask-previews/profile-sync-controller@31.0.0-preview-97d6b86c0
@metamask-previews/ramps-controller@21.0.0-preview-97d6b86c0
@metamask-previews/rate-limit-controller@8.0.0-preview-97d6b86c0
@metamask-previews/react-data-query@2.0.0-preview-97d6b86c0
@metamask-previews/remote-feature-flag-controller@7.0.0-preview-97d6b86c0
@metamask-previews/sample-controllers@6.0.0-preview-97d6b86c0
@metamask-previews/seedless-onboarding-controller@11.0.0-preview-97d6b86c0
@metamask-previews/selected-network-controller@27.0.0-preview-97d6b86c0
@metamask-previews/sentinel-api-service@2.0.0-preview-97d6b86c0
@metamask-previews/shield-controller@7.0.0-preview-97d6b86c0
@metamask-previews/signature-controller@40.0.0-preview-97d6b86c0
@metamask-previews/smart-transactions-controller@27.0.0-preview-97d6b86c0
@metamask-previews/snap-account-service@3.0.0-preview-97d6b86c0
@metamask-previews/social-controllers@3.0.0-preview-97d6b86c0
@metamask-previews/solana-test-validator-up@2.0.0-preview-97d6b86c0
@metamask-previews/stellar-quickstart-up@0.0.0-preview-97d6b86c0
@metamask-previews/storage-service@2.0.0-preview-97d6b86c0
@metamask-previews/subscription-controller@9.0.0-preview-97d6b86c0
@metamask-previews/transaction-controller@70.0.0-preview-97d6b86c0
@metamask-previews/transaction-pay-controller@28.0.0-preview-97d6b86c0
@metamask-previews/user-operation-controller@42.0.0-preview-97d6b86c0
@metamask-previews/wallet@13.0.0-preview-97d6b86c0
@metamask-previews/wallet-cli@0.0.0-preview-97d6b86c0

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