@dynamic-labs-sdk/client 0.24.1 → 0.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +71 -0
- package/android/src/main/java/xyz/dynamic/client/DynamicClientPackage.kt +42 -0
- package/android/src/main/java/xyz/dynamic/client/keychain/KeyStoreKeyManager.kt +147 -0
- package/android/src/main/java/xyz/dynamic/client/keychain/KeychainModule.kt +85 -0
- package/android/src/main/java/xyz/dynamic/client/manifest/ReactNativeManifestModule.kt +25 -0
- package/dist/InvalidParamError-BDHw6nr1.native.esm.js +1178 -0
- package/dist/InvalidParamError-BDHw6nr1.native.esm.js.map +1 -0
- package/dist/{InvalidParamError-9IR2C0up.cjs.js → InvalidParamError-BqDEZ6er.cjs.js} +5 -5
- package/dist/InvalidParamError-BqDEZ6er.cjs.js.map +1 -0
- package/dist/{InvalidParamError-Bq5zAFj4.esm.js → InvalidParamError-DcN56mC-.esm.js} +4 -4
- package/dist/InvalidParamError-DcN56mC-.esm.js.map +1 -0
- package/dist/NotWaasWalletAccountError-B_TYSgak.native.esm.js +50 -0
- package/dist/NotWaasWalletAccountError-B_TYSgak.native.esm.js.map +1 -0
- package/dist/{NotWaasWalletAccountError-CIJRq-EG.esm.js → NotWaasWalletAccountError-CQ7CMol4.esm.js} +3 -3
- package/dist/{NotWaasWalletAccountError-CIJRq-EG.esm.js.map → NotWaasWalletAccountError-CQ7CMol4.esm.js.map} +1 -1
- package/dist/{NotWaasWalletAccountError-DpRIY6Pd.cjs.js → NotWaasWalletAccountError-ftYfHk_N.cjs.js} +3 -3
- package/dist/{NotWaasWalletAccountError-DpRIY6Pd.cjs.js.map → NotWaasWalletAccountError-ftYfHk_N.cjs.js.map} +1 -1
- package/dist/client/core/createCore/createCore.d.ts.map +1 -1
- package/dist/client/core/types/DynamicCore.d.ts +4 -0
- package/dist/client/core/types/DynamicCore.d.ts.map +1 -1
- package/dist/client/types/DynamicClientConfig.d.ts +10 -0
- package/dist/client/types/DynamicClientConfig.d.ts.map +1 -1
- package/dist/core.cjs.js +36 -6
- package/dist/core.cjs.js.map +1 -1
- package/dist/core.esm.js +34 -6
- package/dist/core.esm.js.map +1 -1
- package/dist/core.native.esm.js +417 -0
- package/dist/core.native.esm.js.map +1 -0
- package/dist/errors/APIError/APIError.d.ts.map +1 -1
- package/dist/errors/InvalidParamError.d.ts.map +1 -1
- package/dist/errors/InvalidStorageValue.d.ts.map +1 -1
- package/dist/errors/InvalidWalletProviderKeyError.d.ts.map +1 -1
- package/dist/errors/MethodNotImplementedError.d.ts.map +1 -1
- package/dist/errors/MissingSocialUrlParamError.d.ts.map +1 -1
- package/dist/errors/NativeModuleNotLinkedError.d.ts +9 -0
- package/dist/errors/NativeModuleNotLinkedError.d.ts.map +1 -0
- package/dist/errors/NoSmartWalletAccountSignerFoundError.d.ts.map +1 -1
- package/dist/errors/ReactNativeOnlyError.d.ts +9 -0
- package/dist/errors/ReactNativeOnlyError.d.ts.map +1 -0
- package/dist/errors/UnavailableInServerSideError.d.ts.map +1 -1
- package/dist/errors/ValueMustBeDefinedError.d.ts.map +1 -1
- package/dist/errors/WalletAccountAlreadyVerifiedError.d.ts.map +1 -1
- package/dist/exports/core.d.ts +8 -2
- package/dist/exports/core.d.ts.map +1 -1
- package/dist/exports/index.d.ts +4 -4
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/getNetworkProviderFromNetworkId-BRWuk0I8.native.esm.js +1557 -0
- package/dist/getNetworkProviderFromNetworkId-BRWuk0I8.native.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-C4aba1hS.esm.js → getNetworkProviderFromNetworkId-COHxfpo-.esm.js} +275 -48
- package/dist/getNetworkProviderFromNetworkId-COHxfpo-.esm.js.map +1 -0
- package/dist/{getNetworkProviderFromNetworkId-COxYamJy.cjs.js → getNetworkProviderFromNetworkId-ClfETwqS.cjs.js} +304 -53
- package/dist/getNetworkProviderFromNetworkId-ClfETwqS.cjs.js.map +1 -0
- package/dist/{getSignedSessionId-_vjv5TNw.esm.js → getSignedSessionId-B6ry-rvs.esm.js} +3 -3
- package/dist/{getSignedSessionId-_vjv5TNw.esm.js.map → getSignedSessionId-B6ry-rvs.esm.js.map} +1 -1
- package/dist/{getSignedSessionId-D7uV3dw0.cjs.js → getSignedSessionId-Bkw9TATj.cjs.js} +3 -3
- package/dist/{getSignedSessionId-D7uV3dw0.cjs.js.map → getSignedSessionId-Bkw9TATj.cjs.js.map} +1 -1
- package/dist/getSignedSessionId-C58DvQAd.native.esm.js +67 -0
- package/dist/getSignedSessionId-C58DvQAd.native.esm.js.map +1 -0
- package/dist/{getVerifiedCredentialForWalletAccount-Df_wN20i.cjs.js → getVerifiedCredentialForWalletAccount-DEiU9FZG.cjs.js} +11 -10
- package/dist/getVerifiedCredentialForWalletAccount-DEiU9FZG.cjs.js.map +1 -0
- package/dist/{getVerifiedCredentialForWalletAccount-Y-aJ2rY7.esm.js → getVerifiedCredentialForWalletAccount-DP4VQBly.esm.js} +10 -9
- package/dist/getVerifiedCredentialForWalletAccount-DP4VQBly.esm.js.map +1 -0
- package/dist/getVerifiedCredentialForWalletAccount-d_bHvLLE.native.esm.js +784 -0
- package/dist/getVerifiedCredentialForWalletAccount-d_bHvLLE.native.esm.js.map +1 -0
- package/dist/index.cjs.js +143 -320
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +139 -316
- package/dist/index.esm.js.map +1 -1
- package/dist/index.native.esm.js +6799 -0
- package/dist/index.native.esm.js.map +1 -0
- package/dist/isMfaRequiredForAction-Cjbuyen3.native.esm.js +89 -0
- package/dist/isMfaRequiredForAction-Cjbuyen3.native.esm.js.map +1 -0
- package/dist/{isMfaRequiredForAction-Cc6jkbY5.esm.js → isMfaRequiredForAction-D8GPFYzv.esm.js} +2 -2
- package/dist/{isMfaRequiredForAction-Cc6jkbY5.esm.js.map → isMfaRequiredForAction-D8GPFYzv.esm.js.map} +1 -1
- package/dist/{isMfaRequiredForAction-cfGmMd_g.cjs.js → isMfaRequiredForAction-mZub0YwI.cjs.js} +2 -2
- package/dist/{isMfaRequiredForAction-cfGmMd_g.cjs.js.map → isMfaRequiredForAction-mZub0YwI.cjs.js.map} +1 -1
- package/dist/modules/auth/decodeJwt/decodeJwt.d.ts.map +1 -1
- package/dist/modules/auth/externalAuth/requestExternalAuthElevatedToken/requestExternalAuthElevatedToken.d.ts.map +1 -1
- package/dist/modules/auth/externalAuth/signInWithExternalJwt/signInWithExternalJwt.d.ts +0 -1
- package/dist/modules/auth/externalAuth/signInWithExternalJwt/signInWithExternalJwt.d.ts.map +1 -1
- package/dist/modules/auth/extractSessionId/extractSessionId.d.ts.map +1 -1
- package/dist/modules/auth/initializeAuth/initializeAuth.d.ts +1 -1
- package/dist/modules/auth/initializeAuth/setLongTimeout/setLongTimeout.d.ts +8 -2
- package/dist/modules/auth/initializeAuth/setLongTimeout/setLongTimeout.d.ts.map +1 -1
- package/dist/modules/auth/logout/logout.d.ts +1 -1
- package/dist/modules/auth/logout/logout.d.ts.map +1 -1
- package/dist/modules/auth/logoutReason.d.ts +4 -7
- package/dist/modules/auth/logoutReason.d.ts.map +1 -1
- package/dist/modules/auth/logoutWithReason/index.d.ts +2 -0
- package/dist/modules/auth/logoutWithReason/index.d.ts.map +1 -0
- package/dist/modules/auth/logoutWithReason/logoutWithReason.d.ts +24 -0
- package/dist/modules/auth/logoutWithReason/logoutWithReason.d.ts.map +1 -0
- package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts +7 -4
- package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts.map +1 -1
- package/dist/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/buildOAuthUrl.d.ts.map +1 -1
- package/dist/modules/auth/social/removeDynamicOauthParamsFromUrl/removeDynamicOauthParamsFromUrl.d.ts.map +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/normalizeScopes/normalizeScopes.d.ts.map +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/parseElevatedAccessToken/parseElevatedAccessToken.d.ts +6 -4
- package/dist/modules/auth/updateAuthFromVerifyResponse/elevatedAccessTokens/parseElevatedAccessToken/parseElevatedAccessToken.d.ts.map +1 -1
- package/dist/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
- package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts +34 -6
- package/dist/modules/checkout/attachCheckoutTransactionSource/attachCheckoutTransactionSource.d.ts.map +1 -1
- package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts +11 -3
- package/dist/modules/checkout/broadcastCheckoutTransaction/broadcastCheckoutTransaction.d.ts.map +1 -1
- package/dist/modules/checkout/checkout.types.d.ts +1 -0
- package/dist/modules/checkout/checkout.types.d.ts.map +1 -1
- package/dist/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.d.ts +7 -3
- package/dist/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.d.ts.map +1 -1
- package/dist/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.d.ts.map +1 -1
- package/dist/modules/checkout/utils/subscribeToCheckoutTransaction/subscribeToCheckoutTransaction.d.ts.map +1 -1
- package/dist/modules/initializeClient/initializeClient.d.ts.map +1 -1
- package/dist/modules/instrumentation/setInstrumentationEnabled/setInstrumentationEnabled.d.ts +6 -2
- package/dist/modules/instrumentation/setInstrumentationEnabled/setInstrumentationEnabled.d.ts.map +1 -1
- package/dist/modules/keychainMigration/migrateSessionKeyToKeychain/KeyMigrationError.d.ts.map +1 -1
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/shouldFilterWallet/shouldFilterWallet.d.ts +9 -5
- package/dist/modules/legacyWalletBook/getWalletConnectCatalog/shouldFilterWallet/shouldFilterWallet.d.ts.map +1 -1
- package/dist/modules/otp/sendEmailOTP/sendEmailOTP.d.ts +0 -1
- package/dist/modules/otp/sendEmailOTP/sendEmailOTP.d.ts.map +1 -1
- package/dist/modules/otp/sendSmsOTP/sendSmsOTP.d.ts +0 -1
- package/dist/modules/otp/sendSmsOTP/sendSmsOTP.d.ts.map +1 -1
- package/dist/modules/storageSync/schema.d.ts.map +1 -1
- package/dist/modules/user/deleteUser/deleteUser.d.ts +1 -1
- package/dist/modules/user/updateUser/updateUser.d.ts +0 -1
- package/dist/modules/user/updateUser/updateUser.d.ts.map +1 -1
- package/dist/modules/waas/createWaasClient/createWaasClient.d.ts.map +1 -1
- package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
- package/dist/modules/waas/getWaasChainNameFromChain/getWaasChainNameFromChain.d.ts.map +1 -1
- package/dist/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.d.ts.map +1 -1
- package/dist/modules/wallets/networks/getSdkChainFromApiChainName/getSdkChainFromApiChainName.d.ts.map +1 -1
- package/dist/modules/wallets/utils/assertWalletProviderMethodDefined/assertWalletProviderMethodDefined.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.d.ts.map +1 -1
- package/dist/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.d.ts.map +1 -1
- package/dist/modules/wallets/utils/isSameAddress/isSameAddress.d.ts +9 -1
- package/dist/modules/wallets/utils/isSameAddress/isSameAddress.d.ts.map +1 -1
- package/dist/modules/wallets/utils/normalizeAddress/normalizeAddress.d.ts +7 -1
- package/dist/modules/wallets/utils/normalizeAddress/normalizeAddress.d.ts.map +1 -1
- package/dist/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.d.ts.map +1 -1
- package/dist/modules/wallets/walletProvider/splitWalletProviderKey/splitWalletProviderKey.d.ts.map +1 -1
- package/dist/services/instrumentation/createInstrumentation/createInstrumentation.d.ts.map +1 -1
- package/dist/services/instrumentation/instrumentFunction/extractParams/extractParams.d.ts.map +1 -1
- package/dist/services/keychain/createKeychainService/ImportKeyNotSupportedError.d.ts +5 -0
- package/dist/services/keychain/createKeychainService/ImportKeyNotSupportedError.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/KeyNotFoundError.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/createKeychainService.d.ts +4 -0
- package/dist/services/keychain/createKeychainService/createKeychainService.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/createKeychainService.types.d.ts +11 -0
- package/dist/services/keychain/createKeychainService/createKeychainService.types.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/index.d.ts +2 -0
- package/dist/services/keychain/createKeychainService/index.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/constants.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/deleteIndexedDBItem.d.ts +9 -0
- package/dist/services/keychain/createKeychainService/utils/deleteIndexedDBItem.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/getIndexedDBItem.d.ts +10 -0
- package/dist/services/keychain/createKeychainService/utils/getIndexedDBItem.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/openDatabase.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/setIndexedDBItem.d.ts +10 -0
- package/dist/services/keychain/createKeychainService/utils/setIndexedDBItem.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/withDatabase/index.d.ts.map +1 -0
- package/dist/services/keychain/createKeychainService/utils/withDatabase/withDatabase.d.ts.map +1 -0
- package/dist/services/keychain/index.d.ts +1 -1
- package/dist/services/keychain/index.d.ts.map +1 -1
- package/dist/services/logger/createLogger/createLogger.d.ts.map +1 -1
- package/dist/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.d.ts +11 -0
- package/dist/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.d.ts.map +1 -0
- package/dist/services/nativeManifest/getReactNativeManifest/index.d.ts +2 -0
- package/dist/services/nativeManifest/getReactNativeManifest/index.d.ts.map +1 -0
- package/dist/services/nativeManifest/nativeManifest.types.d.ts +14 -0
- package/dist/services/nativeManifest/nativeManifest.types.d.ts.map +1 -0
- package/dist/services/realtime/createRealtimeService/createRealtimeService.d.ts.map +1 -1
- package/dist/services/realtime/realtime.types.d.ts +1 -0
- package/dist/services/realtime/realtime.types.d.ts.map +1 -1
- package/dist/services/runtimeServices/createRuntimeServiceAccessKey/createRuntimeServiceAccessKey.d.ts.map +1 -1
- package/dist/services/runtimeServices/createRuntimeServices/createRuntimeServices.d.ts.map +1 -1
- package/dist/services/storage/createLocalStorageAdapter/createLocalStorageAdapter.d.ts +2 -2
- package/dist/services/storage/createStorage/createStorage.d.ts +4 -2
- package/dist/services/storage/createStorage/createStorage.d.ts.map +1 -1
- package/dist/services/storage/createStorage/formatForStorage/isValidDateISOString/isValidDateISOString.d.ts.map +1 -1
- package/dist/services/storage/createStorageKeySchema/createStorageKeySchema.d.ts +2 -1
- package/dist/services/storage/createStorageKeySchema/createStorageKeySchema.d.ts.map +1 -1
- package/dist/services/storage/index.d.ts +1 -1
- package/dist/services/storage/index.d.ts.map +1 -1
- package/dist/services/storage/storage.types.d.ts +27 -3
- package/dist/services/storage/storage.types.d.ts.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/utils/assertDefined/assertDefined.d.ts.map +1 -1
- package/dist/utils/base64UrlDecode/base64UrlDecode.d.ts.map +1 -1
- package/dist/utils/base64urlFromBytes/base64urlFromBytes.d.ts +8 -0
- package/dist/utils/base64urlFromBytes/base64urlFromBytes.d.ts.map +1 -0
- package/dist/utils/base64urlFromBytes/index.d.ts +2 -0
- package/dist/utils/base64urlFromBytes/index.d.ts.map +1 -0
- package/dist/utils/bytesFromBase64url/bytesFromBase64url.d.ts +8 -0
- package/dist/utils/bytesFromBase64url/bytesFromBase64url.d.ts.map +1 -0
- package/dist/utils/bytesFromBase64url/index.d.ts +2 -0
- package/dist/utils/bytesFromBase64url/index.d.ts.map +1 -0
- package/dist/utils/derToP1363/InvalidDERSignatureError.d.ts +5 -0
- package/dist/utils/derToP1363/InvalidDERSignatureError.d.ts.map +1 -0
- package/dist/utils/derToP1363/derToP1363.d.ts +8 -0
- package/dist/utils/derToP1363/derToP1363.d.ts.map +1 -0
- package/dist/utils/derToP1363/index.d.ts +2 -0
- package/dist/utils/derToP1363/index.d.ts.map +1 -0
- package/dist/utils/digestSHA256/digestSHA256.d.ts.map +1 -1
- package/dist/utils/getChainFromVerifiedCredentialChain/getChainFromVerifiedCredentialChain.d.ts.map +1 -1
- package/dist/utils/isEqualShallow/isEqualShallow.d.ts.map +1 -1
- package/dist/utils/isErrorWithCode/isErrorWithCode.d.ts.map +1 -1
- package/dist/utils/isMobile/isMobile.d.ts.map +1 -1
- package/dist/utils/observable/createObservableState/createObservableState.d.ts.map +1 -1
- package/dist/utils/observable/subscribeWithSelector/subscribeWithSelector.d.ts.map +1 -1
- package/dist/utils/randomString/randomString.d.ts +1 -1
- package/dist/utils/randomString/randomString.d.ts.map +1 -1
- package/dist/utils/retryOnFail/InvalidRetryOnFailCallError.d.ts.map +1 -1
- package/dist/utils/setCookie/setCookie.d.ts.map +1 -1
- package/dist/waas.cjs.js +4 -4
- package/dist/waas.esm.js +3 -3
- package/dist/waas.native.esm.js +506 -0
- package/dist/waas.native.esm.js.map +1 -0
- package/dist/waasCore.cjs.js +7 -5
- package/dist/waasCore.cjs.js.map +1 -1
- package/dist/waasCore.esm.js +6 -4
- package/dist/waasCore.esm.js.map +1 -1
- package/dist/waasCore.native.esm.js +253 -0
- package/dist/waasCore.native.esm.js.map +1 -0
- package/dynamic-labs-sdk-client.podspec +27 -0
- package/ios/Keychain.h +4 -0
- package/ios/Keychain.mm +101 -0
- package/ios/ReactNativeManifest.h +4 -0
- package/ios/ReactNativeManifest.mm +45 -0
- package/ios/ReactNativeManifestImpl.swift +20 -0
- package/ios/SecureEnclaveKeyManager.swift +180 -0
- package/package.json +40 -6
- package/react-native.config.cjs +14 -0
- package/dist/InvalidParamError-9IR2C0up.cjs.js.map +0 -1
- package/dist/InvalidParamError-Bq5zAFj4.esm.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-C4aba1hS.esm.js.map +0 -1
- package/dist/getNetworkProviderFromNetworkId-COxYamJy.cjs.js.map +0 -1
- package/dist/getVerifiedCredentialForWalletAccount-Df_wN20i.cjs.js.map +0 -1
- package/dist/getVerifiedCredentialForWalletAccount-Y-aJ2rY7.esm.js.map +0 -1
- package/dist/modules/auth/handleSessionExpiration/handleSessionExpiration.d.ts +0 -11
- package/dist/modules/auth/handleSessionExpiration/handleSessionExpiration.d.ts.map +0 -1
- package/dist/modules/auth/handleSessionExpiration/index.d.ts +0 -2
- package/dist/modules/auth/handleSessionExpiration/index.d.ts.map +0 -1
- package/dist/modules/auth/performLogout/index.d.ts +0 -2
- package/dist/modules/auth/performLogout/index.d.ts.map +0 -1
- package/dist/modules/auth/performLogout/performLogout.d.ts +0 -12
- package/dist/modules/auth/performLogout/performLogout.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/KeyNotFoundError.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/createIndexedDBKeychainService.d.ts +0 -8
- package/dist/services/keychain/createIndexedDBKeychainService/createIndexedDBKeychainService.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/createIndexedDBKeychainService.types.d.ts +0 -6
- package/dist/services/keychain/createIndexedDBKeychainService/createIndexedDBKeychainService.types.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/index.d.ts +0 -2
- package/dist/services/keychain/createIndexedDBKeychainService/index.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/constants.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/deleteIndexedDBItem.d.ts +0 -3
- package/dist/services/keychain/createIndexedDBKeychainService/utils/deleteIndexedDBItem.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/getIndexedDBItem.d.ts +0 -4
- package/dist/services/keychain/createIndexedDBKeychainService/utils/getIndexedDBItem.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/openDatabase.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/setIndexedDBItem.d.ts +0 -4
- package/dist/services/keychain/createIndexedDBKeychainService/utils/setIndexedDBItem.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/withDatabase/index.d.ts.map +0 -1
- package/dist/services/keychain/createIndexedDBKeychainService/utils/withDatabase/withDatabase.d.ts.map +0 -1
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/KeyNotFoundError.d.ts +0 -0
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/utils/constants.d.ts +0 -0
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/utils/openDatabase.d.ts +0 -0
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/utils/withDatabase/index.d.ts +0 -0
- /package/dist/services/keychain/{createIndexedDBKeychainService → createKeychainService}/utils/withDatabase/withDatabase.d.ts +0 -0
package/dist/core.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.esm.js","names":["createStorageKeySchema","getNetworkId: LastKnownNetworkRegistry['getNetworkId']","getNetworkProviders","setNetworkId: LastKnownNetworkRegistry['setNetworkId']","createRuntimeServiceAccessKey","target: unknown","providers: T[]","target: unknown","getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry","switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry","packageName","packageVersion"],"sources":["../src/errors/ClientsDoNotMatchError.ts","../src/errors/MethodNotImplementedError.ts","../src/errors/MultipleClientsFoundError.ts","../src/modules/extension/registerExtension/registerExtension.ts","../src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts","../src/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.ts","../src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts","../src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts","../src/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.ts","../src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.ts","../src/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.ts","../src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.ts","../src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.ts","../src/utils/bufferToBase64/bufferToBase64.ts","../src/utils/filterDuplicates/filterDuplicates.ts","../src/utils/parseAmountToSmallestUnit/parseAmountToSmallestUnit.ts","../src/exports/core.ts"],"sourcesContent":["import { BaseError } from './base';\n\nexport class ClientsDoNotMatchError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'clients_do_not_match_error',\n docsUrl: null,\n name: 'ClientsDoNotMatchError',\n shortMessage: 'Clients do not match',\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class MethodNotImplementedError extends BaseError {\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 { BaseError } from './base';\n\nexport class MultipleClientsFoundError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'multiple_clients_found_error',\n docsUrl: null,\n name: 'MultipleClientsFoundError',\n shortMessage:\n 'Multiple Dynamic clients have been initialized. Please provide the intended client for this action explicitly',\n });\n }\n}\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\n\ntype RegisterExtensionParams = {\n extensionKey: string;\n};\n\n/**\n * Registers an extension to the client.\n *\n * Other extensions can be aware of which extensions are present,\n * and allows creating dependencies between extensions.\n *\n * @param client - The client instance.\n * @param extensionKey - The key of the extension to register.\n * @returns The client instance.\n * @instrumented\n */\nexport const registerExtension = (\n { extensionKey }: RegisterExtensionParams,\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n core.extensions.add(extensionKey);\n};\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { assertDefined } from '../../../utils/assertDefined';\nimport { FETCH_PROJECT_SETTINGS_TRACKER_KEY } from '../consts';\n\n/** @instrumented */\nexport const waitForProjectSettings = async (client: DynamicClient) => {\n const core = getCore(client);\n\n const projectSettingsTracker = core.initTrack.getTracker<void>(\n FETCH_PROJECT_SETTINGS_TRACKER_KEY\n );\n\n assertDefined(projectSettingsTracker, 'Project settings tracker not found');\n\n await projectSettingsTracker.promise;\n\n assertDefined(\n client.projectSettings,\n 'Project settings still not available after awaiting its tracker'\n );\n\n return client.projectSettings;\n};\n","import type { Chain } from '../../../chain';\nimport type {\n BaseNetworkProvider,\n NetworkData,\n} from '../networkProvider/networkProvider.types';\n\n/** @instrumented */\nexport const createBaseNetworkProvider = <TChain extends Chain = Chain>(\n chain: TChain,\n networkData: NetworkData\n): Omit<BaseNetworkProvider<TChain>, 'getBalance'> => ({\n blockExplorerUrls: networkData.blockExplorerUrls,\n chain,\n displayName: networkData.displayName,\n iconUrl: networkData.iconUrl,\n id: `${chain}-${networkData.networkId}`,\n name: networkData.name,\n nativeCurrency: networkData.nativeCurrency,\n networkId: networkData.networkId,\n rpcUrls: networkData.rpcUrls,\n testnet: networkData.testnet,\n});\n","import type { DynamicClient } from '../../../../client/types';\nimport type { Chain } from '../../../chain';\nimport { getNetworksData } from '../getNetworksData';\nimport type { NetworkData } from '../networkProvider/networkProvider.types';\n\ntype GetNetworkDataForNetworkIdProps = {\n chain: Chain;\n networkId: string;\n};\n\n/** @instrumented */\nexport const getNetworkDataForNetworkId = (\n { networkId, chain }: GetNetworkDataForNetworkIdProps,\n client: DynamicClient\n): NetworkData | undefined => {\n const networksData = getNetworksData(client);\n\n const networkData = networksData.find(\n (networkData) =>\n networkData.networkId === networkId && networkData.chain === chain\n );\n\n return networkData;\n};\n","import * as z from 'zod/mini';\n\nimport { createStorageKeySchema } from '../../../../../services/storage';\n\nexport const networkRegistryStorageKeySchema = createStorageKeySchema({\n key: 'lastKnownNetworkRegistry',\n schema: z.record(z.string(), z.string()),\n});\n","import { getCore } from '../../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../../client/types';\nimport { NoNetworkProvidersError } from '../../../../../errors/NoNetworkProvidersError';\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport { getWalletProviderByKey } from '../../../getWalletProviderByKey';\nimport { getNetworkProviders } from '../../getNetworkProviders';\nimport type { LastKnownNetworkRegistry } from '../LastKnownNetworkRegistry.types';\nimport { networkRegistryStorageKeySchema } from './schema';\n\n/**\n * Creates the registry that keeps tabs on which wallet provider is\n * connected to which network.\n *\n * Reminder that this will not be used for chains that have an internal way to\n * switch networks (ex EVM).\n * @not-instrumented\n */\nexport const createLastKnownNetworkRegistry = (\n client: DynamicClient\n): LastKnownNetworkRegistry => {\n const core = getCore(client);\n\n const walletProviderKeyToNetworkId = new Map<string, string>();\n\n const getNetworkId: LastKnownNetworkRegistry['getNetworkId'] = async ({\n walletProviderKey,\n }) => {\n // Priorities:\n // 1. In memory\n // 2. Storage\n // 3. First available network for this wallet's chain\n\n if (walletProviderKeyToNetworkId.has(walletProviderKey)) {\n return {\n networkId: walletProviderKeyToNetworkId.get(\n walletProviderKey\n ) as string,\n };\n }\n\n const storageRecords = await core.storage.getItem(\n networkRegistryStorageKeySchema\n );\n\n if (storageRecords && storageRecords[walletProviderKey]) {\n const networkId = storageRecords[walletProviderKey];\n\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n return { networkId };\n }\n\n const walletProvider = getWalletProviderByKey(\n { walletProviderKey },\n client\n );\n\n const networkProviders = getNetworkProviders(client);\n\n if (networkProviders.length === 0) {\n throw new NoNetworkProvidersError();\n }\n\n const defaultNetworkProvider = networkProviders.find(\n (networkProvider) => networkProvider.chain === walletProvider.chain\n );\n\n assertDefined(\n defaultNetworkProvider,\n `No networks found for chain ${walletProvider.chain}`\n );\n\n walletProviderKeyToNetworkId.set(\n walletProviderKey,\n defaultNetworkProvider.networkId\n );\n\n // No need to set in storage, as we're just falling back to the default\n return { networkId: defaultNetworkProvider.networkId };\n };\n\n const setNetworkId: LastKnownNetworkRegistry['setNetworkId'] = async ({\n networkId,\n walletProviderKey,\n }) => {\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n await core.storage.setItem(\n networkRegistryStorageKeySchema,\n Object.fromEntries(walletProviderKeyToNetworkId.entries())\n );\n };\n\n return { getNetworkId, setNetworkId };\n};\n","import { createRuntimeServiceAccessKey } from '../../../../../services/runtimeServices';\nimport { createLastKnownNetworkRegistry } from '../createLastKnownNetworkRegistry';\n\nexport const getLastKnownNetworkRegistry = createRuntimeServiceAccessKey(\n 'last-known-network-registry',\n (client) => createLastKnownNetworkRegistry(client)\n);\n","/** @not-instrumented */\nexport const formatWalletProviderGroupKey = (walletName: string): string =>\n walletName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n","/* eslint-disable no-restricted-globals */\n\n/**\n * Retrieves all providers from a window path.\n *\n * Unlike getInjectedProviderFromWindow which returns only the first provider,\n * this function returns ALL providers found at the path, including those\n * in a .providers array if present.\n *\n * This is particularly useful for detecting wallet providers in wallet app\n * in-app browsers, where wallets inject their provider into the window object.\n *\n * @param path - Dot-separated path to traverse (e.g., \"ethereum\")\n * @returns Array of all providers found, or empty array if none\n * @not-instrumented\n */\nexport const getAllProvidersFromWindow = <T = unknown>(path: string): T[] => {\n if (typeof window === 'undefined') {\n return [];\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return [];\n }\n\n if (Array.isArray(target)) {\n return target as T[];\n }\n\n const providers: T[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n // If target has a .providers array, return all providers from it\n if (providersArray && Array.isArray(providersArray)) {\n providers.push(...(providersArray as T[]));\n }\n\n // Always include the target itself as a provider (if it's not just a container)\n // This handles the case where window.ethereum is both a provider AND has a providers array\n providers.push(target as T);\n\n return providers;\n};\n","/* eslint-disable no-restricted-globals */\n/** @not-instrumented */\nexport const getInjectedProviderFromWindow = <T = unknown>(\n path: string\n): T | null => {\n if (typeof window === 'undefined') {\n return null;\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return null;\n }\n\n if (Array.isArray(target)) {\n return target.length > 0 ? (target[0] as T) : null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n if (providersArray && Array.isArray(providersArray)) {\n return providersArray.length > 0 ? (providersArray[0] as T) : null;\n }\n\n return target as T;\n};\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype GetActiveNetworkIdFromLastKnownRegistry = (args: {\n client: DynamicClient;\n walletProviderKey: string;\n}) => ReturnType<WalletProvider['getActiveNetworkId']>;\n\n/** @instrumented */\nexport const getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry =\n async ({ client, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n return networkRegistry.getNetworkId({ walletProviderKey });\n };\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype SwitchActiveNetworkInLastKnownRegistry = (args: {\n client: DynamicClient;\n networkId: string;\n walletProviderKey: string;\n}) => ReturnType<NonNullable<WalletProvider['switchActiveNetwork']>>;\n\n/** @instrumented */\nexport const switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry =\n async ({ client, networkId, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n await networkRegistry.setNetworkId({\n networkId,\n walletProviderKey,\n });\n };\n","import EventEmitter from 'eventemitter3';\n\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport type { WalletProvider } from '../../walletProvider.types';\nimport type { WalletProviderEvents } from '../walletProviderEvents.types';\n\ntype CreateWalletProviderEventEmitterParams<R = void> = {\n /**\n * Callback responsible for removing the listeners from the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n * @instrumented\n */\n removeEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n /**\n * Value returned by setupEventListeners, particularly useful for cleaning up the event listeners\n */\n setupReturnValue: R;\n }) => void;\n /**\n * Callback responsible for connecting the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n *\n * @returns May return a value that will be later passed to removeEventListeners as `setupReturnValue`\n */\n setupEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n }) => R;\n /**\n * List of events that the wallet provider supports listening to.\n * Defaults to all events.\n */\n supportedEvents?: (keyof WalletProviderEvents)[];\n};\n\n/**\n * Takes a callback that registers handlers for the external wallet provider.\n * Returns both a getter of an eventEmitter that can be exposed via the wallet provider\n * and a callback that will be used to destroy the listeners.\n * @not-instrumented\n */\nexport const createWalletProviderEventEmitter = <R = void>({\n removeEventListeners,\n setupEventListeners,\n supportedEvents = ['accountsChanged', 'disconnected', 'networkChanged'],\n}: CreateWalletProviderEventEmitterParams<R>) => {\n let eventEmitter: EventEmitter<WalletProviderEvents> | undefined;\n\n /** Value returned by setupEventListeners */\n let setupReturnValue: R;\n\n const handleAccountsChanged = (params: { addresses: string[] }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('accountsChanged', params);\n };\n\n const handleDisconnected = () => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('disconnected');\n };\n\n const handleNetworkChanged = (params: { networkId: string }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('networkChanged', params);\n };\n\n const cleanupEventEmitter = () => {\n if (!eventEmitter) {\n return;\n }\n\n removeEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n setupReturnValue,\n });\n\n eventEmitter = undefined;\n };\n\n const getEventEmitter = (): WalletProvider['events'] => {\n if (!eventEmitter) {\n eventEmitter = new EventEmitter<WalletProviderEvents>();\n\n setupReturnValue = setupEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n });\n }\n\n return Object.assign(eventEmitter, { supportedEvents });\n };\n\n return {\n cleanupEventEmitter,\n getEventEmitter,\n };\n};\n","import { getBuffer } from \"../getBuffer\";\n\n/** @not-instrumented */\nexport const bufferToBase64 = (buf: Uint8Array): string => {\n const binstr = Array.prototype.map\n .call(buf, (ch: number) => String.fromCharCode(ch))\n .join('');\n return getBuffer().from(binstr, 'binary').toString('base64');\n};\n","/**\n * Filter duplicates from an array by equality.\n * Uses a Set internally.\n * @not-instrumented\n */\nexport const filterDuplicates = <T>(array: T[]): T[] =>\n Array.from(new Set(array));\n","type ParseAmountToSmallestUnitParams = {\n amount: string;\n decimals: number;\n};\n\n/**\n * Converts a human-readable decimal amount string to the smallest unit\n * representation as a bigint, using string-based arithmetic to avoid\n * floating-point precision loss.\n *\n * @example\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 9 }) // 1500000000n (1.5 SOL in lamports)\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 8 }) // 150000000n (1.5 BTC in satoshis)\n * parseAmountToSmallestUnit({ amount: '10.5', decimals: 6 }) // 10500000n (10.5 USDC)\n * parseAmountToSmallestUnit({ amount: '0.1', decimals: 9 }) // 100000000n (no float error)\n *\n * @param params.amount - The amount as a decimal string (e.g. \"1.5\").\n * @param params.decimals - The number of decimal places for the token.\n * @returns The amount in smallest units as a bigint.\n * @not-instrumented\n */\nexport const parseAmountToSmallestUnit = ({\n amount,\n decimals,\n}: ParseAmountToSmallestUnitParams): bigint => {\n const [whole = '0', fraction = ''] = amount.split('.');\n const paddedFraction = fraction.padEnd(decimals, '0').slice(0, decimals);\n return BigInt(whole + paddedFraction);\n};\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\n/**\n * @categoryDescription Extension Development\n * Core utilities and functions for building Dynamic SDK extensions.\n * These APIs provide low-level access to the SDK internals and are intended\n * for advanced use cases and extension development. Most applications should\n * use the higher-level APIs exported from the main SDK package instead.\n */\n\n/** @category Extension Development */\nexport { getCore } from '../client/core/getCore';\n/** @category Extension Development */\nexport type { DynamicCore, DynamicCoreState } from '../client/core/types';\n/** @category Extension Development */\nexport { getDefaultClient } from '../client/defaultClient';\n/** @category Extension Development */\nexport { APIError } from '../errors/APIError';\n/** @category Extension Development */\nexport { CannotTrackError } from '../errors/CannotTrackError';\n/** @category Extension Development */\nexport { ClientNotFoundError } from '../errors/ClientNotFoundError';\n/** @category Extension Development */\nexport { ClientsDoNotMatchError } from '../errors/ClientsDoNotMatchError';\n/** @category Extension Development */\nexport { InvalidStorageSet } from '../errors/InvalidStorageSet';\n/** @category Extension Development */\nexport { InvalidWalletProviderKeyError } from '../errors/InvalidWalletProviderKeyError';\n/** @category Extension Development */\nexport { MethodNotImplementedError } from '../errors/MethodNotImplementedError';\n/** @category Extension Development */\nexport { MultipleClientsFoundError } from '../errors/MultipleClientsFoundError';\n/** @category Extension Development */\nexport { NoWalletProviderFoundError } from '../errors/NoWalletProviderFoundError';\n/** @category Extension Development */\nexport { ValueMustBeDefinedError } from '../errors/ValueMustBeDefinedError';\n/** @category Extension Development */\nexport { createApiClient, DYNAMIC_SDK_API_VERSION } from '../modules/apiClient';\n/** @category Extension Development */\nexport { createVisit } from '../modules/auth/createVisit';\n/** @category Extension Development */\nexport { updateAuthFromVerifyResponse } from '../modules/auth/updateAuthFromVerifyResponse';\n/** @category Extension Development */\nexport { consumeCaptchaToken } from '../modules/captcha/consumeCaptchaToken';\n/** @category Extension Development */\nexport { setCaptchaToken } from '../modules/captcha/setCaptchaToken';\n/** @category Extension Development */\nexport { emitEvent } from '../modules/clientEvents';\n/** @category Extension Development */\nexport { hasExtension } from '../modules/extension/hasExtension';\n/** @category Extension Development */\nexport { registerExtension } from '../modules/extension/registerExtension';\n/** @category Extension Development */\nexport { waitForProjectSettings } from '../modules/initializeClient/waitForProjectSettings';\n/** @category Extension Development */\nexport { consumeMfaTokenIfRequiredForAction } from '../modules/mfa/consumeMfaTokenIfRequiredForAction';\n/** @category Extension Development */\nexport { isCookieEnabled } from '../modules/projectSettings/isCookieEnabled';\n/** @category Extension Development */\nexport { generateSessionKeys } from '../modules/sessionKeys/generateSessionKeys/generateSessionKeys';\n/** @category Extension Development */\nexport { getSessionKeys } from '../modules/sessionKeys/getSessionKeys';\n/** @category Extension Development */\nexport { getSignedSessionId } from '../modules/sessionKeys/getSignedSessionId';\n/** @category Extension Development */\nexport type { SessionKeys } from '../modules/sessionKeys/sessionKeys.types';\n/** @category Extension Development */\nexport { CHAINS_INFO_MAP } from '../modules/wallets/constants';\n/** @category Extension Development */\nexport { emitWalletAccountsChangedEvent } from '../modules/wallets/emitWalletAccountsChangedEvent';\n/** @category Extension Development */\nexport { getWalletProviders } from '../modules/wallets/getWalletProviders';\n/** @category Extension Development */\nexport { createBaseNetworkProvider } from '../modules/wallets/networks/createBaseNetworkProvider';\n/** @category Extension Development */\nexport { getNetworkDataForNetworkId } from '../modules/wallets/networks/getNetworkDataForNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviderFromNetworkId } from '../modules/wallets/networks/getNetworkProviderFromNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviders } from '../modules/wallets/networks/getNetworkProviders';\n/** @category Extension Development */\nexport { getLastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry';\n/** @category Extension Development */\nexport type { LastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/LastKnownNetworkRegistry.types';\n/** @category Extension Development */\nexport type { BaseNetworkProvider } from '../modules/wallets/networks/networkProvider/networkProvider.types';\n/** @category Extension Development */\nexport {\n getNetworkProviderBuilderRegistry,\n type NetworkProviderBuilder,\n type NetworkProviderBuilderRegistry,\n} from '../modules/wallets/networks/networkProviderBuilderRegistry';\n/** @category Extension Development */\nexport { removeUnverifiedWalletAccount } from '../modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount';\nexport { setUnverifiedWalletAccounts } from '../modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts';\n/** @category Extension Development */\nexport { formatSignInMessage } from '../modules/wallets/utils/formatSignInMessage';\n/** @category Extension Development */\nexport { formatWalletAccountId } from '../modules/wallets/utils/formatWalletAccountId';\n/** @category Extension Development */\nexport { formatWalletProviderGroupKey } from '../modules/wallets/utils/formatWalletProviderGroupKey';\n/** @category Extension Development */\nexport { formatWalletProviderKey } from '../modules/wallets/utils/formatWalletProviderKey';\n/** @category Extension Development */\nexport { getAllProvidersFromWindow } from '../modules/wallets/utils/getAllProvidersFromWindow';\n/** @category Extension Development */\nexport { getInjectedProviderFromWindow } from '../modules/wallets/utils/getInjectedProviderFromWindow';\n/** @category Extension Development */\nexport { getVerifiedCredentialForWalletAccount } from '../modules/wallets/utils/getVerifiedCredentialForWalletAccount';\n/** @category Extension Development */\nexport { getWalletProviderFromWalletAccount } from '../modules/wallets/utils/getWalletProviderFromWalletAccount';\n/** @category Extension Development */\nexport { normalizeWalletNameWithChain } from '../modules/wallets/utils/normalizeWalletNameWithChain';\n/** @category Extension Development */\nexport { verifyMessageSignatureOwnership } from '../modules/wallets/verifyMessageSignatureOwnership';\n/** @category Extension Development */\nexport type { BaseWalletAccount } from '../modules/wallets/walletAccount';\n/** @category Extension Development */\nexport type {\n ConfirmTransactionParams,\n ExecuteSwapTransactionParams,\n ExecuteSwapTransactionResult,\n TransferAmountParams,\n WalletProvider,\n WalletProviderConnectAddress,\n} from '../modules/wallets/walletProvider';\n/** @category Extension Development */\nexport { getActiveNetworkIdFromLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry';\n/** @category Extension Development */\nexport { switchActiveNetworkInLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry';\n/** @category Extension Development */\nexport { createWalletProviderEventEmitter } from '../modules/wallets/walletProvider/events/createWalletProviderEventEmitter';\n/** @category Extension Development */\nexport { splitWalletProviderKey } from '../modules/wallets/walletProvider/splitWalletProviderKey';\n/** @category Extension Development */\nexport {\n getWalletProviderRegistry,\n WalletProviderPriority,\n} from '../modules/wallets/walletProviderRegistry';\n/** @category Extension Development */\nexport type {\n AsyncProcessEntry,\n AsyncProcessStatus,\n AsyncTrack,\n AsyncTrackEmitter,\n} from '../services/asyncTrack/asyncTrack.types';\n/** @category Extension Development */\nexport { createCrossTabBroadcast } from '../services/crossTabBroadcast/createCrossTabBroadcast';\n/** @category Extension Development */\nexport type {\n CrossTabBroadcast,\n CrossTabBroadcastMessage,\n} from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { CrossTabBroadcastMessageSchema } from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { createRealtimeChannelSchema } from '../services/realtime/createRealtimeChannelSchema';\n/** @category Extension Development */\nexport { createRealtimeService } from '../services/realtime/createRealtimeService';\n/** @category Extension Development */\nexport type {\n RealtimeChannelSchema,\n RealtimeConnectionState,\n RealtimeService,\n} from '../services/realtime';\n/** @category Extension Development */\nexport { createLogger } from '../services/logger/createLogger';\n/** @category Extension Development */\nexport type { Logger, LogLevel } from '../services/logger/logger.types';\n/** @category Extension Development */\nexport { createIndexedDBKeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { KeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { PasskeyService } from '../services/passkey';\n/** @category Extension Development */\nexport {\n createRuntimeServiceAccessKey,\n type RuntimeServices,\n} from '../services/runtimeServices';\n/** @category Extension Development */\nexport {\n createLocalStorageAdapter,\n createStorage,\n createStorageKeySchema,\n type Storage,\n type StorageAdapter,\n type StorageKeySchema,\n} from '../services/storage';\n/** @category Extension Development */\nexport type { ExtendParameters } from '../types/ExtendParameters';\n/** @category Extension Development */\nexport { assertDefined } from '../utils/assertDefined';\n/** @category Extension Development */\nexport { bufferToBase64 } from '../utils/bufferToBase64';\n/** @category Extension Development */\nexport type { DebouncedMutex } from '../utils/debouncedMutex/debouncedMutex.types';\n/** @category Extension Development */\nexport { filterDuplicates } from '../utils/filterDuplicates';\n/** @category Extension Development */\nexport { getBuffer } from '../utils/getBuffer';\n/** @category Extension Development */\nexport { getChainFromVerifiedCredentialChain } from '../utils/getChainFromVerifiedCredentialChain';\n/** @category Extension Development */\nexport { getNonce } from '../utils/getNonce';\n/** @category Extension Development */\nexport { parseAmountToSmallestUnit } from '../utils/parseAmountToSmallestUnit';\n/** @category Extension Development */\nexport type { ObservableState } from '../utils/observable/observable.types';\n/** @category Extension Development */\nexport { createSignInMessageStatement } from '../modules/wallets/utils/getSignInMessage/createSignInMessageStatement';\n/** @category Extension Development */\nexport { subscribeWithSelector } from '../utils/observable/subscribeWithSelector';\n/** @category Extension Development */\nexport { updateWalletProviderKeysForVerifiedCredentials } from '../modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials';\n/** @category Extension Development */\nexport { DYNAMIC_ICONIC_SPRITE_URL } from '../constants';\n/** @category Extension Development */\nexport { createDeferredPromise } from '../utils/deferredPromise';\n/** @category Extension Development */\nexport { getDeviceSigner } from '../modules/deviceRegistration/getDeviceSigner';\n/** @category Extension Development */\nexport { getHeadersForNonceSignedByDeviceSigners } from '../modules/deviceRegistration/getHeadersForNonceSignedByDeviceSigners';\n/** @category Extension Development */\nexport { createDeviceSignatureHeadersMiddleware } from '../modules/apiClient/utils/deviceSignatureHeadersMiddleware/createDeviceSignatureHeadersMiddleware';\n/** @category Extension Development */\nexport { randomString } from '../utils/randomString';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.esm.js","names":["createStorageKeySchema","getNetworkId: LastKnownNetworkRegistry['getNetworkId']","getNetworkProviders","setNetworkId: LastKnownNetworkRegistry['setNetworkId']","createRuntimeServiceAccessKey","target: unknown","providers: T[]","target: unknown","getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry","switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry","packageName","packageVersion"],"sources":["../src/errors/ClientsDoNotMatchError.ts","../src/errors/MethodNotImplementedError.ts","../src/errors/MultipleClientsFoundError.ts","../src/modules/extension/registerExtension/registerExtension.ts","../src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts","../src/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.ts","../src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts","../src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts","../src/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.ts","../src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.ts","../src/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.ts","../src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.ts","../src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.ts","../src/utils/bufferToBase64/bufferToBase64.ts","../src/utils/filterDuplicates/filterDuplicates.ts","../src/utils/parseAmountToSmallestUnit/parseAmountToSmallestUnit.ts","../src/errors/ReactNativeOnlyError.ts","../src/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.ts","../src/exports/core.ts"],"sourcesContent":["import { BaseError } from './base';\n\nexport class ClientsDoNotMatchError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'clients_do_not_match_error',\n docsUrl: null,\n name: 'ClientsDoNotMatchError',\n shortMessage: 'Clients do not match',\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 { BaseError } from './base';\n\nexport class MultipleClientsFoundError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'multiple_clients_found_error',\n docsUrl: null,\n name: 'MultipleClientsFoundError',\n shortMessage:\n 'Multiple Dynamic clients have been initialized. Please provide the intended client for this action explicitly',\n });\n }\n}\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\n\ntype RegisterExtensionParams = {\n extensionKey: string;\n};\n\n/**\n * Registers an extension to the client.\n *\n * Other extensions can be aware of which extensions are present,\n * and allows creating dependencies between extensions.\n *\n * @param client - The client instance.\n * @param extensionKey - The key of the extension to register.\n * @returns The client instance.\n * @instrumented\n */\nexport const registerExtension = (\n { extensionKey }: RegisterExtensionParams,\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n core.extensions.add(extensionKey);\n};\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { assertDefined } from '../../../utils/assertDefined';\nimport { FETCH_PROJECT_SETTINGS_TRACKER_KEY } from '../consts';\n\n/** @instrumented */\nexport const waitForProjectSettings = async (client: DynamicClient) => {\n const core = getCore(client);\n\n const projectSettingsTracker = core.initTrack.getTracker<void>(\n FETCH_PROJECT_SETTINGS_TRACKER_KEY\n );\n\n assertDefined(projectSettingsTracker, 'Project settings tracker not found');\n\n await projectSettingsTracker.promise;\n\n assertDefined(\n client.projectSettings,\n 'Project settings still not available after awaiting its tracker'\n );\n\n return client.projectSettings;\n};\n","import type { Chain } from '../../../chain';\nimport type {\n BaseNetworkProvider,\n NetworkData,\n} from '../networkProvider/networkProvider.types';\n\n/** @instrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const createBaseNetworkProvider = <TChain extends Chain = Chain>(\n chain: TChain,\n networkData: NetworkData\n): Omit<BaseNetworkProvider<TChain>, 'getBalance'> => ({\n blockExplorerUrls: networkData.blockExplorerUrls,\n chain,\n displayName: networkData.displayName,\n iconUrl: networkData.iconUrl,\n id: `${chain}-${networkData.networkId}`,\n name: networkData.name,\n nativeCurrency: networkData.nativeCurrency,\n networkId: networkData.networkId,\n rpcUrls: networkData.rpcUrls,\n testnet: networkData.testnet,\n});\n","import type { DynamicClient } from '../../../../client/types';\nimport type { Chain } from '../../../chain';\nimport { getNetworksData } from '../getNetworksData';\nimport type { NetworkData } from '../networkProvider/networkProvider.types';\n\ntype GetNetworkDataForNetworkIdProps = {\n chain: Chain;\n networkId: string;\n};\n\n/** @instrumented */\nexport const getNetworkDataForNetworkId = (\n { networkId, chain }: GetNetworkDataForNetworkIdProps,\n client: DynamicClient\n): NetworkData | undefined => {\n const networksData = getNetworksData(client);\n\n const networkData = networksData.find(\n (networkData) =>\n networkData.networkId === networkId && networkData.chain === chain\n );\n\n return networkData;\n};\n","import * as z from 'zod/mini';\n\nimport { createStorageKeySchema } from '../../../../../services/storage';\n\nexport const networkRegistryStorageKeySchema = createStorageKeySchema({\n key: 'lastKnownNetworkRegistry',\n schema: z.record(z.string(), z.string()),\n});\n","import { getCore } from '../../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../../client/types';\nimport { NoNetworkProvidersError } from '../../../../../errors/NoNetworkProvidersError';\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport { getWalletProviderByKey } from '../../../getWalletProviderByKey';\nimport { getNetworkProviders } from '../../getNetworkProviders';\nimport type { LastKnownNetworkRegistry } from '../LastKnownNetworkRegistry.types';\nimport { networkRegistryStorageKeySchema } from './schema';\n\n/**\n * Creates the registry that keeps tabs on which wallet provider is\n * connected to which network.\n *\n * Reminder that this will not be used for chains that have an internal way to\n * switch networks (ex EVM).\n * @not-instrumented\n */\nexport const createLastKnownNetworkRegistry = (\n client: DynamicClient\n): LastKnownNetworkRegistry => {\n const core = getCore(client);\n\n const walletProviderKeyToNetworkId = new Map<string, string>();\n\n const getNetworkId: LastKnownNetworkRegistry['getNetworkId'] = async ({\n walletProviderKey,\n }) => {\n // Priorities:\n // 1. In memory\n // 2. Storage\n // 3. First available network for this wallet's chain\n\n if (walletProviderKeyToNetworkId.has(walletProviderKey)) {\n return {\n networkId: walletProviderKeyToNetworkId.get(\n walletProviderKey\n ) as string,\n };\n }\n\n const storageRecords = await core.storage.getItem(\n networkRegistryStorageKeySchema\n );\n\n if (storageRecords && storageRecords[walletProviderKey]) {\n const networkId = storageRecords[walletProviderKey];\n\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n return { networkId };\n }\n\n const walletProvider = getWalletProviderByKey(\n { walletProviderKey },\n client\n );\n\n const networkProviders = getNetworkProviders(client);\n\n if (networkProviders.length === 0) {\n throw new NoNetworkProvidersError();\n }\n\n const defaultNetworkProvider = networkProviders.find(\n (networkProvider) => networkProvider.chain === walletProvider.chain\n );\n\n assertDefined(\n defaultNetworkProvider,\n `No networks found for chain ${walletProvider.chain}`\n );\n\n walletProviderKeyToNetworkId.set(\n walletProviderKey,\n defaultNetworkProvider.networkId\n );\n\n // No need to set in storage, as we're just falling back to the default\n return { networkId: defaultNetworkProvider.networkId };\n };\n\n const setNetworkId: LastKnownNetworkRegistry['setNetworkId'] = async ({\n networkId,\n walletProviderKey,\n }) => {\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n await core.storage.setItem(\n networkRegistryStorageKeySchema,\n Object.fromEntries(walletProviderKeyToNetworkId.entries())\n );\n };\n\n return { getNetworkId, setNetworkId };\n};\n","import { createRuntimeServiceAccessKey } from '../../../../../services/runtimeServices';\nimport { createLastKnownNetworkRegistry } from '../createLastKnownNetworkRegistry';\n\nexport const getLastKnownNetworkRegistry = createRuntimeServiceAccessKey(\n 'last-known-network-registry',\n (client) => createLastKnownNetworkRegistry(client)\n);\n","/** @not-instrumented */\nexport const formatWalletProviderGroupKey = (walletName: string): string =>\n walletName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n","/* eslint-disable no-restricted-globals */\n\n/**\n * Retrieves all providers from a window path.\n *\n * Unlike getInjectedProviderFromWindow which returns only the first provider,\n * this function returns ALL providers found at the path, including those\n * in a .providers array if present.\n *\n * This is particularly useful for detecting wallet providers in wallet app\n * in-app browsers, where wallets inject their provider into the window object.\n *\n * @param path - Dot-separated path to traverse (e.g., \"ethereum\")\n * @returns Array of all providers found, or empty array if none\n * @not-instrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getAllProvidersFromWindow = <T = unknown>(path: string): T[] => {\n if (typeof window === 'undefined') {\n return [];\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return [];\n }\n\n if (Array.isArray(target)) {\n return target as T[];\n }\n\n const providers: T[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n // If target has a .providers array, return all providers from it\n if (providersArray && Array.isArray(providersArray)) {\n providers.push(...(providersArray as T[]));\n }\n\n // Always include the target itself as a provider (if it's not just a container)\n // This handles the case where window.ethereum is both a provider AND has a providers array\n providers.push(target as T);\n\n return providers;\n};\n","/* eslint-disable no-restricted-globals */\n/** @not-instrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getInjectedProviderFromWindow = <T = unknown>(\n path: string\n): T | null => {\n if (typeof window === 'undefined') {\n return null;\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return null;\n }\n\n if (Array.isArray(target)) {\n return target.length > 0 ? (target[0] as T) : null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n if (providersArray && Array.isArray(providersArray)) {\n return providersArray.length > 0 ? (providersArray[0] as T) : null;\n }\n\n return target as T;\n};\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype GetActiveNetworkIdFromLastKnownRegistry = (args: {\n client: DynamicClient;\n walletProviderKey: string;\n}) => ReturnType<WalletProvider['getActiveNetworkId']>;\n\n/** @instrumented */\nexport const getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry =\n async ({ client, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n return networkRegistry.getNetworkId({ walletProviderKey });\n };\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype SwitchActiveNetworkInLastKnownRegistry = (args: {\n client: DynamicClient;\n networkId: string;\n walletProviderKey: string;\n}) => ReturnType<NonNullable<WalletProvider['switchActiveNetwork']>>;\n\n/** @instrumented */\nexport const switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry =\n async ({ client, networkId, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n await networkRegistry.setNetworkId({\n networkId,\n walletProviderKey,\n });\n };\n","import EventEmitter from 'eventemitter3';\n\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport type { WalletProvider } from '../../walletProvider.types';\nimport type { WalletProviderEvents } from '../walletProviderEvents.types';\n\ntype CreateWalletProviderEventEmitterParams<R = void> = {\n /**\n * Callback responsible for removing the listeners from the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n * @instrumented\n */\n removeEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n /**\n * Value returned by setupEventListeners, particularly useful for cleaning up the event listeners\n */\n setupReturnValue: R;\n }) => void;\n /**\n * Callback responsible for connecting the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n *\n * @returns May return a value that will be later passed to removeEventListeners as `setupReturnValue`\n */\n setupEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n }) => R;\n /**\n * List of events that the wallet provider supports listening to.\n * Defaults to all events.\n */\n supportedEvents?: (keyof WalletProviderEvents)[];\n};\n\n/**\n * Takes a callback that registers handlers for the external wallet provider.\n * Returns both a getter of an eventEmitter that can be exposed via the wallet provider\n * and a callback that will be used to destroy the listeners.\n * @not-instrumented\n */\nexport const createWalletProviderEventEmitter = <R = void>({\n removeEventListeners,\n setupEventListeners,\n supportedEvents = ['accountsChanged', 'disconnected', 'networkChanged'],\n}: CreateWalletProviderEventEmitterParams<R>) => {\n let eventEmitter: EventEmitter<WalletProviderEvents> | undefined;\n\n /** Value returned by setupEventListeners */\n let setupReturnValue: R;\n\n const handleAccountsChanged = (params: { addresses: string[] }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('accountsChanged', params);\n };\n\n const handleDisconnected = () => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('disconnected');\n };\n\n const handleNetworkChanged = (params: { networkId: string }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('networkChanged', params);\n };\n\n const cleanupEventEmitter = () => {\n if (!eventEmitter) {\n return;\n }\n\n removeEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n setupReturnValue,\n });\n\n eventEmitter = undefined;\n };\n\n const getEventEmitter = (): WalletProvider['events'] => {\n if (!eventEmitter) {\n eventEmitter = new EventEmitter<WalletProviderEvents>();\n\n setupReturnValue = setupEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n });\n }\n\n return Object.assign(eventEmitter, { supportedEvents });\n };\n\n return {\n cleanupEventEmitter,\n getEventEmitter,\n };\n};\n","import { getBuffer } from \"../getBuffer\";\n\n/** @not-instrumented */\nexport const bufferToBase64 = (buf: Uint8Array): string => {\n const binstr = Array.prototype.map\n .call(buf, (ch: number) => String.fromCharCode(ch))\n .join('');\n return getBuffer().from(binstr, 'binary').toString('base64');\n};\n","/**\n * Filter duplicates from an array by equality.\n * Uses a Set internally.\n * @not-instrumented\n */\nexport const filterDuplicates = <T>(array: T[]): T[] =>\n Array.from(new Set(array));\n","type ParseAmountToSmallestUnitParams = {\n amount: string;\n decimals: number;\n};\n\n/**\n * Converts a human-readable decimal amount string to the smallest unit\n * representation as a bigint, using string-based arithmetic to avoid\n * floating-point precision loss.\n *\n * @example\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 9 }) // 1500000000n (1.5 SOL in lamports)\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 8 }) // 150000000n (1.5 BTC in satoshis)\n * parseAmountToSmallestUnit({ amount: '10.5', decimals: 6 }) // 10500000n (10.5 USDC)\n * parseAmountToSmallestUnit({ amount: '0.1', decimals: 9 }) // 100000000n (no float error)\n *\n * @param params.amount - The amount as a decimal string (e.g. \"1.5\").\n * @param params.decimals - The number of decimal places for the token.\n * @returns The amount in smallest units as a bigint.\n * @not-instrumented\n */\nexport const parseAmountToSmallestUnit = ({\n amount,\n decimals,\n}: ParseAmountToSmallestUnitParams): bigint => {\n const [whole = '0', fraction = ''] = amount.split('.');\n const paddedFraction = fraction.padEnd(decimals, '0').slice(0, decimals);\n return BigInt(whole + paddedFraction);\n};\n","import { BaseError } from './base';\n\ntype ReactNativeOnlyErrorParams = {\n apiName: string;\n};\n\nexport class ReactNativeOnlyError extends BaseError {\n constructor({ apiName }: ReactNativeOnlyErrorParams) {\n super({\n cause: null,\n code: 'react_native_only_error',\n docsUrl: null,\n name: 'ReactNativeOnlyError',\n shortMessage: `${apiName} is only available in React Native environments.`,\n });\n }\n}\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { ReactNativeManifest } from '../nativeManifest.types';\n\n/**\n * Returns the React Native manifest containing native SDK metadata.\n *\n * This function is only available in React Native environments.\n * On web, it throws a `ReactNativeOnlyError`.\n *\n * @not-instrumented\n */\nexport const getReactNativeManifest = (): ReactNativeManifest => {\n throw new ReactNativeOnlyError({ apiName: 'getReactNativeManifest' });\n};\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\n/**\n * @categoryDescription Extension Development\n * Core utilities and functions for building Dynamic SDK extensions.\n * These APIs provide low-level access to the SDK internals and are intended\n * for advanced use cases and extension development. Most applications should\n * use the higher-level APIs exported from the main SDK package instead.\n */\n\n/** @category Extension Development */\nexport { getCore } from '../client/core/getCore';\n/** @category Extension Development */\nexport type { DynamicCore, DynamicCoreState } from '../client/core/types';\n/** @category Extension Development */\nexport { getDefaultClient } from '../client/defaultClient';\n/** @category Extension Development */\nexport { APIError } from '../errors/APIError';\n/** @category Extension Development */\nexport { CannotTrackError } from '../errors/CannotTrackError';\n/** @category Extension Development */\nexport { ClientNotFoundError } from '../errors/ClientNotFoundError';\n/** @category Extension Development */\nexport { ClientsDoNotMatchError } from '../errors/ClientsDoNotMatchError';\n/** @category Extension Development */\nexport { InvalidStorageSet } from '../errors/InvalidStorageSet';\n/** @category Extension Development */\nexport { InvalidWalletProviderKeyError } from '../errors/InvalidWalletProviderKeyError';\n/** @category Extension Development */\nexport { MethodNotImplementedError } from '../errors/MethodNotImplementedError';\n/** @category Extension Development */\nexport { MultipleClientsFoundError } from '../errors/MultipleClientsFoundError';\n/** @category Extension Development */\nexport { NoWalletProviderFoundError } from '../errors/NoWalletProviderFoundError';\n/** @category Extension Development */\nexport { ValueMustBeDefinedError } from '../errors/ValueMustBeDefinedError';\n/** @category Extension Development */\nexport { createApiClient, DYNAMIC_SDK_API_VERSION } from '../modules/apiClient';\n/** @category Extension Development */\nexport { createVisit } from '../modules/auth/createVisit';\n/** @category Extension Development */\nexport { logoutWithReason } from '../modules/auth/logoutWithReason';\n/** @category Extension Development */\nexport { updateAuthFromVerifyResponse } from '../modules/auth/updateAuthFromVerifyResponse';\n/** @category Extension Development */\nexport { consumeCaptchaToken } from '../modules/captcha/consumeCaptchaToken';\n/** @category Extension Development */\nexport { setCaptchaToken } from '../modules/captcha/setCaptchaToken';\n/** @category Extension Development */\nexport { emitEvent } from '../modules/clientEvents';\n/** @category Extension Development */\nexport { hasExtension } from '../modules/extension/hasExtension';\n/** @category Extension Development */\nexport { registerExtension } from '../modules/extension/registerExtension';\n/** @category Extension Development */\nexport { waitForProjectSettings } from '../modules/initializeClient/waitForProjectSettings';\n/** @category Extension Development */\nexport { consumeMfaTokenIfRequiredForAction } from '../modules/mfa/consumeMfaTokenIfRequiredForAction';\n/** @category Extension Development */\nexport { isCookieEnabled } from '../modules/projectSettings/isCookieEnabled';\n/** @category Extension Development */\nexport { generateSessionKeys } from '../modules/sessionKeys/generateSessionKeys/generateSessionKeys';\n/** @category Extension Development */\nexport { getSessionKeys } from '../modules/sessionKeys/getSessionKeys';\n/** @category Extension Development */\nexport { getSignedSessionId } from '../modules/sessionKeys/getSignedSessionId';\n/** @category Extension Development */\nexport type { SessionKeys } from '../modules/sessionKeys/sessionKeys.types';\n/** @category Extension Development */\nexport { CHAINS_INFO_MAP } from '../modules/wallets/constants';\n/** @category Extension Development */\nexport { emitWalletAccountsChangedEvent } from '../modules/wallets/emitWalletAccountsChangedEvent';\n/** @category Extension Development */\nexport { getWalletProviders } from '../modules/wallets/getWalletProviders';\n/** @category Extension Development */\nexport { createBaseNetworkProvider } from '../modules/wallets/networks/createBaseNetworkProvider';\n/** @category Extension Development */\nexport { getNetworkDataForNetworkId } from '../modules/wallets/networks/getNetworkDataForNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviderFromNetworkId } from '../modules/wallets/networks/getNetworkProviderFromNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviders } from '../modules/wallets/networks/getNetworkProviders';\n/** @category Extension Development */\nexport { getLastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry';\n/** @category Extension Development */\nexport type { LastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/LastKnownNetworkRegistry.types';\n/** @category Extension Development */\nexport type { BaseNetworkProvider } from '../modules/wallets/networks/networkProvider/networkProvider.types';\n/** @category Extension Development */\nexport {\n getNetworkProviderBuilderRegistry,\n type NetworkProviderBuilder,\n type NetworkProviderBuilderRegistry,\n} from '../modules/wallets/networks/networkProviderBuilderRegistry';\n/** @category Extension Development */\nexport { removeUnverifiedWalletAccount } from '../modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount';\nexport { setUnverifiedWalletAccounts } from '../modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts';\n/** @category Extension Development */\nexport { formatSignInMessage } from '../modules/wallets/utils/formatSignInMessage';\n/** @category Extension Development */\nexport { formatWalletAccountId } from '../modules/wallets/utils/formatWalletAccountId';\n/** @category Extension Development */\nexport { formatWalletProviderGroupKey } from '../modules/wallets/utils/formatWalletProviderGroupKey';\n/** @category Extension Development */\nexport { formatWalletProviderKey } from '../modules/wallets/utils/formatWalletProviderKey';\n/** @category Extension Development */\nexport { getAllProvidersFromWindow } from '../modules/wallets/utils/getAllProvidersFromWindow';\n/** @category Extension Development */\nexport { getInjectedProviderFromWindow } from '../modules/wallets/utils/getInjectedProviderFromWindow';\n/** @category Extension Development */\nexport { getVerifiedCredentialForWalletAccount } from '../modules/wallets/utils/getVerifiedCredentialForWalletAccount';\n/** @category Extension Development */\nexport { getWalletProviderFromWalletAccount } from '../modules/wallets/utils/getWalletProviderFromWalletAccount';\n/** @category Extension Development */\nexport { normalizeWalletNameWithChain } from '../modules/wallets/utils/normalizeWalletNameWithChain';\n/** @category Extension Development */\nexport { verifyMessageSignatureOwnership } from '../modules/wallets/verifyMessageSignatureOwnership';\n/** @category Extension Development */\nexport type { BaseWalletAccount } from '../modules/wallets/walletAccount';\n/** @category Extension Development */\nexport type {\n ConfirmTransactionParams,\n ExecuteSwapTransactionParams,\n ExecuteSwapTransactionResult,\n TransferAmountParams,\n WalletProvider,\n WalletProviderConnectAddress,\n} from '../modules/wallets/walletProvider';\n/** @category Extension Development */\nexport { getActiveNetworkIdFromLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry';\n/** @category Extension Development */\nexport { switchActiveNetworkInLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry';\n/** @category Extension Development */\nexport { createWalletProviderEventEmitter } from '../modules/wallets/walletProvider/events/createWalletProviderEventEmitter';\n/** @category Extension Development */\nexport { splitWalletProviderKey } from '../modules/wallets/walletProvider/splitWalletProviderKey';\n/** @category Extension Development */\nexport {\n getWalletProviderRegistry,\n WalletProviderPriority,\n} from '../modules/wallets/walletProviderRegistry';\n/** @category Extension Development */\nexport type {\n AsyncProcessEntry,\n AsyncProcessStatus,\n AsyncTrack,\n AsyncTrackEmitter,\n} from '../services/asyncTrack/asyncTrack.types';\n/** @category Extension Development */\nexport { createCrossTabBroadcast } from '../services/crossTabBroadcast/createCrossTabBroadcast';\n/** @category Extension Development */\nexport type {\n CrossTabBroadcast,\n CrossTabBroadcastMessage,\n} from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { CrossTabBroadcastMessageSchema } from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { createRealtimeChannelSchema } from '../services/realtime/createRealtimeChannelSchema';\n/** @category Extension Development */\nexport { createRealtimeService } from '../services/realtime/createRealtimeService';\n/** @category Extension Development */\nexport type {\n RealtimeChannelSchema,\n RealtimeConnectionState,\n RealtimeService,\n} from '../services/realtime';\n/** @category Extension Development */\nexport { createLogger } from '../services/logger/createLogger';\n/** @category Extension Development */\nexport type { Logger, LogLevel } from '../services/logger/logger.types';\n/** @category Extension Development */\nexport { createKeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { KeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { PasskeyService } from '../services/passkey';\n/** @category Extension Development */\nexport {\n createRuntimeServiceAccessKey,\n type RuntimeServices,\n} from '../services/runtimeServices';\n/** @category Extension Development */\nexport {\n createLocalStorageAdapter,\n createStorage,\n createStorageKeySchema,\n type Storage,\n type StorageAdapter,\n type StorageAdapterOptions,\n type StorageKeySchema,\n type StorageKeySchemaConfig,\n type StorageTier,\n} from '../services/storage';\n/** @category Extension Development */\nexport type { ExtendParameters } from '../types/ExtendParameters';\n/** @category Extension Development */\nexport { assertDefined } from '../utils/assertDefined';\n/** @category Extension Development */\nexport { bufferToBase64 } from '../utils/bufferToBase64';\n/** @category Extension Development */\nexport type { DebouncedMutex } from '../utils/debouncedMutex/debouncedMutex.types';\n/** @category Extension Development */\nexport { filterDuplicates } from '../utils/filterDuplicates';\n/** @category Extension Development */\nexport { getBuffer } from '../utils/getBuffer';\n/** @category Extension Development */\nexport { getChainFromVerifiedCredentialChain } from '../utils/getChainFromVerifiedCredentialChain';\n/** @category Extension Development */\nexport { getNonce } from '../utils/getNonce';\n/** @category Extension Development */\nexport { parseAmountToSmallestUnit } from '../utils/parseAmountToSmallestUnit';\n/** @category Extension Development */\nexport type { ObservableState } from '../utils/observable/observable.types';\n/** @category Extension Development */\nexport { createSignInMessageStatement } from '../modules/wallets/utils/getSignInMessage/createSignInMessageStatement';\n/** @category Extension Development */\nexport { subscribeWithSelector } from '../utils/observable/subscribeWithSelector';\n/** @category Extension Development */\nexport { updateWalletProviderKeysForVerifiedCredentials } from '../modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials';\n/** @category Extension Development */\nexport { DYNAMIC_ICONIC_SPRITE_URL } from '../constants';\n/** @category Extension Development */\nexport { createDeferredPromise } from '../utils/deferredPromise';\n/** @category Extension Development */\nexport { getDeviceSigner } from '../modules/deviceRegistration/getDeviceSigner';\n/** @category Extension Development */\nexport { getHeadersForNonceSignedByDeviceSigners } from '../modules/deviceRegistration/getHeadersForNonceSignedByDeviceSigners';\n/** @category Extension Development */\nexport { createDeviceSignatureHeadersMiddleware } from '../modules/apiClient/utils/deviceSignatureHeadersMiddleware/createDeviceSignatureHeadersMiddleware';\n/** @category Extension Development */\nexport { randomString } from '../utils/randomString';\n/** @category Extension Development */\nexport { getReactNativeManifest } from '../services/nativeManifest/getReactNativeManifest';\n/** @category Extension Development */\nexport type { ReactNativeManifest } from '../services/nativeManifest/nativeManifest.types';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
import { A as ValueMustBeDefinedError, B as name, C as __getSessionKeys_wrapped, F as getDefaultClient, L as ClientNotFoundError, N as DYNAMIC_SDK_API_VERSION, O as isCookieEnabled, R as BaseError, V as version, a as DYNAMIC_ICONIC_SPRITE_URL, c as CHAINS_INFO_MAP, f as __createDeviceSignatureHeadersMiddleware_wrapped, h as __getNonce_wrapped, j as randomString, k as assertDefined, m as __getDeviceSigner_wrapped, p as __getHeadersForNonceSignedByDeviceSigners_wrapped, s as __getChainFromVerifiedCredentialChain_wrapped, u as __createApiClient_wrapped, w as instrumentFunction, x as APIError, z as getCore } from "./InvalidParamError-BDHw6nr1.native.esm.js";
|
|
2
|
+
import { B as __createLocalStorageAdapter_wrapped, C as __createCrossTabBroadcast_wrapped, D as FETCH_PROJECT_SETTINGS_TRACKER_KEY, E as __createDeferredPromise_wrapped, F as __generateSessionKeys_wrapped, L as __createStorageKeySchema_wrapped, N as getBuffer, P as __logoutWithReason_wrapped, R as __createStorage_wrapped, S as __createLogger_wrapped, T as CannotTrackError, U as __subscribeWithSelector_wrapped, a as __updateWalletProviderKeysForVerifiedCredentials_wrapped, b as createKeychainService, c as __createSignInMessageStatement_wrapped, d as __createVisit_wrapped, f as hasExtension, h as __consumeCaptchaToken_wrapped, i as __getNetworksData_wrapped, l as formatSignInMessage, m as __setCaptchaToken_wrapped, n as __getNetworkProviders_wrapped, o as __verifyMessageSignatureOwnership_wrapped, p as __createRealtimeChannelSchema_wrapped, r as getNetworkProviderBuilderRegistry, s as __removeUnverifiedWalletAccount_wrapped, t as __getNetworkProviderFromNetworkId_wrapped, u as __setUnverifiedWalletAccounts_wrapped, v as NoNetworkProvidersError, w as CrossTabBroadcastMessageSchema, x as NativeModuleNotLinkedError, y as __createRealtimeService_wrapped, z as InvalidStorageSet } from "./getNetworkProviderFromNetworkId-BRWuk0I8.native.esm.js";
|
|
3
|
+
import { S as formatWalletAccountId, T as InvalidWalletProviderKeyError, _ as __createRuntimeServiceAccessKey_wrapped, b as formatWalletProviderKey, f as emitWalletAccountsChangedEvent, g as getWalletProviderRegistry, h as WalletProviderPriority, k as emitEvent, m as __getWalletProviderFromWalletAccount_wrapped, n as getWalletProviderByKey, r as __updateAuthFromVerifyResponse_wrapped, t as __getVerifiedCredentialForWalletAccount_wrapped, u as __getWalletProviders_wrapped, v as NoWalletProviderFoundError, w as splitWalletProviderKey, x as normalizeWalletNameWithChain } from "./getVerifiedCredentialForWalletAccount-d_bHvLLE.native.esm.js";
|
|
4
|
+
import "./isMfaRequiredForAction-Cjbuyen3.native.esm.js";
|
|
5
|
+
import { n as __consumeMfaTokenIfRequiredForAction_wrapped, t as __getSignedSessionId_wrapped } from "./getSignedSessionId-C58DvQAd.native.esm.js";
|
|
6
|
+
import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
|
|
7
|
+
import * as z from "zod/mini";
|
|
8
|
+
import EventEmitter from "eventemitter3";
|
|
9
|
+
import { TurboModuleRegistry } from "react-native";
|
|
10
|
+
|
|
11
|
+
//#region src/errors/ClientsDoNotMatchError.ts
|
|
12
|
+
var ClientsDoNotMatchError = class extends BaseError {
|
|
13
|
+
constructor() {
|
|
14
|
+
super({
|
|
15
|
+
cause: null,
|
|
16
|
+
code: "clients_do_not_match_error",
|
|
17
|
+
docsUrl: null,
|
|
18
|
+
name: "ClientsDoNotMatchError",
|
|
19
|
+
shortMessage: "Clients do not match"
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/errors/MethodNotImplementedError.ts
|
|
26
|
+
var MethodNotImplementedError = class extends BaseError {
|
|
27
|
+
constructor(methodName) {
|
|
28
|
+
super({
|
|
29
|
+
cause: null,
|
|
30
|
+
code: "method_not_implemented_error",
|
|
31
|
+
docsUrl: null,
|
|
32
|
+
name: "MethodNotImplementedError",
|
|
33
|
+
shortMessage: `This method is not implemented: ${methodName}`
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/errors/MultipleClientsFoundError.ts
|
|
40
|
+
var MultipleClientsFoundError = class extends BaseError {
|
|
41
|
+
constructor() {
|
|
42
|
+
super({
|
|
43
|
+
cause: null,
|
|
44
|
+
code: "multiple_clients_found_error",
|
|
45
|
+
docsUrl: null,
|
|
46
|
+
name: "MultipleClientsFoundError",
|
|
47
|
+
shortMessage: "Multiple Dynamic clients have been initialized. Please provide the intended client for this action explicitly"
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/modules/extension/registerExtension/registerExtension.ts
|
|
54
|
+
/**
|
|
55
|
+
* Registers an extension to the client.
|
|
56
|
+
*
|
|
57
|
+
* Other extensions can be aware of which extensions are present,
|
|
58
|
+
* and allows creating dependencies between extensions.
|
|
59
|
+
*
|
|
60
|
+
* @param client - The client instance.
|
|
61
|
+
* @param extensionKey - The key of the extension to register.
|
|
62
|
+
* @returns The client instance.
|
|
63
|
+
* @instrumented
|
|
64
|
+
*/
|
|
65
|
+
const registerExtension = ({ extensionKey }, client) => {
|
|
66
|
+
getCore(client).extensions.add(extensionKey);
|
|
67
|
+
};
|
|
68
|
+
const __registerExtension_impl = registerExtension;
|
|
69
|
+
const __registerExtension_wrapped = instrumentFunction({
|
|
70
|
+
fn: __registerExtension_impl,
|
|
71
|
+
functionName: "registerExtension",
|
|
72
|
+
getCore: () => {
|
|
73
|
+
try {
|
|
74
|
+
return getCore(getDefaultClient());
|
|
75
|
+
} catch {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts
|
|
83
|
+
/** @instrumented */
|
|
84
|
+
const waitForProjectSettings = async (client) => {
|
|
85
|
+
const projectSettingsTracker = getCore(client).initTrack.getTracker(FETCH_PROJECT_SETTINGS_TRACKER_KEY);
|
|
86
|
+
assertDefined(projectSettingsTracker, "Project settings tracker not found");
|
|
87
|
+
await projectSettingsTracker.promise;
|
|
88
|
+
assertDefined(client.projectSettings, "Project settings still not available after awaiting its tracker");
|
|
89
|
+
return client.projectSettings;
|
|
90
|
+
};
|
|
91
|
+
const __waitForProjectSettings_impl = waitForProjectSettings;
|
|
92
|
+
const __waitForProjectSettings_wrapped = instrumentFunction({
|
|
93
|
+
fn: __waitForProjectSettings_impl,
|
|
94
|
+
functionName: "waitForProjectSettings",
|
|
95
|
+
getCore: () => {
|
|
96
|
+
try {
|
|
97
|
+
return getCore(getDefaultClient());
|
|
98
|
+
} catch {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.ts
|
|
106
|
+
/** @instrumented */
|
|
107
|
+
const createBaseNetworkProvider = (chain, networkData) => ({
|
|
108
|
+
blockExplorerUrls: networkData.blockExplorerUrls,
|
|
109
|
+
chain,
|
|
110
|
+
displayName: networkData.displayName,
|
|
111
|
+
iconUrl: networkData.iconUrl,
|
|
112
|
+
id: `${chain}-${networkData.networkId}`,
|
|
113
|
+
name: networkData.name,
|
|
114
|
+
nativeCurrency: networkData.nativeCurrency,
|
|
115
|
+
networkId: networkData.networkId,
|
|
116
|
+
rpcUrls: networkData.rpcUrls,
|
|
117
|
+
testnet: networkData.testnet
|
|
118
|
+
});
|
|
119
|
+
const __createBaseNetworkProvider_impl = createBaseNetworkProvider;
|
|
120
|
+
const __createBaseNetworkProvider_wrapped = instrumentFunction({
|
|
121
|
+
fn: __createBaseNetworkProvider_impl,
|
|
122
|
+
functionName: "createBaseNetworkProvider",
|
|
123
|
+
getCore: () => {
|
|
124
|
+
try {
|
|
125
|
+
return getCore(getDefaultClient());
|
|
126
|
+
} catch {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
//#endregion
|
|
133
|
+
//#region src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.ts
|
|
134
|
+
/** @instrumented */
|
|
135
|
+
const getNetworkDataForNetworkId = ({ networkId, chain }, client) => {
|
|
136
|
+
return __getNetworksData_wrapped(client).find((networkData) => networkData.networkId === networkId && networkData.chain === chain);
|
|
137
|
+
};
|
|
138
|
+
const __getNetworkDataForNetworkId_impl = getNetworkDataForNetworkId;
|
|
139
|
+
const __getNetworkDataForNetworkId_wrapped = instrumentFunction({
|
|
140
|
+
fn: __getNetworkDataForNetworkId_impl,
|
|
141
|
+
functionName: "getNetworkDataForNetworkId",
|
|
142
|
+
getCore: () => {
|
|
143
|
+
try {
|
|
144
|
+
return getCore(getDefaultClient());
|
|
145
|
+
} catch {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.ts
|
|
153
|
+
const networkRegistryStorageKeySchema = __createStorageKeySchema_wrapped({
|
|
154
|
+
key: "lastKnownNetworkRegistry",
|
|
155
|
+
schema: z.record(z.string(), z.string())
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
//#endregion
|
|
159
|
+
//#region src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.ts
|
|
160
|
+
/**
|
|
161
|
+
* Creates the registry that keeps tabs on which wallet provider is
|
|
162
|
+
* connected to which network.
|
|
163
|
+
*
|
|
164
|
+
* Reminder that this will not be used for chains that have an internal way to
|
|
165
|
+
* switch networks (ex EVM).
|
|
166
|
+
* @not-instrumented
|
|
167
|
+
*/
|
|
168
|
+
const createLastKnownNetworkRegistry = (client) => {
|
|
169
|
+
const core = getCore(client);
|
|
170
|
+
const walletProviderKeyToNetworkId = /* @__PURE__ */ new Map();
|
|
171
|
+
const getNetworkId = async ({ walletProviderKey }) => {
|
|
172
|
+
if (walletProviderKeyToNetworkId.has(walletProviderKey)) return { networkId: walletProviderKeyToNetworkId.get(walletProviderKey) };
|
|
173
|
+
const storageRecords = await core.storage.getItem(networkRegistryStorageKeySchema);
|
|
174
|
+
if (storageRecords && storageRecords[walletProviderKey]) {
|
|
175
|
+
const networkId = storageRecords[walletProviderKey];
|
|
176
|
+
walletProviderKeyToNetworkId.set(walletProviderKey, networkId);
|
|
177
|
+
return { networkId };
|
|
178
|
+
}
|
|
179
|
+
const walletProvider = getWalletProviderByKey({ walletProviderKey }, client);
|
|
180
|
+
const networkProviders = __getNetworkProviders_wrapped(client);
|
|
181
|
+
if (networkProviders.length === 0) throw new NoNetworkProvidersError();
|
|
182
|
+
const defaultNetworkProvider = networkProviders.find((networkProvider) => networkProvider.chain === walletProvider.chain);
|
|
183
|
+
assertDefined(defaultNetworkProvider, `No networks found for chain ${walletProvider.chain}`);
|
|
184
|
+
walletProviderKeyToNetworkId.set(walletProviderKey, defaultNetworkProvider.networkId);
|
|
185
|
+
return { networkId: defaultNetworkProvider.networkId };
|
|
186
|
+
};
|
|
187
|
+
const setNetworkId = async ({ networkId, walletProviderKey }) => {
|
|
188
|
+
walletProviderKeyToNetworkId.set(walletProviderKey, networkId);
|
|
189
|
+
await core.storage.setItem(networkRegistryStorageKeySchema, Object.fromEntries(walletProviderKeyToNetworkId.entries()));
|
|
190
|
+
};
|
|
191
|
+
return {
|
|
192
|
+
getNetworkId,
|
|
193
|
+
setNetworkId
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
//#endregion
|
|
198
|
+
//#region src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts
|
|
199
|
+
const getLastKnownNetworkRegistry = __createRuntimeServiceAccessKey_wrapped("last-known-network-registry", (client) => createLastKnownNetworkRegistry(client));
|
|
200
|
+
|
|
201
|
+
//#endregion
|
|
202
|
+
//#region src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts
|
|
203
|
+
/** @not-instrumented */
|
|
204
|
+
const formatWalletProviderGroupKey = (walletName) => walletName.replace(/[^a-zA-Z0-9]/g, "").toLowerCase();
|
|
205
|
+
|
|
206
|
+
//#endregion
|
|
207
|
+
//#region src/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.ts
|
|
208
|
+
/**
|
|
209
|
+
* Retrieves all providers from a window path.
|
|
210
|
+
*
|
|
211
|
+
* Unlike getInjectedProviderFromWindow which returns only the first provider,
|
|
212
|
+
* this function returns ALL providers found at the path, including those
|
|
213
|
+
* in a .providers array if present.
|
|
214
|
+
*
|
|
215
|
+
* This is particularly useful for detecting wallet providers in wallet app
|
|
216
|
+
* in-app browsers, where wallets inject their provider into the window object.
|
|
217
|
+
*
|
|
218
|
+
* @param path - Dot-separated path to traverse (e.g., "ethereum")
|
|
219
|
+
* @returns Array of all providers found, or empty array if none
|
|
220
|
+
* @not-instrumented
|
|
221
|
+
*/
|
|
222
|
+
const getAllProvidersFromWindow = (path) => {
|
|
223
|
+
if (typeof window === "undefined") return [];
|
|
224
|
+
const target = path.split(".").reduce((acc, key) => acc == null ? null : acc[key], window);
|
|
225
|
+
if (typeof target !== "object" || target === null) return [];
|
|
226
|
+
if (Array.isArray(target)) return target;
|
|
227
|
+
const providers = [];
|
|
228
|
+
const providersArray = target.providers;
|
|
229
|
+
if (providersArray && Array.isArray(providersArray)) providers.push(...providersArray);
|
|
230
|
+
providers.push(target);
|
|
231
|
+
return providers;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
//#endregion
|
|
235
|
+
//#region src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.ts
|
|
236
|
+
/** @not-instrumented */
|
|
237
|
+
const getInjectedProviderFromWindow = (path) => {
|
|
238
|
+
if (typeof window === "undefined") return null;
|
|
239
|
+
const target = path.split(".").reduce((acc, key) => acc == null ? null : acc[key], window);
|
|
240
|
+
if (typeof target !== "object" || target === null) return null;
|
|
241
|
+
if (Array.isArray(target)) return target.length > 0 ? target[0] : null;
|
|
242
|
+
const providersArray = target.providers;
|
|
243
|
+
if (providersArray && Array.isArray(providersArray)) return providersArray.length > 0 ? providersArray[0] : null;
|
|
244
|
+
return target;
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
//#endregion
|
|
248
|
+
//#region src/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.ts
|
|
249
|
+
/** @instrumented */
|
|
250
|
+
const getActiveNetworkIdFromLastKnownRegistry = async ({ client, walletProviderKey }) => {
|
|
251
|
+
return getLastKnownNetworkRegistry(client).getNetworkId({ walletProviderKey });
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
//#endregion
|
|
255
|
+
//#region src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.ts
|
|
256
|
+
/** @instrumented */
|
|
257
|
+
const switchActiveNetworkInLastKnownRegistry = async ({ client, networkId, walletProviderKey }) => {
|
|
258
|
+
await getLastKnownNetworkRegistry(client).setNetworkId({
|
|
259
|
+
networkId,
|
|
260
|
+
walletProviderKey
|
|
261
|
+
});
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
//#endregion
|
|
265
|
+
//#region src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.ts
|
|
266
|
+
/**
|
|
267
|
+
* Takes a callback that registers handlers for the external wallet provider.
|
|
268
|
+
* Returns both a getter of an eventEmitter that can be exposed via the wallet provider
|
|
269
|
+
* and a callback that will be used to destroy the listeners.
|
|
270
|
+
* @not-instrumented
|
|
271
|
+
*/
|
|
272
|
+
const createWalletProviderEventEmitter = ({ removeEventListeners, setupEventListeners, supportedEvents = [
|
|
273
|
+
"accountsChanged",
|
|
274
|
+
"disconnected",
|
|
275
|
+
"networkChanged"
|
|
276
|
+
] }) => {
|
|
277
|
+
let eventEmitter;
|
|
278
|
+
/** Value returned by setupEventListeners */
|
|
279
|
+
let setupReturnValue;
|
|
280
|
+
const handleAccountsChanged = (params) => {
|
|
281
|
+
assertDefined(eventEmitter, "Event emitter not defined");
|
|
282
|
+
eventEmitter.emit("accountsChanged", params);
|
|
283
|
+
};
|
|
284
|
+
const handleDisconnected = () => {
|
|
285
|
+
assertDefined(eventEmitter, "Event emitter not defined");
|
|
286
|
+
eventEmitter.emit("disconnected");
|
|
287
|
+
};
|
|
288
|
+
const handleNetworkChanged = (params) => {
|
|
289
|
+
assertDefined(eventEmitter, "Event emitter not defined");
|
|
290
|
+
eventEmitter.emit("networkChanged", params);
|
|
291
|
+
};
|
|
292
|
+
const cleanupEventEmitter = () => {
|
|
293
|
+
if (!eventEmitter) return;
|
|
294
|
+
removeEventListeners({
|
|
295
|
+
handleAccountsChanged,
|
|
296
|
+
handleDisconnected,
|
|
297
|
+
handleNetworkChanged,
|
|
298
|
+
setupReturnValue
|
|
299
|
+
});
|
|
300
|
+
eventEmitter = void 0;
|
|
301
|
+
};
|
|
302
|
+
const getEventEmitter = () => {
|
|
303
|
+
if (!eventEmitter) {
|
|
304
|
+
eventEmitter = new EventEmitter();
|
|
305
|
+
setupReturnValue = setupEventListeners({
|
|
306
|
+
handleAccountsChanged,
|
|
307
|
+
handleDisconnected,
|
|
308
|
+
handleNetworkChanged
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
return Object.assign(eventEmitter, { supportedEvents });
|
|
312
|
+
};
|
|
313
|
+
return {
|
|
314
|
+
cleanupEventEmitter,
|
|
315
|
+
getEventEmitter
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
const __createWalletProviderEventEmitter_impl = createWalletProviderEventEmitter;
|
|
319
|
+
const __createWalletProviderEventEmitter_wrapped = instrumentFunction({
|
|
320
|
+
fn: __createWalletProviderEventEmitter_impl,
|
|
321
|
+
functionName: "createWalletProviderEventEmitter",
|
|
322
|
+
getCore: () => {
|
|
323
|
+
try {
|
|
324
|
+
return getCore(getDefaultClient());
|
|
325
|
+
} catch {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
//#endregion
|
|
332
|
+
//#region src/utils/bufferToBase64/bufferToBase64.ts
|
|
333
|
+
/** @not-instrumented */
|
|
334
|
+
const bufferToBase64 = (buf) => {
|
|
335
|
+
const binstr = Array.prototype.map.call(buf, (ch) => String.fromCharCode(ch)).join("");
|
|
336
|
+
return getBuffer().from(binstr, "binary").toString("base64");
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
//#endregion
|
|
340
|
+
//#region src/utils/filterDuplicates/filterDuplicates.ts
|
|
341
|
+
/**
|
|
342
|
+
* Filter duplicates from an array by equality.
|
|
343
|
+
* Uses a Set internally.
|
|
344
|
+
* @not-instrumented
|
|
345
|
+
*/
|
|
346
|
+
const filterDuplicates = (array) => Array.from(new Set(array));
|
|
347
|
+
|
|
348
|
+
//#endregion
|
|
349
|
+
//#region src/utils/parseAmountToSmallestUnit/parseAmountToSmallestUnit.ts
|
|
350
|
+
/**
|
|
351
|
+
* Converts a human-readable decimal amount string to the smallest unit
|
|
352
|
+
* representation as a bigint, using string-based arithmetic to avoid
|
|
353
|
+
* floating-point precision loss.
|
|
354
|
+
*
|
|
355
|
+
* @example
|
|
356
|
+
* parseAmountToSmallestUnit({ amount: '1.5', decimals: 9 }) // 1500000000n (1.5 SOL in lamports)
|
|
357
|
+
* parseAmountToSmallestUnit({ amount: '1.5', decimals: 8 }) // 150000000n (1.5 BTC in satoshis)
|
|
358
|
+
* parseAmountToSmallestUnit({ amount: '10.5', decimals: 6 }) // 10500000n (10.5 USDC)
|
|
359
|
+
* parseAmountToSmallestUnit({ amount: '0.1', decimals: 9 }) // 100000000n (no float error)
|
|
360
|
+
*
|
|
361
|
+
* @param params.amount - The amount as a decimal string (e.g. "1.5").
|
|
362
|
+
* @param params.decimals - The number of decimal places for the token.
|
|
363
|
+
* @returns The amount in smallest units as a bigint.
|
|
364
|
+
* @not-instrumented
|
|
365
|
+
*/
|
|
366
|
+
const parseAmountToSmallestUnit = ({ amount, decimals }) => {
|
|
367
|
+
const [whole = "0", fraction = ""] = amount.split(".");
|
|
368
|
+
const paddedFraction = fraction.padEnd(decimals, "0").slice(0, decimals);
|
|
369
|
+
return BigInt(whole + paddedFraction);
|
|
370
|
+
};
|
|
371
|
+
|
|
372
|
+
//#endregion
|
|
373
|
+
//#region src/turboModules/NativeReactNativeManifest.ts
|
|
374
|
+
/**
|
|
375
|
+
* React Native TurboModule spec for the `ReactNativeManifest` native module.
|
|
376
|
+
*
|
|
377
|
+
* Consumed by React Native codegen to emit the Android/iOS native interfaces.
|
|
378
|
+
* The filename must stay prefixed with `Native` — codegen's parser discovers
|
|
379
|
+
* spec files by that convention and will silently skip anything else, leaving
|
|
380
|
+
* the native module uncompiled. Do not rename this file.
|
|
381
|
+
*
|
|
382
|
+
* The `interface` keyword, the `default export`, and the locally-declared
|
|
383
|
+
* `ReactNativeManifest` type are hard requirements of the codegen parser and
|
|
384
|
+
* intentionally deviate from project conventions: codegen parses this file
|
|
385
|
+
* statically and does NOT follow imported type aliases, so the return shape
|
|
386
|
+
* must be defined inline here. The canonical type lives in
|
|
387
|
+
* `nativeManifest.types.ts`; the `assertSameShape` line below is a TS-only
|
|
388
|
+
* check that fails the build if the two definitions drift.
|
|
389
|
+
*/
|
|
390
|
+
var NativeReactNativeManifest_default = TurboModuleRegistry.get("ReactNativeManifest");
|
|
391
|
+
|
|
392
|
+
//#endregion
|
|
393
|
+
//#region src/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.native.ts
|
|
394
|
+
/**
|
|
395
|
+
* Returns the React Native manifest containing native SDK metadata.
|
|
396
|
+
*
|
|
397
|
+
* Calls into the native TurboModule to retrieve the manifest object
|
|
398
|
+
* (SDK version, etc.) that was baked in at build time from package.json.
|
|
399
|
+
*
|
|
400
|
+
* Throws a `NativeModuleNotLinkedError` if the TurboModule failed to
|
|
401
|
+
* register — that indicates a native setup problem (autolinking, pod
|
|
402
|
+
* install, or missing rebuild), not a platform gate.
|
|
403
|
+
*
|
|
404
|
+
* @not-instrumented
|
|
405
|
+
*/
|
|
406
|
+
const getReactNativeManifest = () => {
|
|
407
|
+
if (NativeReactNativeManifest_default == null) throw new NativeModuleNotLinkedError({ moduleName: "ReactNativeManifest" });
|
|
408
|
+
return NativeReactNativeManifest_default.getManifest();
|
|
409
|
+
};
|
|
410
|
+
|
|
411
|
+
//#endregion
|
|
412
|
+
//#region src/exports/core.ts
|
|
413
|
+
assertPackageVersion(name, version);
|
|
414
|
+
|
|
415
|
+
//#endregion
|
|
416
|
+
export { APIError, CHAINS_INFO_MAP, CannotTrackError, ClientNotFoundError, ClientsDoNotMatchError, CrossTabBroadcastMessageSchema, DYNAMIC_ICONIC_SPRITE_URL, DYNAMIC_SDK_API_VERSION, InvalidStorageSet, InvalidWalletProviderKeyError, MethodNotImplementedError, MultipleClientsFoundError, NoWalletProviderFoundError, ValueMustBeDefinedError, WalletProviderPriority, assertDefined, bufferToBase64, __consumeCaptchaToken_wrapped as consumeCaptchaToken, __consumeMfaTokenIfRequiredForAction_wrapped as consumeMfaTokenIfRequiredForAction, __createApiClient_wrapped as createApiClient, __createBaseNetworkProvider_wrapped as createBaseNetworkProvider, __createCrossTabBroadcast_wrapped as createCrossTabBroadcast, __createDeferredPromise_wrapped as createDeferredPromise, __createDeviceSignatureHeadersMiddleware_wrapped as createDeviceSignatureHeadersMiddleware, createKeychainService, __createLocalStorageAdapter_wrapped as createLocalStorageAdapter, __createLogger_wrapped as createLogger, __createRealtimeChannelSchema_wrapped as createRealtimeChannelSchema, __createRealtimeService_wrapped as createRealtimeService, __createRuntimeServiceAccessKey_wrapped as createRuntimeServiceAccessKey, __createSignInMessageStatement_wrapped as createSignInMessageStatement, __createStorage_wrapped as createStorage, __createStorageKeySchema_wrapped as createStorageKeySchema, __createVisit_wrapped as createVisit, __createWalletProviderEventEmitter_wrapped as createWalletProviderEventEmitter, emitEvent, emitWalletAccountsChangedEvent, filterDuplicates, formatSignInMessage, formatWalletAccountId, formatWalletProviderGroupKey, formatWalletProviderKey, __generateSessionKeys_wrapped as generateSessionKeys, getActiveNetworkIdFromLastKnownRegistry, getAllProvidersFromWindow, getBuffer, __getChainFromVerifiedCredentialChain_wrapped as getChainFromVerifiedCredentialChain, getCore, getDefaultClient, __getDeviceSigner_wrapped as getDeviceSigner, __getHeadersForNonceSignedByDeviceSigners_wrapped as getHeadersForNonceSignedByDeviceSigners, getInjectedProviderFromWindow, getLastKnownNetworkRegistry, __getNetworkDataForNetworkId_wrapped as getNetworkDataForNetworkId, getNetworkProviderBuilderRegistry, __getNetworkProviderFromNetworkId_wrapped as getNetworkProviderFromNetworkId, __getNetworkProviders_wrapped as getNetworkProviders, __getNonce_wrapped as getNonce, getReactNativeManifest, __getSessionKeys_wrapped as getSessionKeys, __getSignedSessionId_wrapped as getSignedSessionId, __getVerifiedCredentialForWalletAccount_wrapped as getVerifiedCredentialForWalletAccount, __getWalletProviderFromWalletAccount_wrapped as getWalletProviderFromWalletAccount, getWalletProviderRegistry, __getWalletProviders_wrapped as getWalletProviders, hasExtension, isCookieEnabled, __logoutWithReason_wrapped as logoutWithReason, normalizeWalletNameWithChain, parseAmountToSmallestUnit, randomString, __registerExtension_wrapped as registerExtension, __removeUnverifiedWalletAccount_wrapped as removeUnverifiedWalletAccount, __setCaptchaToken_wrapped as setCaptchaToken, __setUnverifiedWalletAccounts_wrapped as setUnverifiedWalletAccounts, splitWalletProviderKey, __subscribeWithSelector_wrapped as subscribeWithSelector, switchActiveNetworkInLastKnownRegistry, __updateAuthFromVerifyResponse_wrapped as updateAuthFromVerifyResponse, __updateWalletProviderKeysForVerifiedCredentials_wrapped as updateWalletProviderKeysForVerifiedCredentials, __verifyMessageSignatureOwnership_wrapped as verifyMessageSignatureOwnership, __waitForProjectSettings_wrapped as waitForProjectSettings };
|
|
417
|
+
//# sourceMappingURL=core.native.esm.js.map
|