@dynamic-labs-sdk/client 1.12.2 → 1.13.0
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/dist/{InvalidParamError-B0nAZ6Ei.esm.js → InvalidParamError-BeCPhfVz.esm.js} +47 -47
- package/dist/InvalidParamError-BeCPhfVz.esm.js.map +1 -0
- package/dist/{InvalidParamError-DDdAeFXE.cjs → InvalidParamError-C7c-OLz1.cjs} +48 -48
- package/dist/InvalidParamError-C7c-OLz1.cjs.map +1 -0
- package/dist/{InvalidParamError-DbUJgYDE.native.esm.js → InvalidParamError-CGiSxym5.native.esm.js} +36 -36
- package/dist/InvalidParamError-CGiSxym5.native.esm.js.map +1 -0
- package/dist/client/core/createCore/createCore.d.ts +1 -1
- package/dist/client/core/createCore/getInitialState.d.ts +1 -1
- package/dist/client/core/getCore/getCore.d.ts +1 -1
- package/dist/client/core/getCore/getCore.d.ts.map +1 -1
- package/dist/client/defaultClient/defaultClient.d.ts +2 -2
- package/dist/client/defaultClient/defaultClient.d.ts.map +1 -1
- package/dist/core.cjs +23 -23
- package/dist/core.cjs.map +1 -1
- package/dist/core.esm.js +23 -23
- package/dist/core.esm.js.map +1 -1
- package/dist/core.native.esm.js +23 -23
- package/dist/core.native.esm.js.map +1 -1
- package/dist/{getNetworkProviderFromNetworkId-CMBk4NzR.native.esm.js → getNetworkProviderFromNetworkId-Be_UK4_7.native.esm.js} +50 -50
- package/dist/getNetworkProviderFromNetworkId-Be_UK4_7.native.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-DaMxnWPo.esm.js → getNetworkProviderFromNetworkId-CP9gl1B1.esm.js} +44 -44
- package/dist/getNetworkProviderFromNetworkId-CP9gl1B1.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-1j3BPA22.cjs → getNetworkProviderFromNetworkId-D8cpx0xz.cjs} +45 -45
- package/dist/getNetworkProviderFromNetworkId-D8cpx0xz.cjs.map +1 -0
- package/dist/{getSignedSessionId-BU81jCyQ.cjs → getSignedSessionId-BeK0vWep.cjs} +7 -7
- package/dist/getSignedSessionId-BeK0vWep.cjs.map +1 -0
- package/dist/{getSignedSessionId-BRklPjP0.esm.js → getSignedSessionId-Bq7xBsA3.esm.js} +7 -7
- package/dist/getSignedSessionId-Bq7xBsA3.esm.js.map +1 -0
- package/dist/{getSignedSessionId-DPj38qtY.native.esm.js → getSignedSessionId-D9w3Wbhk.native.esm.js} +7 -7
- package/dist/getSignedSessionId-D9w3Wbhk.native.esm.js.map +1 -0
- package/dist/{getWaasWalletProviderFromWalletAccount-JN5ZC71J.esm.js → getWaasWalletProviderFromWalletAccount-BKHO68FO.esm.js} +4 -4
- package/dist/getWaasWalletProviderFromWalletAccount-BKHO68FO.esm.js.map +1 -0
- package/dist/{getWaasWalletProviderFromWalletAccount-BhgXIVZM.native.esm.js → getWaasWalletProviderFromWalletAccount-BzpLoZTm.native.esm.js} +4 -4
- package/dist/getWaasWalletProviderFromWalletAccount-BzpLoZTm.native.esm.js.map +1 -0
- package/dist/{getWaasWalletProviderFromWalletAccount-aRoo7mw8.cjs → getWaasWalletProviderFromWalletAccount-CfqTF_82.cjs} +4 -4
- package/dist/getWaasWalletProviderFromWalletAccount-CfqTF_82.cjs.map +1 -0
- package/dist/{getWalletProviderByKey-C-HHI7L8.esm.js → getWalletProviderByKey-BMzoL_69.esm.js} +15 -15
- package/dist/getWalletProviderByKey-BMzoL_69.esm.js.map +1 -0
- package/dist/{getWalletProviderByKey-z1nf15R8.cjs → getWalletProviderByKey-DCKYAida.cjs} +16 -16
- package/dist/getWalletProviderByKey-DCKYAida.cjs.map +1 -0
- package/dist/{getWalletProviderByKey-BKRul8sp.native.esm.js → getWalletProviderByKey-DDDxBsdv.native.esm.js} +26 -26
- package/dist/getWalletProviderByKey-DDDxBsdv.native.esm.js.map +1 -0
- package/dist/index.cjs +186 -186
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +186 -186
- package/dist/index.esm.js.map +1 -1
- package/dist/index.native.esm.js +184 -184
- package/dist/index.native.esm.js.map +1 -1
- package/dist/{isDynamicWaasEnabled-DvC45F05.esm.js → isDynamicWaasEnabled-BMQq5uNX.esm.js} +3 -3
- package/dist/{isDynamicWaasEnabled-DvC45F05.esm.js.map → isDynamicWaasEnabled-BMQq5uNX.esm.js.map} +1 -1
- package/dist/{isDynamicWaasEnabled-DDbRfcN3.cjs → isDynamicWaasEnabled-BtbzDbdz.cjs} +4 -4
- package/dist/{isDynamicWaasEnabled-DDbRfcN3.cjs.map → isDynamicWaasEnabled-BtbzDbdz.cjs.map} +1 -1
- package/dist/{isDynamicWaasEnabled-9I4iE0Ko.native.esm.js → isDynamicWaasEnabled-ChdeBFbN.native.esm.js} +3 -3
- package/dist/{isDynamicWaasEnabled-9I4iE0Ko.native.esm.js.map → isDynamicWaasEnabled-ChdeBFbN.native.esm.js.map} +1 -1
- package/dist/{isMfaRequiredForAction-YGaK8XRO.cjs → isMfaRequiredForAction-CgWBU6kM.cjs} +11 -11
- package/dist/isMfaRequiredForAction-CgWBU6kM.cjs.map +1 -0
- package/dist/{isMfaRequiredForAction-BAqo9eBq.esm.js → isMfaRequiredForAction-Diwsf9GB.esm.js} +11 -11
- package/dist/isMfaRequiredForAction-Diwsf9GB.esm.js.map +1 -0
- package/dist/{isMfaRequiredForAction-B8d2MBRx.native.esm.js → isMfaRequiredForAction-dAtK8Pl6.native.esm.js} +4 -4
- package/dist/{isMfaRequiredForAction-B8d2MBRx.native.esm.js.map → isMfaRequiredForAction-dAtK8Pl6.native.esm.js.map} +1 -1
- package/dist/{isUserOnboardingComplete-BT_SR4m_.esm.js → isUserOnboardingComplete-D4Y3sdr3.esm.js} +7 -7
- package/dist/isUserOnboardingComplete-D4Y3sdr3.esm.js.map +1 -0
- package/dist/{isUserOnboardingComplete-CVHzzTtG.native.esm.js → isUserOnboardingComplete-DO2_gSAp.native.esm.js} +7 -7
- package/dist/isUserOnboardingComplete-DO2_gSAp.native.esm.js.map +1 -0
- package/dist/{isUserOnboardingComplete-Bo9grSze.cjs → isUserOnboardingComplete-OP4uyUlE.cjs} +8 -8
- package/dist/isUserOnboardingComplete-OP4uyUlE.cjs.map +1 -0
- package/dist/modules/apiClient/createApiClient.d.ts +1 -1
- package/dist/modules/apiClient/utils/clientErrorMapper/clientErrorMapper.d.ts +1 -1
- package/dist/modules/apiClient/utils/convertToApiErrorMiddleware/convertToApiErrorMiddleware.d.ts +1 -1
- package/dist/modules/apiClient/utils/deviceSignatureHeadersMiddleware/createDeviceSignatureHeadersMiddleware.d.ts +1 -1
- package/dist/modules/apiClient/utils/deviceSignatureHeadersMiddleware/createDeviceSignatureHeadersMiddleware.d.ts.map +1 -1
- package/dist/modules/apiClient/utils/unauthorizedMiddleware/createUnauthorizedMiddleware.d.ts +1 -1
- package/dist/modules/apiClient/utils/unauthorizedMiddleware/createUnauthorizedMiddleware.d.ts.map +1 -1
- package/dist/modules/auth/createVisit/createVisit.d.ts +1 -1
- package/dist/modules/auth/createVisit/createVisit.d.ts.map +1 -1
- package/dist/modules/auth/decodeJwt/decodeJwt.d.ts +1 -1
- package/dist/modules/auth/extractSessionId/extractSessionId.d.ts +1 -1
- package/dist/modules/auth/getElevatedAccessToken/getElevatedAccessToken.d.ts +1 -1
- package/dist/modules/auth/initializeAuth/initializeAuth.d.ts +1 -1
- package/dist/modules/auth/initializeAuth/setLongTimeout/setLongTimeout.d.ts +1 -1
- package/dist/modules/auth/isSignedIn/isSignedIn.d.ts +1 -1
- package/dist/modules/auth/logout/logout.d.ts +1 -1
- package/dist/modules/auth/passkeys/getPasskeyAuthenticationOptions/getPasskeyAuthenticationOptions.d.ts +1 -1
- package/dist/modules/auth/passkeys/getPasskeyAuthenticationOptions/getPasskeyAuthenticationOptions.d.ts.map +1 -1
- package/dist/modules/auth/passkeys/getPasskeyAuthenticationSignInOptions/getPasskeyAuthenticationSignInOptions.d.ts +1 -1
- package/dist/modules/auth/passkeys/getPasskeyAuthenticationSignInOptions/getPasskeyAuthenticationSignInOptions.d.ts.map +1 -1
- package/dist/modules/auth/passkeys/getPasskeyRegistrationOptions/getPasskeyRegistrationOptions.d.ts +1 -1
- package/dist/modules/auth/passkeys/getPasskeyRegistrationOptions/getPasskeyRegistrationOptions.d.ts.map +1 -1
- package/dist/modules/auth/passkeys/getPasskeys/getPasskeys.d.ts +1 -1
- package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts +1 -1
- package/dist/modules/auth/passkeys/serverAuthenticatePasskey/serverAuthenticatePasskey.d.ts.map +1 -1
- package/dist/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.d.ts +1 -1
- package/dist/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.d.ts.map +1 -1
- package/dist/modules/auth/passkeys/serverSigninPasskey/serverSigninPasskey.d.ts +1 -1
- package/dist/modules/auth/passkeys/serverSigninPasskey/serverSigninPasskey.d.ts.map +1 -1
- package/dist/modules/auth/social/getUserSocialAccounts/getUserSocialAccounts.d.ts +1 -1
- package/dist/modules/auth/social/oauth/detectOAuthRedirect/detectOAuthRedirect.d.ts +1 -1
- package/dist/modules/auth/social/oauth/detectSocialRedirectUrl/detectSocialRedirectUrl.d.ts +1 -1
- package/dist/modules/auth/social/oauth/processSocialCallback/processSocialCallback.d.ts +1 -1
- package/dist/modules/auth/social/oauth/processSocialCallback/processSocialCallback.d.ts.map +1 -1
- package/dist/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts +2 -2
- package/dist/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/buildOAuthUrl.d.ts +2 -2
- package/dist/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.d.ts +1 -1
- package/dist/modules/auth/social/removeDynamicOauthParamsFromUrl/removeDynamicOauthParamsFromUrl.d.ts +1 -1
- package/dist/modules/auth/social/removeDynamicOauthParamsFromUrl/removeDynamicOauthParamsFromUrl.d.ts.map +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseWalletAccountsChangedEvent/checkAndRaiseWalletAccountsChangedEvent.d.ts +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseWalletAccountsChangedEvent/checkAndRaiseWalletAccountsChangedEvent.d.ts.map +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/normalizeScopes/normalizeScopes.d.ts +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/parseElevatedAccessToken/parseElevatedAccessToken.d.ts +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/upsertElevatedAccessToken/upsertElevatedAccessToken.d.ts +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
- package/dist/modules/balances/getBalances/getBalances.d.ts +1 -1
- package/dist/modules/balances/getMultichainBalances/getMultichainBalances.d.ts +1 -1
- package/dist/modules/balances/getMultichainTokenBalances/getMultichainTokenBalances.d.ts +1 -1
- package/dist/modules/balances/getTokenBalances/getTokenBalances.d.ts +2 -2
- package/dist/modules/captcha/consumeCaptchaToken/consumeCaptchaToken.d.ts +1 -1
- package/dist/modules/captcha/isCaptchaRequired/isCaptchaRequired.d.ts +1 -1
- package/dist/modules/captcha/isCaptchaRequired/isCaptchaRequired.d.ts.map +1 -1
- package/dist/modules/checkout/getCheckoutTransaction/getCheckoutTransaction.d.ts +1 -1
- package/dist/modules/checkout/getCheckoutTransactionQuote/getCheckoutTransactionQuote.d.ts +1 -1
- package/dist/modules/checkout/getCheckouts/getCheckouts.d.ts +1 -1
- package/dist/modules/checkout/getCheckouts/getCheckouts.d.ts.map +1 -1
- package/dist/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.d.ts +1 -1
- package/dist/modules/checkout/utils/clearCheckoutSessionToken/clearCheckoutSessionToken.d.ts +1 -1
- package/dist/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.d.ts +1 -1
- package/dist/modules/checkout/utils/createCheckoutApiClient/createCheckoutApiClient.d.ts.map +1 -1
- package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts +1 -1
- package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts.map +1 -1
- package/dist/modules/checkout/utils/createCheckoutTransactionChannelSchema/createCheckoutTransactionChannelSchema.d.ts +1 -1
- package/dist/modules/checkout/utils/requiresConversion/requiresConversion.d.ts +1 -1
- package/dist/modules/checkout/utils/subscribeToCheckoutTransaction/subscribeToCheckoutTransaction.d.ts +1 -1
- package/dist/modules/checkout/utils/withCheckoutSessionTokenCleanupOn401/withCheckoutSessionTokenCleanupOn401.d.ts +1 -1
- package/dist/modules/clientEvents/clientEvents.d.ts +4 -4
- package/dist/modules/crossTabEventSync/setupCrossTabEventSync/setupCrossTabEventSync.d.ts +1 -1
- package/dist/modules/deviceRegistration/detectDeviceRegistrationRedirect/detectDeviceRegistrationRedirect.d.ts +1 -1
- package/dist/modules/deviceRegistration/getDeviceRegistrationTokenFromUrl/getDeviceRegistrationTokenFromUrl.d.ts +1 -1
- package/dist/modules/deviceRegistration/getDeviceSigner/getDeviceSigner.d.ts +1 -1
- package/dist/modules/deviceRegistration/getDeviceSigner/getDeviceSigner.d.ts.map +1 -1
- package/dist/modules/deviceRegistration/getDeviceSigner/getOrCreateEnvironmentDeviceSigningKeys/getOrCreateEnvironmentDeviceSigningKeys.d.ts +1 -1
- package/dist/modules/deviceRegistration/getHeadersForNonceSignedByDeviceSigners/getHeadersForNonceSignedByDeviceSigners.d.ts +1 -1
- package/dist/modules/deviceRegistration/getHeadersForNonceSignedByDeviceSigners/getHeadersForNonceSignedByDeviceSigners.d.ts.map +1 -1
- package/dist/modules/deviceRegistration/getRegisteredDevices/getRegisteredDevices.d.ts +1 -1
- package/dist/modules/deviceRegistration/getRegisteredDevices/getRegisteredDevices.d.ts.map +1 -1
- package/dist/modules/deviceRegistration/isDeviceRegistrationRequired/isDeviceRegistrationRequired.d.ts +1 -1
- package/dist/modules/extension/hasExtension/hasExtension.d.ts +1 -1
- package/dist/modules/extension/registerExtension/registerExtension.d.ts +1 -1
- package/dist/modules/flow/getFlow/getFlow.d.ts +1 -1
- package/dist/modules/flow/getFlowQuote/getFlowQuote.d.ts +1 -1
- package/dist/modules/flow/utils/clearFlowSessionToken/clearFlowSessionToken.d.ts +1 -1
- package/dist/modules/flow/utils/createFlowApiClient/createFlowApiClient.d.ts +1 -1
- package/dist/modules/flow/utils/createFlowApiClient/createFlowApiClient.d.ts.map +1 -1
- package/dist/modules/flow/utils/createFlowSessionTokenStorageKey/createFlowSessionTokenStorageKey.d.ts +1 -1
- package/dist/modules/flow/utils/createFlowSessionTokenStorageKey/createFlowSessionTokenStorageKey.d.ts.map +1 -1
- package/dist/modules/flow/utils/withFlowSessionTokenCleanupOn401/withFlowSessionTokenCleanupOn401.d.ts +1 -1
- package/dist/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/addCoinbaseOnrampOrderEventListener.d.ts +1 -1
- package/dist/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.d.ts +1 -1
- package/dist/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/getMissingVerificationForCoinbaseOnrampOrder.d.ts +1 -1
- package/dist/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/validateUserCredentialsForCoinbaseOnrampOrder.d.ts +1 -1
- package/dist/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/validateUserCredentialsForCoinbaseOnrampOrder.d.ts.map +1 -1
- package/dist/modules/funding/kraken/createKrakenExchangeTransfer/createKrakenExchangeTransfer.d.ts +1 -1
- package/dist/modules/funding/kraken/getKrakenAccounts/getKrakenAccounts.d.ts +2 -2
- package/dist/modules/funding/kraken/getKrakenWhitelistedAddresses/getKrakenWhitelistedAddresses.d.ts +1 -1
- package/dist/modules/initializeClient/waitForClientInitialized/waitForClientInitialized.d.ts +1 -1
- package/dist/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.d.ts +1 -1
- package/dist/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.d.ts.map +1 -1
- package/dist/modules/keychainMigration/migrateSessionKeyToKeychain/migrateSessionKeyToKeychain.d.ts +1 -1
- package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/collectInstalledGroupIds/collectInstalledGroupIds.d.ts +1 -1
- package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/excludeInstalledFromCatalog.d.ts +1 -1
- package/dist/modules/legacyWalletBook/fetchLegacyWalletBook/fetchLegacyWalletBook.d.ts +1 -1
- package/dist/modules/legacyWalletBook/fetchLegacyWalletBook/fetchWithTimeout/fetchWithTimeout.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getSpriteUrl/getSpriteUrl.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getWalletBookCdnUrl/getWalletBookCdnUrl.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/getChainFromWalletSchema/getChainFromWalletSchema.d.ts +2 -2
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/getChainsFromWalletSchema/getChainsFromWalletSchema.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/getWalletConnectCatalog.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/shouldFilterWalletForWalletConnect/shouldFilterWalletForWalletConnect.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/transformGroup/transformGroup.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/transformWallet/transformWallet.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/transformWalletBook/transformWalletBook.d.ts +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalogWalletByWalletProviderKey/getWalletConnectCatalogWalletByWalletProviderKey.d.ts +1 -1
- package/dist/modules/legacyWalletBook/hasUsableDeeplink/hasUsableDeeplink.d.ts +1 -1
- package/dist/modules/legacyWalletBook/matchWalletProvidersToCatalogGroup/matchWalletProvidersToCatalogGroup.d.ts +1 -1
- package/dist/modules/legacyWalletBook/shouldFilterWallet/shouldFilterWallet.d.ts +2 -2
- package/dist/modules/mfa/authenticateMfaRecoveryCode/authenticateMfaRecoveryCode.d.ts +1 -1
- package/dist/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts +1 -1
- package/dist/modules/mfa/authenticateTotpMfaDevice/authenticateTotpMfaDevice.d.ts +1 -1
- package/dist/modules/mfa/consumeMfaTokenIfRequiredForAction/consumeMfaTokenIfRequiredForAction.d.ts +1 -1
- package/dist/modules/mfa/consumeMfaTokenIfRequiredForAction/consumeMfaTokenIfRequiredForAction.d.ts.map +1 -1
- package/dist/modules/mfa/getMfaDevices/getMfaDevices.d.ts +1 -1
- package/dist/modules/mfa/getMfaMethods/getMfaMethods.d.ts +1 -1
- package/dist/modules/mfa/getMfaRecoveryCodes/getMfaRecoveryCodes.d.ts +1 -1
- package/dist/modules/mfa/isMfaRequiredForAction/isMfaRequiredForAction.d.ts +1 -1
- package/dist/modules/mfa/isPendingRecoveryCodesAcknowledgment/isPendingRecoveryCodesAcknowledgment.d.ts +1 -1
- package/dist/modules/mfa/isUserMissingMfaAuth/isUserMissingMfaAuth.d.ts +1 -1
- package/dist/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.d.ts +1 -1
- package/dist/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.d.ts.map +1 -1
- package/dist/modules/otp/verifyOTP/verifyOTPForUserUpdate/verifyOTPForUserUpdate.d.ts +1 -1
- package/dist/modules/otp/verifyOTP/verifyOTPForUserUpdate/verifyOTPForUserUpdate.d.ts.map +1 -1
- package/dist/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.d.ts +1 -1
- package/dist/modules/projectSettings/isCookieEnabled/isCookieEnabled.d.ts +1 -1
- package/dist/modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.d.ts +1 -1
- package/dist/modules/sessionKeys/generateNonceSignature/generateNonceSignature.d.ts +1 -1
- package/dist/modules/sessionKeys/generateNonceSignature/generateNonceSignature.d.ts.map +1 -1
- package/dist/modules/sessionKeys/generateSessionKeys/generateSessionKeys.d.ts +1 -1
- package/dist/modules/sessionKeys/generateSessionKeys/generateSessionKeys.d.ts.map +1 -1
- package/dist/modules/sessionKeys/generateSessionSignature/generateSessionSignature.d.ts +1 -1
- package/dist/modules/sessionKeys/generateSessionSignature/generateSessionSignature.d.ts.map +1 -1
- package/dist/modules/sessionKeys/getSessionKeys/getSessionKeys.d.ts +1 -1
- package/dist/modules/sessionKeys/getSessionKeys/getSessionKeys.d.ts.map +1 -1
- package/dist/modules/sessionKeys/getSignedSessionId/getSignedSessionId.d.ts +1 -1
- package/dist/modules/sessionKeys/getSignedSessionId/getSignedSessionId.d.ts.map +1 -1
- package/dist/modules/state/raiseStateEvents/raiseStateEvents.d.ts +1 -1
- package/dist/modules/state/raiseStateEvents/raiseStateEvents.d.ts.map +1 -1
- package/dist/modules/storageSync/hydrateStateWithStorage/hydrateStateWithStorage.d.ts +1 -1
- package/dist/modules/storageSync/hydrateStateWithStorage/hydrateStateWithStorage.d.ts.map +1 -1
- package/dist/modules/storageSync/initializeStorageSync.d.ts +1 -1
- package/dist/modules/storageSync/initializeStorageSync.d.ts.map +1 -1
- package/dist/modules/storageSync/syncStateWithStorage/syncStateWithStorage.d.ts +1 -1
- package/dist/modules/storageSync/syncStateWithStorage/syncStateWithStorage.d.ts.map +1 -1
- package/dist/modules/swap/getSwapQuote/getSwapQuote.d.ts +1 -1
- package/dist/modules/swap/getSwapStatus/getSwapStatus.d.ts +1 -1
- package/dist/modules/swap/utils/ensureCorrectActiveNetwork/ensureCorrectActiveNetwork.d.ts +1 -1
- package/dist/modules/user/isUserOnboardingComplete/isUserOnboardingComplete.d.ts +1 -1
- package/dist/modules/waas/backupWaasKeySharesToGoogleDrive/backupWaasKeySharesToGoogleDrive.d.ts +1 -1
- package/dist/modules/waas/createWaasClient/createNativeWaasSDKContainer.d.ts +1 -1
- package/dist/modules/waas/createWaasClient/createWaasClient.d.ts +1 -1
- package/dist/modules/waas/createWaasClient/createWaasClient.d.ts.map +1 -1
- package/dist/modules/waas/createWaasClient/createWaasSDKContainer.d.ts +1 -1
- package/dist/modules/waas/createWaasClient/translateNativeOpenError.d.ts +1 -1
- package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts +1 -1
- package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
- package/dist/modules/waas/createWaasWalletAccounts/createWaasWalletAccounts.d.ts +2 -2
- package/dist/modules/waas/delegateWaasKeyShares/delegateWaasKeyShares.d.ts +1 -1
- package/dist/modules/waas/exportWaasClientKeyshares/exportWaasClientKeyshares.d.ts +1 -1
- package/dist/modules/waas/exportWaasPrivateKey/exportWaasPrivateKey.d.ts +1 -1
- package/dist/modules/waas/exportWaasPrivateKeyToContainer/exportWaasPrivateKeyToContainer.d.ts +1 -1
- package/dist/modules/waas/findWaasWalletProviderByChain/findWaasWalletProviderByChain.d.ts +1 -1
- package/dist/modules/waas/findWaasWalletProviderByChain/findWaasWalletProviderByChain.d.ts.map +1 -1
- package/dist/modules/waas/getAllUserWaasAddressesForChain/getAllUserWaasAddressesForChain.d.ts +1 -1
- package/dist/modules/waas/getAllUserWaasAddressesForChain/getAllUserWaasAddressesForChain.d.ts.map +1 -1
- package/dist/modules/waas/getChainsMissingWaasWalletAccounts/getChainsMissingWaasWalletAccounts.d.ts +1 -1
- package/dist/modules/waas/getWaasChainNameFromChain/getWaasChainNameFromChain.d.ts +1 -1
- package/dist/modules/waas/getWaasChainNameFromChain/getWaasChainNameFromChain.d.ts.map +1 -1
- package/dist/modules/waas/getWaasWalletProviderByChain/getWaasWalletProviderByChain.d.ts +1 -1
- package/dist/modules/waas/getWaasWalletProviderByChain/getWaasWalletProviderByChain.d.ts.map +1 -1
- package/dist/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.d.ts +1 -1
- package/dist/modules/waas/getWaasWalletProviderFromWalletAccount/getWaasWalletProviderFromWalletAccount.d.ts.map +1 -1
- package/dist/modules/waas/getWalletRecoveryState/getWalletRecoveryState.d.ts +1 -1
- package/dist/modules/waas/hasDelegatedAccess/hasDelegatedAccess.d.ts +1 -1
- package/dist/modules/waas/importWaasPrivateKey/importWaasPrivateKey.d.ts +1 -1
- package/dist/modules/waas/initializeWaasClientsForEagerRecovery/initializeWaasClientsForEagerRecovery.d.ts +1 -1
- package/dist/modules/waas/isDynamicWaasEnabled/isDynamicWaasEnabled.d.ts +1 -1
- package/dist/modules/waas/isPasswordRequiredForWaasWallets/isPasswordRequiredForWaasWallets.d.ts +1 -1
- package/dist/modules/waas/isWaasWalletAccount/isWaasWalletAccount.d.ts +1 -1
- package/dist/modules/waas/isWaasWalletProvider/isWaasWalletProvider.d.ts +1 -1
- package/dist/modules/waas/isWaasWalletProvider/isWaasWalletProvider.d.ts.map +1 -1
- package/dist/modules/waas/isWalletCreationRequirement/isWalletCreationRequirement.d.ts +1 -1
- package/dist/modules/waas/normalizeWalletRequirements/normalizeWalletRequirements.d.ts +1 -1
- package/dist/modules/waas/preconnectWaasIframe/preconnectWaasIframe.d.ts +1 -1
- package/dist/modules/waas/refreshWaasWalletAccountShares/refreshWaasWalletAccountShares.d.ts +1 -1
- package/dist/modules/waas/revokeWaasDelegation/revokeWaasDelegation.d.ts +1 -1
- package/dist/modules/waas/setWaasWalletAccountPassword/setWaasWalletAccountPassword.d.ts +1 -1
- package/dist/modules/waas/shouldAutoCreateWalletForChain/shouldAutoCreateWalletForChain.d.ts +1 -1
- package/dist/modules/waas/unlockWallet/unlockWallet.d.ts +1 -1
- package/dist/modules/waas/updateWaasPassword/updateWaasPassword.d.ts +1 -1
- package/dist/modules/walletBackup/googleDrive/findMissingGoogleDriveBackupScopes/findMissingGoogleDriveBackupScopes.d.ts +1 -1
- package/dist/modules/walletBackup/googleDrive/hasAllGoogleDriveBackupScopes/hasAllGoogleDriveBackupScopes.d.ts +1 -1
- package/dist/modules/walletBackup/googleDrive/isInsufficientGoogleDriveScopesError/isInsufficientGoogleDriveScopesError.d.ts +1 -1
- package/dist/modules/walletBackup/googleDrive/utils/fetchGoogleDriveOauthAccess/fetchGoogleDriveOauthAccess.d.ts +1 -1
- package/dist/modules/walletBackup/googleDrive/utils/findGoogleOauthAccountId/findGoogleOauthAccountId.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/buildInAppBrowserOptions/buildInAppBrowserOptions.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/buildInAppBrowserOptions/getInAppBrowserUrl/getInAppBrowserUrl.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/buildInstallationUrls/buildInstallationUrls.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/buildInstallationUrlsByWalletOptionKey/buildInstallationUrlsByWalletOptionKey.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/buildMetaMaskSdkUriOptions/buildMetaMaskSdkUriOptions.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/buildWalletConnectOptions/buildWalletConnectOptions.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/buildWalletOption/buildWalletOption.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/buildWithWalletProviderOptions/buildWithWalletProviderOptions.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/classifyWithWalletProviderSource/classifyWithWalletProviderSource.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/compareByRelevance/compareByRelevance.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/findWalletOptionKeyForProviderKey/findByNameMatch/findByNameMatch.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/findWalletOptionKeyForProviderKey/findWalletOptionKeyForProviderKey.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/findWalletOptionKeyForProviderKey/resolveWalletOptionKey/resolveWalletOptionKey.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/getConnectionOptionPriority/getConnectionOptionPriority.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/getInstallationLinkForCurrentPlatform/getInstallationLinkForCurrentPlatform.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/getPriorityIndex/getPriorityIndex.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/getWalletOptionsCatalogue/getWalletOptionsCatalogue.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/groupOptionsByWalletOption/groupOptionsByWalletOption.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/hasAnyConnectionOption/hasAnyConnectionOption.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/hasInstalledProvider/hasInstalledProvider.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/normalizeWalletDisplayName/normalizeWalletDisplayName.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/resolveWalletBookWalletOptionKey/resolveWalletBookWalletOptionKey.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/sortConnectionOptions/sortConnectionOptions.d.ts +1 -1
- package/dist/modules/walletOptionsCatalogue/sortWalletOptions/sortWalletOptions.d.ts +1 -1
- package/dist/modules/wallets/assertWalletAccountSigningAvailability/assertWalletAccountSigningAvailability.d.ts +1 -1
- package/dist/modules/wallets/destroyWalletProviders/destroyWalletProviders.d.ts +1 -1
- package/dist/modules/wallets/disconnectWalletAccount/disconnectWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/emitWalletAccountsChangedEvent/emitWalletAccountsChangedEvent.d.ts +1 -1
- package/dist/modules/wallets/getAvailableWalletProvidersData/getAvailableWalletProvidersData.d.ts +1 -1
- package/dist/modules/wallets/getConnectedAddresses/getConnectedAddresses.d.ts +1 -1
- package/dist/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/getOwnerWalletAccountForSmartWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/getOwnerWalletAccountForSmartWalletAccount.d.ts.map +1 -1
- package/dist/modules/wallets/getWalletAccountAddressByType/getWalletAccountAddressByType.d.ts +1 -1
- package/dist/modules/wallets/getWalletAccountAddressByType/getWalletAccountAddressByType.d.ts.map +1 -1
- package/dist/modules/wallets/getWalletAccounts/getWalletAccounts.d.ts +1 -1
- package/dist/modules/wallets/getWalletAccounts/getWalletAccountsFromState/getWalletAccountsFromState.d.ts +1 -1
- package/dist/modules/wallets/getWalletAccounts/getWalletAccountsFromState/getWalletAccountsFromState.d.ts.map +1 -1
- package/dist/modules/wallets/getWalletProviderByKey/getWalletProviderByKey.d.ts +1 -1
- package/dist/modules/wallets/getWalletProviderByKey/getWalletProviderByKey.d.ts.map +1 -1
- package/dist/modules/wallets/getWalletProviderDataByKey/getWalletProviderDataByKey.d.ts +1 -1
- package/dist/modules/wallets/getWalletProviders/getWalletProviders.d.ts +1 -1
- package/dist/modules/wallets/hardwareWallet/canConnectWithHardwareWallet/canConnectWithHardwareWallet.d.ts +1 -1
- package/dist/modules/wallets/hardwareWallet/formatSignatureForHardwareWallet/formatSignatureForHardwareWallet.d.ts +1 -1
- package/dist/modules/wallets/hardwareWallet/isHardwareWalletAccount/isHardwareWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/hasWalletProviderConnectMethod/hasWalletProviderConnectMethod.d.ts +1 -1
- package/dist/modules/wallets/isAnyWalletAccountConnected/isAnyWalletAccountConnected.d.ts +1 -1
- package/dist/modules/wallets/isWalletAccountVerified/isWalletAccountVerified.d.ts +1 -1
- package/dist/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.d.ts +1 -1
- package/dist/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.d.ts.map +1 -1
- package/dist/modules/wallets/networks/getActiveNetworkData/getActiveNetworkData.d.ts +1 -1
- package/dist/modules/wallets/networks/getActiveNetworkId/getActiveNetworkId.d.ts +1 -1
- package/dist/modules/wallets/networks/getBalance/getBalance.d.ts +1 -1
- package/dist/modules/wallets/networks/getBalanceForAddress/getBalanceForAddress.d.ts +1 -1
- package/dist/modules/wallets/networks/getNativeBalance/getNativeBalance.d.ts +1 -1
- package/dist/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.d.ts +1 -1
- package/dist/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.d.ts.map +1 -1
- package/dist/modules/wallets/networks/getNetworkProviderFromNetworkId/getNetworkProviderFromNetworkId.d.ts +1 -1
- package/dist/modules/wallets/networks/getNetworkProviderFromNetworkId/getNetworkProviderFromNetworkId.d.ts.map +1 -1
- package/dist/modules/wallets/networks/getNetworkProviders/getNetworkProviders.d.ts +1 -1
- package/dist/modules/wallets/networks/getNetworksData/getNetworksData.d.ts +1 -1
- package/dist/modules/wallets/networks/getSdkChainFromApiChainName/getSdkChainFromApiChainName.d.ts +1 -1
- package/dist/modules/wallets/networks/getTransactionHistory/getTransactionHistory.d.ts +1 -1
- package/dist/modules/wallets/networks/isProgrammaticNetworkSwitchAvailable/isProgrammaticNetworkSwitchAvailable.d.ts +1 -1
- package/dist/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.d.ts +1 -1
- package/dist/modules/wallets/networks/networkProviderBuilderRegistry/createNetworkProviderBuilderRegistry/createNetworkProviderBuilderRegistry.d.ts +1 -1
- package/dist/modules/wallets/networks/networkProviderBuilderRegistry/createNetworkProviderBuilderRegistry/createNetworkProviderBuilderRegistry.d.ts.map +1 -1
- package/dist/modules/wallets/primaryWalletAccount/getPrimaryWalletAccount/getPrimaryWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/reconcileWalletAccountsAgainstClient/reconcileWalletAccountsAgainstClient.d.ts +1 -1
- package/dist/modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount/removeUnverifiedWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts/setUnverifiedWalletAccounts.d.ts +1 -1
- package/dist/modules/wallets/userHasEmbeddedWalletForChain/userHasEmbeddedWalletForChain.d.ts +1 -1
- package/dist/modules/wallets/userHasEmbeddedWalletForChain/userHasEmbeddedWalletForChain.d.ts.map +1 -1
- package/dist/modules/wallets/userHasExternalWallet/userHasExternalWallet.d.ts +1 -1
- package/dist/modules/wallets/userHasExternalWallet/userHasExternalWallet.d.ts.map +1 -1
- package/dist/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/convertUnverifiedWalletAccountToWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/convertUnverifiedWalletAccountToWalletAccount.d.ts.map +1 -1
- package/dist/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/convertVerifiedCredentialToWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/convertVerifiedCredentialToWalletAccount.d.ts.map +1 -1
- package/dist/modules/wallets/utils/formatSignInMessage/formatSignInMessage.d.ts +1 -1
- package/dist/modules/wallets/utils/formatWalletAccountId/formatWalletAccountId.d.ts +1 -1
- package/dist/modules/wallets/utils/formatWalletAccountId/formatWalletAccountId.d.ts.map +1 -1
- package/dist/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.d.ts +1 -1
- package/dist/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.d.ts.map +1 -1
- package/dist/modules/wallets/utils/formatWalletProviderKey/formatWalletProviderKey.d.ts +1 -1
- package/dist/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/getAddressesWithTypesFromConnectionResult.d.ts +1 -1
- package/dist/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/getAddressesWithTypesFromConnectionResult.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.d.ts +1 -1
- package/dist/modules/wallets/utils/getAvailableWalletProvidersFromWalletAccounts/getAvailableWalletProvidersFromWalletAccounts.d.ts +1 -1
- package/dist/modules/wallets/utils/getAvailableWalletProvidersFromWalletAccounts/getAvailableWalletProvidersFromWalletAccounts.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getChainIdForAccountVerification/getChainIdForAccountVerification.d.ts +1 -1
- package/dist/modules/wallets/utils/getChainIdForAccountVerification/getChainIdForAccountVerification.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.d.ts +1 -1
- package/dist/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.d.ts +1 -1
- package/dist/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getSignInMessage/getSignInMessage.d.ts +1 -1
- package/dist/modules/wallets/utils/getSignInMessage/getSignInMessage.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getVerifiedCredentialForWalletAccount/getVerifiedCredentialForWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/utils/getVerifiedCredentialForWalletAccount/getVerifiedCredentialForWalletAccount.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getWalletAccountFromAddress/getWalletAccountFromAddress.d.ts +1 -1
- package/dist/modules/wallets/utils/getWalletProviderFromWalletAccount/getWalletProviderFromWalletAccount.d.ts +1 -1
- package/dist/modules/wallets/utils/getWalletProviderFromWalletAccount/getWalletProviderFromWalletAccount.d.ts.map +1 -1
- package/dist/modules/wallets/utils/isSameAddress/isSameAddress.d.ts +1 -1
- package/dist/modules/wallets/utils/isSameAddress/isSameAddress.d.ts.map +1 -1
- package/dist/modules/wallets/utils/normalizeAddress/normalizeAddress.d.ts +1 -1
- package/dist/modules/wallets/utils/normalizeAddress/normalizeAddress.d.ts.map +1 -1
- package/dist/modules/wallets/utils/normalizeWalletNameWithChain/normalizeWalletNameWithChain.d.ts +1 -1
- package/dist/modules/wallets/utils/stripChainSuffix/stripChainSuffix.d.ts +1 -1
- package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts +1 -1
- package/dist/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.d.ts +1 -1
- package/dist/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.d.ts +2 -2
- package/dist/modules/wallets/walletProvider/events/offWalletProviderEvent/offWalletProviderEvent.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/events/onWalletProviderEvent/onWalletProviderEvent.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/extractChainFromNormalizedName/extractChainFromNormalizedName.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/isDeeplinkWalletProvider/isDeeplinkWalletProvider.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/splitWalletProviderKey/splitWalletProviderKey.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/splitWalletProviderKey/splitWalletProviderKey.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/getWalletProviderKeyFromVerifiedCredential.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/getWalletProviderKeyFromVerifiedCredential.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/updateWalletProviderKeysForVerifiedCredentials.d.ts +1 -1
- package/dist/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/updateWalletProviderKeysForVerifiedCredentials.d.ts.map +1 -1
- package/dist/modules/wallets/walletProviderRegistry/createWalletProviderRegistry/createWalletProviderRegistry.d.ts +1 -1
- package/dist/{refreshAuth-CfpOd4qg.esm.js → refreshAuth-BTPctQtq.esm.js} +3 -3
- package/dist/{refreshAuth-CfpOd4qg.esm.js.map → refreshAuth-BTPctQtq.esm.js.map} +1 -1
- package/dist/{refreshAuth-C0kN3RBN.cjs → refreshAuth-ByIVzawo.cjs} +3 -3
- package/dist/{refreshAuth-C0kN3RBN.cjs.map → refreshAuth-ByIVzawo.cjs.map} +1 -1
- package/dist/{refreshAuth-Ck5OyzzC.native.esm.js → refreshAuth-C3issn5b.native.esm.js} +3 -3
- package/dist/{refreshAuth-Ck5OyzzC.native.esm.js.map → refreshAuth-C3issn5b.native.esm.js.map} +1 -1
- package/dist/services/asyncTrack/createAsyncTrack.d.ts +1 -1
- package/dist/services/crossTabBroadcast/createCrossTabBroadcast/createCrossTabBroadcast.d.ts +1 -1
- package/dist/services/eventEmitter/createEventEmitter.d.ts +1 -1
- package/dist/services/eventEmitter/createEventEmitter.d.ts.map +1 -1
- package/dist/services/fetch/createWebFetch.d.ts +1 -1
- package/dist/services/instrumentation/connectLoggerToInstrumentation/connectLoggerToInstrumentation.d.ts +1 -1
- package/dist/services/instrumentation/createInstrumentation/createInstrumentation.d.ts +1 -1
- package/dist/services/instrumentation/instrumentFunction/extractParams/extractParams.d.ts +1 -1
- package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts +1 -1
- package/dist/services/instrumentation/instrumentFunction/scrubResolvedValue/scrubResolvedValue.d.ts +1 -1
- package/dist/services/instrumentation/scrubParameters/scrubParameters.d.ts +1 -1
- package/dist/services/instrumentation/scrubParameters/scrubParameters.d.ts.map +1 -1
- package/dist/services/instrumentation/transports/createDynamicTransport/createDynamicTransport.d.ts +1 -1
- package/dist/services/keychain/createKeychainService/createKeychainService.d.ts +1 -1
- package/dist/services/keychain/createKeychainService/createKeychainService.d.ts.map +1 -1
- package/dist/services/keychain/createKeychainService/utils/deleteIndexedDBItem.d.ts +1 -1
- package/dist/services/keychain/createKeychainService/utils/deleteIndexedDBItem.d.ts.map +1 -1
- package/dist/services/keychain/createKeychainService/utils/getIndexedDBItem.d.ts +1 -1
- package/dist/services/keychain/createKeychainService/utils/getIndexedDBItem.d.ts.map +1 -1
- package/dist/services/keychain/createKeychainService/utils/openDatabase.d.ts +1 -1
- package/dist/services/keychain/createKeychainService/utils/openDatabase.d.ts.map +1 -1
- package/dist/services/keychain/createKeychainService/utils/setIndexedDBItem.d.ts +1 -1
- package/dist/services/keychain/createKeychainService/utils/setIndexedDBItem.d.ts.map +1 -1
- package/dist/services/keychain/createKeychainService/utils/withDatabase/withDatabase.d.ts +1 -1
- package/dist/services/logger/createLogger/createLogger.d.ts +2 -2
- package/dist/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.d.ts +1 -1
- package/dist/services/navigate/createNavigationHandler/createNavigationHandler.d.ts +1 -1
- package/dist/services/openDeeplink/createWebDeeplinkOpener/createWebDeeplinkOpener.d.ts +1 -1
- package/dist/services/passkey/createPasskeyService/createPasskeyService.d.ts +1 -1
- package/dist/services/realtime/createRealtimeChannelSchema/createRealtimeChannelSchema.d.ts +1 -1
- package/dist/services/realtime/createRealtimeService/createRealtimeService.d.ts +1 -1
- package/dist/services/runtimeServices/createRuntimeServiceAccessKey/createRuntimeServiceAccessKey.d.ts +1 -1
- package/dist/services/runtimeServices/createRuntimeServices/createRuntimeServices.d.ts +1 -1
- package/dist/services/storage/createLocalStorageAdapter/createLocalStorageAdapter.d.ts +1 -1
- package/dist/services/storage/createStorage/createStorage.d.ts +1 -1
- package/dist/services/storage/createStorage/formatForStorage/isValidDateISOString/isValidDateISOString.d.ts +1 -1
- package/dist/services/storage/createStorage/formatForStorage/storageFormat.d.ts +2 -2
- package/dist/services/storage/createStorage/formatForStorage/storageFormat.d.ts.map +1 -1
- package/dist/services/storage/createStorageKeySchema/createStorageKeySchema.d.ts +1 -1
- package/dist/services/storage/createStorageKeySchema/createStorageKeySchema.d.ts.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/utils/appendConnectionUriToDeeplink/appendConnectionUriToDeeplink.d.ts +1 -1
- package/dist/utils/base64UrlDecode/base64UrlDecode.d.ts +1 -1
- package/dist/utils/base64urlFromBytes/base64urlFromBytes.d.ts +1 -1
- package/dist/utils/bufferToBase64/bufferToBase64.d.ts +1 -1
- package/dist/utils/bufferToBase64/bufferToBase64.d.ts.map +1 -1
- package/dist/utils/bufferToHex/bufferToHex.d.ts +1 -1
- package/dist/utils/bytesFromBase64url/bytesFromBase64url.d.ts +1 -1
- package/dist/utils/compressRawPublicKey/compressRawPublicKey.d.ts +1 -1
- package/dist/utils/debouncedMutex/createDebouncedMutex/createDebouncedMutex.d.ts +1 -1
- package/dist/utils/debouncedMutex/createDebouncedMutex/createDebouncedMutex.d.ts.map +1 -1
- package/dist/utils/deferredPromise/createDeferredPromise.d.ts +1 -1
- package/dist/utils/deferredPromise/createDeferredPromise.d.ts.map +1 -1
- package/dist/utils/derToP1363/derToP1363.d.ts +1 -1
- package/dist/utils/digestSHA256/digestSHA256.d.ts +1 -1
- package/dist/utils/digestSHA256/digestSHA256.d.ts.map +1 -1
- package/dist/utils/encodeBase64Url/encodeBase64Url.d.ts +1 -1
- package/dist/utils/filterDuplicates/filterDuplicates.d.ts +1 -1
- package/dist/utils/getAppMetadata/getAppMetadata.d.ts +1 -1
- package/dist/utils/getBuffer/getBuffer.d.ts +1 -1
- package/dist/utils/getBuffer/getBuffer.d.ts.map +1 -1
- package/dist/utils/getChainFromVerifiedCredentialChain/getChainFromVerifiedCredentialChain.d.ts +1 -1
- package/dist/utils/getChainFromVerifiedCredentialChain/getChainFromVerifiedCredentialChain.d.ts.map +1 -1
- package/dist/utils/getChainFromWalletBookIdentifier/getChainFromWalletBookIdentifier.d.ts +1 -1
- package/dist/utils/getKeychainIndexedDBName/getKeychainIndexedDBName.d.ts +1 -1
- package/dist/utils/getNativeLinkScheme/getNativeLinkScheme.d.ts +1 -1
- package/dist/utils/getNonce/fetchAndStoreNonces/fetchAndStoreNonces.d.ts +1 -1
- package/dist/utils/getNonce/getNonce.d.ts +1 -1
- package/dist/utils/getNonce/prefetchNoncesIfNeeded/prefetchNoncesIfNeeded.d.ts +1 -1
- package/dist/utils/getNonce/prefetchNoncesIfNeeded/prefetchNoncesIfNeeded.d.ts.map +1 -1
- package/dist/utils/getOperatingSystem/getOperatingSystem.d.ts +1 -1
- package/dist/utils/getPlatform/getPlatform.d.ts +1 -1
- package/dist/utils/getUserAgent/getUserAgent.d.ts +1 -1
- package/dist/utils/isEqualShallow/isEqualShallow.d.ts +1 -1
- package/dist/utils/isError/isError.d.ts +1 -1
- package/dist/utils/isErrorWithCode/isErrorWithCode.d.ts +1 -1
- package/dist/utils/isMobile/isMobile.d.ts +16 -16
- package/dist/utils/isMobile/isMobile.d.ts.map +1 -1
- package/dist/utils/isServerSideRendering/isServerSideRendering.d.ts +1 -1
- package/dist/utils/observable/createObservableState/createObservableState.d.ts +1 -1
- package/dist/utils/observable/subscribeWithSelector/subscribeWithSelector.d.ts +1 -1
- package/dist/utils/p256Keygen/p256Keygen.d.ts +1 -1
- package/dist/utils/p256Keygen/p256Keygen.d.ts.map +1 -1
- package/dist/utils/p256Sign/p256Sign.d.ts +1 -1
- package/dist/utils/p256Sign/p256Sign.d.ts.map +1 -1
- package/dist/utils/parseAmountToSmallestUnit/parseAmountToSmallestUnit.d.ts +1 -1
- package/dist/utils/parseUserAgent/parseUserAgent.d.ts +1 -1
- package/dist/utils/parseUserAgent/parseUserAgent.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/retryOnFail.d.ts +1 -1
- package/dist/utils/retryOnFail/retryOnFail.d.ts.map +1 -1
- package/dist/utils/setCookie/setCookie.d.ts +1 -1
- package/dist/waas.cjs +27 -27
- package/dist/waas.cjs.map +1 -1
- package/dist/waas.esm.js +26 -26
- package/dist/waas.esm.js.map +1 -1
- package/dist/waas.native.esm.js +26 -26
- package/dist/waas.native.esm.js.map +1 -1
- package/dist/waasCore.cjs +15 -11
- package/dist/waasCore.cjs.map +1 -1
- package/dist/waasCore.esm.js +15 -11
- package/dist/waasCore.esm.js.map +1 -1
- package/dist/waasCore.native.esm.js +18 -14
- package/dist/waasCore.native.esm.js.map +1 -1
- package/package.json +2 -2
- package/dist/InvalidParamError-B0nAZ6Ei.esm.js.map +0 -1
- package/dist/InvalidParamError-DDdAeFXE.cjs.map +0 -1
- package/dist/InvalidParamError-DbUJgYDE.native.esm.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-1j3BPA22.cjs.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-CMBk4NzR.native.esm.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-DaMxnWPo.esm.js.map +0 -1
- package/dist/getSignedSessionId-BRklPjP0.esm.js.map +0 -1
- package/dist/getSignedSessionId-BU81jCyQ.cjs.map +0 -1
- package/dist/getSignedSessionId-DPj38qtY.native.esm.js.map +0 -1
- package/dist/getWaasWalletProviderFromWalletAccount-BhgXIVZM.native.esm.js.map +0 -1
- package/dist/getWaasWalletProviderFromWalletAccount-JN5ZC71J.esm.js.map +0 -1
- package/dist/getWaasWalletProviderFromWalletAccount-aRoo7mw8.cjs.map +0 -1
- package/dist/getWalletProviderByKey-BKRul8sp.native.esm.js.map +0 -1
- package/dist/getWalletProviderByKey-C-HHI7L8.esm.js.map +0 -1
- package/dist/getWalletProviderByKey-z1nf15R8.cjs.map +0 -1
- package/dist/isMfaRequiredForAction-BAqo9eBq.esm.js.map +0 -1
- package/dist/isMfaRequiredForAction-YGaK8XRO.cjs.map +0 -1
- package/dist/isUserOnboardingComplete-BT_SR4m_.esm.js.map +0 -1
- package/dist/isUserOnboardingComplete-Bo9grSze.cjs.map +0 -1
- package/dist/isUserOnboardingComplete-CVHzzTtG.native.esm.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getNetworkProviderFromNetworkId-Be_UK4_7.native.esm.js","names":["item: StorageFormat<typeof value>","walletProvidersMap: Map<string, WalletProvider>","BufferPolyfill","resolve: (value: T) => void","reject: (reason?: unknown) => void","LOG_LEVELS: Record<LogLevel, number>","eventEmitter: LoggerEventEmitter","EventEmitter","minLevel: LogLevel","createKeychainService: CreateKeychainService","NativeKeychain","ABLY_STATE_TO_REALTIME_STATE: Record<string, RealtimeConnectionState>","ablyClient: BaseRealtime | undefined","connectionState: RealtimeConnectionState","connect: RealtimeService['connect']","disconnect: RealtimeService['disconnect']","subscribe: RealtimeService['subscribe']","handler: messageCallback<InboundMessage>","unsubscribe: RealtimeService['unsubscribe']","publish: RealtimeService['publish']","connectRequest: ConnectRequest","filteredUnverifiedWalletAccounts: UnverifiedWalletAccount[]","newWalletAccounts: WalletAccount[]","unverifiedWalletAccountsToUpdate: WalletAccount[]","verifiedCredentialIdToWalletProviderKeyMap: Record<string, string>","reconciledWalletAccounts: WalletAccount[]","suffixFields: string[]","networkProvider"],"sources":["../src/utils/isEqualShallow/isEqualShallow.ts","../src/utils/observable/subscribeWithSelector/subscribeWithSelector.ts","../src/utils/retryOnFail/InvalidRetryOnFailCallError.ts","../src/utils/retryOnFail/retryOnFail.ts","../src/modules/auth/isSignedIn/isSignedIn.ts","../src/services/storage/createLocalStorageAdapter/createLocalStorageAdapter.native.ts","../src/errors/InvalidStorageSet.ts","../src/services/storage/createStorage/formatForStorage/isValidDateISOString/isValidDateISOString.ts","../src/services/storage/createStorage/formatForStorage/storageFormat.ts","../src/services/storage/createStorage/createStorage.ts","../src/services/storage/createStorageKeySchema/createStorageKeySchema.ts","../src/modules/projectSettings/fetchProjectSettings/projectSettingsExpirationScheme.ts","../src/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.ts","../src/modules/sessionKeys/generateSessionKeys/generateSessionKeys.ts","../src/modules/wallets/utils/getAvailableWalletProvidersFromWalletAccounts/getAvailableWalletProvidersFromWalletAccounts.ts","../src/modules/wallets/destroyWalletProviders/destroyWalletProviders.ts","../src/modules/auth/logoutWithReason/logoutWithReason.ts","../src/utils/getBuffer/getBuffer.ts","../src/utils/isServerSideRendering/isServerSideRendering.native.ts","../src/modules/initializeClient/consts.ts","../src/utils/deferredPromise/createDeferredPromise.ts","../src/errors/CannotTrackError.ts","../src/services/crossTabBroadcast/crossTabBroadcast.schema.ts","../src/services/crossTabBroadcast/createCrossTabBroadcast/createCrossTabBroadcast.ts","../src/services/logger/createLogger/createLogger.ts","../src/turboModules/NativeKeychain.ts","../src/utils/base64urlFromBytes/base64urlFromBytes.ts","../src/utils/bufferToHex/bufferToHex.ts","../src/utils/bytesFromBase64url/bytesFromBase64url.ts","../src/utils/compressRawPublicKey/compressRawPublicKey.ts","../src/utils/derToP1363/InvalidDERSignatureError.ts","../src/utils/derToP1363/derToP1363.ts","../src/services/keychain/createKeychainService/ImportKeyNotSupportedError.ts","../src/services/keychain/createKeychainService/KeyNotFoundError.ts","../src/services/keychain/createKeychainService/createKeychainService.native.ts","../src/errors/InvalidRealtimePublishError.ts","../src/errors/RealtimeNotConnectedError.ts","../src/services/realtime/createRealtimeService/createRealtimeService.ts","../src/utils/getKeychainIndexedDBName/getKeychainIndexedDBName.ts","../src/errors/NoNetworkProvidersError.ts","../src/errors/WalletAlreadyLinkedToAnotherUserError.ts","../src/errors/MethodNotImplementedError.ts","../src/utils/getAppMetadata/getAppMetadata.ts","../src/modules/captcha/isCaptchaRequired/isCaptchaRequired.ts","../src/modules/captcha/consumeCaptchaToken/consumeCaptchaToken.ts","../src/modules/captcha/setCaptchaToken/setCaptchaToken.ts","../src/modules/extension/hasExtension/hasExtension.ts","../src/modules/auth/createVisit/createVisit.ts","../src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts/setUnverifiedWalletAccounts.ts","../src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/updateWalletProviderKeysForVerifiedCredentials.ts","../src/modules/wallets/reconcileWalletAccountsAgainstClient/reconcileWalletAccountsAgainstClient.ts","../src/modules/wallets/utils/formatSignInMessage/formatSignInMessage.ts","../src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.ts","../src/modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount/removeUnverifiedWalletAccount.ts","../src/utils/isError/isError.ts","../src/utils/isErrorWithCode/isErrorWithCode.ts","../src/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.ts","../src/modules/wallets/networks/getSdkChainFromApiChainName/getSdkChainFromApiChainName.ts","../src/modules/wallets/networks/getNetworksData/getNetworksData.ts","../src/modules/wallets/networks/networkProviderBuilderRegistry/createNetworkProviderBuilderRegistry/createNetworkProviderBuilderRegistry.ts","../src/modules/wallets/networks/networkProviderBuilderRegistry/getNetworkProviderBuilderRegistry/getNetworkProviderBuilderRegistry.ts","../src/modules/wallets/networks/getNetworkProviders/getNetworkProviders.ts","../src/modules/wallets/networks/getNetworkProviderFromNetworkId/getNetworkProviderFromNetworkId.ts"],"sourcesContent":["/**\n * Shallow compare two objects.\n *\n * Source: https://github.com/pmndrs/zustand/blob/main/src/vanilla/shallow.ts\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const isEqualShallow = <T>(objA: T, objB: T) => {\n if (Object.is(objA, objB)) return true;\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return objA === objB;\n }\n\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) return false;\n }\n\n return true;\n }\n\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n\n for (const value of objA) {\n if (!objB.has(value)) return false;\n }\n return true;\n }\n\n const keysA = Object.keys(objA);\n\n if (keysA.length !== Object.keys(objB).length) return false;\n\n for (const keyA of keysA) {\n if (\n !Object.prototype.hasOwnProperty.call(objB, keyA as string) ||\n !Object.is(objA[keyA as keyof T], objB[keyA as keyof T])\n ) {\n return false;\n }\n }\n\n if (objA.constructor !== objB.constructor) return false;\n\n return true;\n};\n","import { isEqualShallow } from '../../isEqualShallow';\nimport type { ObservableState } from '../observable.types';\n\n/**\n * Allows subscribing to a slice of the state.\n * The slice is a computation of the states.\n *\n * The callback will only be called when the slice has changed.\n * Change is determined by shallow comparison.\n *\n * Returns a function to unsubscribe the callback.\n * @notInstrumented\n */\nexport const subscribeWithSelector =\n // eslint-disable-next-line custom-rules/require-single-object-param\n <T extends Record<string, unknown>, Slice>(\n observable: ObservableState<T>,\n selector: (value: T) => Slice\n ) =>\n // eslint-disable-next-line custom-rules/require-single-object-param\n (callback: (slice: Slice) => void) => {\n let lastSlice = selector(observable.get());\n\n return observable.subscribe((value) => {\n const nextSlice = selector(value);\n\n if (isEqualShallow(nextSlice, lastSlice)) return;\n\n lastSlice = nextSlice;\n\n callback(nextSlice);\n });\n };\n","import { BaseError } from '../../errors/base';\n\n/**\n * This error is thrown when the `retryOnFail` function is called with an invalid\n * number of retries (i.e. less than 0).\n */\nexport class InvalidRetryOnFailCallError extends BaseError {\n // eslint-disable-next-line custom-rules/require-single-object-param\n constructor(maxRetries: number) {\n super({\n cause: null,\n code: 'invalid_retry_on_fail_call_error',\n docsUrl: null,\n name: 'InvalidRetryOnFailCallError',\n shortMessage: `Invalid retries parameter for retryOnFail call: ${maxRetries}`,\n });\n }\n}\n","import { InvalidRetryOnFailCallError } from './InvalidRetryOnFailCallError';\n\nexport type RetryOnFailParams<T> = {\n /**\n * The delay between retries in milliseconds.\n */\n delay?: number;\n /**\n * The function to call.\n */\n fn: () => Promise<T>;\n /**\n * The maximum number of retries.\n *\n * When set to 0, the function will be called only once and is\n * therefore equivalent to calling the function directly.\n */\n maxRetries: number;\n};\n\n/** @notInstrumented */\nexport const retryOnFail = async <T>({\n delay = 0,\n fn,\n maxRetries,\n}: RetryOnFailParams<T>) => {\n for (let retry = 0; retry <= maxRetries; retry++) {\n try {\n return await fn();\n } catch (error) {\n if (retry >= maxRetries) {\n throw error;\n }\n\n if (delay > 0) {\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n\n /**\n * Reaching this point should never happen and this\n * error is thrown to help us debug the issue.\n */\n throw new InvalidRetryOnFailCallError(maxRetries);\n};\n","import { getDefaultClient } from '../../../client/defaultClient';\nimport { getWalletAccounts } from '../../wallets/getWalletAccounts';\n\n/**\n * Checks if the user is currently signed in to the Dynamic client.\n *\n * The client is considered to be in a signed in state if a user has\n * authenticated or if the client has at least one wallet connected.\n *\n * @deprecated What counts as \"signed in\" is your app's business logic, not the\n * SDK's. This helper bakes in one opinion (a user OR any connected wallet),\n * which rarely matches every app and forces a dependency on us for every\n * variation. Compose your own check from the underlying primitives instead —\n * e.g. `Boolean(client.user) || isAnyWalletAccountConnected(client)` — and\n * layer in whatever your app requires (device registration, completed\n * onboarding, satisfied MFA, a required embedded wallet, …). See the\n * \"Check if signed in\" guide:\n * https://www.dynamic.xyz/docs/javascript/user-session-management\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns True if the user is signed in, false otherwise.\n * @notInstrumented\n */\nexport const isSignedIn = (client = getDefaultClient()) =>\n Boolean(client.user || getWalletAccounts(client).length > 0);\n","import AsyncStorage from '@react-native-async-storage/async-storage';\nimport {\n getGenericPassword,\n resetGenericPassword,\n setGenericPassword,\n} from 'react-native-keychain';\n\nimport type { StorageAdapter } from '../storage.types';\n\nconst NAMESPACE = 'dynamic';\n\nconst namespaceKey = (key: string): string => `${NAMESPACE}:${key}`;\n\n/**\n * Creates a localStorage adapter for React Native.\n * Routes operations based on the `storageTier` option:\n * - `'default'`: uses AsyncStorage\n * - `'secure'`: uses react-native-keychain\n * @notInstrumented\n */\nexport const createLocalStorageAdapter = (): StorageAdapter => {\n return {\n getItem: async (key, options) => {\n if (options.storageTier === 'secure') {\n const result = await getGenericPassword({ service: key });\n\n if (!result) {\n return null;\n }\n\n return result.password;\n } else {\n return AsyncStorage.getItem(namespaceKey(key));\n }\n },\n removeItem: async (key, options) => {\n if (options.storageTier === 'secure') {\n await resetGenericPassword({ service: key });\n } else {\n await AsyncStorage.removeItem(namespaceKey(key));\n }\n },\n setItem: async (key, value, options) => {\n if (options.storageTier === 'secure') {\n await setGenericPassword(key, value, { service: key });\n } else {\n await AsyncStorage.setItem(namespaceKey(key), value);\n }\n },\n };\n};\n","import { BaseError } from './base';\n\ntype InvalidStorageSetParams = {\n key: string;\n value: string;\n};\n\nexport class InvalidStorageSet extends BaseError {\n constructor({ key, value }: InvalidStorageSetParams) {\n super({\n cause: null,\n code: 'invalid_storage_set',\n docsUrl: null,\n metaMessages: [`key: ${key}`, value],\n name: 'InvalidStorageSet',\n shortMessage: 'Tried to store a value that does not match the schema',\n });\n }\n}\n","/**\n * Returns whether the given string is a valid ISO date string.\n *\n * Does not support timezone offsets.\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const isValidDateISOString = (value: string): boolean => {\n const date = new Date(value);\n\n return !isNaN(date.getTime()) && date.toISOString() === value;\n};\n","/* eslint-disable custom-rules/function-name-matches-filename */\nimport type { StorageFormat } from '../../storage.types';\nimport { isValidDateISOString } from './isValidDateISOString';\n\nconst DATE_PREFIX = '__DATE__';\n\n/** @notInstrumented */\nexport const formatForStorage = (value: unknown) => {\n const item: StorageFormat<typeof value> = { value };\n\n return JSON.stringify(item, (_, entry) => {\n // You might think that entry here would be a Date and one could simply do \"entry instanceof Date\",\n // but actually it will be a string already (no idea why JSON.stringify does this)\n if (isValidDateISOString(entry)) {\n return `${DATE_PREFIX}${entry}`;\n }\n\n return entry;\n });\n};\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/one-function-per-file, custom-rules/require-single-object-param\nexport const parseFromStorage = <T>(value: string): StorageFormat<T> | null => {\n try {\n const parsed = JSON.parse(value, (_, entry) => {\n if (typeof entry === 'string' && entry.startsWith(DATE_PREFIX)) {\n return new Date(entry.slice(DATE_PREFIX.length));\n }\n\n return entry;\n }) as StorageFormat<T>;\n\n return parsed;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (error) {\n return null;\n }\n};\n","import type { Storage, StorageAdapter, StorageAdapterOptions, StorageTier } from '../storage.types';\nimport { InvalidStorageSet } from './../../../errors/InvalidStorageSet';\nimport { formatForStorage } from './formatForStorage';\nimport { parseFromStorage } from './formatForStorage/storageFormat';\n\ntype CreateWebStorageParams = {\n prefix?: string;\n storageAdapter: StorageAdapter;\n};\n\n/**\n * Creates a Storage service to interact with storage adapter.\n * Reads the `storageTier` from each key's config and passes it\n * to the adapter on every operation, defaulting to `'default'`.\n * @notInstrumented\n */\nexport const createStorage = ({\n prefix = '',\n storageAdapter,\n}: CreateWebStorageParams): Storage => {\n const getPrefixedKey = (key: string) => (prefix ? `${prefix}_${key}` : key);\n\n const getAdapterOptions = (storageTier?: StorageTier): StorageAdapterOptions => ({\n storageTier: storageTier ?? 'default',\n });\n\n return {\n getItem: async (storageKeySchema) => {\n const prefixedKey = getPrefixedKey(storageKeySchema.key);\n const options = getAdapterOptions(storageKeySchema.config?.storageTier);\n\n const rawItem = await storageAdapter.getItem(prefixedKey, options);\n\n const parsedItem = rawItem ? parseFromStorage(rawItem) : null;\n\n /**\n * The item saved to localStorage may be malformed.\n * In this case, we remove it and return null.\n */\n if (parsedItem !== null) {\n const parsed = storageKeySchema.schema.safeParse(parsedItem.value);\n\n if (parsed.success) {\n return parsed.data;\n }\n }\n\n /**\n * The item saved to localStorage may be malformed.\n * In this case, we remove it and return null.\n */\n\n await storageAdapter.removeItem(prefixedKey, options);\n\n return null;\n },\n\n removeItem: async (storageKeySchema) => {\n await storageAdapter.removeItem(\n getPrefixedKey(storageKeySchema.key),\n getAdapterOptions(storageKeySchema.config?.storageTier),\n );\n },\n\n setItem: async (storageKeySchema, value) => {\n const parsed = storageKeySchema.schema.safeParse(value);\n\n if (!parsed.success) {\n throw new InvalidStorageSet({\n key: storageKeySchema.key,\n value: JSON.stringify(value),\n });\n }\n\n const item = formatForStorage(parsed.data);\n\n await storageAdapter.setItem(\n getPrefixedKey(storageKeySchema.key),\n item,\n getAdapterOptions(storageKeySchema.config?.storageTier),\n );\n },\n };\n};\n","import type * as z from 'zod/mini';\n\nimport type { StorageKeySchema, StorageKeySchemaConfig } from '../storage.types';\n\n/** @notInstrumented */\nexport const createStorageKeySchema = <T>(params: {\n config?: StorageKeySchemaConfig;\n key: string;\n schema: z.ZodMiniType<T>;\n}): StorageKeySchema<T> => {\n return params;\n};\n","import * as z from 'zod/mini';\n\nimport { createStorageKeySchema } from '../../../services/storage';\n\n/**\n * The schema to track the expiration time of the project settings.\n */\nexport const projectSettingsExpirationStorageKeySchema = createStorageKeySchema(\n {\n key: 'projectSettingsExpiration',\n schema: z.number(),\n }\n);\n","import { getCore } from '../../../client/core/getCore';\nimport { getDefaultClient } from '../../../client/defaultClient';\nimport { retryOnFail } from '../../../utils/retryOnFail';\nimport { createApiClient } from '../../apiClient';\nimport { CLIENT_SDK_NAME } from '../../apiClient/constants';\nimport { isSignedIn } from '../../auth/isSignedIn';\nimport { projectSettingsExpirationStorageKeySchema } from './projectSettingsExpirationScheme';\n\n/**\n * Expiration time of the project settings in milliseconds.\n */\nexport const PROJECT_SETTINGS_EXPIRATION_TIME = 1000 * 60 * 5; // 5 minutes\n\n/**\n * Fetches and updates the project settings from the API.\n *\n * This function retrieves the latest project configuration settings\n * from Dynamic's servers, including authentication options, enabled chains,\n * and security configurations. The settings are cached for performance.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns A promise that resolves to the updated project settings.\n * @notInstrumented\n * @noHook Internal settings fetch that is not part of the public hook surface.\n */\nexport const fetchProjectSettings = async (client = getDefaultClient()) => {\n const core = getCore(client);\n\n const currentExpiration = await core.storage.getItem(\n projectSettingsExpirationStorageKeySchema\n );\n\n const hasProjectSettings = Boolean(client.projectSettings);\n const isExpired = currentExpiration && currentExpiration < Date.now();\n\n // We want to cache the project settings if its valid and user is connected.\n // This avoids unnecessary API calls and speeds up the initial load.\n if (hasProjectSettings && !isExpired && isSignedIn(client)) {\n return client.projectSettings;\n }\n\n const apiClient = createApiClient({}, client);\n\n core.logger.debug('[fetchProjectSettings] Fetching project settings...');\n\n const doFetch = async () =>\n apiClient.getEnvironmentSettings(\n {\n environmentId: core.environmentId,\n sdkVersion: `${CLIENT_SDK_NAME}/${core.version}`,\n },\n {\n credentials: 'omit',\n }\n );\n\n const projectSettings = await retryOnFail({\n fn: doFetch,\n maxRetries: 2,\n });\n\n core.state.set({ projectSettings: projectSettings ?? null });\n\n await core.storage.setItem(\n projectSettingsExpirationStorageKeySchema,\n Date.now() + PROJECT_SETTINGS_EXPIRATION_TIME\n );\n\n return projectSettings;\n};\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { assertDefined } from '../../../utils/assertDefined';\nimport type { SessionKeys } from '../sessionKeys.types';\n\n/** @notInstrumented */\nexport const generateSessionKeys = async (\n client: DynamicClient\n): Promise<SessionKeys> => {\n const core = getCore(client);\n\n await core.keychain.removeKey('session');\n\n const publicKey = await core.keychain.generateKey('session');\n\n assertDefined(publicKey, 'Public key not found');\n\n core.state.set({\n sessionKeys: publicKey,\n });\n\n return { publicKey };\n};\n","import { getCore } from '../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../client/types';\nimport { getWalletAccounts } from '../../getWalletAccounts';\nimport type { WalletProvider } from '../../walletProvider';\nimport { getWalletProviderFromWalletAccount } from '../getWalletProviderFromWalletAccount';\n\n/** @notInstrumented */\nexport const getAvailableWalletProvidersFromWalletAccounts = (\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n const walletProvidersMap: Map<string, WalletProvider> = new Map();\n\n const walletAccounts = getWalletAccounts(client);\n\n walletAccounts.forEach((walletAccount) => {\n if (walletProvidersMap.has(walletAccount.walletProviderKey)) {\n return;\n }\n\n try {\n const walletProvider = getWalletProviderFromWalletAccount(\n {\n walletAccount,\n },\n client\n );\n\n walletProvidersMap.set(walletAccount.walletProviderKey, walletProvider);\n } catch (error) {\n core.logger.debug('Wallet provider not found for wallet account', {\n error,\n walletAccount: walletAccount.address,\n });\n }\n });\n\n return Array.from(walletProvidersMap.values());\n};\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types/DynamicClient';\nimport type { LogoutReason } from '../../auth/logoutReason';\nimport { getAvailableWalletProvidersFromWalletAccounts } from '../utils/getAvailableWalletProvidersFromWalletAccounts';\n\n/**\n * Tear down every wallet provider on the client.\n *\n * Each provider's `destroy` is responsible for its own local + remote\n * cleanup. We swallow errors so a failing destroy on one provider does not\n * block teardown of the others (e.g. during logout).\n *\n * @notInstrumented\n */\nexport const destroyWalletProviders = async (\n { reason }: { reason?: LogoutReason },\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n const walletProviders = getAvailableWalletProvidersFromWalletAccounts(client);\n\n await Promise.all(\n walletProviders.map(async (walletProvider) => {\n if (!walletProvider.destroy) return;\n try {\n await walletProvider.destroy({ reason });\n } catch (err) {\n core.logger.error(\n `Error destroying wallet provider ${walletProvider.key}`,\n err\n );\n }\n })\n );\n};\n","import type { DynamicClient } from '../../../client/types';\nimport { getCore } from '../../../client/core/getCore';\nimport { setCookie } from '../../../utils/setCookie';\nimport { createApiClient } from '../../apiClient';\nimport { emitEvent } from '../../clientEvents';\nimport { fetchProjectSettings } from '../../projectSettings/fetchProjectSettings';\nimport { isCookieEnabled } from '../../projectSettings/isCookieEnabled';\nimport { generateSessionKeys } from '../../sessionKeys/generateSessionKeys';\nimport { destroyWalletProviders } from '../../wallets/destroyWalletProviders';\nimport { DYNAMIC_AUTH_COOKIE_NAME } from '../consts';\nimport type { LogoutReason } from '../logoutReason';\n\n/**\n * Logs the user out with an explicit reason.\n *\n * Revokes the session, clears auth state, terminates wallet providers, and\n * emits the `logout` client event with the given reason. The reason is also\n * captured as an argument on the function-instrumentation event, which is\n * how Datadog distinguishes between different logout causes.\n *\n * Use this instead of the public `logout` when triggering a logout from\n * internal or extension code — the caller owns the reason string, so the\n * telemetry correctly attributes *why* the logout happened.\n *\n * @param params - The logout params.\n * @param params.reason - Why the logout is being triggered. Extension authors\n * needing a reason outside the SDK catalog can cast with `as LogoutReason`.\n * @param client - The Dynamic client instance.\n * @instrumented\n */\nexport const logoutWithReason = async (\n { reason }: { reason: LogoutReason },\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n core.logger.debug('[logoutWithReason] Logging out...', { reason });\n\n await destroyWalletProviders({ reason }, client);\n\n if (client.user !== null) {\n const apiClient = createApiClient({}, client);\n\n try {\n await apiClient.revokeSession({\n environmentId: core.environmentId,\n });\n } catch (error) {\n core.logger.error('Failed to revoke session', error);\n }\n\n /**\n * This deletes the auth cookie if it exists.\n * If the cookie doesn't exist, this sets a new cookie that expires immediately.\n */\n if (isCookieEnabled(client)) {\n setCookie(\n `${DYNAMIC_AUTH_COOKIE_NAME}=; Max-Age=-99999999; path=/; SameSite=Lax`\n );\n }\n }\n\n await core.keychain.removeKey('session');\n\n core.state.set({\n captchaToken: null,\n elevatedAccessTokens: [],\n legacyToken: null,\n mfaToken: null,\n sessionExpiresAt: null,\n sessionKeys: null,\n token: null,\n unverifiedWalletAccounts: [],\n user: null,\n });\n\n emitEvent({ args: { reason }, event: 'logout' }, client);\n\n // Refetch project settings\n void fetchProjectSettings(client);\n\n // Regenerate session keys\n void generateSessionKeys(client);\n};\n","/* eslint-disable no-restricted-globals */\nimport { Buffer as BufferPolyfill } from 'buffer';\n\n/** @notInstrumented */\nexport const getBuffer = () =>\n typeof Buffer !== 'undefined' ? Buffer : BufferPolyfill;\n","/**\n * React Native variant — always returns `false`.\n *\n * Metro resolves `.native.ts` over the plain `.ts` counterpart, so this file\n * is used exclusively in RN builds. React Native has no `window` global, so\n * the web implementation would incorrectly return `true` and block the\n * instrumentation transport from being attached.\n * @notInstrumented\n */\nexport const isServerSideRendering = () => false;\n","export const REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY =\n 'refresh-user-state-from-cookie';\n\nexport const INITIALIZE_STORAGE_SYNC_TRACKER_KEY = 'initialize-storage-sync';\n\nexport const FETCH_PROJECT_SETTINGS_TRACKER_KEY = 'fetch-project-settings';\n\nexport const GENERATE_SESSION_KEYS_TRACKER_KEY = 'generate-session-keys';\n\nexport const REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY =\n 'refresh-user-state-from-valid-token';\n","import type { DeferredPromise } from './deferredPromise.types';\n\n/** @notInstrumented */\nexport const createDeferredPromise = <T>(): DeferredPromise<T> => {\n let resolve: (value: T) => void;\n let reject: (reason?: unknown) => void;\n\n const promise = new Promise<T>((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n\n return {\n promise,\n reject: (reason?: unknown) => reject?.(reason),\n resolve: (value: T) => resolve?.(value),\n };\n};\n","import { BaseError } from './base';\n\nexport class CannotTrackError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'cannot_track_error',\n docsUrl: null,\n name: 'CannotTrackError',\n shortMessage: 'All track calls must be performed in the same node tick',\n });\n }\n}\n","import * as z from 'zod/mini';\n\n/**\n * Schema for validating cross-tab broadcast messages.\n */\nexport const CrossTabBroadcastMessageSchema = z.object({\n args: z.optional(z.unknown()),\n event: z.string(),\n});\n","import EventEmitter from 'eventemitter3';\n\nimport { isServerSideRendering } from '../../../utils/isServerSideRendering';\nimport { CrossTabBroadcastMessageSchema } from '../crossTabBroadcast.schema';\nimport type { CrossTabBroadcast } from '../crossTabBroadcast.types';\n\ntype CreateCrossTabBroadcastParams = {\n channelName: string;\n};\n\n/**\n * Creates a cross-tab broadcast service instance using the BroadcastChannel API.\n *\n * Enables communication between multiple tabs/windows of the same application.\n * Messages are validated against the schema and invalid messages are silently ignored.\n *\n * In SSR or when BroadcastChannel is unavailable, returns a no-op implementation.\n *\n * @param params - Configuration parameters\n * @param params.channelName - The name of the broadcast channel to use\n * @returns A cross-tab broadcast service instance\n * @notInstrumented\n */\nexport const createCrossTabBroadcast = ({\n channelName,\n}: CreateCrossTabBroadcastParams): CrossTabBroadcast => {\n // SSR check - return no-op implementation\n // eslint-disable-next-line no-restricted-globals\n if (isServerSideRendering() || typeof BroadcastChannel === 'undefined') {\n return {\n off: () => {},\n on: () => {},\n send: () => {},\n };\n }\n\n // eslint-disable-next-line no-restricted-globals\n const channel = new BroadcastChannel(channelName);\n const eventEmitter = new EventEmitter();\n\n // Message handler with validation\n const handleMessage = (messageEvent: MessageEvent) => {\n const parsed = CrossTabBroadcastMessageSchema.safeParse(messageEvent.data);\n\n if (!parsed.success) {\n // Silently ignore invalid messages (consistent with storage patterns)\n return;\n }\n\n const { args, event } = parsed.data;\n eventEmitter.emit(event, args);\n };\n\n channel.addEventListener('message', handleMessage);\n\n return {\n off: (event, callback) => {\n eventEmitter.off(event, callback);\n },\n\n on: (event, callback) => {\n eventEmitter.on(event, callback);\n },\n\n send: ({ args, event }) => {\n channel.postMessage({ args, event });\n },\n };\n};\n","import { EventEmitter } from 'eventemitter3';\n\nimport type { LogLevel, Logger, LoggerEventEmitter } from '../logger.types';\n\n/**\n * Configuration options for the logger\n * @notInstrumented\n */\ntype CreateLoggerOptions = {\n level?: LogLevel;\n};\n\n/**\n * Log levels and their corresponding numeric values\n */\nconst LOG_LEVELS: Record<LogLevel, number> = {\n debug: 0,\n error: 3,\n info: 1,\n warn: 2,\n};\n\n// Assign to avoid lint errors\nconst defaultConsole = console;\n\n/**\n * Creates a logger instance with configurable log level and event emission capabilities.\n * @returns A logger instance with debug, info, warn, and error methods\n * @notInstrumented\n */\nexport const createLogger = (options: CreateLoggerOptions = {}): Logger => {\n const eventEmitter: LoggerEventEmitter = new EventEmitter();\n\n // Default to 'debug' if no level is provided\n const minLevel: LogLevel = options.level ?? 'warn';\n\n // Helper to decide if we should log based on current log level\n // eslint-disable-next-line custom-rules/require-single-object-param\n const shouldLog = (level: LogLevel): boolean => {\n return LOG_LEVELS[level] >= LOG_LEVELS[minLevel];\n };\n\n // Helper to format the log message\n // eslint-disable-next-line custom-rules/require-single-object-param\n const formatMessage = (level: LogLevel, message: string): string => {\n const timestamp = new Date().toISOString();\n\n return `[${timestamp}] ${level.toUpperCase()}: ${message}`;\n };\n\n // Unified logger function that checks the level and calls the appropriate console method\n // eslint-disable-next-line custom-rules/require-single-object-param\n const log = (\n level: LogLevel,\n consoleMethod: (...data: unknown[]) => void,\n message: string,\n ...args: unknown[]\n ) => {\n eventEmitter.emit('log', level, message, ...args);\n\n if (!shouldLog(level)) return;\n\n consoleMethod(formatMessage(level, message), ...args);\n };\n\n return {\n debug: (message, ...args) =>\n log('debug', defaultConsole.debug, message, ...args),\n\n error: (message, ...args) =>\n log('error', defaultConsole.error, message, ...args),\n\n info: (message, ...args) =>\n log('info', defaultConsole.info, message, ...args),\n\n off: eventEmitter.off.bind(eventEmitter),\n\n on: eventEmitter.on.bind(eventEmitter),\n warn: (message, ...args) =>\n log('warn', defaultConsole.warn, message, ...args),\n };\n};\n","// This file is a TurboModule spec consumed by React Native codegen.\n// The `interface`, `default export`, and `react-native` import are hard\n// requirements of the codegen parser and intentionally deviate from the\n// project's conventions. Codegen discovers specs by the `Native*` filename\n// prefix, so this file cannot be renamed to `.native.ts`.\n\nimport { type TurboModule, TurboModuleRegistry } from 'react-native';\n\nexport interface Spec extends TurboModule {\n deleteKey(key: string): Promise<void>;\n generateKeyPair(key: string): Promise<{ publicKey: string }>;\n getPublicKey(key: string): Promise<{ publicKey: string } | null>;\n hasKey(key: string): Promise<boolean>;\n isAvailable(): Promise<boolean>;\n sign(key: string, payload: string): Promise<{ signature: string }>;\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default TurboModuleRegistry.getEnforcing<Spec>('DynamicClientKeychain');\n","/**\n * Encodes a Uint8Array to a base64url string (RFC 4648 S5, no padding).\n * Used to encode binary data before sending to native modules over the bridge.\n *\n * @notInstrumented\n */\nexport const base64urlFromBytes = (bytes: Uint8Array): string =>\n btoa(String.fromCodePoint(...bytes))\n .replaceAll('+', '-')\n .replaceAll('/', '_')\n .replaceAll('=', '');\n","/**\n * Converts an ArrayBuffer or Uint8Array to a hex-encoded string\n * @notInstrumented\n */\nexport const bufferToHex = (buffer: ArrayBufferLike | Uint8Array) =>\n [...(buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer))]\n .map((x) => x.toString(16).padStart(2, '0'))\n .join('');\n","/**\n * Decodes a base64url-encoded string (RFC 4648 S5, no padding) to a Uint8Array.\n * Used to decode binary data received from native modules over the bridge.\n *\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const bytesFromBase64url = (s: string): Uint8Array => {\n const base64 = s.replaceAll('-', '+').replaceAll('_', '/');\n return Uint8Array.from(atob(base64), (c) => c.codePointAt(0) ?? 0);\n};\n","/**\n * Accepts a public key array buffer, and returns a buffer with the compressed version of the public key\n * @notInstrumented\n */\nexport const compressRawPublicKey = (rawPublicKey: ArrayBuffer) => {\n const rawPublicKeyBytes = new Uint8Array(rawPublicKey);\n const len = rawPublicKeyBytes.byteLength;\n\n // Drop the y coordinate\n const compressedBytes = rawPublicKeyBytes.slice(0, (1 + len) >>> 1);\n\n // Encode the parity of `y` in first bit\n compressedBytes[0] = 0x2 | (rawPublicKeyBytes[len - 1] & 0x01);\n return compressedBytes.buffer;\n};\n","import { BaseError } from '../../errors/base';\n\nexport class InvalidDERSignatureError extends BaseError {\n // eslint-disable-next-line custom-rules/require-single-object-param\n constructor(message: string) {\n super({\n cause: null,\n code: 'invalid_der_signature_error',\n docsUrl: null,\n name: 'InvalidDERSignatureError',\n shortMessage: message,\n });\n }\n}\n","import { InvalidDERSignatureError } from './InvalidDERSignatureError';\n\n/**\n * Converts a DER/X9.62 encoded ECDSA signature to IEEE P1363 format (r || s).\n * Native secure enclaves produce DER-encoded signatures; the server expects P1363.\n *\n * @notInstrumented\n */\nexport const derToP1363 = (der: Uint8Array): Uint8Array => {\n // DER structure: 30 <len> 02 <r_len> <r_bytes> 02 <s_len> <s_bytes>\n if (der.length < 8 || der[0] !== 0x30) {\n throw new InvalidDERSignatureError('Invalid DER signature format');\n }\n\n // skip 30 <len>\n let offset = 2;\n\n // Parse r\n if (offset >= der.length || der[offset] !== 0x02) {\n throw new InvalidDERSignatureError(\n 'Invalid DER signature: missing r INTEGER tag'\n );\n }\n\n // skip 02 tag\n offset += 1;\n\n if (offset >= der.length) {\n throw new InvalidDERSignatureError(\n 'Invalid DER signature: missing r length'\n );\n }\n const rLen = der[offset];\n offset += 1;\n\n if (offset + rLen > der.length) {\n throw new InvalidDERSignatureError(\n 'Invalid DER signature: r bytes out of bounds'\n );\n }\n let rBytes = der.slice(offset, offset + rLen);\n offset += rLen;\n\n // Parse s\n if (offset >= der.length || der[offset] !== 0x02) {\n throw new InvalidDERSignatureError(\n 'Invalid DER signature: missing s INTEGER tag'\n );\n }\n\n // skip 02 tag\n offset += 1;\n\n if (offset >= der.length) {\n throw new InvalidDERSignatureError(\n 'Invalid DER signature: missing s length'\n );\n }\n const sLen = der[offset];\n offset += 1;\n\n if (offset + sLen > der.length) {\n throw new InvalidDERSignatureError(\n 'Invalid DER signature: s bytes out of bounds'\n );\n }\n let sBytes = der.slice(offset, offset + sLen);\n\n // Strip leading zero padding (DER adds a 0x00 prefix when high bit is set)\n if (rBytes.length === 33 && rBytes[0] === 0) rBytes = rBytes.slice(1);\n if (sBytes.length === 33 && sBytes[0] === 0) sBytes = sBytes.slice(1);\n\n // Pad to 32 bytes each\n const result = new Uint8Array(64);\n result.set(rBytes, 32 - rBytes.length);\n result.set(sBytes, 64 - sBytes.length);\n return result;\n};\n","import { BaseError } from '../../../errors/base';\n\nexport class ImportKeyNotSupportedError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'import_key_not_supported_error',\n details:\n 'Hardware-backed keystores cannot import external private keys.',\n docsUrl: null,\n name: 'ImportKeyNotSupportedError',\n shortMessage: 'importKey is not supported on React Native.',\n });\n }\n}\n","import { BaseError } from '../../../errors/base';\n\nexport class KeyNotFoundError extends BaseError {\n // eslint-disable-next-line custom-rules/require-single-object-param\n constructor(keyName: string) {\n super({\n cause: null,\n code: 'key_not_found',\n docsUrl: null,\n name: 'KeyNotFoundError',\n shortMessage: `Key \"${keyName}\" not found in keychain`,\n });\n }\n}\n","import { NativeModuleNotLinkedError } from '../../../errors/NativeModuleNotLinkedError';\nimport NativeKeychain from '../../../turboModules/NativeKeychain';\nimport { base64urlFromBytes } from '../../../utils/base64urlFromBytes';\nimport { bufferToHex } from '../../../utils/bufferToHex';\nimport { bytesFromBase64url } from '../../../utils/bytesFromBase64url';\nimport { compressRawPublicKey } from '../../../utils/compressRawPublicKey';\nimport { derToP1363 } from '../../../utils/derToP1363';\nimport type { CreateKeychainService } from './createKeychainService.types';\nimport { ImportKeyNotSupportedError } from './ImportKeyNotSupportedError';\nimport { KeyNotFoundError } from './KeyNotFoundError';\n\n/**\n * Creates a KeychainService backed by the platform's secure hardware\n * (iOS Secure Enclave / Android KeyStore with StrongBox or TEE).\n *\n * Keys are generated and stored inside the secure hardware and never\n * leave the device. The native module returns base64url-encoded data\n * which this wrapper converts to the hex format the SDK expects.\n *\n * @throws NativeModuleNotLinkedError if the native Keychain TurboModule is not available.\n *\n * @notInstrumented\n */\nexport const createKeychainService: CreateKeychainService = () => {\n if (NativeKeychain == null) {\n throw new NativeModuleNotLinkedError({ moduleName: 'DynamicClientKeychain' });\n }\n\n const nativeModule = NativeKeychain;\n\n // eslint-disable-next-line custom-rules/require-single-object-param\n const generateKey = async (keyName: string): Promise<string> => {\n const result = await nativeModule.generateKeyPair(keyName);\n const uncompressedKey = bytesFromBase64url(result.publicKey);\n return bufferToHex(\n compressRawPublicKey(uncompressedKey.buffer as ArrayBuffer)\n );\n };\n\n /**\n * Importing external private keys is not supported on hardware-backed\n * keystores (Secure Enclave / Android KeyStore). Keys must be generated\n * on-device via generateKey().\n */\n const importKey = (): Promise<string> => {\n throw new ImportKeyNotSupportedError();\n };\n\n // eslint-disable-next-line custom-rules/require-single-object-param\n const getPublicKey = async (keyName: string): Promise<string | null> => {\n const result = await nativeModule.getPublicKey(keyName);\n\n if (result == null) {\n return null;\n }\n\n const uncompressedKey = bytesFromBase64url(result.publicKey);\n return bufferToHex(\n compressRawPublicKey(uncompressedKey.buffer as ArrayBuffer)\n );\n };\n\n // eslint-disable-next-line custom-rules/require-single-object-param\n const sign = async (keyName: string, message: string): Promise<string> => {\n const hasKeyResult = await nativeModule.hasKey(keyName);\n\n if (!hasKeyResult) {\n throw new KeyNotFoundError(keyName);\n }\n\n // Encode the message to UTF-8 bytes, then base64url-encode for the bridge\n const encodedMessage = new TextEncoder().encode(message);\n const base64urlPayload = base64urlFromBytes(encodedMessage);\n\n const result = await nativeModule.sign(keyName, base64urlPayload);\n\n // Native returns DER-encoded signature; convert to P1363 hex\n const derSignature = bytesFromBase64url(result.signature);\n return bufferToHex(derToP1363(derSignature));\n };\n\n // eslint-disable-next-line custom-rules/require-single-object-param\n const hasKey = async (keyName: string): Promise<boolean> => {\n return nativeModule.hasKey(keyName);\n };\n\n // eslint-disable-next-line custom-rules/require-single-object-param\n const removeKey = async (keyName: string): Promise<void> => {\n await nativeModule.deleteKey(keyName);\n };\n\n return {\n generateKey,\n getPublicKey,\n hasKey,\n importKey,\n removeKey,\n sign,\n };\n};\n","import { BaseError } from './base';\n\ntype InvalidRealtimePublishParams = {\n channel: string;\n};\n\nexport class InvalidRealtimePublishError extends BaseError {\n constructor({ channel }: InvalidRealtimePublishParams) {\n super({\n cause: null,\n code: 'invalid_realtime_publish',\n docsUrl: null,\n metaMessages: [`channel: ${channel}`],\n name: 'InvalidRealtimePublishError',\n shortMessage:\n 'Tried to publish data that does not match the channel schema',\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class RealtimeNotConnectedError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'realtime_not_connected_error',\n docsUrl: null,\n name: 'RealtimeNotConnectedError',\n shortMessage:\n 'Realtime service is not connected. Call connect() before subscribing or publishing.',\n });\n }\n}\n","import type { InboundMessage, RealtimeChannel, messageCallback } from 'ably';\nimport type { BaseRealtime } from 'ably/modular';\nimport EventEmitter from 'eventemitter3';\n\nimport { getCore } from '../../../client/core/getCore';\nimport { InvalidRealtimePublishError } from '../../../errors/InvalidRealtimePublishError';\nimport { RealtimeNotConnectedError } from '../../../errors/RealtimeNotConnectedError';\nimport { createApiClient } from '../../../modules/apiClient';\nimport { isServerSideRendering } from '../../../utils/isServerSideRendering';\nimport type {\n RealtimeChannelSchema,\n RealtimeConnectionState,\n RealtimeEventMap,\n RealtimeService,\n} from '../realtime.types';\n\nconst ABLY_STATE_TO_REALTIME_STATE: Record<string, RealtimeConnectionState> = {\n closed: 'closed',\n closing: 'closing',\n connected: 'connected',\n connecting: 'connecting',\n disconnected: 'disconnected',\n failed: 'failed',\n initialized: 'idle',\n suspended: 'suspended',\n};\n\nconst mapAblyState = (ablyState: string): RealtimeConnectionState =>\n ABLY_STATE_TO_REALTIME_STATE[ablyState] ?? 'idle';\n\n/**\n * Creates a realtime pub/sub service backed by Ably.\n *\n * The service starts idle. Call `connect({ client })` to establish\n * a connection, passing the DynamicClient explicitly.\n *\n * SSR environments receive a no-op implementation.\n * @notInstrumented\n */\n \nexport const createRealtimeService = (): RealtimeService => {\n if (isServerSideRendering()) {\n return {\n connect: () => Promise.resolve(),\n disconnect: () => {},\n getConnectionState: () => 'idle',\n off: () => {},\n on: () => {},\n publish: () => Promise.resolve(),\n subscribe: () => Promise.resolve(),\n unsubscribe: () => {},\n };\n }\n\n const eventEmitter = new EventEmitter<RealtimeEventMap>();\n const channels = new Map<string, RealtimeChannel>();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handlerMap = new WeakMap<(message: { data: any }) => void, messageCallback<InboundMessage>>();\n\n let ablyClient: BaseRealtime | undefined;\n let connectionState: RealtimeConnectionState = 'idle';\n let isConnecting = false;\n\n const setConnectionState = (state: RealtimeConnectionState) => {\n connectionState = state;\n eventEmitter.emit('connectionStateChange', state);\n };\n\n // eslint-disable-next-line custom-rules/require-single-object-param\n const getOrCreateChannel = (channelName: string): RealtimeChannel => {\n const existing = channels.get(channelName);\n\n if (existing) {\n return existing;\n }\n\n if (!ablyClient) {\n throw new RealtimeNotConnectedError();\n }\n\n const channel = ablyClient.channels.get(channelName);\n channels.set(channelName, channel);\n\n return channel;\n };\n\n const connect: RealtimeService['connect'] = async ({ client, headers }) => {\n if (isConnecting) {\n return;\n }\n\n isConnecting = true;\n\n try {\n const core = getCore(client);\n\n if (ablyClient) {\n ablyClient.close();\n channels.clear();\n }\n\n // Dynamic import to keep the module tree-shakeable\n // and avoid loading Ably in SSR environments\n const {\n BaseRealtime: AblyBaseRealtime,\n FetchRequest,\n WebSocketTransport,\n } = await import('ably/modular');\n\n ablyClient = new AblyBaseRealtime({\n // authCallback must return void (not Promise<void>), so we use\n // .then().catch() instead of async/await to avoid returning a Promise\n // to Ably's callback-style auth handler.\n authCallback: (_tokenParams, callback) => {\n const apiClient = createApiClient({ headers }, client);\n\n apiClient\n .getRealtimeAuthToken({ environmentId: core.environmentId })\n .then((response) => {\n callback(null, response.token);\n })\n .catch((err: unknown) => {\n const message = err instanceof Error ? err.message : String(err);\n callback(message, null);\n });\n },\n autoConnect: false,\n plugins: { FetchRequest, WebSocketTransport },\n });\n\n ablyClient.connection.on((stateChange) => {\n setConnectionState(mapAblyState(stateChange.current));\n });\n\n ablyClient.connect();\n } finally {\n isConnecting = false;\n }\n };\n\n const disconnect: RealtimeService['disconnect'] = () => {\n if (!ablyClient) {\n return;\n }\n\n for (const channel of channels.values()) {\n channel.detach().catch(() => {});\n }\n\n channels.clear();\n ablyClient.close();\n ablyClient = undefined;\n };\n\n const subscribe: RealtimeService['subscribe'] = async <T>({\n channelSchema,\n callback,\n }: {\n callback: (message: { data: T }) => void;\n channelSchema: RealtimeChannelSchema<T>;\n }) => {\n const channel = getOrCreateChannel(channelSchema.channel);\n\n const handler: messageCallback<InboundMessage> = (message) => {\n const parsed = channelSchema.schema.safeParse(message.data);\n\n if (!parsed.success) {\n return;\n }\n\n callback({ data: parsed.data });\n };\n\n handlerMap.set(callback, handler);\n\n await channel.subscribe(handler);\n };\n\n const unsubscribe: RealtimeService['unsubscribe'] = <T>({\n channelSchema,\n callback,\n }: {\n callback: (message: { data: T }) => void;\n channelSchema: RealtimeChannelSchema<T>;\n }) => {\n const channel = channels.get(channelSchema.channel);\n\n if (!channel) {\n return;\n }\n\n const handler = handlerMap.get(callback);\n\n if (handler) {\n channel.unsubscribe(handler);\n handlerMap.delete(callback);\n }\n };\n\n const publish: RealtimeService['publish'] = async <T>({\n channelSchema,\n data,\n }: {\n channelSchema: RealtimeChannelSchema<T>;\n data: T;\n }) => {\n const parsed = channelSchema.schema.safeParse(data);\n\n if (!parsed.success) {\n throw new InvalidRealtimePublishError({ channel: channelSchema.channel });\n }\n\n const channel = getOrCreateChannel(channelSchema.channel);\n await channel.publish('message', parsed.data);\n };\n\n return {\n connect,\n disconnect,\n getConnectionState: () => connectionState,\n off: (event, callback) => {\n eventEmitter.off(event, callback);\n },\n on: (event, callback) => {\n eventEmitter.on(event, callback);\n },\n publish,\n subscribe,\n unsubscribe,\n };\n};\n","type GetKeychainIndexedDBNameParams = {\n environmentId: string;\n};\n\n/**\n * Builds the IndexedDB database name used by the keychain service for a given\n * environment. Centralizing this avoids drift between the SDK and any\n * extension code that needs to read or migrate the same database.\n *\n * @param params.environmentId - The Dynamic environment id.\n * @returns The IndexedDB database name for the keychain.\n * @notInstrumented\n */\nexport const getKeychainIndexedDBName = ({\n environmentId,\n}: GetKeychainIndexedDBNameParams): string =>\n `dynamic_${environmentId}_keychain`;\n","import { BaseError } from './base';\n\nexport class NoNetworkProvidersError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'no_network_providers',\n docsUrl: null,\n name: 'NoNetworkProvidersError',\n shortMessage: 'No networks were registered in the client',\n });\n }\n}\n","import { BaseError, type BaseErrorParameters } from './base';\n\nexport class WalletAlreadyLinkedToAnotherUserError extends BaseError {\n constructor({ cause }: Pick<BaseErrorParameters, 'cause'>) {\n super({\n cause,\n code: 'wallet_already_linked_to_another_user_error',\n docsUrl: null,\n name: 'WalletAlreadyLinkedToAnotherUserError',\n shortMessage: 'This wallet is already linked to another user',\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class MethodNotImplementedError extends BaseError {\n // eslint-disable-next-line custom-rules/require-single-object-param\n constructor(methodName: string) {\n super({\n cause: null,\n code: 'method_not_implemented_error',\n docsUrl: null,\n name: 'MethodNotImplementedError',\n shortMessage: `This method is not implemented: ${methodName}`,\n });\n }\n}\n","import { getCore } from '../../client/core/getCore';\nimport type { DynamicClient } from '../../client/types';\n\nexport type AppMetadata = {\n appLogoUrl: string | undefined;\n appName: string;\n appNativeLink?: string;\n appUniversalLink?: string;\n};\n\n/**\n * Reads the customer-supplied app name, logo, native link, and universal link.\n * — preferring `core.metadata` (set on the client) over project-settings fallbacks.\n *\n * @param client - The Dynamic client whose configuration drives the result.\n * @notInstrumented\n */\nexport const getAppMetadata = (client: DynamicClient): AppMetadata => {\n const core = getCore(client);\n const generalSettings = client.projectSettings?.general;\n\n return {\n appLogoUrl: core.metadata?.iconUrl ?? generalSettings?.appLogo ?? undefined,\n appName: core.metadata?.name ?? generalSettings?.displayName ?? '',\n appNativeLink: core.metadata?.nativeLink,\n appUniversalLink: core.metadata?.universalLink,\n };\n};\n","import { getDefaultClient } from '../../../client/defaultClient';\nimport { assertDefined } from '../../../utils/assertDefined';\n\n/** @notInstrumented */\nexport const isCaptchaRequired = (client = getDefaultClient()) => {\n const projectSettings = client.projectSettings;\n\n assertDefined(projectSettings, 'Project settings are not available');\n\n return projectSettings.security.hCaptcha?.enabled ?? false;\n};\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { assertDefined } from '../../../utils/assertDefined';\nimport { isCaptchaRequired } from '../isCaptchaRequired';\n\n/**\n * Retrieves the current captcha token from the client state and sets it to null.\n * @notInstrumented\n */\nexport const consumeCaptchaToken = (\n client: DynamicClient\n): string | undefined => {\n const core = getCore(client);\n\n const captchaToken = core.state.get().captchaToken;\n\n if (isCaptchaRequired(client)) {\n assertDefined(captchaToken, 'Captcha token is required');\n }\n\n core.state.set({\n captchaToken: null,\n });\n\n return captchaToken ?? undefined;\n};\n","import { getCore } from '../../../client/core/getCore';\nimport { getDefaultClient } from '../../../client/defaultClient';\n\ntype SetCaptchaTokenProps = {\n captchaToken: string;\n};\n\n/**\n * Sets the given captcha token in the client state.\n *\n * @param params.captchaToken - The captcha token to set.\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @instrumented\n * @redact-params\n */\nexport const setCaptchaToken = (\n { captchaToken }: SetCaptchaTokenProps,\n client = getDefaultClient()\n) => {\n const core = getCore(client);\n\n core.state.set({\n captchaToken,\n });\n};\n","import { getCore } from '../../../client/core/getCore';\nimport { getDefaultClient } from '../../../client/defaultClient';\n\ntype HasExtensionParams = {\n extensionKey: string;\n};\n\n/**\n * Checks if a specific extension has been applied to the Dynamic client.\n *\n * Extensions add optional features to the Dynamic SDK,\n * such as EVM, Solana, or other chain support.\n *\n * @param params.extensionKey - The unique key identifying the extension to check for.\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns True if the extension is applied, false otherwise.\n * @notInstrumented\n */\nexport const hasExtension = (\n { extensionKey }: HasExtensionParams,\n client = getDefaultClient()\n) => {\n const core = getCore(client);\n\n return core.extensions.has(extensionKey);\n};\n","import {\n AuthModeEnum,\n type ChainEnum,\n type ConnectRequest,\n} from '@dynamic-labs/sdk-api-core';\n\nimport { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { createApiClient } from '../../apiClient';\nimport { getWalletProviderFromWalletAccount } from '../../wallets/utils/getWalletProviderFromWalletAccount';\nimport { normalizeWalletNameWithChain } from '../../wallets/utils/normalizeWalletNameWithChain';\nimport type { WalletAccount } from '../../wallets/walletAccount';\n\ntype CreateVisitParams = {\n authMode?: AuthModeEnum;\n walletAccount: WalletAccount;\n};\n\n/* \n In older SDK versions we used to have the concept of \"connect-only\" vs \"connect-and-sign\". \n The only difference in backend is it stores some extra data for connect-only, \n so we can just default to using it.\n*/\n/** @notInstrumented */\nexport const createVisit = async (\n { walletAccount, authMode = AuthModeEnum.Only }: CreateVisitParams,\n client: DynamicClient\n) => {\n const core = getCore(client);\n const apiClient = createApiClient({}, client);\n\n const walletProvider = getWalletProviderFromWalletAccount(\n { walletAccount },\n client\n );\n\n try {\n const walletName = normalizeWalletNameWithChain({\n chain: walletProvider.chain,\n displayName: walletProvider.metadata.displayName,\n });\n\n const connectRequest: ConnectRequest = {\n address: walletAccount.address,\n authMode,\n // eslint-disable-next-line custom-rules/ban-chain-enum\n chain: walletProvider.chain as ChainEnum,\n provider: walletProvider.walletProviderType,\n walletName,\n };\n\n await apiClient.createVisit({\n connectRequest,\n environmentId: core.environmentId,\n });\n } catch (error) {\n core.logger.error('Error creating visit', { error });\n }\n};\n","import { getCore } from '../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../client/types';\nimport type { UnverifiedWalletAccount } from '../unverifiedWalletAccounts.types';\n\ntype SetUnverifiedWalletAccountsParams = {\n unverifiedWalletAccountsToUpdate: UnverifiedWalletAccount[];\n};\n\n/**\n * Updates the unverified wallet account in the client state.\n * This will add new wallet accounts and override those with matching ids,\n * but will leave other preexisting wallet accounts unchanged.\n * @notInstrumented\n */\nexport const setUnverifiedWalletAccounts = (\n { unverifiedWalletAccountsToUpdate }: SetUnverifiedWalletAccountsParams,\n client: DynamicClient\n): void => {\n if (unverifiedWalletAccountsToUpdate.length === 0) {\n return;\n }\n\n const core = getCore(client);\n\n const unverifiedWalletAccountsToUpdateIds =\n unverifiedWalletAccountsToUpdate.map(({ id }) => id);\n\n const filteredUnverifiedWalletAccounts: UnverifiedWalletAccount[] = core.state\n .get()\n .unverifiedWalletAccounts.filter(\n (unverifiedWalletAccount) =>\n !unverifiedWalletAccountsToUpdateIds.includes(\n unverifiedWalletAccount.id\n )\n );\n\n core.state.set({\n unverifiedWalletAccounts: [\n ...filteredUnverifiedWalletAccounts,\n ...unverifiedWalletAccountsToUpdate,\n ],\n });\n};\n","import { getCore } from '../../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../../client/types';\n\ntype updateWalletProviderKeysForVerifiedCredentialsParams = {\n keysToUpdate: Record<string, string>;\n};\n\n/** @notInstrumented */\nexport const updateWalletProviderKeysForVerifiedCredentials = (\n { keysToUpdate }: updateWalletProviderKeysForVerifiedCredentialsParams,\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n core.state.set({\n walletProviderKeyMap: {\n ...core.state.get().walletProviderKeyMap,\n ...keysToUpdate,\n },\n });\n};\n","import type { DynamicClient } from '../../../client/types';\nimport { createVisit } from '../../auth/createVisit';\nimport { emitWalletAccountsChangedEvent } from '../emitWalletAccountsChangedEvent';\nimport { getWalletAccounts } from '../getWalletAccounts';\nimport { setUnverifiedWalletAccounts } from '../unverifiedWalletAccounts/setUnverifiedWalletAccounts';\nimport type { WalletAccount } from '../walletAccount';\nimport { updateWalletProviderKeysForVerifiedCredentials } from '../walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials';\n\ntype ReconcileWalletAccountsAgainstClientParams = {\n /** Whether to write new or updated unverified accounts to client state. Defaults to `true`. */\n addToDynamicWalletAccounts?: boolean;\n /** Freshly-connected wallet account candidates to reconcile. */\n walletAccounts: WalletAccount[];\n /** Wallet provider key these candidates were connected through. */\n walletProviderKey: string;\n};\n\n/**\n * Reconciles freshly-connected wallet accounts against the client state. For\n * each candidate it classifies as new, a re-connect of an existing unverified\n * account, or a re-connect of an already-verified account, then runs the\n * appropriate state mutation (`setUnverifiedWalletAccounts`,\n * `updateWalletProviderKeysForVerifiedCredentials`, `createVisit` for truly-new\n * entries) and emits a single `walletAccountsChanged` event if anything\n * actually changed. Returns the candidates with `verifiedCredentialId`\n * populated when the address already corresponded to a verified credential.\n *\n * @notInstrumented\n */\nexport const reconcileWalletAccountsAgainstClient = (\n {\n addToDynamicWalletAccounts = true,\n walletAccounts,\n walletProviderKey,\n }: ReconcileWalletAccountsAgainstClientParams,\n client: DynamicClient\n): WalletAccount[] => {\n if (walletAccounts.length === 0) {\n return [];\n }\n\n const existingWalletAccounts = getWalletAccounts(client);\n\n const newWalletAccounts: WalletAccount[] = [];\n const unverifiedWalletAccountsToUpdate: WalletAccount[] = [];\n const verifiedCredentialIdToWalletProviderKeyMap: Record<string, string> = {};\n\n const reconciledWalletAccounts: WalletAccount[] = walletAccounts.map(\n (candidate) => {\n const matchingExistingWalletAccount = existingWalletAccounts.find(\n (existingWalletAccount) => existingWalletAccount.id === candidate.id\n );\n\n if (!matchingExistingWalletAccount) {\n newWalletAccounts.push(candidate);\n return candidate;\n }\n\n const isWalletProviderKeyChanged =\n matchingExistingWalletAccount.walletProviderKey !== walletProviderKey;\n\n if (matchingExistingWalletAccount.verifiedCredentialId) {\n if (isWalletProviderKeyChanged) {\n verifiedCredentialIdToWalletProviderKeyMap[\n matchingExistingWalletAccount.verifiedCredentialId\n ] = walletProviderKey;\n }\n\n return {\n ...candidate,\n verifiedCredentialId:\n matchingExistingWalletAccount.verifiedCredentialId,\n };\n }\n\n if (isWalletProviderKeyChanged) {\n unverifiedWalletAccountsToUpdate.push(candidate);\n }\n\n return candidate;\n }\n );\n\n let walletAccountsChanged = false;\n\n if (Object.keys(verifiedCredentialIdToWalletProviderKeyMap).length > 0) {\n updateWalletProviderKeysForVerifiedCredentials(\n { keysToUpdate: verifiedCredentialIdToWalletProviderKeyMap },\n client\n );\n\n walletAccountsChanged = true;\n }\n\n if (addToDynamicWalletAccounts) {\n const accountsToWrite = [\n ...unverifiedWalletAccountsToUpdate,\n ...newWalletAccounts,\n ];\n\n if (accountsToWrite.length > 0) {\n setUnverifiedWalletAccounts(\n { unverifiedWalletAccountsToUpdate: accountsToWrite },\n client\n );\n\n walletAccountsChanged = true;\n\n for (const newWalletAccount of newWalletAccounts) {\n void createVisit({ walletAccount: newWalletAccount }, client);\n }\n }\n }\n\n if (walletAccountsChanged) {\n emitWalletAccountsChangedEvent(client);\n }\n\n return reconciledWalletAccounts;\n};\n","type FormatSignInMessageParams = {\n address: string;\n blockchainName: string;\n chainId?: string;\n domain: string;\n issuedAt?: string;\n nonce: string;\n requestId?: string;\n resources?: string[];\n statement?: string;\n uri: string;\n};\n\n/**\n * Formats a sign in message to prove ownership of an address.\n * @notInstrumented\n */\nexport const formatSignInMessage = async ({\n domain,\n blockchainName,\n address,\n uri,\n chainId,\n nonce,\n issuedAt,\n requestId,\n statement,\n resources,\n}: FormatSignInMessageParams) => {\n // This format follows the sign-in with ethereum (SIWE) standard,\n // but we are using it also for non-ethereum wallets for now (eg. Solana)\n // for more context on format and fields, please see:\n // https://docs.login.xyz/general-information/siwe-overview/eip-4361\n const header = `${domain} wants you to sign in with your ${blockchainName} account:`;\n const prefix = [header, address].join('\\n');\n\n // If there is a statement, we want to add a gap between the prefix and the statement\n // two times '\\n', first to move statement to next line and second to add a gap between prefix and statement\n const prefixWithStatementGap = statement ? '\\n\\n' : '\\n';\n const prefixWithStatement = `${[prefix, statement].join(\n prefixWithStatementGap\n )}\\n`;\n\n const suffixFields: string[] = [];\n suffixFields.push(`URI: ${uri}`);\n suffixFields.push('Version: 1');\n if (chainId) {\n suffixFields.push(`Chain ID: ${chainId}`);\n }\n\n suffixFields.push(`Nonce: ${nonce}`);\n\n if (issuedAt) {\n suffixFields.push(`Issued At: ${issuedAt}`);\n }\n\n if (requestId) {\n suffixFields.push(`Request ID: ${requestId}`);\n }\n\n if (resources?.length) {\n suffixFields.push(\n `Resources:${resources.map((resource) => '\\n- ' + resource).join()}`\n );\n }\n\n const suffix = suffixFields.join('\\n');\n\n return [prefixWithStatement, suffix].join('\\n');\n};\n","import type { DynamicClient } from '../../../../../client/types';\nimport { getAppMetadata } from '../../../../../utils/getAppMetadata';\n\n/** @notInstrumented */\nexport const createSignInMessageStatement = (client: DynamicClient) => {\n const { appName } = getAppMetadata(client);\n\n return `Welcome to ${appName}. Signing is the only way we can truly know that you are the owner of the wallet you are connecting. Signing is a safe, gas-less transaction that does not in any way give ${appName} permission to perform any transactions with your wallet.`;\n};\n","import { getCore } from '../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../client/types';\nimport { checkAndRaiseWalletAccountsChangedEvent } from '../../../auth/updateAuthFromVerifyResponse/checkAndRaiseWalletAccountsChangedEvent';\nimport type { UnverifiedWalletAccount } from '../unverifiedWalletAccounts.types';\n\ntype RemoveUnverifiedWalletAccountParams = {\n unverifiedWalletAccount: UnverifiedWalletAccount;\n};\n\n/**\n * Removes an unverified wallet account from the client's state.\n * @notInstrumented\n */\nexport const removeUnverifiedWalletAccount = (\n { unverifiedWalletAccount }: RemoveUnverifiedWalletAccountParams,\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n const previousState = core.state.get();\n\n const { unverifiedWalletAccounts } = core.state.get();\n\n const filteredUnverifiedWalletAccounts = unverifiedWalletAccounts.filter(\n (account) => account.id !== unverifiedWalletAccount.id\n );\n\n core.state.set({\n unverifiedWalletAccounts: filteredUnverifiedWalletAccounts,\n });\n\n /**\n * We check before raising because the wallet account we are removing might still\n * be present in wallet accounts due to having been moved to verified credentials.\n */\n checkAndRaiseWalletAccountsChangedEvent({ previousState }, client);\n};\n","/**\n * Check if the given value is an Error object\n * @notInstrumented\n */\nexport const isError = (error: unknown): error is Error =>\n error instanceof Error;\n","import { isError } from '../isError';\n\n/**\n * Check if the given value is an Error object with a specific code\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const isErrorWithCode = <T extends string>(\n error: unknown,\n code: T\n): error is Error & { code: T } => {\n if (!isError(error)) return false;\n\n return 'code' in error && error.code === code;\n};\n","import type {\n ChainEnum,\n TokenScope,\n VerifyResponse,\n WalletAddressType,\n WalletProviderEnum,\n} from '@dynamic-labs/sdk-api-core';\n\nimport { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { isErrorWithCode } from '../../../utils/isErrorWithCode';\nimport { createApiClient } from '../../apiClient';\nimport { consumeCaptchaToken } from '../../captcha/consumeCaptchaToken';\nimport type { Chain } from '../../chain';\nimport { normalizeWalletNameWithChain } from '../utils/normalizeWalletNameWithChain';\nimport type { WalletAddressWithType } from '../walletAccount/walletAccount.types';\nimport { WalletAlreadyLinkedToAnotherUserError } from './../../../errors/WalletAlreadyLinkedToAnotherUserError';\n\ntype VerifyMessageSignatureOwnershipParams = {\n addressesWithTypes?: WalletAddressWithType[];\n chain: Chain;\n isTransfer?: boolean;\n messageToSign: string;\n networkId?: string;\n requestedScopes?: TokenScope[];\n signature: string;\n walletAddress: string;\n walletDisplayName: string;\n walletProviderType: WalletProviderEnum;\n};\n\n/**\n * Verifies a signed message by calling either the verifyLink, verifyTransfer or verify API function,\n * depending on whether the user is signing in, linking or transferring a wallet.\n *\n * Does NOT call updateAuthFromVerifyResponse, it should be called from the return of this function.\n * @notInstrumented\n */\nexport const verifyMessageSignatureOwnership = async (\n {\n messageToSign,\n walletAddress,\n addressesWithTypes,\n signature,\n chain,\n isTransfer = false,\n walletDisplayName,\n walletProviderType,\n networkId,\n requestedScopes,\n }: VerifyMessageSignatureOwnershipParams,\n client: DynamicClient\n): Promise<VerifyResponse> => {\n const core = getCore(client);\n const apiClient = createApiClient({}, client);\n\n const walletName = normalizeWalletNameWithChain({\n chain,\n displayName: walletDisplayName,\n });\n\n let verifyApiFunction;\n\n if (!client.user) {\n // If the user is not authenticated, call the walletsSignin API function to sign in\n verifyApiFunction = apiClient.walletsSignin.bind(apiClient);\n } else if (isTransfer) {\n // If the user is authenticated and is transferring a wallet, call the verifyTransfer API function\n verifyApiFunction = apiClient.verifyTransfer.bind(apiClient);\n } else if (client.user && requestedScopes) {\n // Scopes = step-up auth: user requests permission for a sensitive op (e.g. wallet export).\n // We grant it only if they prove they own an existing credential (walletsVerify).\n // Must use walletsVerify: user is already logged in (not signin) and credential exists (not transfer/link).\n // If the user is authenticated and requested scopes are provided, call the walletsVerify API function\n verifyApiFunction = apiClient.walletsVerify.bind(apiClient);\n } else {\n // If the user is authenticated and is signing in, call the verifyLink API function\n verifyApiFunction = apiClient.verifyLink.bind(apiClient);\n }\n\n try {\n return await verifyApiFunction({\n environmentId: core.environmentId,\n verifyRequest: {\n // mapping to handle typecasting for address type\n additionalWalletAddresses: addressesWithTypes?.map((address) => ({\n address: address.address,\n publicKey: address.publicKey,\n type: address.type as WalletAddressType,\n })),\n captchaToken: consumeCaptchaToken(client),\n // eslint-disable-next-line custom-rules/ban-chain-enum\n chain: chain as ChainEnum,\n messageToSign,\n network: networkId,\n publicWalletAddress: walletAddress,\n requestedScopes,\n signedMessage: signature,\n walletName,\n walletProvider: walletProviderType,\n },\n });\n } catch (error) {\n core.logger.error('Failed to verify message signature ownership', error);\n\n if (\n isErrorWithCode(error, 'reassign_wallet_confirm') ||\n isErrorWithCode(error, 'merge_accounts_confirmation')\n ) {\n throw new WalletAlreadyLinkedToAnotherUserError({\n cause: error,\n });\n }\n\n throw error;\n }\n};\n","import type { Chain } from '../../../chain';\nimport { CHAINS_INFO_MAP } from '../../constants';\n\n/**\n * Maps the chain name from the API to the SDK chain name\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getSdkChainFromApiChainName = (\n chainName: string\n): Chain | null => {\n const chains = Object.keys(CHAINS_INFO_MAP) as Chain[];\n\n const chain = chains.find(\n (chain) => CHAINS_INFO_MAP[chain].apiChainName === chainName\n );\n\n return chain || null;\n};\n","import { getCore } from '../../../../client/core/getCore';\nimport { getDefaultClient } from '../../../../client/defaultClient';\nimport { assertDefined } from '../../../../utils/assertDefined';\nimport { getSdkChainFromApiChainName } from '../getSdkChainFromApiChainName';\nimport type { NetworkData } from '../networkProvider/networkProvider.types';\n\n/**\n * Retrieves all available network configurations from project settings.\n *\n * This function returns detailed configuration data for all networks enabled\n * in your Dynamic project, including RPC URLs, native currencies, and metadata.\n *\n * If a `transformers.networkData` callback was provided in the client configuration,\n * it will be applied to each network before returning the data. This allows you to\n * customize network properties (such as RPC URLs) in a centralized way.\n *\n * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.\n * @returns An array of network configuration data for all enabled networks.\n * @notInstrumented\n */\nexport const getNetworksData = (client = getDefaultClient()): NetworkData[] => {\n const core = getCore(client);\n const { state, transformers } = core;\n\n const networkDataTransformer =\n transformers?.networkData ?? ((networkData) => networkData);\n\n const { projectSettings } = state.get();\n\n assertDefined(projectSettings, 'projectSettings not found');\n\n const networks = projectSettings.networks;\n\n if (!networks) {\n return [];\n }\n\n const networksData = networks\n .map((network) => {\n if (!network.chainName) return [];\n\n const chain = getSdkChainFromApiChainName(network.chainName);\n\n if (!network?.networks?.length || !chain) return [];\n\n return network.networks.map((networkConfiguration) => {\n const networkData: NetworkData = {\n blockExplorerUrls: networkConfiguration.blockExplorerUrls,\n chain,\n cluster: networkConfiguration.cluster,\n displayName:\n networkConfiguration.vanityName || networkConfiguration.name,\n genesisHash: networkConfiguration.genesisHash,\n iconUrl: networkConfiguration.iconUrls[0],\n name: networkConfiguration.name,\n nativeCurrency: {\n decimals: networkConfiguration.nativeCurrency.decimals,\n iconUrl: networkConfiguration.nativeCurrency.iconUrl,\n name: networkConfiguration.nativeCurrency.name,\n symbol: networkConfiguration.nativeCurrency.symbol,\n },\n networkId: networkConfiguration.networkId,\n rpcUrls: {\n http: [\n ...(networkConfiguration.privateCustomerRpcUrls ?? []),\n ...(networkConfiguration.rpcUrls ?? []),\n ],\n },\n testnet: networkConfiguration.isTestnet ?? false,\n };\n\n return networkDataTransformer(networkData);\n });\n })\n .flat();\n\n return networksData;\n};\n","import type { Chain } from '../../../../chain';\nimport type {\n NetworkProviderBuilder,\n NetworkProviderBuilderRegistry,\n} from '../networkProviderBuilderRegistry.types';\n\n/** @notInstrumented */\nexport const createNetworkProviderBuilderRegistry =\n (): NetworkProviderBuilderRegistry => {\n const registry = new Map<Chain, NetworkProviderBuilder>();\n\n return {\n get: () => registry,\n register: (networkProviderBuilder) => {\n registry.set(networkProviderBuilder.chain, networkProviderBuilder);\n },\n };\n };\n","import { createRuntimeServiceAccessKey } from '../../../../../services/runtimeServices';\nimport { createNetworkProviderBuilderRegistry } from '../createNetworkProviderBuilderRegistry';\n\nexport const getNetworkProviderBuilderRegistry = createRuntimeServiceAccessKey(\n 'networkProviderBuilderRegistry',\n createNetworkProviderBuilderRegistry\n);\n","import type { DynamicClient } from '../../../../client/types';\nimport { getNetworksData } from '../getNetworksData';\nimport type { NetworkProvider } from '../networkProvider';\nimport { getNetworkProviderBuilderRegistry } from '../networkProviderBuilderRegistry';\n\n/**\n * Retrieves all registered network providers for enabled chains.\n * @notInstrumented\n */\nexport const getNetworkProviders = (\n client: DynamicClient\n): NetworkProvider[] => {\n const networkProviderBuilderRegistry =\n getNetworkProviderBuilderRegistry(client);\n\n const registeredNetworkProviderBuilders = Array.from(\n networkProviderBuilderRegistry.get().values()\n );\n\n const networksData = getNetworksData(client);\n\n const networkProviders = registeredNetworkProviderBuilders.map(\n ({ builder, chain }) => {\n const networksDataForChain = networksData.filter(\n (networkData) => networkData.chain === chain\n );\n\n return networksDataForChain.map(builder);\n }\n );\n\n return networkProviders.flat();\n};\n","import type { DynamicClient } from '../../../../client/types';\nimport { NoNetworkProvidersError } from '../../../../errors/NoNetworkProvidersError';\nimport { assertDefined } from '../../../../utils/assertDefined';\nimport type { Chain } from '../../../chain';\nimport { getNetworkProviders } from '../getNetworkProviders';\nimport type { NetworkProvider } from '../networkProvider/networkProvider.types';\n\ntype GetNetworkProviderFromNetworkIdProps = {\n chain: Chain;\n networkId: string;\n};\n\n/** @notInstrumented */\nexport const getNetworkProviderFromNetworkId = (\n { networkId, chain }: GetNetworkProviderFromNetworkIdProps,\n client: DynamicClient\n): NetworkProvider => {\n const networkProviders = getNetworkProviders(client);\n\n if (networkProviders.length === 0) {\n throw new NoNetworkProvidersError();\n }\n\n const networkProvider = networkProviders.find(\n (networkProvider) =>\n networkProvider.networkId === networkId && networkProvider.chain === chain\n );\n\n assertDefined(\n networkProvider,\n `No network provider found for chain ${chain} with network id ${networkId}`\n );\n\n return networkProvider;\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { G as assertDefined, J as instrumentFunction, at as getDefaultClient, b as CHAINS_INFO_MAP, ct as BaseError, h as getWalletAccounts, j as createApiClient, lt as getCore, p as createRuntimeServiceAccessKey, u as getWalletProviderFromWalletAccount, v as normalizeWalletNameWithChain } from "./InvalidParamError-
|
|
2
|
-
import { d as emitWalletAccountsChangedEvent, u as checkAndRaiseWalletAccountsChangedEvent } from "./getWalletProviderByKey-
|
|
1
|
+
import { G as assertDefined, J as instrumentFunction, at as getDefaultClient, b as CHAINS_INFO_MAP, ct as BaseError, h as getWalletAccounts, j as createApiClient, lt as getCore, p as createRuntimeServiceAccessKey, u as getWalletProviderFromWalletAccount, v as normalizeWalletNameWithChain } from "./InvalidParamError-BeCPhfVz.esm.js";
|
|
2
|
+
import { d as emitWalletAccountsChangedEvent, u as checkAndRaiseWalletAccountsChangedEvent } from "./getWalletProviderByKey-BMzoL_69.esm.js";
|
|
3
3
|
import { AuthModeEnum } from "@dynamic-labs/sdk-api-core";
|
|
4
4
|
import * as z from "zod/mini";
|
|
5
5
|
import { Buffer as Buffer$1 } from "buffer";
|
|
@@ -10,7 +10,7 @@ import EventEmitter, { EventEmitter as EventEmitter$1 } from "eventemitter3";
|
|
|
10
10
|
* Shallow compare two objects.
|
|
11
11
|
*
|
|
12
12
|
* Source: https://github.com/pmndrs/zustand/blob/main/src/vanilla/shallow.ts
|
|
13
|
-
* @
|
|
13
|
+
* @notInstrumented
|
|
14
14
|
*/
|
|
15
15
|
const isEqualShallow = (objA, objB) => {
|
|
16
16
|
if (Object.is(objA, objB)) return true;
|
|
@@ -42,7 +42,7 @@ const isEqualShallow = (objA, objB) => {
|
|
|
42
42
|
* Change is determined by shallow comparison.
|
|
43
43
|
*
|
|
44
44
|
* Returns a function to unsubscribe the callback.
|
|
45
|
-
* @
|
|
45
|
+
* @notInstrumented
|
|
46
46
|
*/
|
|
47
47
|
const subscribeWithSelector = (observable, selector) => (callback) => {
|
|
48
48
|
let lastSlice = selector(observable.get());
|
|
@@ -58,7 +58,7 @@ const subscribeWithSelector = (observable, selector) => (callback) => {
|
|
|
58
58
|
//#region src/services/storage/createLocalStorageAdapter/createLocalStorageAdapter.ts
|
|
59
59
|
/**
|
|
60
60
|
* Creates a localStorage adapter.
|
|
61
|
-
* @
|
|
61
|
+
* @notInstrumented
|
|
62
62
|
*/
|
|
63
63
|
const createLocalStorageAdapter = () => ({
|
|
64
64
|
getItem: async (key) => localStorage.getItem(key),
|
|
@@ -87,7 +87,7 @@ var InvalidStorageSet = class extends BaseError {
|
|
|
87
87
|
* Returns whether the given string is a valid ISO date string.
|
|
88
88
|
*
|
|
89
89
|
* Does not support timezone offsets.
|
|
90
|
-
* @
|
|
90
|
+
* @notInstrumented
|
|
91
91
|
*/
|
|
92
92
|
const isValidDateISOString = (value) => {
|
|
93
93
|
const date = new Date(value);
|
|
@@ -97,7 +97,7 @@ const isValidDateISOString = (value) => {
|
|
|
97
97
|
//#endregion
|
|
98
98
|
//#region src/services/storage/createStorage/formatForStorage/storageFormat.ts
|
|
99
99
|
const DATE_PREFIX = "__DATE__";
|
|
100
|
-
/** @
|
|
100
|
+
/** @notInstrumented */
|
|
101
101
|
const formatForStorage = (value) => {
|
|
102
102
|
const item = { value };
|
|
103
103
|
return JSON.stringify(item, (_, entry) => {
|
|
@@ -105,7 +105,7 @@ const formatForStorage = (value) => {
|
|
|
105
105
|
return entry;
|
|
106
106
|
});
|
|
107
107
|
};
|
|
108
|
-
/** @
|
|
108
|
+
/** @notInstrumented */
|
|
109
109
|
const parseFromStorage = (value) => {
|
|
110
110
|
try {
|
|
111
111
|
return JSON.parse(value, (_, entry) => {
|
|
@@ -123,7 +123,7 @@ const parseFromStorage = (value) => {
|
|
|
123
123
|
* Creates a Storage service to interact with storage adapter.
|
|
124
124
|
* Reads the `storageTier` from each key's config and passes it
|
|
125
125
|
* to the adapter on every operation, defaulting to `'default'`.
|
|
126
|
-
* @
|
|
126
|
+
* @notInstrumented
|
|
127
127
|
*/
|
|
128
128
|
const createStorage = ({ prefix = "", storageAdapter }) => {
|
|
129
129
|
const getPrefixedKey = (key) => prefix ? `${prefix}_${key}` : key;
|
|
@@ -166,14 +166,14 @@ const createStorage = ({ prefix = "", storageAdapter }) => {
|
|
|
166
166
|
|
|
167
167
|
//#endregion
|
|
168
168
|
//#region src/utils/getBuffer/getBuffer.ts
|
|
169
|
-
/** @
|
|
169
|
+
/** @notInstrumented */
|
|
170
170
|
const getBuffer = () => typeof Buffer !== "undefined" ? Buffer : Buffer$1;
|
|
171
171
|
|
|
172
172
|
//#endregion
|
|
173
173
|
//#region src/utils/isServerSideRendering/isServerSideRendering.ts
|
|
174
174
|
/**
|
|
175
175
|
* Indicates if the code is running in a server-side environment.
|
|
176
|
-
* @
|
|
176
|
+
* @notInstrumented
|
|
177
177
|
*/
|
|
178
178
|
const isServerSideRendering = () => typeof window === "undefined";
|
|
179
179
|
|
|
@@ -187,7 +187,7 @@ const REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY = "refresh-user-state-from
|
|
|
187
187
|
|
|
188
188
|
//#endregion
|
|
189
189
|
//#region src/utils/deferredPromise/createDeferredPromise.ts
|
|
190
|
-
/** @
|
|
190
|
+
/** @notInstrumented */
|
|
191
191
|
const createDeferredPromise = () => {
|
|
192
192
|
let resolve;
|
|
193
193
|
let reject;
|
|
@@ -238,7 +238,7 @@ const CrossTabBroadcastMessageSchema = z.object({
|
|
|
238
238
|
* @param params - Configuration parameters
|
|
239
239
|
* @param params.channelName - The name of the broadcast channel to use
|
|
240
240
|
* @returns A cross-tab broadcast service instance
|
|
241
|
-
* @
|
|
241
|
+
* @notInstrumented
|
|
242
242
|
*/
|
|
243
243
|
const createCrossTabBroadcast = ({ channelName }) => {
|
|
244
244
|
if (isServerSideRendering() || typeof BroadcastChannel === "undefined") return {
|
|
@@ -286,7 +286,7 @@ const defaultConsole = console;
|
|
|
286
286
|
/**
|
|
287
287
|
* Creates a logger instance with configurable log level and event emission capabilities.
|
|
288
288
|
* @returns A logger instance with debug, info, warn, and error methods
|
|
289
|
-
* @
|
|
289
|
+
* @notInstrumented
|
|
290
290
|
*/
|
|
291
291
|
const createLogger = (options = {}) => {
|
|
292
292
|
const eventEmitter = new EventEmitter$1();
|
|
@@ -316,7 +316,7 @@ const createLogger = (options = {}) => {
|
|
|
316
316
|
//#region src/utils/bufferToHex/bufferToHex.ts
|
|
317
317
|
/**
|
|
318
318
|
* Converts an ArrayBuffer or Uint8Array to a hex-encoded string
|
|
319
|
-
* @
|
|
319
|
+
* @notInstrumented
|
|
320
320
|
*/
|
|
321
321
|
const bufferToHex = (buffer) => [...buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, "0")).join("");
|
|
322
322
|
|
|
@@ -324,7 +324,7 @@ const bufferToHex = (buffer) => [...buffer instanceof Uint8Array ? buffer : new
|
|
|
324
324
|
//#region src/utils/compressRawPublicKey/compressRawPublicKey.ts
|
|
325
325
|
/**
|
|
326
326
|
* Accepts a public key array buffer, and returns a buffer with the compressed version of the public key
|
|
327
|
-
* @
|
|
327
|
+
* @notInstrumented
|
|
328
328
|
*/
|
|
329
329
|
const compressRawPublicKey = (rawPublicKey) => {
|
|
330
330
|
const rawPublicKeyBytes = new Uint8Array(rawPublicKey);
|
|
@@ -354,7 +354,7 @@ const STORE_NAME = "keys";
|
|
|
354
354
|
|
|
355
355
|
//#endregion
|
|
356
356
|
//#region src/services/keychain/createKeychainService/utils/deleteIndexedDBItem.ts
|
|
357
|
-
/** @
|
|
357
|
+
/** @notInstrumented */
|
|
358
358
|
const deleteIndexedDBItem = ({ db, keyName }) => new Promise((resolve, reject) => {
|
|
359
359
|
const request = db.transaction(STORE_NAME, "readwrite").objectStore(STORE_NAME).delete(keyName);
|
|
360
360
|
request.onsuccess = () => resolve();
|
|
@@ -363,7 +363,7 @@ const deleteIndexedDBItem = ({ db, keyName }) => new Promise((resolve, reject) =
|
|
|
363
363
|
|
|
364
364
|
//#endregion
|
|
365
365
|
//#region src/services/keychain/createKeychainService/utils/getIndexedDBItem.ts
|
|
366
|
-
/** @
|
|
366
|
+
/** @notInstrumented */
|
|
367
367
|
const getIndexedDBItem = ({ db, keyName }) => new Promise((resolve, reject) => {
|
|
368
368
|
const request = db.transaction(STORE_NAME, "readonly").objectStore(STORE_NAME).get(keyName);
|
|
369
369
|
request.onsuccess = () => resolve(request.result);
|
|
@@ -372,7 +372,7 @@ const getIndexedDBItem = ({ db, keyName }) => new Promise((resolve, reject) => {
|
|
|
372
372
|
|
|
373
373
|
//#endregion
|
|
374
374
|
//#region src/services/keychain/createKeychainService/utils/setIndexedDBItem.ts
|
|
375
|
-
/** @
|
|
375
|
+
/** @notInstrumented */
|
|
376
376
|
const setIndexedDBItem = ({ db, entry }) => new Promise((resolve, reject) => {
|
|
377
377
|
const request = db.transaction(STORE_NAME, "readwrite").objectStore(STORE_NAME).put(entry);
|
|
378
378
|
request.onsuccess = () => resolve();
|
|
@@ -381,7 +381,7 @@ const setIndexedDBItem = ({ db, entry }) => new Promise((resolve, reject) => {
|
|
|
381
381
|
|
|
382
382
|
//#endregion
|
|
383
383
|
//#region src/services/keychain/createKeychainService/utils/openDatabase.ts
|
|
384
|
-
/** @
|
|
384
|
+
/** @notInstrumented */
|
|
385
385
|
const openDatabase = (dbName) => new Promise((resolve, reject) => {
|
|
386
386
|
const request = indexedDB.open(dbName, 1);
|
|
387
387
|
request.onupgradeneeded = () => {
|
|
@@ -398,7 +398,7 @@ const openDatabase = (dbName) => new Promise((resolve, reject) => {
|
|
|
398
398
|
* Scopes a database connection to the lifetime of a callback.
|
|
399
399
|
* Opens a connection, passes it to the operation, and guarantees
|
|
400
400
|
* the connection is closed when the operation completes or throws.
|
|
401
|
-
* @
|
|
401
|
+
* @notInstrumented
|
|
402
402
|
*/
|
|
403
403
|
const withDatabase = async ({ dbName, operation }) => {
|
|
404
404
|
const db = await openDatabase(dbName);
|
|
@@ -412,7 +412,7 @@ const withDatabase = async ({ dbName, operation }) => {
|
|
|
412
412
|
//#endregion
|
|
413
413
|
//#region src/services/keychain/createKeychainService/createKeychainService.ts
|
|
414
414
|
const DEFAULT_DB_NAME = "dynamic_keychain";
|
|
415
|
-
/** @
|
|
415
|
+
/** @notInstrumented */
|
|
416
416
|
const createKeychainService = (params) => {
|
|
417
417
|
const dbName = params?.dbName ?? DEFAULT_DB_NAME;
|
|
418
418
|
const generateKey = async (keyName) => {
|
|
@@ -564,7 +564,7 @@ const mapAblyState = (ablyState) => ABLY_STATE_TO_REALTIME_STATE[ablyState] ?? "
|
|
|
564
564
|
* a connection, passing the DynamicClient explicitly.
|
|
565
565
|
*
|
|
566
566
|
* SSR environments receive a no-op implementation.
|
|
567
|
-
* @
|
|
567
|
+
* @notInstrumented
|
|
568
568
|
*/
|
|
569
569
|
const createRealtimeService = () => {
|
|
570
570
|
if (isServerSideRendering()) return {
|
|
@@ -683,7 +683,7 @@ const createRealtimeService = () => {
|
|
|
683
683
|
*
|
|
684
684
|
* @param params.environmentId - The Dynamic environment id.
|
|
685
685
|
* @returns The IndexedDB database name for the keychain.
|
|
686
|
-
* @
|
|
686
|
+
* @notInstrumented
|
|
687
687
|
*/
|
|
688
688
|
const getKeychainIndexedDBName = ({ environmentId }) => `dynamic_${environmentId}_keychain`;
|
|
689
689
|
|
|
@@ -717,7 +717,7 @@ var WalletAlreadyLinkedToAnotherUserError = class extends BaseError {
|
|
|
717
717
|
|
|
718
718
|
//#endregion
|
|
719
719
|
//#region src/modules/captcha/isCaptchaRequired/isCaptchaRequired.ts
|
|
720
|
-
/** @
|
|
720
|
+
/** @notInstrumented */
|
|
721
721
|
const isCaptchaRequired = (client = getDefaultClient()) => {
|
|
722
722
|
const projectSettings = client.projectSettings;
|
|
723
723
|
assertDefined(projectSettings, "Project settings are not available");
|
|
@@ -728,7 +728,7 @@ const isCaptchaRequired = (client = getDefaultClient()) => {
|
|
|
728
728
|
//#region src/modules/captcha/consumeCaptchaToken/consumeCaptchaToken.ts
|
|
729
729
|
/**
|
|
730
730
|
* Retrieves the current captcha token from the client state and sets it to null.
|
|
731
|
-
* @
|
|
731
|
+
* @notInstrumented
|
|
732
732
|
*/
|
|
733
733
|
const consumeCaptchaToken = (client) => {
|
|
734
734
|
const core = getCore(client);
|
|
@@ -790,7 +790,7 @@ const __setCaptchaToken_wrapped = instrumentFunction({
|
|
|
790
790
|
* @param params.extensionKey - The unique key identifying the extension to check for.
|
|
791
791
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
792
792
|
* @returns True if the extension is applied, false otherwise.
|
|
793
|
-
* @
|
|
793
|
+
* @notInstrumented
|
|
794
794
|
*/
|
|
795
795
|
const hasExtension = ({ extensionKey }, client = getDefaultClient()) => {
|
|
796
796
|
return getCore(client).extensions.has(extensionKey);
|
|
@@ -798,7 +798,7 @@ const hasExtension = ({ extensionKey }, client = getDefaultClient()) => {
|
|
|
798
798
|
|
|
799
799
|
//#endregion
|
|
800
800
|
//#region src/modules/auth/createVisit/createVisit.ts
|
|
801
|
-
/** @
|
|
801
|
+
/** @notInstrumented */
|
|
802
802
|
const createVisit = async ({ walletAccount, authMode = AuthModeEnum.Only }, client) => {
|
|
803
803
|
const core = getCore(client);
|
|
804
804
|
const apiClient = createApiClient({}, client);
|
|
@@ -830,7 +830,7 @@ const createVisit = async ({ walletAccount, authMode = AuthModeEnum.Only }, clie
|
|
|
830
830
|
* Updates the unverified wallet account in the client state.
|
|
831
831
|
* This will add new wallet accounts and override those with matching ids,
|
|
832
832
|
* but will leave other preexisting wallet accounts unchanged.
|
|
833
|
-
* @
|
|
833
|
+
* @notInstrumented
|
|
834
834
|
*/
|
|
835
835
|
const setUnverifiedWalletAccounts = ({ unverifiedWalletAccountsToUpdate }, client) => {
|
|
836
836
|
if (unverifiedWalletAccountsToUpdate.length === 0) return;
|
|
@@ -842,7 +842,7 @@ const setUnverifiedWalletAccounts = ({ unverifiedWalletAccountsToUpdate }, clien
|
|
|
842
842
|
|
|
843
843
|
//#endregion
|
|
844
844
|
//#region src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/updateWalletProviderKeysForVerifiedCredentials.ts
|
|
845
|
-
/** @
|
|
845
|
+
/** @notInstrumented */
|
|
846
846
|
const updateWalletProviderKeysForVerifiedCredentials = ({ keysToUpdate }, client) => {
|
|
847
847
|
const core = getCore(client);
|
|
848
848
|
core.state.set({ walletProviderKeyMap: {
|
|
@@ -863,7 +863,7 @@ const updateWalletProviderKeysForVerifiedCredentials = ({ keysToUpdate }, client
|
|
|
863
863
|
* actually changed. Returns the candidates with `verifiedCredentialId`
|
|
864
864
|
* populated when the address already corresponded to a verified credential.
|
|
865
865
|
*
|
|
866
|
-
* @
|
|
866
|
+
* @notInstrumented
|
|
867
867
|
*/
|
|
868
868
|
const reconcileWalletAccountsAgainstClient = ({ addToDynamicWalletAccounts = true, walletAccounts, walletProviderKey }, client) => {
|
|
869
869
|
if (walletAccounts.length === 0) return [];
|
|
@@ -912,7 +912,7 @@ const reconcileWalletAccountsAgainstClient = ({ addToDynamicWalletAccounts = tru
|
|
|
912
912
|
* — preferring `core.metadata` (set on the client) over project-settings fallbacks.
|
|
913
913
|
*
|
|
914
914
|
* @param client - The Dynamic client whose configuration drives the result.
|
|
915
|
-
* @
|
|
915
|
+
* @notInstrumented
|
|
916
916
|
*/
|
|
917
917
|
const getAppMetadata = (client) => {
|
|
918
918
|
const core = getCore(client);
|
|
@@ -929,7 +929,7 @@ const getAppMetadata = (client) => {
|
|
|
929
929
|
//#region src/modules/wallets/utils/formatSignInMessage/formatSignInMessage.ts
|
|
930
930
|
/**
|
|
931
931
|
* Formats a sign in message to prove ownership of an address.
|
|
932
|
-
* @
|
|
932
|
+
* @notInstrumented
|
|
933
933
|
*/
|
|
934
934
|
const formatSignInMessage = async ({ domain, blockchainName, address, uri, chainId, nonce, issuedAt, requestId, statement, resources }) => {
|
|
935
935
|
const prefix = [`${domain} wants you to sign in with your ${blockchainName} account:`, address].join("\n");
|
|
@@ -948,7 +948,7 @@ const formatSignInMessage = async ({ domain, blockchainName, address, uri, chain
|
|
|
948
948
|
|
|
949
949
|
//#endregion
|
|
950
950
|
//#region src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.ts
|
|
951
|
-
/** @
|
|
951
|
+
/** @notInstrumented */
|
|
952
952
|
const createSignInMessageStatement = (client) => {
|
|
953
953
|
const { appName } = getAppMetadata(client);
|
|
954
954
|
return `Welcome to ${appName}. Signing is the only way we can truly know that you are the owner of the wallet you are connecting. Signing is a safe, gas-less transaction that does not in any way give ${appName} permission to perform any transactions with your wallet.`;
|
|
@@ -958,7 +958,7 @@ const createSignInMessageStatement = (client) => {
|
|
|
958
958
|
//#region src/modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount/removeUnverifiedWalletAccount.ts
|
|
959
959
|
/**
|
|
960
960
|
* Removes an unverified wallet account from the client's state.
|
|
961
|
-
* @
|
|
961
|
+
* @notInstrumented
|
|
962
962
|
*/
|
|
963
963
|
const removeUnverifiedWalletAccount = ({ unverifiedWalletAccount }, client) => {
|
|
964
964
|
const core = getCore(client);
|
|
@@ -977,7 +977,7 @@ const removeUnverifiedWalletAccount = ({ unverifiedWalletAccount }, client) => {
|
|
|
977
977
|
//#region src/utils/isError/isError.ts
|
|
978
978
|
/**
|
|
979
979
|
* Check if the given value is an Error object
|
|
980
|
-
* @
|
|
980
|
+
* @notInstrumented
|
|
981
981
|
*/
|
|
982
982
|
const isError = (error) => error instanceof Error;
|
|
983
983
|
|
|
@@ -985,7 +985,7 @@ const isError = (error) => error instanceof Error;
|
|
|
985
985
|
//#region src/utils/isErrorWithCode/isErrorWithCode.ts
|
|
986
986
|
/**
|
|
987
987
|
* Check if the given value is an Error object with a specific code
|
|
988
|
-
* @
|
|
988
|
+
* @notInstrumented
|
|
989
989
|
*/
|
|
990
990
|
const isErrorWithCode = (error, code) => {
|
|
991
991
|
if (!isError(error)) return false;
|
|
@@ -999,7 +999,7 @@ const isErrorWithCode = (error, code) => {
|
|
|
999
999
|
* depending on whether the user is signing in, linking or transferring a wallet.
|
|
1000
1000
|
*
|
|
1001
1001
|
* Does NOT call updateAuthFromVerifyResponse, it should be called from the return of this function.
|
|
1002
|
-
* @
|
|
1002
|
+
* @notInstrumented
|
|
1003
1003
|
*/
|
|
1004
1004
|
const verifyMessageSignatureOwnership = async ({ messageToSign, walletAddress, addressesWithTypes, signature, chain, isTransfer = false, walletDisplayName, walletProviderType, networkId, requestedScopes }, client) => {
|
|
1005
1005
|
const core = getCore(client);
|
|
@@ -1044,7 +1044,7 @@ const verifyMessageSignatureOwnership = async ({ messageToSign, walletAddress, a
|
|
|
1044
1044
|
//#region src/modules/wallets/networks/getSdkChainFromApiChainName/getSdkChainFromApiChainName.ts
|
|
1045
1045
|
/**
|
|
1046
1046
|
* Maps the chain name from the API to the SDK chain name
|
|
1047
|
-
* @
|
|
1047
|
+
* @notInstrumented
|
|
1048
1048
|
*/
|
|
1049
1049
|
const getSdkChainFromApiChainName = (chainName) => {
|
|
1050
1050
|
return Object.keys(CHAINS_INFO_MAP).find((chain) => CHAINS_INFO_MAP[chain].apiChainName === chainName) || null;
|
|
@@ -1064,7 +1064,7 @@ const getSdkChainFromApiChainName = (chainName) => {
|
|
|
1064
1064
|
*
|
|
1065
1065
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1066
1066
|
* @returns An array of network configuration data for all enabled networks.
|
|
1067
|
-
* @
|
|
1067
|
+
* @notInstrumented
|
|
1068
1068
|
*/
|
|
1069
1069
|
const getNetworksData = (client = getDefaultClient()) => {
|
|
1070
1070
|
const { state, transformers } = getCore(client);
|
|
@@ -1102,7 +1102,7 @@ const getNetworksData = (client = getDefaultClient()) => {
|
|
|
1102
1102
|
|
|
1103
1103
|
//#endregion
|
|
1104
1104
|
//#region src/modules/wallets/networks/networkProviderBuilderRegistry/createNetworkProviderBuilderRegistry/createNetworkProviderBuilderRegistry.ts
|
|
1105
|
-
/** @
|
|
1105
|
+
/** @notInstrumented */
|
|
1106
1106
|
const createNetworkProviderBuilderRegistry = () => {
|
|
1107
1107
|
const registry = /* @__PURE__ */ new Map();
|
|
1108
1108
|
return {
|
|
@@ -1121,7 +1121,7 @@ const getNetworkProviderBuilderRegistry = createRuntimeServiceAccessKey("network
|
|
|
1121
1121
|
//#region src/modules/wallets/networks/getNetworkProviders/getNetworkProviders.ts
|
|
1122
1122
|
/**
|
|
1123
1123
|
* Retrieves all registered network providers for enabled chains.
|
|
1124
|
-
* @
|
|
1124
|
+
* @notInstrumented
|
|
1125
1125
|
*/
|
|
1126
1126
|
const getNetworkProviders = (client) => {
|
|
1127
1127
|
const networkProviderBuilderRegistry = getNetworkProviderBuilderRegistry(client);
|
|
@@ -1134,7 +1134,7 @@ const getNetworkProviders = (client) => {
|
|
|
1134
1134
|
|
|
1135
1135
|
//#endregion
|
|
1136
1136
|
//#region src/modules/wallets/networks/getNetworkProviderFromNetworkId/getNetworkProviderFromNetworkId.ts
|
|
1137
|
-
/** @
|
|
1137
|
+
/** @notInstrumented */
|
|
1138
1138
|
const getNetworkProviderFromNetworkId = ({ networkId, chain }, client) => {
|
|
1139
1139
|
const networkProviders = getNetworkProviders(client);
|
|
1140
1140
|
if (networkProviders.length === 0) throw new NoNetworkProvidersError();
|
|
@@ -1145,4 +1145,4 @@ const getNetworkProviderFromNetworkId = ({ networkId, chain }, client) => {
|
|
|
1145
1145
|
|
|
1146
1146
|
//#endregion
|
|
1147
1147
|
export { GENERATE_SESSION_KEYS_TRACKER_KEY as A, isEqualShallow as B, createKeychainService as C, CannotTrackError as D, CrossTabBroadcastMessageSchema as E, getBuffer as F, createStorage as I, InvalidStorageSet as L, REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY as M, REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY as N, createDeferredPromise as O, isServerSideRendering as P, createLocalStorageAdapter as R, createRealtimeService as S, createCrossTabBroadcast as T, consumeCaptchaToken as _, verifyMessageSignatureOwnership as a, NoNetworkProvidersError as b, formatSignInMessage as c, updateWalletProviderKeysForVerifiedCredentials as d, setUnverifiedWalletAccounts as f, MethodNotImplementedError as g, __setCaptchaToken_wrapped as h, getNetworksData as i, INITIALIZE_STORAGE_SYNC_TRACKER_KEY as j, FETCH_PROJECT_SETTINGS_TRACKER_KEY as k, getAppMetadata as l, hasExtension as m, getNetworkProviders as n, removeUnverifiedWalletAccount as o, createVisit as p, getNetworkProviderBuilderRegistry as r, createSignInMessageStatement as s, getNetworkProviderFromNetworkId as t, reconcileWalletAccountsAgainstClient as u, isCaptchaRequired as v, createLogger as w, getKeychainIndexedDBName as x, WalletAlreadyLinkedToAnotherUserError as y, subscribeWithSelector as z };
|
|
1148
|
-
//# sourceMappingURL=getNetworkProviderFromNetworkId-
|
|
1148
|
+
//# sourceMappingURL=getNetworkProviderFromNetworkId-CP9gl1B1.esm.js.map
|