@dynamic-labs-sdk/client 0.24.1 → 0.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +71 -0
- package/android/src/main/java/xyz/dynamic/client/DynamicClientPackage.kt +42 -0
- package/android/src/main/java/xyz/dynamic/client/keychain/KeyStoreKeyManager.kt +147 -0
- package/android/src/main/java/xyz/dynamic/client/keychain/KeychainModule.kt +85 -0
- package/android/src/main/java/xyz/dynamic/client/manifest/ReactNativeManifestModule.kt +25 -0
- package/dist/InvalidParamError-BDHw6nr1.native.esm.js +1178 -0
- package/dist/InvalidParamError-BDHw6nr1.native.esm.js.map +1 -0
- package/dist/{InvalidParamError-9IR2C0up.cjs.js → InvalidParamError-BqDEZ6er.cjs.js} +5 -5
- package/dist/InvalidParamError-BqDEZ6er.cjs.js.map +1 -0
- package/dist/{InvalidParamError-Bq5zAFj4.esm.js → InvalidParamError-DcN56mC-.esm.js} +4 -4
- package/dist/InvalidParamError-DcN56mC-.esm.js.map +1 -0
- package/dist/NotWaasWalletAccountError-B_TYSgak.native.esm.js +50 -0
- package/dist/NotWaasWalletAccountError-B_TYSgak.native.esm.js.map +1 -0
- package/dist/{NotWaasWalletAccountError-CIJRq-EG.esm.js → NotWaasWalletAccountError-CQ7CMol4.esm.js} +3 -3
- package/dist/{NotWaasWalletAccountError-CIJRq-EG.esm.js.map → NotWaasWalletAccountError-CQ7CMol4.esm.js.map} +1 -1
- package/dist/{NotWaasWalletAccountError-DpRIY6Pd.cjs.js → NotWaasWalletAccountError-ftYfHk_N.cjs.js} +3 -3
- package/dist/{NotWaasWalletAccountError-DpRIY6Pd.cjs.js.map → NotWaasWalletAccountError-ftYfHk_N.cjs.js.map} +1 -1
- package/dist/client/core/createCore/createCore.d.ts.map +1 -1
- package/dist/client/core/types/DynamicCore.d.ts +4 -0
- package/dist/client/core/types/DynamicCore.d.ts.map +1 -1
- package/dist/client/types/DynamicClientConfig.d.ts +10 -0
- package/dist/client/types/DynamicClientConfig.d.ts.map +1 -1
- package/dist/core.cjs.js +36 -6
- package/dist/core.cjs.js.map +1 -1
- package/dist/core.esm.js +34 -6
- package/dist/core.esm.js.map +1 -1
- package/dist/core.native.esm.js +417 -0
- package/dist/core.native.esm.js.map +1 -0
- package/dist/errors/APIError/APIError.d.ts.map +1 -1
- package/dist/errors/InvalidParamError.d.ts.map +1 -1
- package/dist/errors/InvalidStorageValue.d.ts.map +1 -1
- package/dist/errors/InvalidWalletProviderKeyError.d.ts.map +1 -1
- package/dist/errors/MethodNotImplementedError.d.ts.map +1 -1
- package/dist/errors/MissingSocialUrlParamError.d.ts.map +1 -1
- package/dist/errors/NativeModuleNotLinkedError.d.ts +9 -0
- package/dist/errors/NativeModuleNotLinkedError.d.ts.map +1 -0
- package/dist/errors/NoSmartWalletAccountSignerFoundError.d.ts.map +1 -1
- package/dist/errors/ReactNativeOnlyError.d.ts +9 -0
- package/dist/errors/ReactNativeOnlyError.d.ts.map +1 -0
- package/dist/errors/UnavailableInServerSideError.d.ts.map +1 -1
- package/dist/errors/ValueMustBeDefinedError.d.ts.map +1 -1
- package/dist/errors/WalletAccountAlreadyVerifiedError.d.ts.map +1 -1
- package/dist/exports/core.d.ts +8 -2
- package/dist/exports/core.d.ts.map +1 -1
- package/dist/exports/index.d.ts +4 -4
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/getNetworkProviderFromNetworkId-BRWuk0I8.native.esm.js +1557 -0
- package/dist/getNetworkProviderFromNetworkId-BRWuk0I8.native.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-C4aba1hS.esm.js → getNetworkProviderFromNetworkId-COHxfpo-.esm.js} +275 -48
- package/dist/getNetworkProviderFromNetworkId-COHxfpo-.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-COxYamJy.cjs.js → getNetworkProviderFromNetworkId-ClfETwqS.cjs.js} +304 -53
- package/dist/getNetworkProviderFromNetworkId-ClfETwqS.cjs.js.map +1 -0
- package/dist/{getSignedSessionId-_vjv5TNw.esm.js → getSignedSessionId-B6ry-rvs.esm.js} +3 -3
- package/dist/{getSignedSessionId-_vjv5TNw.esm.js.map → getSignedSessionId-B6ry-rvs.esm.js.map} +1 -1
- package/dist/{getSignedSessionId-D7uV3dw0.cjs.js → getSignedSessionId-Bkw9TATj.cjs.js} +3 -3
- package/dist/{getSignedSessionId-D7uV3dw0.cjs.js.map → getSignedSessionId-Bkw9TATj.cjs.js.map} +1 -1
- package/dist/getSignedSessionId-C58DvQAd.native.esm.js +67 -0
- package/dist/getSignedSessionId-C58DvQAd.native.esm.js.map +1 -0
- package/dist/{getVerifiedCredentialForWalletAccount-Df_wN20i.cjs.js → getVerifiedCredentialForWalletAccount-DEiU9FZG.cjs.js} +11 -10
- package/dist/getVerifiedCredentialForWalletAccount-DEiU9FZG.cjs.js.map +1 -0
- package/dist/{getVerifiedCredentialForWalletAccount-Y-aJ2rY7.esm.js → getVerifiedCredentialForWalletAccount-DP4VQBly.esm.js} +10 -9
- package/dist/getVerifiedCredentialForWalletAccount-DP4VQBly.esm.js.map +1 -0
- package/dist/getVerifiedCredentialForWalletAccount-d_bHvLLE.native.esm.js +784 -0
- package/dist/getVerifiedCredentialForWalletAccount-d_bHvLLE.native.esm.js.map +1 -0
- package/dist/index.cjs.js +143 -320
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +139 -316
- package/dist/index.esm.js.map +1 -1
- package/dist/index.native.esm.js +6799 -0
- package/dist/index.native.esm.js.map +1 -0
- package/dist/isMfaRequiredForAction-Cjbuyen3.native.esm.js +89 -0
- package/dist/isMfaRequiredForAction-Cjbuyen3.native.esm.js.map +1 -0
- package/dist/{isMfaRequiredForAction-Cc6jkbY5.esm.js → isMfaRequiredForAction-D8GPFYzv.esm.js} +2 -2
- package/dist/{isMfaRequiredForAction-Cc6jkbY5.esm.js.map → isMfaRequiredForAction-D8GPFYzv.esm.js.map} +1 -1
- package/dist/{isMfaRequiredForAction-cfGmMd_g.cjs.js → isMfaRequiredForAction-mZub0YwI.cjs.js} +2 -2
- package/dist/{isMfaRequiredForAction-cfGmMd_g.cjs.js.map → isMfaRequiredForAction-mZub0YwI.cjs.js.map} +1 -1
- package/dist/modules/auth/decodeJwt/decodeJwt.d.ts.map +1 -1
- package/dist/modules/auth/externalAuth/requestExternalAuthElevatedToken/requestExternalAuthElevatedToken.d.ts.map +1 -1
- package/dist/modules/auth/externalAuth/signInWithExternalJwt/signInWithExternalJwt.d.ts +0 -1
- package/dist/modules/auth/externalAuth/signInWithExternalJwt/signInWithExternalJwt.d.ts.map +1 -1
- package/dist/modules/auth/extractSessionId/extractSessionId.d.ts.map +1 -1
- package/dist/modules/auth/initializeAuth/initializeAuth.d.ts +1 -1
- package/dist/modules/auth/initializeAuth/setLongTimeout/setLongTimeout.d.ts +8 -2
- package/dist/modules/auth/initializeAuth/setLongTimeout/setLongTimeout.d.ts.map +1 -1
- package/dist/modules/auth/logout/logout.d.ts +1 -1
- package/dist/modules/auth/logout/logout.d.ts.map +1 -1
- package/dist/modules/auth/logoutReason.d.ts +4 -7
- package/dist/modules/auth/logoutReason.d.ts.map +1 -1
- package/dist/modules/auth/logoutWithReason/index.d.ts +2 -0
- package/dist/modules/auth/logoutWithReason/index.d.ts.map +1 -0
- package/dist/modules/auth/logoutWithReason/logoutWithReason.d.ts +24 -0
- package/dist/modules/auth/logoutWithReason/logoutWithReason.d.ts.map +1 -0
- package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts +7 -4
- package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts.map +1 -1
- package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/buildOAuthUrl.d.ts.map +1 -1
- package/dist/modules/auth/social/removeDynamicOauthParamsFromUrl/removeDynamicOauthParamsFromUrl.d.ts.map +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/normalizeScopes/normalizeScopes.d.ts.map +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/parseElevatedAccessToken/parseElevatedAccessToken.d.ts +6 -4
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/parseElevatedAccessToken/parseElevatedAccessToken.d.ts.map +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
- package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts +34 -6
- package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts.map +1 -1
- package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts +11 -3
- package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts.map +1 -1
- package/dist/modules/checkout/checkout.types.d.ts +1 -0
- package/dist/modules/checkout/checkout.types.d.ts.map +1 -1
- package/dist/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.d.ts +7 -3
- package/dist/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.d.ts.map +1 -1
- package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts.map +1 -1
- package/dist/modules/checkout/utils/subscribeToCheckoutTransaction/subscribeToCheckoutTransaction.d.ts.map +1 -1
- package/dist/modules/initializeClient/initializeClient.d.ts.map +1 -1
- package/dist/modules/instrumentation/setInstrumentationEnabled/setInstrumentationEnabled.d.ts +6 -2
- package/dist/modules/instrumentation/setInstrumentationEnabled/setInstrumentationEnabled.d.ts.map +1 -1
- package/dist/modules/keychainMigration/migrateSessionKeyToKeychain/KeyMigrationError.d.ts.map +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/shouldFilterWallet/shouldFilterWallet.d.ts +9 -5
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/shouldFilterWallet/shouldFilterWallet.d.ts.map +1 -1
- package/dist/modules/otp/sendEmailOTP/sendEmailOTP.d.ts +0 -1
- package/dist/modules/otp/sendEmailOTP/sendEmailOTP.d.ts.map +1 -1
- package/dist/modules/otp/sendSmsOTP/sendSmsOTP.d.ts +0 -1
- package/dist/modules/otp/sendSmsOTP/sendSmsOTP.d.ts.map +1 -1
- package/dist/modules/storageSync/schema.d.ts.map +1 -1
- package/dist/modules/user/deleteUser/deleteUser.d.ts +1 -1
- package/dist/modules/user/updateUser/updateUser.d.ts +0 -1
- package/dist/modules/user/updateUser/updateUser.d.ts.map +1 -1
- package/dist/modules/waas/createWaasClient/createWaasClient.d.ts.map +1 -1
- package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
- package/dist/modules/waas/getWaasChainNameFromChain/getWaasChainNameFromChain.d.ts.map +1 -1
- package/dist/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.d.ts.map +1 -1
- package/dist/modules/wallets/networks/getSdkChainFromApiChainName/getSdkChainFromApiChainName.d.ts.map +1 -1
- package/dist/modules/wallets/utils/assertWalletProviderMethodDefined/assertWalletProviderMethodDefined.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.d.ts.map +1 -1
- package/dist/modules/wallets/utils/isSameAddress/isSameAddress.d.ts +9 -1
- package/dist/modules/wallets/utils/isSameAddress/isSameAddress.d.ts.map +1 -1
- package/dist/modules/wallets/utils/normalizeAddress/normalizeAddress.d.ts +7 -1
- package/dist/modules/wallets/utils/normalizeAddress/normalizeAddress.d.ts.map +1 -1
- package/dist/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/splitWalletProviderKey/splitWalletProviderKey.d.ts.map +1 -1
- package/dist/services/instrumentation/createInstrumentation/createInstrumentation.d.ts.map +1 -1
- package/dist/services/instrumentation/instrumentFunction/extractParams/extractParams.d.ts.map +1 -1
- package/dist/services/keychain/createKeychainService/ImportKeyNotSupportedError.d.ts +5 -0
- package/dist/services/keychain/createKeychainService/ImportKeyNotSupportedError.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/KeyNotFoundError.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/createKeychainService.d.ts +4 -0
- package/dist/services/keychain/createKeychainService/createKeychainService.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/createKeychainService.types.d.ts +11 -0
- package/dist/services/keychain/createKeychainService/createKeychainService.types.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/index.d.ts +2 -0
- package/dist/services/keychain/createKeychainService/index.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/constants.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/deleteIndexedDBItem.d.ts +9 -0
- package/dist/services/keychain/createKeychainService/utils/deleteIndexedDBItem.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/getIndexedDBItem.d.ts +10 -0
- package/dist/services/keychain/createKeychainService/utils/getIndexedDBItem.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/openDatabase.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/setIndexedDBItem.d.ts +10 -0
- package/dist/services/keychain/createKeychainService/utils/setIndexedDBItem.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/withDatabase/index.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/withDatabase/withDatabase.d.ts.map +1 -0
- package/dist/services/keychain/index.d.ts +1 -1
- package/dist/services/keychain/index.d.ts.map +1 -1
- package/dist/services/logger/createLogger/createLogger.d.ts.map +1 -1
- package/dist/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.d.ts +11 -0
- package/dist/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.d.ts.map +1 -0
- package/dist/services/nativeManifest/getReactNativeManifest/index.d.ts +2 -0
- package/dist/services/nativeManifest/getReactNativeManifest/index.d.ts.map +1 -0
- package/dist/services/nativeManifest/nativeManifest.types.d.ts +14 -0
- package/dist/services/nativeManifest/nativeManifest.types.d.ts.map +1 -0
- package/dist/services/realtime/createRealtimeService/createRealtimeService.d.ts.map +1 -1
- package/dist/services/realtime/realtime.types.d.ts +1 -0
- package/dist/services/realtime/realtime.types.d.ts.map +1 -1
- package/dist/services/runtimeServices/createRuntimeServiceAccessKey/createRuntimeServiceAccessKey.d.ts.map +1 -1
- package/dist/services/runtimeServices/createRuntimeServices/createRuntimeServices.d.ts.map +1 -1
- package/dist/services/storage/createLocalStorageAdapter/createLocalStorageAdapter.d.ts +2 -2
- package/dist/services/storage/createStorage/createStorage.d.ts +4 -2
- package/dist/services/storage/createStorage/createStorage.d.ts.map +1 -1
- package/dist/services/storage/createStorage/formatForStorage/isValidDateISOString/isValidDateISOString.d.ts.map +1 -1
- package/dist/services/storage/createStorageKeySchema/createStorageKeySchema.d.ts +2 -1
- package/dist/services/storage/createStorageKeySchema/createStorageKeySchema.d.ts.map +1 -1
- package/dist/services/storage/index.d.ts +1 -1
- package/dist/services/storage/index.d.ts.map +1 -1
- package/dist/services/storage/storage.types.d.ts +27 -3
- package/dist/services/storage/storage.types.d.ts.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/utils/assertDefined/assertDefined.d.ts.map +1 -1
- package/dist/utils/base64UrlDecode/base64UrlDecode.d.ts.map +1 -1
- package/dist/utils/base64urlFromBytes/base64urlFromBytes.d.ts +8 -0
- package/dist/utils/base64urlFromBytes/base64urlFromBytes.d.ts.map +1 -0
- package/dist/utils/base64urlFromBytes/index.d.ts +2 -0
- package/dist/utils/base64urlFromBytes/index.d.ts.map +1 -0
- package/dist/utils/bytesFromBase64url/bytesFromBase64url.d.ts +8 -0
- package/dist/utils/bytesFromBase64url/bytesFromBase64url.d.ts.map +1 -0
- package/dist/utils/bytesFromBase64url/index.d.ts +2 -0
- package/dist/utils/bytesFromBase64url/index.d.ts.map +1 -0
- package/dist/utils/derToP1363/InvalidDERSignatureError.d.ts +5 -0
- package/dist/utils/derToP1363/InvalidDERSignatureError.d.ts.map +1 -0
- package/dist/utils/derToP1363/derToP1363.d.ts +8 -0
- package/dist/utils/derToP1363/derToP1363.d.ts.map +1 -0
- package/dist/utils/derToP1363/index.d.ts +2 -0
- package/dist/utils/derToP1363/index.d.ts.map +1 -0
- package/dist/utils/digestSHA256/digestSHA256.d.ts.map +1 -1
- package/dist/utils/getChainFromVerifiedCredentialChain/getChainFromVerifiedCredentialChain.d.ts.map +1 -1
- package/dist/utils/isEqualShallow/isEqualShallow.d.ts.map +1 -1
- package/dist/utils/isErrorWithCode/isErrorWithCode.d.ts.map +1 -1
- package/dist/utils/isMobile/isMobile.d.ts.map +1 -1
- package/dist/utils/observable/createObservableState/createObservableState.d.ts.map +1 -1
- package/dist/utils/observable/subscribeWithSelector/subscribeWithSelector.d.ts.map +1 -1
- package/dist/utils/randomString/randomString.d.ts +1 -1
- package/dist/utils/randomString/randomString.d.ts.map +1 -1
- package/dist/utils/retryOnFail/InvalidRetryOnFailCallError.d.ts.map +1 -1
- package/dist/utils/setCookie/setCookie.d.ts.map +1 -1
- package/dist/waas.cjs.js +4 -4
- package/dist/waas.esm.js +3 -3
- package/dist/waas.native.esm.js +506 -0
- package/dist/waas.native.esm.js.map +1 -0
- package/dist/waasCore.cjs.js +7 -5
- package/dist/waasCore.cjs.js.map +1 -1
- package/dist/waasCore.esm.js +6 -4
- package/dist/waasCore.esm.js.map +1 -1
- package/dist/waasCore.native.esm.js +253 -0
- package/dist/waasCore.native.esm.js.map +1 -0
- package/dynamic-labs-sdk-client.podspec +27 -0
- package/ios/Keychain.h +4 -0
- package/ios/Keychain.mm +101 -0
- package/ios/ReactNativeManifest.h +4 -0
- package/ios/ReactNativeManifest.mm +45 -0
- package/ios/ReactNativeManifestImpl.swift +20 -0
- package/ios/SecureEnclaveKeyManager.swift +180 -0
- package/package.json +40 -6
- package/react-native.config.cjs +14 -0
- package/dist/InvalidParamError-9IR2C0up.cjs.js.map +0 -1
- package/dist/InvalidParamError-Bq5zAFj4.esm.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-C4aba1hS.esm.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-COxYamJy.cjs.js.map +0 -1
- package/dist/getVerifiedCredentialForWalletAccount-Df_wN20i.cjs.js.map +0 -1
- package/dist/getVerifiedCredentialForWalletAccount-Y-aJ2rY7.esm.js.map +0 -1
- package/dist/modules/auth/handleSessionExpiration/handleSessionExpiration.d.ts +0 -11
- package/dist/modules/auth/handleSessionExpiration/handleSessionExpiration.d.ts.map +0 -1
- package/dist/modules/auth/handleSessionExpiration/index.d.ts +0 -2
- package/dist/modules/auth/handleSessionExpiration/index.d.ts.map +0 -1
- package/dist/modules/auth/performLogout/index.d.ts +0 -2
- package/dist/modules/auth/performLogout/index.d.ts.map +0 -1
- package/dist/modules/auth/performLogout/performLogout.d.ts +0 -12
- package/dist/modules/auth/performLogout/performLogout.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/KeyNotFoundError.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/createIndexedDBKeychainService.d.ts +0 -8
- package/dist/services/keychain/createIndexedDBKeychainService/createIndexedDBKeychainService.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/createIndexedDBKeychainService.types.d.ts +0 -6
- package/dist/services/keychain/createIndexedDBKeychainService/createIndexedDBKeychainService.types.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/index.d.ts +0 -2
- package/dist/services/keychain/createIndexedDBKeychainService/index.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/constants.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/deleteIndexedDBItem.d.ts +0 -3
- package/dist/services/keychain/createIndexedDBKeychainService/utils/deleteIndexedDBItem.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/getIndexedDBItem.d.ts +0 -4
- package/dist/services/keychain/createIndexedDBKeychainService/utils/getIndexedDBItem.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/openDatabase.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/setIndexedDBItem.d.ts +0 -4
- package/dist/services/keychain/createIndexedDBKeychainService/utils/setIndexedDBItem.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/withDatabase/index.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/withDatabase/withDatabase.d.ts.map +0 -1
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/KeyNotFoundError.d.ts +0 -0
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/utils/constants.d.ts +0 -0
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/utils/openDatabase.d.ts +0 -0
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/utils/withDatabase/index.d.ts +0 -0
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/utils/withDatabase/withDatabase.d.ts +0 -0
package/dist/index.esm.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { A as ValueMustBeDefinedError, B as name, D as extractSessionId, E as getUserAgent, F as getDefaultClient, I as setDefaultClient,
|
|
2
|
-
import { A as REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY, D as GENERATE_SESSION_KEYS_TRACKER_KEY, E as FETCH_PROJECT_SETTINGS_TRACKER_KEY, F as
|
|
3
|
-
import {
|
|
4
|
-
import { n as __refreshAuth_wrapped, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-
|
|
5
|
-
import { n as __getMfaMethods_wrapped, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-
|
|
1
|
+
import { A as ValueMustBeDefinedError, B as name, D as extractSessionId, E as getUserAgent, F as getDefaultClient, I as setDefaultClient, O as isCookieEnabled, P as NONCE_POOL_SIZE, R as BaseError, S as __getElevatedAccessToken_wrapped, T as DEFAULT_PII_FIELDS, V as version, _ as MfaRateLimitedError, a as DYNAMIC_ICONIC_SPRITE_URL, b as InvalidExternalAuthError, c as CHAINS_INFO_MAP, d as UnauthorizedError, g as SandboxMaximumThresholdReachedError, h as __getNonce_wrapped, j as randomString, k as assertDefined, l as fetchAndStoreNonces, o as SDK_API_CORE_VERSION, s as __getChainFromVerifiedCredentialChain_wrapped, t as InvalidParamError, u as __createApiClient_wrapped, v as MfaInvalidOtpError, w as instrumentFunction, x as APIError, y as LinkCredentialError, z as getCore } from "./InvalidParamError-DcN56mC-.esm.js";
|
|
2
|
+
import { A as REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY, B as isSignedIn, D as GENERATE_SESSION_KEYS_TRACKER_KEY, E as FETCH_PROJECT_SETTINGS_TRACKER_KEY, F as __fetchProjectSettings_wrapped, H as __subscribeWithSelector_wrapped, I as __createStorageKeySchema_wrapped, L as __createStorage_wrapped, M as getBuffer, N as __logoutWithReason_wrapped, O as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, P as __generateSessionKeys_wrapped, S as __createCrossTabBroadcast_wrapped, T as __createDeferredPromise_wrapped, U as isEqualShallow, V as retryOnFail, _ as WalletAlreadyLinkedToAnotherUserError, a as __updateWalletProviderKeysForVerifiedCredentials_wrapped, b as createKeychainService, c as __createSignInMessageStatement_wrapped, d as __createVisit_wrapped, f as hasExtension, g as isCaptchaRequired, h as __consumeCaptchaToken_wrapped, i as __getNetworksData_wrapped, j as isServerSideRendering, k as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, l as formatSignInMessage, m as __setCaptchaToken_wrapped, o as __verifyMessageSignatureOwnership_wrapped, p as __createRealtimeChannelSchema_wrapped, s as __removeUnverifiedWalletAccount_wrapped, t as __getNetworkProviderFromNetworkId_wrapped, u as __setUnverifiedWalletAccounts_wrapped, v as NoNetworkProvidersError, w as CannotTrackError, x as __createLogger_wrapped, y as __createRealtimeService_wrapped, z as __createLocalStorageAdapter_wrapped } from "./getNetworkProviderFromNetworkId-COHxfpo-.esm.js";
|
|
3
|
+
import { C as normalizeAddress, D as __onEvent_wrapped, E as __offEvent_wrapped, O as __onceEvent_wrapped, S as formatWalletAccountId, a as parseElevatedAccessToken, d as checkAndRaiseWalletAccountsChangedEvent, f as emitWalletAccountsChangedEvent, i as upsertElevatedAccessToken, k as emitEvent, m as __getWalletProviderFromWalletAccount_wrapped, n as getWalletProviderByKey, o as restoreUserSharesForAllWalletAccounts, r as __updateAuthFromVerifyResponse_wrapped, t as __getVerifiedCredentialForWalletAccount_wrapped, u as __getWalletProviders_wrapped, v as NoWalletProviderFoundError, w as splitWalletProviderKey, y as __getWalletAccounts_wrapped } from "./getVerifiedCredentialForWalletAccount-DP4VQBly.esm.js";
|
|
4
|
+
import { n as __refreshAuth_wrapped, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-CQ7CMol4.esm.js";
|
|
5
|
+
import { n as __getMfaMethods_wrapped, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-D8GPFYzv.esm.js";
|
|
6
6
|
import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
|
|
7
7
|
import { AuthModeEnum, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, TokenScope, WaasBackupOptionsEnum, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
|
|
8
8
|
import * as z from "zod/mini";
|
|
@@ -33,113 +33,6 @@ const prefetchNoncesIfNeeded = async (client) => {
|
|
|
33
33
|
await fetchAndStoreNonces(client);
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
//#endregion
|
|
37
|
-
//#region src/utils/retryOnFail/InvalidRetryOnFailCallError.ts
|
|
38
|
-
/**
|
|
39
|
-
* This error is thrown when the `retryOnFail` function is called with an invalid
|
|
40
|
-
* number of retries (i.e. less than 0).
|
|
41
|
-
*/
|
|
42
|
-
var InvalidRetryOnFailCallError = class extends BaseError {
|
|
43
|
-
constructor(maxRetries) {
|
|
44
|
-
super({
|
|
45
|
-
cause: null,
|
|
46
|
-
code: "invalid_retry_on_fail_call_error",
|
|
47
|
-
docsUrl: null,
|
|
48
|
-
name: "InvalidRetryOnFailCallError",
|
|
49
|
-
shortMessage: `Invalid retries parameter for retryOnFail call: ${maxRetries}`
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
//#region src/utils/retryOnFail/retryOnFail.ts
|
|
56
|
-
/** @not-instrumented */
|
|
57
|
-
const retryOnFail = async ({ delay = 0, fn, maxRetries }) => {
|
|
58
|
-
for (let retry = 0; retry <= maxRetries; retry++) try {
|
|
59
|
-
return await fn();
|
|
60
|
-
} catch (error) {
|
|
61
|
-
if (retry >= maxRetries) throw error;
|
|
62
|
-
if (delay > 0) await new Promise((resolve) => setTimeout(resolve, delay));
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Reaching this point should never happen and this
|
|
66
|
-
* error is thrown to help us debug the issue.
|
|
67
|
-
*/
|
|
68
|
-
throw new InvalidRetryOnFailCallError(maxRetries);
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
//#endregion
|
|
72
|
-
//#region src/modules/auth/isSignedIn/isSignedIn.ts
|
|
73
|
-
/**
|
|
74
|
-
* Checks if the user is currently signed in to the Dynamic client.
|
|
75
|
-
*
|
|
76
|
-
* The client is considered to be in a signed in state if a user has
|
|
77
|
-
* authenticated or if the client has at least one wallet connected.
|
|
78
|
-
*
|
|
79
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
80
|
-
* @returns True if the user is signed in, false otherwise.
|
|
81
|
-
* @not-instrumented
|
|
82
|
-
*/
|
|
83
|
-
const isSignedIn = (client = getDefaultClient()) => Boolean(client.user || __getWalletAccounts_wrapped(client).length > 0);
|
|
84
|
-
|
|
85
|
-
//#endregion
|
|
86
|
-
//#region src/modules/projectSettings/fetchProjectSettings/projectSettingsExpirationScheme.ts
|
|
87
|
-
/**
|
|
88
|
-
* The schema to track the expiration time of the project settings.
|
|
89
|
-
*/
|
|
90
|
-
const projectSettingsExpirationStorageKeySchema = __createStorageKeySchema_wrapped({
|
|
91
|
-
key: "projectSettingsExpiration",
|
|
92
|
-
schema: z.number()
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
//#endregion
|
|
96
|
-
//#region src/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.ts
|
|
97
|
-
/**
|
|
98
|
-
* Expiration time of the project settings in milliseconds.
|
|
99
|
-
*/
|
|
100
|
-
const PROJECT_SETTINGS_EXPIRATION_TIME = 1e3 * 60 * 5;
|
|
101
|
-
/**
|
|
102
|
-
* Fetches and updates the project settings from the API.
|
|
103
|
-
*
|
|
104
|
-
* This function retrieves the latest project configuration settings
|
|
105
|
-
* from Dynamic's servers, including authentication options, enabled chains,
|
|
106
|
-
* and security configurations. The settings are cached for performance.
|
|
107
|
-
*
|
|
108
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
109
|
-
* @returns A promise that resolves to the updated project settings.
|
|
110
|
-
* @instrumented
|
|
111
|
-
*/
|
|
112
|
-
const fetchProjectSettings = async (client = getDefaultClient()) => {
|
|
113
|
-
const core = getCore(client);
|
|
114
|
-
const currentExpiration = await core.storage.getItem(projectSettingsExpirationStorageKeySchema);
|
|
115
|
-
if (Boolean(client.projectSettings) && !(currentExpiration && currentExpiration < Date.now()) && isSignedIn(client)) return client.projectSettings;
|
|
116
|
-
const apiClient = __createApiClient_wrapped({}, client);
|
|
117
|
-
core.logger.debug("[fetchProjectSettings] Fetching project settings...");
|
|
118
|
-
const doFetch = async () => apiClient.getEnvironmentSettings({
|
|
119
|
-
environmentId: core.environmentId,
|
|
120
|
-
sdkVersion: `${CLIENT_SDK_NAME}/${core.version}`
|
|
121
|
-
}, { credentials: "omit" });
|
|
122
|
-
const projectSettings = await retryOnFail({
|
|
123
|
-
fn: doFetch,
|
|
124
|
-
maxRetries: 2
|
|
125
|
-
});
|
|
126
|
-
core.state.set({ projectSettings: projectSettings ?? null });
|
|
127
|
-
await core.storage.setItem(projectSettingsExpirationStorageKeySchema, Date.now() + PROJECT_SETTINGS_EXPIRATION_TIME);
|
|
128
|
-
return projectSettings;
|
|
129
|
-
};
|
|
130
|
-
const __fetchProjectSettings_impl = fetchProjectSettings;
|
|
131
|
-
const __fetchProjectSettings_wrapped = instrumentFunction({
|
|
132
|
-
fn: __fetchProjectSettings_impl,
|
|
133
|
-
functionName: "fetchProjectSettings",
|
|
134
|
-
getCore: () => {
|
|
135
|
-
try {
|
|
136
|
-
return getCore(getDefaultClient());
|
|
137
|
-
} catch {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
|
|
143
36
|
//#endregion
|
|
144
37
|
//#region src/services/runtimeServices/createRuntimeServices/createRuntimeServices.ts
|
|
145
38
|
/**
|
|
@@ -157,124 +50,13 @@ const createRuntimeServices = () => {
|
|
|
157
50
|
};
|
|
158
51
|
};
|
|
159
52
|
|
|
160
|
-
//#endregion
|
|
161
|
-
//#region src/modules/wallets/utils/getAvailableWalletProvidersFromWalletAccounts/getAvailableWalletProvidersFromWalletAccounts.ts
|
|
162
|
-
/** @not-instrumented */
|
|
163
|
-
const getAvailableWalletProvidersFromWalletAccounts = (client) => {
|
|
164
|
-
const core = getCore(client);
|
|
165
|
-
const walletProvidersMap = /* @__PURE__ */ new Map();
|
|
166
|
-
__getWalletAccounts_wrapped(client).forEach((walletAccount) => {
|
|
167
|
-
if (walletProvidersMap.has(walletAccount.walletProviderKey)) return;
|
|
168
|
-
try {
|
|
169
|
-
const walletProvider = __getWalletProviderFromWalletAccount_wrapped({ walletAccount }, client);
|
|
170
|
-
walletProvidersMap.set(walletAccount.walletProviderKey, walletProvider);
|
|
171
|
-
} catch (error) {
|
|
172
|
-
core.logger.debug("Wallet provider not found for wallet account", {
|
|
173
|
-
error,
|
|
174
|
-
walletAccount: walletAccount.address
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
return Array.from(walletProvidersMap.values());
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
//#endregion
|
|
182
|
-
//#region src/modules/wallets/disconnectAndTerminateWalletProviders/disconnectAndTerminateWalletProviders.ts
|
|
183
|
-
/**
|
|
184
|
-
* Disconnect and terminate each wallet provider, if available.
|
|
185
|
-
* @not-instrumented
|
|
186
|
-
*/
|
|
187
|
-
const disconnectAndTerminateWalletProviders = async ({ reason }, client) => {
|
|
188
|
-
const core = getCore(client);
|
|
189
|
-
const walletProviders = getAvailableWalletProvidersFromWalletAccounts(client);
|
|
190
|
-
await Promise.all(walletProviders.map(async (walletProvider) => {
|
|
191
|
-
if (walletProvider.terminate) await walletProvider.terminate({ reason });
|
|
192
|
-
if (walletProvider.disconnect) try {
|
|
193
|
-
await walletProvider.disconnect();
|
|
194
|
-
} catch (err) {
|
|
195
|
-
core.logger.error(`Error disconnecting from wallet ${walletProvider.key}`, err);
|
|
196
|
-
}
|
|
197
|
-
}));
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
//#endregion
|
|
201
|
-
//#region src/modules/auth/performLogout/performLogout.ts
|
|
202
|
-
/**
|
|
203
|
-
* Shared logout implementation that revokes the session, clears auth state,
|
|
204
|
-
* terminates wallet providers, and emits the logout event with the given reason.
|
|
205
|
-
*
|
|
206
|
-
* @not-instrumented
|
|
207
|
-
*/
|
|
208
|
-
const performLogout = async ({ reason }, client) => {
|
|
209
|
-
const core = getCore(client);
|
|
210
|
-
core.logger.debug("[logout] Logging out...");
|
|
211
|
-
await disconnectAndTerminateWalletProviders({ reason }, client);
|
|
212
|
-
if (client.user !== null) {
|
|
213
|
-
const apiClient = __createApiClient_wrapped({}, client);
|
|
214
|
-
try {
|
|
215
|
-
await apiClient.revokeSession({ environmentId: core.environmentId });
|
|
216
|
-
} catch (error) {
|
|
217
|
-
core.logger.error("Failed to revoke session", error);
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* This deletes the auth cookie if it exists.
|
|
221
|
-
* If the cookie doesn't exist, this sets a new cookie that expires immediately.
|
|
222
|
-
*/
|
|
223
|
-
if (isCookieEnabled(client)) setCookie(`${DYNAMIC_AUTH_COOKIE_NAME}=; Max-Age=-99999999; path=/; SameSite=Lax`);
|
|
224
|
-
}
|
|
225
|
-
await core.keychain.removeKey("session");
|
|
226
|
-
core.state.set({
|
|
227
|
-
captchaToken: null,
|
|
228
|
-
elevatedAccessTokens: [],
|
|
229
|
-
legacyToken: null,
|
|
230
|
-
mfaToken: null,
|
|
231
|
-
sessionExpiresAt: null,
|
|
232
|
-
sessionKeys: null,
|
|
233
|
-
token: null,
|
|
234
|
-
unverifiedWalletAccounts: [],
|
|
235
|
-
user: null
|
|
236
|
-
});
|
|
237
|
-
emitEvent({
|
|
238
|
-
args: { reason },
|
|
239
|
-
event: "logout"
|
|
240
|
-
}, client);
|
|
241
|
-
__fetchProjectSettings_wrapped(client);
|
|
242
|
-
__generateSessionKeys_wrapped(client);
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
//#endregion
|
|
246
|
-
//#region src/modules/auth/handleSessionExpiration/handleSessionExpiration.ts
|
|
247
|
-
/**
|
|
248
|
-
* Logs out due to session expiry with a token-expired reason,
|
|
249
|
-
* allowing downstream providers to decide their own cleanup behavior.
|
|
250
|
-
*
|
|
251
|
-
* @param client - The Dynamic client instance.
|
|
252
|
-
* @returns A promise that resolves when the logout process is complete.
|
|
253
|
-
* @instrumented
|
|
254
|
-
*/
|
|
255
|
-
const handleSessionExpiration = async (client) => {
|
|
256
|
-
return performLogout({ reason: "token-expired" }, client);
|
|
257
|
-
};
|
|
258
|
-
const __handleSessionExpiration_impl = handleSessionExpiration;
|
|
259
|
-
const __handleSessionExpiration_wrapped = instrumentFunction({
|
|
260
|
-
fn: __handleSessionExpiration_impl,
|
|
261
|
-
functionName: "handleSessionExpiration",
|
|
262
|
-
getCore: () => {
|
|
263
|
-
try {
|
|
264
|
-
return getCore(getDefaultClient());
|
|
265
|
-
} catch {
|
|
266
|
-
return;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
|
|
271
53
|
//#endregion
|
|
272
54
|
//#region src/modules/auth/initializeAuth/setLongTimeout/setLongTimeout.ts
|
|
273
55
|
/**
|
|
274
56
|
* A replacement for setTimeout that supports delays longer than 2147483647ms (~24.8 days).
|
|
275
57
|
* @not-instrumented
|
|
276
58
|
*/
|
|
277
|
-
const setLongTimeout = (callback, delay) => {
|
|
59
|
+
const setLongTimeout = ({ callback, delay }) => {
|
|
278
60
|
const MAX_DELAY = 2147483647;
|
|
279
61
|
let timeoutId = null;
|
|
280
62
|
let remaining = delay;
|
|
@@ -308,40 +90,18 @@ const initializeAuth = (client) => {
|
|
|
308
90
|
const now = /* @__PURE__ */ new Date();
|
|
309
91
|
const timeUntilExpiration = expiration.getTime() - now.getTime();
|
|
310
92
|
if (timeUntilExpiration <= 0) {
|
|
311
|
-
|
|
93
|
+
__logoutWithReason_wrapped({ reason: "token-expired" }, client);
|
|
312
94
|
return;
|
|
313
95
|
}
|
|
314
|
-
clearExpirationTimeout = setLongTimeout(
|
|
96
|
+
clearExpirationTimeout = setLongTimeout({
|
|
97
|
+
callback: checkExpiration,
|
|
98
|
+
delay: timeUntilExpiration
|
|
99
|
+
});
|
|
315
100
|
};
|
|
316
101
|
onChangeExpiration(checkExpiration);
|
|
317
102
|
checkExpiration();
|
|
318
103
|
};
|
|
319
104
|
|
|
320
|
-
//#endregion
|
|
321
|
-
//#region src/modules/auth/logout/logout.ts
|
|
322
|
-
/**
|
|
323
|
-
* Logs out the current user and clears all authentication data.
|
|
324
|
-
*
|
|
325
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
326
|
-
* @returns A promise that resolves when the logout process is complete.
|
|
327
|
-
* @instrumented
|
|
328
|
-
*/
|
|
329
|
-
const logout = async (client = getDefaultClient()) => {
|
|
330
|
-
return performLogout({ reason: "user-intent" }, client);
|
|
331
|
-
};
|
|
332
|
-
const __logout_impl = logout;
|
|
333
|
-
const __logout_wrapped = instrumentFunction({
|
|
334
|
-
fn: __logout_impl,
|
|
335
|
-
functionName: "logout",
|
|
336
|
-
getCore: () => {
|
|
337
|
-
try {
|
|
338
|
-
return getCore(getDefaultClient());
|
|
339
|
-
} catch {
|
|
340
|
-
return;
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
});
|
|
344
|
-
|
|
345
105
|
//#endregion
|
|
346
106
|
//#region src/modules/crossTabEventSync/setupCrossTabEventSync/setupCrossTabEventSync.ts
|
|
347
107
|
/**
|
|
@@ -408,6 +168,7 @@ const stateStorageKeySchema = __createStorageKeySchema_wrapped({
|
|
|
408
168
|
})
|
|
409
169
|
});
|
|
410
170
|
const sessionStorageKeySchema = __createStorageKeySchema_wrapped({
|
|
171
|
+
config: { storageTier: "secure" },
|
|
411
172
|
key: "session",
|
|
412
173
|
schema: z.object({
|
|
413
174
|
captchaToken: z.nullable(z.string()),
|
|
@@ -666,8 +427,8 @@ const initializeClient = async (client = getDefaultClient()) => {
|
|
|
666
427
|
logger: core.logger,
|
|
667
428
|
state: core.state,
|
|
668
429
|
storage: core.storage
|
|
669
|
-
}).catch(() =>
|
|
670
|
-
if (core.state.get().sessionKeys && !await core.keychain.hasKey("session")) await
|
|
430
|
+
}).catch(() => __logoutWithReason_wrapped({ reason: "keychain-migration-failed" }, client));
|
|
431
|
+
if (core.state.get().sessionKeys && !await core.keychain.hasKey("session")) await __logoutWithReason_wrapped({ reason: "keychain-key-missing" }, client);
|
|
671
432
|
}).then(async () => {
|
|
672
433
|
if (!core.state.get().projectSettings) await __fetchProjectSettings_wrapped(client);
|
|
673
434
|
});
|
|
@@ -703,7 +464,7 @@ const initializeClient = async (client = getDefaultClient()) => {
|
|
|
703
464
|
if (isCookieEnabled(client)) await __refreshAuth_wrapped(client).catch(async (error) => {
|
|
704
465
|
if (error.status === 401) {
|
|
705
466
|
core.logger.error("Session expired during initialization", error);
|
|
706
|
-
if (client.user) await
|
|
467
|
+
if (client.user) await __logoutWithReason_wrapped({ reason: "session-refresh-unauthorized" }, client);
|
|
707
468
|
} else throw error;
|
|
708
469
|
});
|
|
709
470
|
});
|
|
@@ -714,7 +475,7 @@ const initializeClient = async (client = getDefaultClient()) => {
|
|
|
714
475
|
*/
|
|
715
476
|
const refreshUserStateFromValidTokenPromise = refreshUserStateFromCookiePromise.then(async () => {
|
|
716
477
|
if (core.state.get().token && !core.state.get().user) await __refreshUser_wrapped(client).catch(async () => {
|
|
717
|
-
await
|
|
478
|
+
await __logoutWithReason_wrapped({ reason: "user-refresh-failed" }, client);
|
|
718
479
|
});
|
|
719
480
|
});
|
|
720
481
|
core.initTrack.track({
|
|
@@ -1204,7 +965,7 @@ const createCore = (config) => {
|
|
|
1204
965
|
const passkey = config.coreConfig?.passkey ?? createWebPasskeyService();
|
|
1205
966
|
const realtime = config.coreConfig?.realtime ?? __createRealtimeService_wrapped();
|
|
1206
967
|
const deviceSigner = config.coreConfig?.deviceSigner;
|
|
1207
|
-
const keychain = config.coreConfig?.keychain ??
|
|
968
|
+
const keychain = config.coreConfig?.keychain ?? createKeychainService({ dbName: `dynamic_${config.environmentId}_keychain` });
|
|
1208
969
|
return {
|
|
1209
970
|
apiBaseUrl,
|
|
1210
971
|
crossTabBroadcast: config.coreConfig?.crossTabBroadcast ?? __createCrossTabBroadcast_wrapped({ channelName: `dynamic_${config.environmentId}_broadcast` }),
|
|
@@ -1232,7 +993,8 @@ const createCore = (config) => {
|
|
|
1232
993
|
state,
|
|
1233
994
|
storage,
|
|
1234
995
|
transformers: config.transformers,
|
|
1235
|
-
version
|
|
996
|
+
version,
|
|
997
|
+
waas: config.waas
|
|
1236
998
|
};
|
|
1237
999
|
};
|
|
1238
1000
|
|
|
@@ -1748,7 +1510,7 @@ const requestExternalAuthElevatedToken = async ({ externalJwt }, client = getDef
|
|
|
1748
1510
|
environmentId: core.environmentId,
|
|
1749
1511
|
externalAuthSigninRequest: { jwt: externalJwt }
|
|
1750
1512
|
});
|
|
1751
|
-
const parsedToken = parseElevatedAccessToken(response.elevatedAccessToken);
|
|
1513
|
+
const parsedToken = parseElevatedAccessToken({ token: response.elevatedAccessToken });
|
|
1752
1514
|
if (parsedToken) {
|
|
1753
1515
|
const currentTokens = core.state.get().elevatedAccessTokens || [];
|
|
1754
1516
|
core.state.set({ elevatedAccessTokens: upsertElevatedAccessToken({
|
|
@@ -1783,7 +1545,6 @@ const __requestExternalAuthElevatedToken_wrapped = instrumentFunction({
|
|
|
1783
1545
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1784
1546
|
* @returns A promise that resolves to the authentication response from the server.
|
|
1785
1547
|
* @instrumented
|
|
1786
|
-
|
|
1787
1548
|
* @redact-params
|
|
1788
1549
|
*/
|
|
1789
1550
|
const signInWithExternalJwt = async ({ externalJwt, sessionPublicKey } = {}, client = getDefaultClient()) => {
|
|
@@ -1812,6 +1573,25 @@ const __signInWithExternalJwt_wrapped = instrumentFunction({
|
|
|
1812
1573
|
redactAll: true
|
|
1813
1574
|
});
|
|
1814
1575
|
|
|
1576
|
+
//#endregion
|
|
1577
|
+
//#region src/modules/auth/logout/logout.ts
|
|
1578
|
+
/**
|
|
1579
|
+
* Logs out the current user and clears all authentication data.
|
|
1580
|
+
*
|
|
1581
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1582
|
+
* @returns A promise that resolves when the logout process is complete.
|
|
1583
|
+
* @not-instrumented
|
|
1584
|
+
*/
|
|
1585
|
+
const logout = async (client = getDefaultClient()) => {
|
|
1586
|
+
/**
|
|
1587
|
+
* Delegates to `logoutWithReason` with `'user-intent'` so telemetry correctly
|
|
1588
|
+
* attributes the logout to an explicit user action. Instrumentation lives on
|
|
1589
|
+
* `logoutWithReason` — this wrapper is intentionally not instrumented so that
|
|
1590
|
+
* Datadog sees a single function name per logout regardless of entry point.
|
|
1591
|
+
*/
|
|
1592
|
+
return __logoutWithReason_wrapped({ reason: "user-intent" }, client);
|
|
1593
|
+
};
|
|
1594
|
+
|
|
1815
1595
|
//#endregion
|
|
1816
1596
|
//#region src/modules/auth/passkeys/deletePasskey/deletePasskey.ts
|
|
1817
1597
|
/**
|
|
@@ -2089,7 +1869,7 @@ const APPLE_RESPONSE_MODE = "form_post";
|
|
|
2089
1869
|
const APPLE_RESPONSE_TYPE = "code id_token";
|
|
2090
1870
|
/** Helper function to add OAuth URL parameters to a given base URL. * @not-instrumented
|
|
2091
1871
|
*/
|
|
2092
|
-
const addOAuthUrlParams = (
|
|
1872
|
+
const addOAuthUrlParams = ({ baseUrl, isGoogleDriveBackupEnabled, provider }) => {
|
|
2093
1873
|
assertDefined(provider.clientId, "Client ID not found");
|
|
2094
1874
|
assertDefined(provider.provider, "Provider type not found");
|
|
2095
1875
|
assertDefined(provider.redirectUrl, "Redirect URL not found");
|
|
@@ -2103,7 +1883,7 @@ const addOAuthUrlParams = (provider, baseUrl, options = {}) => {
|
|
|
2103
1883
|
}
|
|
2104
1884
|
if (providerType === ProviderEnum.Google) {
|
|
2105
1885
|
baseUrl.searchParams.set("access_type", "offline");
|
|
2106
|
-
if (
|
|
1886
|
+
if (isGoogleDriveBackupEnabled) baseUrl.searchParams.set("prompt", "consent");
|
|
2107
1887
|
}
|
|
2108
1888
|
if (providerType === ProviderEnum.Apple) {
|
|
2109
1889
|
baseUrl.searchParams.set("response_mode", APPLE_RESPONSE_MODE);
|
|
@@ -2145,7 +1925,11 @@ const buildOAuthUrl = async (core, provider) => {
|
|
|
2145
1925
|
const socialProvider = projectSettings.providers.find((p) => p.provider === provider);
|
|
2146
1926
|
assertDefined(socialProvider, `Social provider ${provider} not supported`);
|
|
2147
1927
|
const isGoogleDriveBackupEnabled = projectSettings.sdk.waas?.backupOptions?.includes(WaasBackupOptionsEnum.GoogleDrive);
|
|
2148
|
-
const socialProviderUrl = addOAuthUrlParams(
|
|
1928
|
+
const socialProviderUrl = addOAuthUrlParams({
|
|
1929
|
+
baseUrl: getOAuthBaseUrl(socialProvider),
|
|
1930
|
+
isGoogleDriveBackupEnabled,
|
|
1931
|
+
provider: socialProvider
|
|
1932
|
+
});
|
|
2149
1933
|
const usingPkce = providersRequiringPkce.includes(provider);
|
|
2150
1934
|
const state = randomString({ length: 32 });
|
|
2151
1935
|
const codeVerifier = randomString({ length: 43 });
|
|
@@ -2485,22 +2269,29 @@ const createCheckoutApiClient = async ({ transactionId }, client) => {
|
|
|
2485
2269
|
//#endregion
|
|
2486
2270
|
//#region src/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.ts
|
|
2487
2271
|
/**
|
|
2488
|
-
* Attaches a
|
|
2272
|
+
* Attaches a payment source to a checkout transaction.
|
|
2273
|
+
*
|
|
2274
|
+
* For exchange sources, the backend generates the buy URL and creates the
|
|
2275
|
+
* exchange source record. The response includes `exchangeSource.metadata.url`
|
|
2276
|
+
* which can be embedded in an iframe for the user to complete payment.
|
|
2489
2277
|
*
|
|
2490
2278
|
* @param params AttachCheckoutTransactionSourceParams - The source details to attach.
|
|
2491
2279
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
2492
|
-
* @returns The updated checkout transaction
|
|
2280
|
+
* @returns The updated checkout transaction (with exchangeSource if sourceType is 'exchange')
|
|
2493
2281
|
* @instrumented
|
|
2494
2282
|
*/
|
|
2495
|
-
const attachCheckoutTransactionSource = async (
|
|
2283
|
+
const attachCheckoutTransactionSource = async (params, client = getDefaultClient()) => {
|
|
2284
|
+
const { transactionId, sourceType = "wallet" } = params;
|
|
2496
2285
|
const { apiClient, environmentId, sessionToken } = await createCheckoutApiClient({ transactionId }, client);
|
|
2286
|
+
const attachSourceRequest = { sourceType };
|
|
2287
|
+
if (params.sourceType === "exchange") attachSourceRequest.exchangeProvider = params.exchangeProvider;
|
|
2288
|
+
else {
|
|
2289
|
+
attachSourceRequest.fromAddress = params.fromAddress;
|
|
2290
|
+
attachSourceRequest.fromChainId = params.fromChainId;
|
|
2291
|
+
attachSourceRequest.fromChainName = params.fromChainName;
|
|
2292
|
+
}
|
|
2497
2293
|
return apiClient.attachSource({
|
|
2498
|
-
attachSourceRequest
|
|
2499
|
-
fromAddress,
|
|
2500
|
-
fromChainId,
|
|
2501
|
-
fromChainName,
|
|
2502
|
-
sourceType: "wallet"
|
|
2503
|
-
},
|
|
2294
|
+
attachSourceRequest,
|
|
2504
2295
|
environmentId,
|
|
2505
2296
|
transactionId,
|
|
2506
2297
|
xDynamicCheckoutSessionToken: sessionToken
|
|
@@ -2522,9 +2313,13 @@ const __attachCheckoutTransactionSource_wrapped = instrumentFunction({
|
|
|
2522
2313
|
//#endregion
|
|
2523
2314
|
//#region src/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.ts
|
|
2524
2315
|
/**
|
|
2525
|
-
* Records
|
|
2316
|
+
* Records that a checkout transaction has been broadcasted.
|
|
2317
|
+
*
|
|
2318
|
+
* For wallet sources, pass the `txHash` from the on-chain transaction.
|
|
2319
|
+
* For exchange sources, `txHash` can be omitted — the user confirms
|
|
2320
|
+
* they completed the payment and the transaction moves to `broadcasted`.
|
|
2526
2321
|
*
|
|
2527
|
-
* @param params BroadcastCheckoutTransactionParams - The transaction ID and tx hash.
|
|
2322
|
+
* @param params BroadcastCheckoutTransactionParams - The transaction ID and optional tx hash.
|
|
2528
2323
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
2529
2324
|
* @returns The updated checkout transaction
|
|
2530
2325
|
* @instrumented
|
|
@@ -2639,8 +2434,20 @@ const isTerminalEvent = (data) => {
|
|
|
2639
2434
|
* @not-instrumented
|
|
2640
2435
|
*/
|
|
2641
2436
|
const subscribeToCheckoutTransaction = async ({ transactionId }, client) => {
|
|
2642
|
-
const
|
|
2643
|
-
|
|
2437
|
+
const core = getCore(client);
|
|
2438
|
+
const { realtime } = core;
|
|
2439
|
+
if (realtime.getConnectionState() === "idle") {
|
|
2440
|
+
const sessionToken = await core.storage.getItem(createCheckoutSessionTokenStorageKey(transactionId));
|
|
2441
|
+
const headers = {};
|
|
2442
|
+
if (sessionToken) {
|
|
2443
|
+
headers["x-dynamic-checkout-session-token"] = sessionToken;
|
|
2444
|
+
headers["x-dynamic-checkout-transaction-id"] = transactionId;
|
|
2445
|
+
}
|
|
2446
|
+
await realtime.connect({
|
|
2447
|
+
client,
|
|
2448
|
+
headers
|
|
2449
|
+
});
|
|
2450
|
+
}
|
|
2644
2451
|
const channelSchema = createCheckoutTransactionChannelSchema(transactionId);
|
|
2645
2452
|
const handler = ({ data }) => {
|
|
2646
2453
|
if (data.axis === "execution") emitEvent({
|
|
@@ -2943,6 +2750,36 @@ const __submitCheckoutTransaction_wrapped = instrumentFunction({
|
|
|
2943
2750
|
}
|
|
2944
2751
|
});
|
|
2945
2752
|
|
|
2753
|
+
//#endregion
|
|
2754
|
+
//#region src/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.ts
|
|
2755
|
+
/**
|
|
2756
|
+
* Subscribes to realtime `checkoutTransactionExecutionStateChanged` and
|
|
2757
|
+
* `checkoutTransactionSettlementStateChanged` events for an existing
|
|
2758
|
+
* checkout transaction.
|
|
2759
|
+
*
|
|
2760
|
+
* This is only needed after a page refresh to re-establish the subscription.
|
|
2761
|
+
* Transactions created with {@link createCheckoutTransaction} are automatically
|
|
2762
|
+
* subscribed — calling this again for those is unnecessary unless the page
|
|
2763
|
+
* has been reloaded.
|
|
2764
|
+
*
|
|
2765
|
+
* @param params.transactionId - The ID of the checkout transaction to track.
|
|
2766
|
+
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
2767
|
+
* @instrumented
|
|
2768
|
+
*/
|
|
2769
|
+
const trackCheckoutTransaction = ({ transactionId }, client = getDefaultClient()) => subscribeToCheckoutTransaction({ transactionId }, client);
|
|
2770
|
+
const __trackCheckoutTransaction_impl = trackCheckoutTransaction;
|
|
2771
|
+
const __trackCheckoutTransaction_wrapped = instrumentFunction({
|
|
2772
|
+
fn: __trackCheckoutTransaction_impl,
|
|
2773
|
+
functionName: "trackCheckoutTransaction",
|
|
2774
|
+
getCore: () => {
|
|
2775
|
+
try {
|
|
2776
|
+
return getCore(getDefaultClient());
|
|
2777
|
+
} catch {
|
|
2778
|
+
return;
|
|
2779
|
+
}
|
|
2780
|
+
}
|
|
2781
|
+
});
|
|
2782
|
+
|
|
2946
2783
|
//#endregion
|
|
2947
2784
|
//#region src/modules/checkout/utils/requiresConversion/requiresConversion.ts
|
|
2948
2785
|
/**
|
|
@@ -2978,32 +2815,6 @@ const __requiresConversion_wrapped = instrumentFunction({
|
|
|
2978
2815
|
}
|
|
2979
2816
|
});
|
|
2980
2817
|
|
|
2981
|
-
//#endregion
|
|
2982
|
-
//#region src/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.ts
|
|
2983
|
-
/**
|
|
2984
|
-
* Subscribes to realtime state change events for an existing checkout transaction.
|
|
2985
|
-
*
|
|
2986
|
-
* Call this after a page refresh to resume receiving transaction events
|
|
2987
|
-
* for a transaction that was created in a previous page session.
|
|
2988
|
-
*
|
|
2989
|
-
* @param params.transactionId - The ID of the checkout transaction to track.
|
|
2990
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
2991
|
-
* @instrumented
|
|
2992
|
-
*/
|
|
2993
|
-
const trackCheckoutTransaction = ({ transactionId }, client = getDefaultClient()) => subscribeToCheckoutTransaction({ transactionId }, client);
|
|
2994
|
-
const __trackCheckoutTransaction_impl = trackCheckoutTransaction;
|
|
2995
|
-
const __trackCheckoutTransaction_wrapped = instrumentFunction({
|
|
2996
|
-
fn: __trackCheckoutTransaction_impl,
|
|
2997
|
-
functionName: "trackCheckoutTransaction",
|
|
2998
|
-
getCore: () => {
|
|
2999
|
-
try {
|
|
3000
|
-
return getCore(getDefaultClient());
|
|
3001
|
-
} catch {
|
|
3002
|
-
return;
|
|
3003
|
-
}
|
|
3004
|
-
}
|
|
3005
|
-
});
|
|
3006
|
-
|
|
3007
2818
|
//#endregion
|
|
3008
2819
|
//#region src/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.ts
|
|
3009
2820
|
const DEVICE_REGISTRATION_TOKEN_HEADER = "x-dynamic-device-registration-token";
|
|
@@ -3147,7 +2958,7 @@ const isDeviceRegistrationRequired = (user) => Boolean(user.scope?.includes("dev
|
|
|
3147
2958
|
const revokeAllRegisteredDevices = async (client = getDefaultClient()) => {
|
|
3148
2959
|
const core = getCore(client);
|
|
3149
2960
|
await __createApiClient_wrapped({}, client).deleteAllDeviceRegistrations({ environmentId: core.environmentId });
|
|
3150
|
-
await
|
|
2961
|
+
await __logoutWithReason_wrapped({ reason: "all-devices-revoked" }, client);
|
|
3151
2962
|
};
|
|
3152
2963
|
const __revokeAllRegisteredDevices_impl = revokeAllRegisteredDevices;
|
|
3153
2964
|
const __revokeAllRegisteredDevices_wrapped = instrumentFunction({
|
|
@@ -3171,7 +2982,7 @@ const revokeRegisteredDevice = async ({ deviceRegistrationId }, client = getDefa
|
|
|
3171
2982
|
if ((await __createApiClient_wrapped({}, client).deleteDeviceRegistration({
|
|
3172
2983
|
deviceRegistrationId,
|
|
3173
2984
|
environmentId: core.environmentId
|
|
3174
|
-
})).currentDeviceRevoked) await
|
|
2985
|
+
})).currentDeviceRevoked) await __logoutWithReason_wrapped({ reason: "device-revoked" }, client);
|
|
3175
2986
|
};
|
|
3176
2987
|
const __revokeRegisteredDevice_impl = revokeRegisteredDevice;
|
|
3177
2988
|
const __revokeRegisteredDevice_wrapped = instrumentFunction({
|
|
@@ -3559,7 +3370,7 @@ const __waitForClientInitialized_wrapped = instrumentFunction({
|
|
|
3559
3370
|
* normally but emit no telemetry.
|
|
3560
3371
|
* @instrumented
|
|
3561
3372
|
*/
|
|
3562
|
-
const setInstrumentationEnabled = (enabled, client = getDefaultClient()) => {
|
|
3373
|
+
const setInstrumentationEnabled = ({ enabled }, client = getDefaultClient()) => {
|
|
3563
3374
|
getCore(client).instrumentation.setEnabled(enabled);
|
|
3564
3375
|
};
|
|
3565
3376
|
const __setInstrumentationEnabled_impl = setInstrumentationEnabled;
|
|
@@ -3710,12 +3521,10 @@ const EMBEDDED_WALLET_KEYS = [
|
|
|
3710
3521
|
/**
|
|
3711
3522
|
* Checks if a wallet should be filtered out from the WalletConnect catalog.
|
|
3712
3523
|
*
|
|
3713
|
-
* @param walletKey - The wallet key identifier.
|
|
3714
|
-
* @param wallet - The wallet schema to check.
|
|
3715
3524
|
* @returns True if the wallet should be filtered out, false otherwise.
|
|
3716
3525
|
* @not-instrumented
|
|
3717
3526
|
*/
|
|
3718
|
-
const shouldFilterWallet = (
|
|
3527
|
+
const shouldFilterWallet = ({ wallet, walletKey }) => {
|
|
3719
3528
|
if (EMBEDDED_WALLET_KEYS.includes(walletKey)) return true;
|
|
3720
3529
|
if (!wallet.walletConnect || !wallet.walletConnect.sdks.includes("sign_v2")) return true;
|
|
3721
3530
|
const hasInjectedConfig = wallet.injectedConfig && wallet.injectedConfig.length > 0;
|
|
@@ -3930,7 +3739,10 @@ const transformWalletBook = ({ walletBook }) => {
|
|
|
3930
3739
|
for (const [groupKey, group] of Object.entries(walletBook.groups)) groups[groupKey] = transformGroup({ group });
|
|
3931
3740
|
const wallets = {};
|
|
3932
3741
|
for (const [walletKey, wallet] of Object.entries(walletBook.wallets)) {
|
|
3933
|
-
if (shouldFilterWallet(
|
|
3742
|
+
if (shouldFilterWallet({
|
|
3743
|
+
wallet,
|
|
3744
|
+
walletKey
|
|
3745
|
+
})) continue;
|
|
3934
3746
|
wallets[walletKey] = transformWallet({
|
|
3935
3747
|
wallet,
|
|
3936
3748
|
walletKey
|
|
@@ -4042,7 +3854,6 @@ const __getWalletConnectCatalogWalletByWalletProviderKey_wrapped = instrumentFun
|
|
|
4042
3854
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
4043
3855
|
* @returns A promise that resolves to OTP verification details if verification is required, or undefined.
|
|
4044
3856
|
* @instrumented
|
|
4045
|
-
|
|
4046
3857
|
* @redact-params
|
|
4047
3858
|
*/
|
|
4048
3859
|
const updateUser = async ({ userFields }, client = getDefaultClient()) => {
|
|
@@ -4557,7 +4368,6 @@ const __setDefaultMfaDevice_wrapped = instrumentFunction({
|
|
|
4557
4368
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
4558
4369
|
* @returns A promise that resolves to an OTPVerification object containing the email and verification UUID.
|
|
4559
4370
|
* @instrumented
|
|
4560
|
-
|
|
4561
4371
|
* @redact-params
|
|
4562
4372
|
*/
|
|
4563
4373
|
const sendEmailOTP = async ({ email }, client = getDefaultClient()) => {
|
|
@@ -5519,7 +5329,6 @@ const supportedCountries = {
|
|
|
5519
5329
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
5520
5330
|
* @returns A promise that resolves to an OTPVerification object containing the phone details and verification UUID.
|
|
5521
5331
|
* @instrumented
|
|
5522
|
-
|
|
5523
5332
|
* @redact-params
|
|
5524
5333
|
*/
|
|
5525
5334
|
const sendSmsOTP = async ({ isoCountryCode, phoneNumber }, client = getDefaultClient()) => {
|
|
@@ -5756,7 +5565,7 @@ const __getSwapStatus_wrapped = instrumentFunction({
|
|
|
5756
5565
|
const deleteUser = async (client = getDefaultClient()) => {
|
|
5757
5566
|
const core = getCore(client);
|
|
5758
5567
|
await __createApiClient_wrapped({ includeMfaToken: true }, client).hardDeleteUser({ environmentId: core.environmentId });
|
|
5759
|
-
await
|
|
5568
|
+
await __logoutWithReason_wrapped({ reason: "user-deleted" }, client);
|
|
5760
5569
|
};
|
|
5761
5570
|
const __deleteUser_impl = deleteUser;
|
|
5762
5571
|
const __deleteUser_wrapped = instrumentFunction({
|
|
@@ -6060,7 +5869,13 @@ const __proveWalletAccountOwnership_wrapped = instrumentFunction({
|
|
|
6060
5869
|
//#endregion
|
|
6061
5870
|
//#region src/modules/wallets/utils/isSameAddress/isSameAddress.ts
|
|
6062
5871
|
/** @not-instrumented */
|
|
6063
|
-
const isSameAddress = (left, right
|
|
5872
|
+
const isSameAddress = ({ chain, left, right }) => normalizeAddress({
|
|
5873
|
+
address: left,
|
|
5874
|
+
chain
|
|
5875
|
+
}) === normalizeAddress({
|
|
5876
|
+
address: right,
|
|
5877
|
+
chain
|
|
5878
|
+
});
|
|
6064
5879
|
|
|
6065
5880
|
//#endregion
|
|
6066
5881
|
//#region src/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.ts
|
|
@@ -6086,7 +5901,11 @@ const verifyWalletAccountForSignInOrTransfer = async ({ walletAccount, isTransfe
|
|
|
6086
5901
|
walletDisplayName: walletProvider.metadata.displayName,
|
|
6087
5902
|
walletProviderType: walletProvider.walletProviderType
|
|
6088
5903
|
}, client);
|
|
6089
|
-
const walletVerifiedCredential = response.user?.verifiedCredentials.find((verifiedCredential) => isSameAddress(
|
|
5904
|
+
const walletVerifiedCredential = response.user?.verifiedCredentials.find((verifiedCredential) => isSameAddress({
|
|
5905
|
+
chain: walletAccount.chain,
|
|
5906
|
+
left: verifiedCredential.address ?? "",
|
|
5907
|
+
right: walletAccount.address
|
|
5908
|
+
}));
|
|
6090
5909
|
assertDefined(walletVerifiedCredential, `After verifying, still unable to find verified wallet credential for wallet account ${walletAccount.address} on chain ${walletAccount.chain}`);
|
|
6091
5910
|
__updateWalletProviderKeysForVerifiedCredentials_wrapped({ keysToUpdate: { [walletVerifiedCredential.id]: walletProvider.key } }, client);
|
|
6092
5911
|
/**
|
|
@@ -6098,7 +5917,11 @@ const verifyWalletAccountForSignInOrTransfer = async ({ walletAccount, isTransfe
|
|
|
6098
5917
|
* Remove the now verified wallet account from the unverified wallet accounts
|
|
6099
5918
|
*/
|
|
6100
5919
|
__removeUnverifiedWalletAccount_wrapped({ unverifiedWalletAccount: walletAccount }, client);
|
|
6101
|
-
const verifiedWalletAccount = __getWalletAccounts_wrapped(client).find(({ address }) => isSameAddress(
|
|
5920
|
+
const verifiedWalletAccount = __getWalletAccounts_wrapped(client).find(({ address }) => isSameAddress({
|
|
5921
|
+
chain: walletAccount.chain,
|
|
5922
|
+
left: address,
|
|
5923
|
+
right: walletAccount.address
|
|
5924
|
+
}));
|
|
6102
5925
|
assertDefined(verifiedWalletAccount, `Unable to find wallet account ${walletAccount.address} on chain ${walletAccount.chain} for verified credential ${walletVerifiedCredential.id}`);
|
|
6103
5926
|
return verifiedWalletAccount;
|
|
6104
5927
|
};
|
|
@@ -6972,5 +6795,5 @@ const parseUserAgent = ({ userAgent }) => {
|
|
|
6972
6795
|
assertPackageVersion(name, version);
|
|
6973
6796
|
|
|
6974
6797
|
//#endregion
|
|
6975
|
-
export { BaseError, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, DeeplinkConnectAndVerifyUnsupportedError, FeeEstimationFailedError, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, LinkCredentialError, MFAAction, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, SandboxMaximumThresholdReachedError, SimulationFailedError, TokenSwapError, UnauthorizedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserNotAuthenticatedError, UserRejectedError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, __acknowledgeRecoveryCodes_wrapped as acknowledgeRecoveryCodes, __addCoinbaseOnrampOrderEventListener_wrapped as addCoinbaseOnrampOrderEventListener, __addNetwork_wrapped as addNetwork, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, __attachCheckoutTransactionSource_wrapped as attachCheckoutTransactionSource, __authenticateMfaRecoveryCode_wrapped as authenticateMfaRecoveryCode, __authenticatePasskeyMFA_wrapped as authenticatePasskeyMFA, __authenticateTotpMfaDevice_wrapped as authenticateTotpMfaDevice, __authenticateWithSocial_wrapped as authenticateWithSocial, __broadcastCheckoutTransaction_wrapped as broadcastCheckoutTransaction, canConnectWithHardwareWallet, __cancelCheckoutTransaction_wrapped as cancelCheckoutTransaction, __checkStepUpAuth_wrapped as checkStepUpAuth, __completeDeviceRegistration_wrapped as completeDeviceRegistration, __completeSocialAuthentication_wrapped as completeSocialAuthentication, __confirmTransaction_wrapped as confirmTransaction, __connectAndVerifyWithWalletProvider_wrapped as connectAndVerifyWithWalletProvider, __connectWithWalletProvider_wrapped as connectWithWalletProvider, __consumeMfaToken_wrapped as consumeMfaToken, __createCheckoutTransaction_wrapped as createCheckoutTransaction, __createCoinbaseOnrampOrder_wrapped as createCoinbaseOnrampOrder, __createCryptoDotComPayment_wrapped as createCryptoDotComPayment, __createDynamicClient_wrapped as createDynamicClient, __createKrakenExchangeTransfer_wrapped as createKrakenExchangeTransfer, __createNewMfaRecoveryCodes_wrapped as createNewMfaRecoveryCodes, __deleteMfaDevice_wrapped as deleteMfaDevice, __deletePasskey_wrapped as deletePasskey, __deleteUser_wrapped as deleteUser, __detectDeviceRegistrationRedirect_wrapped as detectDeviceRegistrationRedirect, __detectOAuthRedirect_wrapped as detectOAuthRedirect, __executeSwapTransaction_wrapped as executeSwapTransaction, __fetchProjectSettings_wrapped as fetchProjectSettings, __getActiveNetworkData_wrapped as getActiveNetworkData, __getActiveNetworkId_wrapped as getActiveNetworkId, __getAvailableWalletProvidersData_wrapped as getAvailableWalletProvidersData, __getBalance_wrapped as getBalance, __getBalanceForAddress_wrapped as getBalanceForAddress, __getBalances_wrapped as getBalances, __getCheckoutTransaction_wrapped as getCheckoutTransaction, __getCheckoutTransactionQuote_wrapped as getCheckoutTransactionQuote, __getCoinbaseBuyUrl_wrapped as getCoinbaseBuyUrl, __getConnectedAddresses_wrapped as getConnectedAddresses, getDefaultClient, __getDeviceRegistrationTokenFromUrl_wrapped as getDeviceRegistrationTokenFromUrl, __getElevatedAccessToken_wrapped as getElevatedAccessToken, __getKrakenAccounts_wrapped as getKrakenAccounts, __getKrakenWhitelistedAddresses_wrapped as getKrakenWhitelistedAddresses, __getMfaDevices_wrapped as getMfaDevices, __getMfaMethods_wrapped as getMfaMethods, __getMfaRecoveryCodes_wrapped as getMfaRecoveryCodes, __getMissingVerificationForCoinbaseOnrampOrder_wrapped as getMissingVerificationForCoinbaseOnrampOrder, __getMultichainBalances_wrapped as getMultichainBalances, __getNetworksData_wrapped as getNetworksData, __getOwnerWalletAccountForSmartWalletAccount_wrapped as getOwnerWalletAccountForSmartWalletAccount, __getPasskeys_wrapped as getPasskeys, __getPrimaryWalletAccount_wrapped as getPrimaryWalletAccount, __getRegisteredDevices_wrapped as getRegisteredDevices, __getSwapQuote_wrapped as getSwapQuote, __getSwapStatus_wrapped as getSwapStatus, __getTransactionHistory_wrapped as getTransactionHistory, __getUserSocialAccounts_wrapped as getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, __getWalletAccounts_wrapped as getWalletAccounts, __getWalletConnectCatalog_wrapped as getWalletConnectCatalog, __getWalletConnectCatalogWalletByWalletProviderKey_wrapped as getWalletConnectCatalogWalletByWalletProviderKey, getWalletProviderDataByKey, hasExtension, __initializeClient_wrapped as initializeClient, isCaptchaRequired, isDeeplinkWalletProvider, isDeviceRegistrationRequired, isHardwareWalletAccount, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified,
|
|
6798
|
+
export { BaseError, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, DeeplinkConnectAndVerifyUnsupportedError, FeeEstimationFailedError, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, LinkCredentialError, MFAAction, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, SandboxMaximumThresholdReachedError, SimulationFailedError, TokenSwapError, UnauthorizedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserNotAuthenticatedError, UserRejectedError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, __acknowledgeRecoveryCodes_wrapped as acknowledgeRecoveryCodes, __addCoinbaseOnrampOrderEventListener_wrapped as addCoinbaseOnrampOrderEventListener, __addNetwork_wrapped as addNetwork, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, __attachCheckoutTransactionSource_wrapped as attachCheckoutTransactionSource, __authenticateMfaRecoveryCode_wrapped as authenticateMfaRecoveryCode, __authenticatePasskeyMFA_wrapped as authenticatePasskeyMFA, __authenticateTotpMfaDevice_wrapped as authenticateTotpMfaDevice, __authenticateWithSocial_wrapped as authenticateWithSocial, __broadcastCheckoutTransaction_wrapped as broadcastCheckoutTransaction, canConnectWithHardwareWallet, __cancelCheckoutTransaction_wrapped as cancelCheckoutTransaction, __checkStepUpAuth_wrapped as checkStepUpAuth, __completeDeviceRegistration_wrapped as completeDeviceRegistration, __completeSocialAuthentication_wrapped as completeSocialAuthentication, __confirmTransaction_wrapped as confirmTransaction, __connectAndVerifyWithWalletProvider_wrapped as connectAndVerifyWithWalletProvider, __connectWithWalletProvider_wrapped as connectWithWalletProvider, __consumeMfaToken_wrapped as consumeMfaToken, __createCheckoutTransaction_wrapped as createCheckoutTransaction, __createCoinbaseOnrampOrder_wrapped as createCoinbaseOnrampOrder, __createCryptoDotComPayment_wrapped as createCryptoDotComPayment, __createDynamicClient_wrapped as createDynamicClient, __createKrakenExchangeTransfer_wrapped as createKrakenExchangeTransfer, __createNewMfaRecoveryCodes_wrapped as createNewMfaRecoveryCodes, __deleteMfaDevice_wrapped as deleteMfaDevice, __deletePasskey_wrapped as deletePasskey, __deleteUser_wrapped as deleteUser, __detectDeviceRegistrationRedirect_wrapped as detectDeviceRegistrationRedirect, __detectOAuthRedirect_wrapped as detectOAuthRedirect, __executeSwapTransaction_wrapped as executeSwapTransaction, __fetchProjectSettings_wrapped as fetchProjectSettings, __getActiveNetworkData_wrapped as getActiveNetworkData, __getActiveNetworkId_wrapped as getActiveNetworkId, __getAvailableWalletProvidersData_wrapped as getAvailableWalletProvidersData, __getBalance_wrapped as getBalance, __getBalanceForAddress_wrapped as getBalanceForAddress, __getBalances_wrapped as getBalances, __getCheckoutTransaction_wrapped as getCheckoutTransaction, __getCheckoutTransactionQuote_wrapped as getCheckoutTransactionQuote, __getCoinbaseBuyUrl_wrapped as getCoinbaseBuyUrl, __getConnectedAddresses_wrapped as getConnectedAddresses, getDefaultClient, __getDeviceRegistrationTokenFromUrl_wrapped as getDeviceRegistrationTokenFromUrl, __getElevatedAccessToken_wrapped as getElevatedAccessToken, __getKrakenAccounts_wrapped as getKrakenAccounts, __getKrakenWhitelistedAddresses_wrapped as getKrakenWhitelistedAddresses, __getMfaDevices_wrapped as getMfaDevices, __getMfaMethods_wrapped as getMfaMethods, __getMfaRecoveryCodes_wrapped as getMfaRecoveryCodes, __getMissingVerificationForCoinbaseOnrampOrder_wrapped as getMissingVerificationForCoinbaseOnrampOrder, __getMultichainBalances_wrapped as getMultichainBalances, __getNetworksData_wrapped as getNetworksData, __getOwnerWalletAccountForSmartWalletAccount_wrapped as getOwnerWalletAccountForSmartWalletAccount, __getPasskeys_wrapped as getPasskeys, __getPrimaryWalletAccount_wrapped as getPrimaryWalletAccount, __getRegisteredDevices_wrapped as getRegisteredDevices, __getSwapQuote_wrapped as getSwapQuote, __getSwapStatus_wrapped as getSwapStatus, __getTransactionHistory_wrapped as getTransactionHistory, __getUserSocialAccounts_wrapped as getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, __getWalletAccounts_wrapped as getWalletAccounts, __getWalletConnectCatalog_wrapped as getWalletConnectCatalog, __getWalletConnectCatalogWalletByWalletProviderKey_wrapped as getWalletConnectCatalogWalletByWalletProviderKey, getWalletProviderDataByKey, hasExtension, __initializeClient_wrapped as initializeClient, isCaptchaRequired, isDeeplinkWalletProvider, isDeviceRegistrationRequired, isHardwareWalletAccount, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, __offEvent_wrapped as offEvent, __offWalletProviderEvent_wrapped as offWalletProviderEvent, __onEvent_wrapped as onEvent, __onWalletProviderEvent_wrapped as onWalletProviderEvent, __onceEvent_wrapped as onceEvent, parseUserAgent, __prepareCheckoutTransaction_wrapped as prepareCheckoutTransaction, __proveWalletAccountOwnership_wrapped as proveWalletAccountOwnership, __refreshAuth_wrapped as refreshAuth, __refreshUser_wrapped as refreshUser, __registerPasskey_wrapped as registerPasskey, __registerTotpMfaDevice_wrapped as registerTotpMfaDevice, __removeWalletAccount_wrapped as removeWalletAccount, __requestExternalAuthElevatedToken_wrapped as requestExternalAuthElevatedToken, __requiresConversion_wrapped as requiresConversion, __revokeAllRegisteredDevices_wrapped as revokeAllRegisteredDevices, __revokeRegisteredDevice_wrapped as revokeRegisteredDevice, __selectPrimaryWalletAccount_wrapped as selectPrimaryWalletAccount, __sendEmailOTP_wrapped as sendEmailOTP, __sendSmsOTP_wrapped as sendSmsOTP, __setCaptchaToken_wrapped as setCaptchaToken, __setDefaultMfaDevice_wrapped as setDefaultMfaDevice, __setInstrumentationEnabled_wrapped as setInstrumentationEnabled, __signInWithExternalJwt_wrapped as signInWithExternalJwt, __signInWithPasskey_wrapped as signInWithPasskey, __signMessage_wrapped as signMessage, __submitCheckoutTransaction_wrapped as submitCheckoutTransaction, supportedCountries, __switchActiveNetwork_wrapped as switchActiveNetwork, __trackCheckoutTransaction_wrapped as trackCheckoutTransaction, __transferAmount_wrapped as transferAmount, __transferWalletAccount_wrapped as transferWalletAccount, __unlinkSocialAccount_wrapped as unlinkSocialAccount, __updateUser_wrapped as updateUser, __verifyOTP_wrapped as verifyOTP, __verifyWalletAccount_wrapped as verifyWalletAccount, __waitForClientInitialized_wrapped as waitForClientInitialized };
|
|
6976
6799
|
//# sourceMappingURL=index.esm.js.map
|