All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Export
MoonPayFrameHandler,MoonPayFrameHandlerOptions, andclearMoonPaySessionso clients can own MoonPay Check/Auth frames after those methods leftKycController(#10293) - Add
sessionStatus(KycSessionStatus | null) toKycControllerState(#10293) - Add
KycService.getSessionStatusForVendor, which fetchesGET /sessions/latest/status/{vendor}and returnsKycSessionStatusornull(#10293) - Add
KycController.fetchVendorDisclaimers, which loads vendor T&Cs viaKycService.fetchVendorDisclaimers(#10293) - Add
KycController.hasCompletedVendorDisclaimers, which fetches the vendor T&C catalog and returns whether persistedvendorDisclaimersAcceptedcovers every fetched disclaimer (#10293) - Add
KycController.recordVendorDisclaimers, which records vendor T&Cs viaKycService.submitVendorDisclaimersand persists accepted ids on state (#10293) - Add
KycController.startSession, which reuses the latest vendor session when one exists and otherwise creates the vendor customer and a UKYC session (#10293) - Add
KycController.launchProviderFlow, which presents the identity-provider (SumSub) verification UI (#10293) - Add
KycController.startSessionStatusPolling, which pollsGET /sessions/{id}/statusforstate.sessionStatus.iduntilfinalStatusisapproved,rejected, orretry(#10293) - Expose current
KycControllermethods as messenger actions:startSession,reset,clearState,getSessionStatusForVendor,refreshSessionStatus,startSessionStatusPolling,fetchSessionDisclaimers,recordSessionDisclaimers,hasCompletedSessionDisclaimers,fetchVendorDisclaimers,recordVendorDisclaimers,hasCompletedVendorDisclaimers, andlaunchProviderFlow(#10293)
- BREAKING: Add required
idtoKycSessionStatus(#10293) - BREAKING: Rename
CreateSessionParamstoCreateMoonpaySessionParams, andKycService.createSession/KycService:createSessiontocreateMoonpaySession/KycService:createMoonpaySession(#10293) MoonPayFrameHandler.buildCheckFrameUrlno longer sets theskipKycquery parameter (#10293)- Bump
@metamask/profile-sync-controllerfrom^32.1.0to^32.1.1(#10220)
- BREAKING: Remove unused
KycCustomerIdentity(#10293) - BREAKING: Remove
sessionStatusPollIntervalMsanduserStatusPollIntervalMsfromKycControllerOptions, and stop automatic session-status and user-status polling. Session-status polling is now opt-in throughstartSessionStatusPollingorrefreshSessionStatus(#10293) - BREAKING: Remove the
reselectdependency (#10293) - BREAKING: Remove the
pollingvalue fromKycSumSubStatus(#10293) - BREAKING: Remove MoonPay Check/Auth frame methods from
KycController:handleFrameMessage,buildCheckFrameUrl,buildAuthFrameUrl, andbuildResetFrameUrl. UseMoonPayFrameHandlerdirectly for frame protocol, URLs, and message handling (#10293) - BREAKING: Remove
KycService.checkKycRequired,CheckKycRequiredParams, and theKycService:checkKycRequiredmessenger action (#10293) - BREAKING: Remove
KycService.fetchKycStatus,KycService:fetchKycStatus,KycController.refreshKycStatus,KycController:refreshKycStatus,KycUserStatus,KycUserStatusResponse, andKycController:statusChanged(KycControllerStatusChangedEvent) (#10293) - BREAKING: Replace the previous
KycControllermessenger method actions. Removed:initialize,createVendorCustomer,loadDisclaimers,acceptTermsAndStartSession,clearSavedTerms,checkKycRequired,getKycStatus,getCustomerIdentity,startSumSub, andgetSessionStatus(#10293) - BREAKING: Replace
selectKycPhase,selectKycSumSub, andselectIsKycRequiredForProductwithselectKycVendorandselectKycSessionStatus(#10293)
- Add
KycController.fetchSessionDisclaimers, which fetches the idOS + KYC-provider disclaimers by{ sessionId }or{ country }. (#10162)
- BREAKING: Rename
KycService.fetchDisclaimersCatalogtofetchSessionDisclaimersByCountry. (#10162)- Rename
FetchDisclaimersCatalogParamstoFetchSessionDisclaimersByCountryParams. - Rename the messenger action
KycService:fetchDisclaimersCatalogtoKycService:fetchSessionDisclaimersByCountry.
- Rename
- BREAKING: Rename
KycService.fetchSessionDisclaimerstofetchSessionDisclaimersBySessionId(#10162)- Rename
FetchSessionDisclaimersParamstoFetchSessionDisclaimersBySessionIdParams. - Rename the messenger action
KycService:fetchSessionDisclaimerstoKycService:fetchSessionDisclaimersBySessionId.
- Rename
- Bump
@metamask/profile-sync-controllerfrom^31.0.0to^32.1.0(#10166, #10184) - Bump
@metamask/utilsfrom^11.12.0to^12.0.0(#10192)
- BREAKING: Drop CommonJS support (#9536)
- This package is now ESM-only, but can still be used in CommonJS projects via
require(esm)in modern Node.js versions (22+), or dynamic imports in older Node.js versions.
- This package is now ESM-only, but can still be used in CommonJS projects via
- BREAKING: Bump minimum Node.js version to 22 (#9976)
- BREAKING: Bump TypeScript target to ES2022 (#10019)
- This package now ships ES2022 code, requiring a compatible modern environment or bundler configuration to consume.
- Bump
@metamask/base-controllerfrom^9.1.0to^10.0.0(#10160) - Bump
@metamask/base-data-servicefrom^1.0.0to^2.0.0(#10160) - Bump
@metamask/controller-utilsfrom^12.3.0to^13.0.0(#10160) - Bump
@metamask/geolocation-controllerfrom^1.0.0to^2.0.0(#10160) - Bump
@metamask/messengerfrom^2.0.0to^3.0.0(#10160) - Bump
@metamask/profile-sync-controllerfrom^30.0.0to^31.0.0(#10160)
- Initial Release (#10145)