@dynamic-labs-sdk/client 0.1.0-alpha.8 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +322 -0
- package/InvalidParamError.cjs.js +2 -2
- package/InvalidParamError.esm.js +1 -1
- package/{refreshUser.cjs.js → NotWaasWalletAccountError.cjs.js} +18 -18
- package/{refreshUser.esm.js → NotWaasWalletAccountError.esm.js} +14 -14
- package/constants.cjs.js +493 -9
- package/constants.cjs2.js +15 -0
- package/constants.esm.js +468 -7
- package/constants.esm2.js +11 -0
- package/core.cjs.js +93 -39
- package/core.esm.js +47 -11
- package/filterDuplicates.cjs.js +8 -0
- package/filterDuplicates.esm.js +6 -0
- package/getNetworkProviderFromNetworkId.cjs.js +173 -21
- package/getNetworkProviderFromNetworkId.esm.js +146 -4
- package/getSignedSessionId.cjs.js +6 -6
- package/getSignedSessionId.esm.js +1 -1
- package/{getWalletProviderByKey.cjs.js → getVerifiedCredentialForWalletAccount.cjs.js} +176 -48
- package/{getWalletProviderByKey.esm.js → getVerifiedCredentialForWalletAccount.esm.js} +159 -36
- package/index.cjs.js +1088 -493
- package/index.esm.js +858 -279
- package/isMfaRequiredForAction.cjs.js +8 -8
- package/isMfaRequiredForAction.esm.js +1 -1
- package/package.json +7 -7
- package/src/client/core/createCore/createCore.d.ts.map +1 -1
- package/src/client/core/createCore/getInitialState.d.ts.map +1 -1
- package/src/client/core/types/DynamicCore.d.ts +8 -0
- package/src/client/core/types/DynamicCore.d.ts.map +1 -1
- package/src/client/createDynamicClient/createDynamicClient.d.ts.map +1 -1
- package/src/client/types/DynamicClientConfig.d.ts +6 -1
- package/src/client/types/DynamicClientConfig.d.ts.map +1 -1
- package/src/constants.d.ts +1 -0
- package/src/constants.d.ts.map +1 -1
- package/src/errors/APIError/APIError.d.ts.map +1 -1
- package/src/errors/InvalidWalletProviderKeyError.d.ts +5 -0
- package/src/errors/InvalidWalletProviderKeyError.d.ts.map +1 -0
- package/src/errors/MissingUserVerificationError.d.ts +12 -0
- package/src/errors/MissingUserVerificationError.d.ts.map +1 -0
- package/src/errors/NoSmartWalletAccountSignerFoundError.d.ts +5 -0
- package/src/errors/NoSmartWalletAccountSignerFoundError.d.ts.map +1 -0
- package/src/errors/WalletAccountNotSelectedError.d.ts.map +1 -1
- package/src/exports/core.d.ts +102 -2
- package/src/exports/core.d.ts.map +1 -1
- package/src/exports/index.d.ts +28 -7
- package/src/exports/index.d.ts.map +1 -1
- package/src/exports/waas.d.ts +2 -0
- package/src/exports/waas.d.ts.map +1 -1
- package/src/modules/auth/createVisit/createVisit.d.ts.map +1 -1
- package/src/modules/auth/logout/logout.d.ts.map +1 -1
- package/src/modules/auth/passkeys/getPasskeyAuthenticationOptions/getPasskeyAuthenticationOptions.d.ts +4 -1
- package/src/modules/auth/passkeys/getPasskeyAuthenticationOptions/getPasskeyAuthenticationOptions.d.ts.map +1 -1
- package/src/modules/auth/passkeys/getPasskeyAuthenticationSignInOptions/getPasskeyAuthenticationSignInOptions.d.ts +4 -1
- package/src/modules/auth/passkeys/getPasskeyAuthenticationSignInOptions/getPasskeyAuthenticationSignInOptions.d.ts.map +1 -1
- package/src/modules/auth/passkeys/signInWithPasskey/signInWithPasskey.d.ts +4 -1
- package/src/modules/auth/passkeys/signInWithPasskey/signInWithPasskey.d.ts.map +1 -1
- package/src/modules/auth/social/getUserSocialAccounts/getUserSocialAccounts.d.ts +9 -0
- package/src/modules/auth/social/getUserSocialAccounts/getUserSocialAccounts.d.ts.map +1 -0
- package/src/modules/auth/social/getUserSocialAccounts/index.d.ts +2 -0
- package/src/modules/auth/social/getUserSocialAccounts/index.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/{signInWithSocialRedirect/signInWithSocialRedirect.d.ts → authenticateWithSocial/authenticateWithSocial.d.ts} +5 -3
- package/src/modules/auth/social/oauth/authenticateWithSocial/authenticateWithSocial.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/index.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/buildOAuthUrl.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/getOAuthBaseUrl/index.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/index.d.ts.map +1 -1
- package/src/modules/auth/social/oauth/authenticateWithSocial/index.d.ts +2 -0
- package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/index.d.ts.map +1 -1
- package/src/modules/auth/social/oauth/{completeSocialRedirectSignIn/completeSocialRedirectSignIn.d.ts → completeSocialAuthentication/completeSocialAuthentication.d.ts} +3 -3
- package/src/modules/auth/social/oauth/completeSocialAuthentication/completeSocialAuthentication.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/completeSocialAuthentication/index.d.ts +2 -0
- package/src/modules/auth/social/oauth/{completeSocialRedirectSignIn → completeSocialAuthentication}/index.d.ts.map +1 -1
- package/src/modules/auth/social/oauth/redirectStateStorageSchema/index.d.ts +1 -1
- package/src/modules/auth/social/oauth/redirectStateStorageSchema/index.d.ts.map +1 -1
- package/src/modules/auth/social/oauth/redirectStateStorageSchema/redirectStateStorageSchema.d.ts +1 -1
- package/src/modules/auth/social/oauth/redirectStateStorageSchema/redirectStateStorageSchema.d.ts.map +1 -1
- package/src/modules/auth/social/oauth/unlinkSocialAccount/index.d.ts +2 -0
- package/src/modules/auth/social/oauth/unlinkSocialAccount/index.d.ts.map +1 -0
- package/src/modules/auth/social/oauth/unlinkSocialAccount/unlinkSocialAccount.d.ts +14 -0
- package/src/modules/auth/social/oauth/unlinkSocialAccount/unlinkSocialAccount.d.ts.map +1 -0
- package/src/modules/auth/social/removeDynamicOauthParamsFromUrl/index.d.ts +2 -0
- package/src/modules/auth/social/removeDynamicOauthParamsFromUrl/index.d.ts.map +1 -0
- package/src/modules/auth/social/removeDynamicOauthParamsFromUrl/removeDynamicOauthParamsFromUrl.d.ts +2 -0
- package/src/modules/auth/social/removeDynamicOauthParamsFromUrl/removeDynamicOauthParamsFromUrl.d.ts.map +1 -0
- package/src/modules/auth/social/social.types.d.ts +9 -0
- package/src/modules/auth/social/social.types.d.ts.map +1 -1
- package/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseWalletAccountsChangedEvent/checkAndRaiseWalletAccountsChangedEvent.d.ts.map +1 -1
- package/src/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
- package/src/modules/balances/getMultichainBalances/getMultichainBalances.d.ts +1 -2
- package/src/modules/balances/getMultichainBalances/getMultichainBalances.d.ts.map +1 -1
- package/src/modules/balances/getMultichainBalances/index.d.ts +1 -1
- package/src/modules/balances/getMultichainBalances/index.d.ts.map +1 -1
- package/src/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/addCoinbaseOnrampOrderEventListener.d.ts +18 -0
- package/src/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/addCoinbaseOnrampOrderEventListener.d.ts.map +1 -0
- package/src/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/index.d.ts +2 -0
- package/src/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/index.d.ts.map +1 -0
- package/src/modules/funding/coinbase/coinbase.types.d.ts +269 -0
- package/src/modules/funding/coinbase/coinbase.types.d.ts.map +1 -0
- package/src/modules/funding/coinbase/createCoinbaseOnrampOrder/createCoinbaseOnrampOrder.d.ts +11 -0
- package/src/modules/funding/coinbase/createCoinbaseOnrampOrder/createCoinbaseOnrampOrder.d.ts.map +1 -0
- package/src/modules/funding/coinbase/createCoinbaseOnrampOrder/index.d.ts +2 -0
- package/src/modules/funding/coinbase/createCoinbaseOnrampOrder/index.d.ts.map +1 -0
- package/src/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.d.ts +10 -0
- package/src/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.d.ts.map +1 -0
- package/src/modules/funding/coinbase/getCoinbaseBuyUrl/index.d.ts +2 -0
- package/src/modules/funding/coinbase/getCoinbaseBuyUrl/index.d.ts.map +1 -0
- package/src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/getMissingVerificationForCoinbaseOnrampOrder.d.ts +23 -0
- package/src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/getMissingVerificationForCoinbaseOnrampOrder.d.ts.map +1 -0
- package/src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/index.d.ts +2 -0
- package/src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/index.d.ts.map +1 -0
- package/src/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/index.d.ts +2 -0
- package/src/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/index.d.ts.map +1 -0
- package/src/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/validateUserCredentialsForCoinbaseOnrampOrder.d.ts +4 -0
- package/src/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/validateUserCredentialsForCoinbaseOnrampOrder.d.ts.map +1 -0
- package/src/modules/funding/cryptoDotCom/createCryptoDotComPayment/createCryptoDotComPayment.d.ts +10 -0
- package/src/modules/funding/cryptoDotCom/createCryptoDotComPayment/createCryptoDotComPayment.d.ts.map +1 -0
- package/src/modules/funding/cryptoDotCom/createCryptoDotComPayment/index.d.ts +2 -0
- package/src/modules/funding/cryptoDotCom/createCryptoDotComPayment/index.d.ts.map +1 -0
- package/src/modules/funding/cryptoDotCom/cryptoDotCom.types.d.ts +8 -0
- package/src/modules/funding/cryptoDotCom/cryptoDotCom.types.d.ts.map +1 -0
- package/src/modules/initializeClient/consts.d.ts +5 -0
- package/src/modules/initializeClient/consts.d.ts.map +1 -0
- package/src/modules/initializeClient/initializeClient.d.ts.map +1 -1
- package/src/modules/initializeClient/waitForClientInitialized/index.d.ts +2 -0
- package/src/modules/initializeClient/waitForClientInitialized/index.d.ts.map +1 -0
- package/src/modules/initializeClient/waitForClientInitialized/waitForClientInitialized.d.ts +8 -0
- package/src/modules/initializeClient/waitForClientInitialized/waitForClientInitialized.d.ts.map +1 -0
- package/src/modules/initializeClient/waitForProjectSettings/index.d.ts +2 -0
- package/src/modules/initializeClient/waitForProjectSettings/index.d.ts.map +1 -0
- package/src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.d.ts +3 -0
- package/src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.d.ts.map +1 -0
- package/src/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts +2 -1
- package/src/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts.map +1 -1
- package/src/modules/otp/verifyOTP/verifyOTP.d.ts +3 -2
- package/src/modules/otp/verifyOTP/verifyOTP.d.ts.map +1 -1
- package/src/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.d.ts.map +1 -1
- package/src/modules/projectSettings/fetchProjectSettings/projectSettingsExpirationScheme.d.ts +1 -1
- package/src/modules/projectSettings/fetchProjectSettings/projectSettingsExpirationScheme.d.ts.map +1 -1
- package/src/modules/sessionKeys/generateSessionKeys/generateSessionKeys.d.ts.map +1 -1
- package/src/modules/storageSync/hydrateStateWithStorage/hydrateStateWithStorage.d.ts.map +1 -1
- package/src/modules/storageSync/schema.d.ts +15 -2
- package/src/modules/storageSync/schema.d.ts.map +1 -1
- package/src/modules/storageSync/syncStateWithStorage/syncStateWithStorage.d.ts.map +1 -1
- package/src/modules/user/deleteUser/deleteUser.d.ts +11 -0
- package/src/modules/user/deleteUser/deleteUser.d.ts.map +1 -0
- package/src/modules/user/deleteUser/index.d.ts +2 -0
- package/src/modules/user/deleteUser/index.d.ts.map +1 -0
- package/src/modules/waas/constants.d.ts +2 -2
- package/src/modules/waas/constants.d.ts.map +1 -1
- package/src/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
- package/src/modules/waas/createWaasWalletAccounts/createWaasWalletAccounts.d.ts.map +1 -1
- package/src/modules/waas/delegateWaasKeyShares/delegateWaasKeyShares.d.ts.map +1 -1
- package/src/modules/waas/getWaasWalletProviderByChain/getWaasWalletProviderByChain.d.ts.map +1 -1
- package/src/modules/waas/hasDelegatedAccess/hasDelegatedAccess.d.ts +14 -0
- package/src/modules/waas/hasDelegatedAccess/hasDelegatedAccess.d.ts.map +1 -0
- package/src/modules/waas/hasDelegatedAccess/index.d.ts +2 -0
- package/src/modules/waas/hasDelegatedAccess/index.d.ts.map +1 -0
- package/src/modules/waas/isWaasWalletAccount/isWaasWalletAccount.d.ts.map +1 -1
- package/src/modules/waas/isWaasWalletProvider/isWaasWalletProvider.d.ts.map +1 -1
- package/src/modules/waas/revokeWaasDelegation/index.d.ts +2 -0
- package/src/modules/waas/revokeWaasDelegation/index.d.ts.map +1 -0
- package/src/modules/waas/revokeWaasDelegation/revokeWaasDelegation.d.ts +16 -0
- package/src/modules/waas/revokeWaasDelegation/revokeWaasDelegation.d.ts.map +1 -0
- package/src/modules/waas/waas.types.d.ts +4 -0
- package/src/modules/waas/waas.types.d.ts.map +1 -1
- package/src/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts +4 -3
- package/src/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts.map +1 -1
- package/src/modules/wallets/constants.d.ts.map +1 -1
- package/src/modules/wallets/getAvailableWalletProvidersData/getAvailableWalletProvidersData.d.ts +2 -6
- package/src/modules/wallets/getAvailableWalletProvidersData/getAvailableWalletProvidersData.d.ts.map +1 -1
- package/src/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/getOwnerWalletAccountForSmartWalletAccount.d.ts +7 -0
- package/src/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/getOwnerWalletAccountForSmartWalletAccount.d.ts.map +1 -0
- package/src/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/index.d.ts +2 -0
- package/src/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/index.d.ts.map +1 -0
- package/src/modules/wallets/getWalletAccountAddressByType/getWalletAccountAddressByType.d.ts +8 -0
- package/src/modules/wallets/getWalletAccountAddressByType/getWalletAccountAddressByType.d.ts.map +1 -0
- package/src/modules/wallets/getWalletAccountAddressByType/index.d.ts +2 -0
- package/src/modules/wallets/getWalletAccountAddressByType/index.d.ts.map +1 -0
- package/src/modules/wallets/getWalletAccounts/getWalletAccounts.d.ts.map +1 -1
- package/src/modules/wallets/getWalletAccounts/getWalletAccountsFromState/getWalletAccountsFromState.d.ts +9 -1
- package/src/modules/wallets/getWalletAccounts/getWalletAccountsFromState/getWalletAccountsFromState.d.ts.map +1 -1
- package/src/modules/wallets/getWalletProviderDataByKey/getWalletProviderDataByKey.d.ts +14 -0
- package/src/modules/wallets/getWalletProviderDataByKey/getWalletProviderDataByKey.d.ts.map +1 -0
- package/src/modules/wallets/getWalletProviderDataByKey/index.d.ts +2 -0
- package/src/modules/wallets/getWalletProviderDataByKey/index.d.ts.map +1 -0
- package/src/modules/wallets/isWalletAccountVerified/index.d.ts +2 -0
- package/src/modules/wallets/isWalletAccountVerified/index.d.ts.map +1 -0
- package/src/modules/wallets/isWalletAccountVerified/isWalletAccountVerified.d.ts +13 -0
- package/src/modules/wallets/isWalletAccountVerified/isWalletAccountVerified.d.ts.map +1 -0
- package/src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.d.ts +10 -0
- package/src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.d.ts.map +1 -0
- package/src/modules/wallets/networks/getNetworkDataForNetworkId/index.d.ts +2 -0
- package/src/modules/wallets/networks/getNetworkDataForNetworkId/index.d.ts.map +1 -0
- package/src/modules/wallets/networks/getTransactionHistory/getTransactionHistory.d.ts +26 -0
- package/src/modules/wallets/networks/getTransactionHistory/getTransactionHistory.d.ts.map +1 -0
- package/src/modules/wallets/networks/getTransactionHistory/index.d.ts +3 -0
- package/src/modules/wallets/networks/getTransactionHistory/index.d.ts.map +1 -0
- package/src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.d.ts.map +1 -1
- package/src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.d.ts +1 -1
- package/src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.d.ts.map +1 -1
- package/src/modules/wallets/primaryWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.d.ts.map +1 -1
- package/src/modules/wallets/proveWalletAccountOwnership/proveWalletAccountOwnership.d.ts +1 -1
- package/src/modules/wallets/proveWalletAccountOwnership/proveWalletAccountOwnership.d.ts.map +1 -1
- package/src/modules/wallets/removeWalletAccount/removeWalletAccount.d.ts.map +1 -1
- package/src/modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount/removeUnverifiedWalletAccount.d.ts.map +1 -1
- package/src/modules/wallets/unverifiedWalletAccounts/schema.d.ts +5 -0
- package/src/modules/wallets/unverifiedWalletAccounts/schema.d.ts.map +1 -1
- package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts/index.d.ts +2 -0
- package/src/modules/wallets/unverifiedWalletAccounts/{setUnverifiedWalletAccount → setUnverifiedWalletAccounts}/index.d.ts.map +1 -1
- package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts/setUnverifiedWalletAccounts.d.ts +13 -0
- package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts/setUnverifiedWalletAccounts.d.ts.map +1 -0
- package/src/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/convertUnverifiedWalletAccountToWalletAccount.d.ts +5 -1
- package/src/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/convertUnverifiedWalletAccountToWalletAccount.d.ts.map +1 -1
- package/src/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/convertVerifiedCredentialToWalletAccount.d.ts +6 -1
- package/src/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/convertVerifiedCredentialToWalletAccount.d.ts.map +1 -1
- package/src/modules/wallets/utils/formatSignInMessage/formatSignInMessage.d.ts +9 -7
- package/src/modules/wallets/utils/formatSignInMessage/formatSignInMessage.d.ts.map +1 -1
- package/src/modules/wallets/utils/formatWalletAccountId/formatWalletAccountId.d.ts +9 -0
- package/src/modules/wallets/utils/formatWalletAccountId/formatWalletAccountId.d.ts.map +1 -0
- package/src/modules/wallets/utils/formatWalletAccountId/index.d.ts +2 -0
- package/src/modules/wallets/utils/formatWalletAccountId/index.d.ts.map +1 -0
- package/src/modules/wallets/utils/formatWalletProviderKey/formatWalletProviderKey.d.ts +17 -2
- package/src/modules/wallets/utils/formatWalletProviderKey/formatWalletProviderKey.d.ts.map +1 -1
- package/src/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/getAddressesWithTypesFromConnectionResult.d.ts +4 -0
- package/src/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/getAddressesWithTypesFromConnectionResult.d.ts.map +1 -0
- package/src/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/index.d.ts +2 -0
- package/src/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/index.d.ts.map +1 -0
- package/src/modules/wallets/utils/getChainIdForAccountVerification/getChainIdForAccountVerification.d.ts.map +1 -1
- package/src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.d.ts +2 -0
- package/src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.d.ts.map +1 -0
- package/src/modules/wallets/utils/getInjectedProviderFromWindow/index.d.ts +2 -0
- package/src/modules/wallets/utils/getInjectedProviderFromWindow/index.d.ts.map +1 -0
- package/src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.d.ts +3 -0
- package/src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.d.ts.map +1 -0
- package/src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/index.d.ts +2 -0
- package/src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/index.d.ts.map +1 -0
- package/src/modules/wallets/utils/getSignInMessage/getSignInMessage.d.ts.map +1 -1
- package/src/modules/wallets/utils/getVerifiedCredentialForWalletAccount/getVerifiedCredentialForWalletAccount.d.ts +8 -0
- package/src/modules/wallets/utils/getVerifiedCredentialForWalletAccount/getVerifiedCredentialForWalletAccount.d.ts.map +1 -0
- package/src/modules/wallets/utils/getVerifiedCredentialForWalletAccount/index.d.ts +2 -0
- package/src/modules/wallets/utils/getVerifiedCredentialForWalletAccount/index.d.ts.map +1 -0
- package/src/modules/wallets/utils/normalizeWalletNameWithChain/index.d.ts +2 -0
- package/src/modules/wallets/utils/normalizeWalletNameWithChain/index.d.ts.map +1 -0
- package/src/modules/wallets/utils/normalizeWalletNameWithChain/normalizeWalletNameWithChain.d.ts +12 -0
- package/src/modules/wallets/utils/normalizeWalletNameWithChain/normalizeWalletNameWithChain.d.ts.map +1 -0
- package/src/modules/wallets/verifySignInMessage/index.d.ts +2 -0
- package/src/modules/wallets/verifySignInMessage/index.d.ts.map +1 -0
- package/src/modules/wallets/verifySignInMessage/verifySignInMessage.d.ts +22 -0
- package/src/modules/wallets/verifySignInMessage/verifySignInMessage.d.ts.map +1 -0
- package/src/modules/wallets/verifyWalletAccount/verifyWalletAccount.d.ts.map +1 -1
- package/src/modules/wallets/walletAccount/index.d.ts +1 -1
- package/src/modules/wallets/walletAccount/index.d.ts.map +1 -1
- package/src/modules/wallets/walletAccount/walletAccount.types.d.ts +8 -0
- package/src/modules/wallets/walletAccount/walletAccount.types.d.ts.map +1 -1
- package/src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.d.ts +7 -5
- package/src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.d.ts.map +1 -1
- package/src/modules/wallets/walletProvider/index.d.ts +1 -1
- package/src/modules/wallets/walletProvider/index.d.ts.map +1 -1
- package/src/modules/wallets/walletProvider/splitWalletProviderKey/index.d.ts +2 -0
- package/src/modules/wallets/walletProvider/splitWalletProviderKey/index.d.ts.map +1 -0
- package/src/modules/wallets/walletProvider/splitWalletProviderKey/splitWalletProviderKey.d.ts +9 -0
- package/src/modules/wallets/walletProvider/splitWalletProviderKey/splitWalletProviderKey.d.ts.map +1 -0
- package/src/modules/wallets/walletProvider/walletProvider.types.d.ts +34 -12
- package/src/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/getWalletProviderKeyFromVerifiedCredential.d.ts +10 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/getWalletProviderKeyFromVerifiedCredential.d.ts.map +1 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/index.d.ts +2 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/index.d.ts.map +1 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/schema.d.ts +3 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/schema.d.ts.map +1 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/state.d.ts +16 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/state.d.ts.map +1 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/index.d.ts +2 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/index.d.ts.map +1 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/updateWalletProviderKeysForVerifiedCredentials.d.ts +7 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/updateWalletProviderKeysForVerifiedCredentials.d.ts.map +1 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/walletProviderKeyMap.types.d.ts +12 -0
- package/src/modules/wallets/walletProvider/walletProviderKeyMap/walletProviderKeyMap.types.d.ts.map +1 -0
- package/src/modules/wallets/walletProviderRegistry/createWalletProviderRegistry/createWalletProviderRegistry.d.ts.map +1 -1
- package/src/modules/wallets/walletProviderRegistry/events.d.ts +6 -0
- package/src/modules/wallets/walletProviderRegistry/events.d.ts.map +1 -1
- package/src/modules/wallets/walletProviderRegistry/walletProviderRegistry.types.d.ts +18 -0
- package/src/modules/wallets/walletProviderRegistry/walletProviderRegistry.types.d.ts.map +1 -1
- package/src/services/asyncTrack/asyncTrack.types.d.ts +5 -1
- package/src/services/asyncTrack/asyncTrack.types.d.ts.map +1 -1
- package/src/services/asyncTrack/createAsyncTrack.d.ts.map +1 -1
- package/src/services/storage/index.d.ts +1 -1
- package/src/services/storage/index.d.ts.map +1 -1
- package/src/utils/debouncedMutex/createDebouncedMutex/createDebouncedMutex.d.ts +3 -0
- package/src/utils/debouncedMutex/createDebouncedMutex/createDebouncedMutex.d.ts.map +1 -0
- package/src/utils/debouncedMutex/createDebouncedMutex/index.d.ts +2 -0
- package/src/utils/debouncedMutex/createDebouncedMutex/index.d.ts.map +1 -0
- package/src/utils/debouncedMutex/debouncedMutex.types.d.ts +39 -0
- package/src/utils/debouncedMutex/debouncedMutex.types.d.ts.map +1 -0
- package/src/utils/debouncedMutex/index.d.ts +2 -0
- package/src/utils/debouncedMutex/index.d.ts.map +1 -0
- package/src/utils/isMobile/index.d.ts +2 -0
- package/src/utils/isMobile/index.d.ts.map +1 -0
- package/src/utils/isMobile/isMobile.d.ts +20 -0
- package/src/utils/isMobile/isMobile.d.ts.map +1 -0
- package/src/utils/retryOnFail/retryOnFail.d.ts.map +1 -1
- package/waas.cjs.js +88 -39
- package/waas.esm.js +63 -16
- package/waasCore.cjs.js +21 -9
- package/waasCore.esm.js +15 -3
- package/getChainFromVerifiedCredentialChain.cjs.js +0 -473
- package/getChainFromVerifiedCredentialChain.esm.js +0 -447
- package/src/modules/auth/social/oauth/completeSocialRedirectSignIn/completeSocialRedirectSignIn.d.ts.map +0 -1
- package/src/modules/auth/social/oauth/completeSocialRedirectSignIn/index.d.ts +0 -2
- package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts.map +0 -1
- package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/addOAuthUrlParams/index.d.ts.map +0 -1
- package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/buildOAuthUrl.d.ts.map +0 -1
- package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.d.ts.map +0 -1
- package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/getOAuthBaseUrl/index.d.ts.map +0 -1
- package/src/modules/auth/social/oauth/signInWithSocialRedirect/index.d.ts +0 -2
- package/src/modules/auth/social/oauth/signInWithSocialRedirect/signInWithSocialRedirect.d.ts.map +0 -1
- package/src/modules/wallets/unverifiedWalletAccounts/addUnverifiedWalletAccounts/addUnverifiedWalletAccounts.d.ts +0 -11
- package/src/modules/wallets/unverifiedWalletAccounts/addUnverifiedWalletAccounts/addUnverifiedWalletAccounts.d.ts.map +0 -1
- package/src/modules/wallets/unverifiedWalletAccounts/addUnverifiedWalletAccounts/index.d.ts +0 -2
- package/src/modules/wallets/unverifiedWalletAccounts/addUnverifiedWalletAccounts/index.d.ts.map +0 -1
- package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccount/index.d.ts +0 -2
- package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccount/setUnverifiedWalletAccount.d.ts +0 -11
- package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccount/setUnverifiedWalletAccount.d.ts.map +0 -1
- package/src/modules/wallets/utils/createWalletAccountId/createWalletAccountId.d.ts +0 -3
- package/src/modules/wallets/utils/createWalletAccountId/createWalletAccountId.d.ts.map +0 -1
- package/src/modules/wallets/utils/createWalletAccountId/index.d.ts +0 -2
- package/src/modules/wallets/utils/createWalletAccountId/index.d.ts.map +0 -1
- /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts +0 -0
- /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/addOAuthUrlParams/index.d.ts +0 -0
- /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/buildOAuthUrl.d.ts +0 -0
- /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.d.ts +0 -0
- /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/getOAuthBaseUrl/index.d.ts +0 -0
- /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/index.d.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var constants = require('./constants.cjs.js');
|
|
4
4
|
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -20,8 +20,8 @@ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
|
20
20
|
* @param params.listener - The callback function to execute when the event is fired.
|
|
21
21
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
22
22
|
* @returns A function that can be called to remove the listener.
|
|
23
|
-
*/ const onEvent = ({ event, listener }, client =
|
|
24
|
-
const { eventEmitter } =
|
|
23
|
+
*/ const onEvent = ({ event, listener }, client = constants.getDefaultClient())=>{
|
|
24
|
+
const { eventEmitter } = constants.getCore(client);
|
|
25
25
|
eventEmitter.on(event, listener);
|
|
26
26
|
return ()=>{
|
|
27
27
|
eventEmitter.off(event, listener);
|
|
@@ -36,8 +36,8 @@ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
|
36
36
|
* @param params.event - The event name to remove the listener from.
|
|
37
37
|
* @param params.listener - The callback function to remove.
|
|
38
38
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
39
|
-
*/ const offEvent = ({ event, listener }, client =
|
|
40
|
-
const { eventEmitter } =
|
|
39
|
+
*/ const offEvent = ({ event, listener }, client = constants.getDefaultClient())=>{
|
|
40
|
+
const { eventEmitter } = constants.getCore(client);
|
|
41
41
|
eventEmitter.off(event, listener);
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
@@ -50,8 +50,8 @@ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
|
50
50
|
* @param params.listener - The callback function to execute when the event is fired.
|
|
51
51
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
52
52
|
* @returns A function that can be called to remove the listener before it fires.
|
|
53
|
-
*/ const onceEvent = ({ event, listener }, client =
|
|
54
|
-
const { eventEmitter } =
|
|
53
|
+
*/ const onceEvent = ({ event, listener }, client = constants.getDefaultClient())=>{
|
|
54
|
+
const { eventEmitter } = constants.getCore(client);
|
|
55
55
|
eventEmitter.once(event, listener);
|
|
56
56
|
return ()=>{
|
|
57
57
|
eventEmitter.off(event, listener);
|
|
@@ -67,10 +67,34 @@ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
|
67
67
|
* @param params.args - The arguments to pass to event listeners.
|
|
68
68
|
* @param client - The Dynamic client instance.
|
|
69
69
|
*/ const emitEvent = ({ event, args }, client)=>{
|
|
70
|
-
const { eventEmitter } =
|
|
70
|
+
const { eventEmitter } = constants.getCore(client);
|
|
71
71
|
eventEmitter.emit(event, args);
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
+
class InvalidWalletProviderKeyError extends constants.BaseError {
|
|
75
|
+
constructor(value){
|
|
76
|
+
super({
|
|
77
|
+
cause: null,
|
|
78
|
+
code: 'invalid_wallet_provider_key',
|
|
79
|
+
docsUrl: null,
|
|
80
|
+
name: 'InvalidWalletProviderKeyError',
|
|
81
|
+
shortMessage: `Invalid wallet provider key: ${value}. Key must be in the format of <normalizedWalletNameWithChain>:<walletProviderType>[:<suffix>]`
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const splitWalletProviderKey = (walletProviderKey)=>{
|
|
87
|
+
const [normalizedWalletNameWithChain, walletProviderType, suffix, ...rest] = walletProviderKey.split(':');
|
|
88
|
+
if (!normalizedWalletNameWithChain || !Object.values(sdkApiCore.WalletProviderEnum).includes(walletProviderType) || rest.length > 0) {
|
|
89
|
+
throw new InvalidWalletProviderKeyError(walletProviderKey);
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
normalizedWalletNameWithChain,
|
|
93
|
+
suffix,
|
|
94
|
+
walletProviderType: walletProviderType
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
|
|
74
98
|
const normalizeAddress = (address, chain)=>{
|
|
75
99
|
let normalizedAddress = address;
|
|
76
100
|
if (normalizedAddress == null ? void 0 : normalizedAddress.startsWith('0x')) {
|
|
@@ -88,60 +112,134 @@ const normalizeAddress = (address, chain)=>{
|
|
|
88
112
|
return normalizedAddress;
|
|
89
113
|
};
|
|
90
114
|
|
|
91
|
-
const
|
|
115
|
+
const formatWalletAccountId = ({ address, chain, walletProviderKey })=>{
|
|
116
|
+
const { normalizedWalletNameWithChain } = splitWalletProviderKey(walletProviderKey);
|
|
117
|
+
const normalizedAddress = normalizeAddress(address, chain);
|
|
118
|
+
return `${normalizedWalletNameWithChain}:${normalizedAddress}`;
|
|
119
|
+
};
|
|
92
120
|
|
|
93
|
-
const convertUnverifiedWalletAccountToWalletAccount = (unverifiedWalletAccount)=>({
|
|
121
|
+
const convertUnverifiedWalletAccountToWalletAccount = ({ unverifiedWalletAccount })=>({
|
|
94
122
|
address: unverifiedWalletAccount.address,
|
|
123
|
+
addressesWithTypes: unverifiedWalletAccount.addressesWithTypes,
|
|
95
124
|
chain: unverifiedWalletAccount.chain,
|
|
96
|
-
id:
|
|
125
|
+
id: formatWalletAccountId({
|
|
126
|
+
address: unverifiedWalletAccount.address,
|
|
127
|
+
chain: unverifiedWalletAccount.chain,
|
|
128
|
+
walletProviderKey: unverifiedWalletAccount.walletProviderKey
|
|
129
|
+
}),
|
|
97
130
|
lastSelectedAt: unverifiedWalletAccount.lastSelectedAt,
|
|
98
131
|
verifiedCredentialId: null,
|
|
99
132
|
walletProviderKey: unverifiedWalletAccount.walletProviderKey
|
|
100
133
|
});
|
|
101
134
|
|
|
102
135
|
/**
|
|
103
|
-
* Format the wallet name and chain to get
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
136
|
+
* Format the raw wallet name and chain to get the value we can use for
|
|
137
|
+
* verified credentials' `walletName` field.
|
|
138
|
+
*/ const normalizeWalletNameWithChain = ({ displayName, chain })=>{
|
|
139
|
+
const sanitizedWalletName = displayName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
|
|
140
|
+
const chainLowered = chain.toLocaleLowerCase();
|
|
141
|
+
if (sanitizedWalletName.endsWith(chainLowered)) {
|
|
142
|
+
return sanitizedWalletName;
|
|
143
|
+
}
|
|
144
|
+
return `${sanitizedWalletName}${chainLowered}`;
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Assembles the wallet provider key from the wallet name, chain, and wallet provider type.
|
|
149
|
+
*
|
|
150
|
+
* The suffix is optional and can be used to add a uniquely identifying string to the key, which
|
|
151
|
+
* might be necessary for some wallet providers (like Wallet Connect).
|
|
152
|
+
*
|
|
153
|
+
* IMPORTANT: Do NOT add a suffix unless absolutely necessary, as it will cause the wallet account
|
|
154
|
+
* to not be able to find its wallet provider when connecting to a new device (it won't be possible
|
|
155
|
+
* to determine the full key just from the Verified Credential data).
|
|
156
|
+
*/ const formatWalletProviderKey = ({ suffix, chain, displayName, walletProviderType })=>{
|
|
157
|
+
const normalizedNameWithChain = normalizeWalletNameWithChain({
|
|
158
|
+
chain,
|
|
159
|
+
displayName
|
|
160
|
+
});
|
|
161
|
+
return `${normalizedNameWithChain}:${walletProviderType}${suffix ? `:${suffix}` : ''}`;
|
|
107
162
|
};
|
|
108
163
|
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
164
|
+
const getWalletProviderKeyFromVerifiedCredential = ({ verifiedCredential }, client)=>{
|
|
165
|
+
const core = constants.getCore(client);
|
|
166
|
+
const { walletProviderKeyMap } = core.state.get();
|
|
167
|
+
const storedWalletProviderKey = walletProviderKeyMap[verifiedCredential.id];
|
|
168
|
+
if (storedWalletProviderKey) {
|
|
169
|
+
return {
|
|
170
|
+
walletProviderKey: storedWalletProviderKey
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* We fallback to comprising the wallet provider key from walletName and walletProvider.
|
|
175
|
+
*
|
|
176
|
+
* Some wallet provider types (like Wallet Connect) also use a special suffix for their wallet provider
|
|
177
|
+
* keys, so this won't be enough for them.
|
|
178
|
+
* Therefore, for those specific wallet providers, the wallet account will remain without a wallet provider
|
|
179
|
+
* and will require reconnection.
|
|
180
|
+
* Read walletProvider.types.ts for more info.
|
|
181
|
+
*/ constants.assertDefined(verifiedCredential.walletName, `Failed to get wallet provider for verified credential with ID ${verifiedCredential.id}: missing walletName`);
|
|
182
|
+
constants.assertDefined(verifiedCredential.walletProvider, `Failed to get wallet provider for verified credential with ID ${verifiedCredential.id}: missing walletProvider`);
|
|
183
|
+
constants.assertDefined(verifiedCredential.chain, `Failed to get wallet provider for verified credential with ID ${verifiedCredential.id}: missing chain`);
|
|
184
|
+
/**
|
|
185
|
+
* Historically, walletNames did not include the chain name as a suffix.
|
|
186
|
+
* This piece of logic simply ensures we normalize any legacy walletNames to conform.
|
|
187
|
+
*/ const chain = constants.getChainFromVerifiedCredentialChain(verifiedCredential.chain);
|
|
188
|
+
const walletProviderKey = formatWalletProviderKey({
|
|
189
|
+
chain,
|
|
190
|
+
displayName: verifiedCredential.walletName,
|
|
191
|
+
walletProviderType: verifiedCredential.walletProvider
|
|
192
|
+
});
|
|
193
|
+
return {
|
|
194
|
+
walletProviderKey
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
const convertVerifiedCredentialToWalletAccount = ({ verifiedCredential }, client)=>{
|
|
199
|
+
constants.assertDefined(verifiedCredential.address, 'Missing address in verified credential');
|
|
200
|
+
constants.assertDefined(verifiedCredential.chain, 'Missing chain in verified credential');
|
|
201
|
+
const chain = constants.getChainFromVerifiedCredentialChain(verifiedCredential.chain);
|
|
202
|
+
const { walletProviderKey } = getWalletProviderKeyFromVerifiedCredential({
|
|
203
|
+
verifiedCredential
|
|
204
|
+
}, client);
|
|
205
|
+
const walletAccountId = formatWalletAccountId({
|
|
206
|
+
address: verifiedCredential.address,
|
|
207
|
+
chain,
|
|
208
|
+
walletProviderKey
|
|
209
|
+
});
|
|
210
|
+
var _verifiedCredential_lastSelectedAt;
|
|
120
211
|
return {
|
|
121
|
-
address:
|
|
212
|
+
address: verifiedCredential.address,
|
|
213
|
+
addressesWithTypes: verifiedCredential.walletAdditionalAddresses,
|
|
122
214
|
chain,
|
|
123
|
-
id:
|
|
124
|
-
lastSelectedAt: (
|
|
125
|
-
verifiedCredentialId:
|
|
215
|
+
id: walletAccountId,
|
|
216
|
+
lastSelectedAt: (_verifiedCredential_lastSelectedAt = verifiedCredential.lastSelectedAt) != null ? _verifiedCredential_lastSelectedAt : null,
|
|
217
|
+
verifiedCredentialId: verifiedCredential.id,
|
|
126
218
|
walletProviderKey
|
|
127
219
|
};
|
|
128
220
|
};
|
|
129
221
|
|
|
130
|
-
const getWalletAccountsFromState = (
|
|
131
|
-
const { unverifiedWalletAccounts, user } = state;
|
|
222
|
+
const getWalletAccountsFromState = ({ unverifiedWalletAccounts, user }, client)=>{
|
|
132
223
|
const walletAccountsMap = new Map();
|
|
133
224
|
/**
|
|
134
225
|
* Handle the unverified wallet accounts before the user verified credentials
|
|
135
226
|
* so the later verified wallet accounts can override the unverified wallet accounts
|
|
136
227
|
*/ unverifiedWalletAccounts.forEach((unverifiedWalletAccount)=>{
|
|
137
|
-
const walletAccount = convertUnverifiedWalletAccountToWalletAccount(
|
|
228
|
+
const walletAccount = convertUnverifiedWalletAccountToWalletAccount({
|
|
229
|
+
unverifiedWalletAccount
|
|
230
|
+
});
|
|
138
231
|
walletAccountsMap.set(walletAccount.id, walletAccount);
|
|
139
232
|
});
|
|
140
233
|
var _user_verifiedCredentials;
|
|
141
234
|
/**
|
|
142
235
|
* Handle user verified credentials
|
|
143
236
|
*/ const verifiedCredentials = (_user_verifiedCredentials = user == null ? void 0 : user.verifiedCredentials) != null ? _user_verifiedCredentials : [];
|
|
144
|
-
verifiedCredentials.filter((verified)=>verified.format === sdkApiCore.JwtVerifiedCredentialFormatEnum.Blockchain).
|
|
237
|
+
verifiedCredentials.filter((verified)=>verified.format === sdkApiCore.JwtVerifiedCredentialFormatEnum.Blockchain).forEach((verifiedWalletAccount)=>{
|
|
238
|
+
const walletAccount = convertVerifiedCredentialToWalletAccount({
|
|
239
|
+
verifiedCredential: verifiedWalletAccount
|
|
240
|
+
}, client);
|
|
241
|
+
walletAccountsMap.set(walletAccount.id, walletAccount);
|
|
242
|
+
});
|
|
145
243
|
return Array.from(walletAccountsMap.values());
|
|
146
244
|
};
|
|
147
245
|
|
|
@@ -155,9 +253,16 @@ const getWalletAccountsFromState = (state)=>{
|
|
|
155
253
|
*
|
|
156
254
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
157
255
|
* @returns An array of wallet accounts associated with the session.
|
|
158
|
-
*/ const getWalletAccounts = (client =
|
|
256
|
+
*/ const getWalletAccounts = (client = constants.getDefaultClient())=>{
|
|
257
|
+
const core = constants.getCore(client);
|
|
258
|
+
const { unverifiedWalletAccounts, user } = core.state.get();
|
|
259
|
+
return getWalletAccountsFromState({
|
|
260
|
+
unverifiedWalletAccounts,
|
|
261
|
+
user
|
|
262
|
+
}, client);
|
|
263
|
+
};
|
|
159
264
|
|
|
160
|
-
class NoWalletProviderFoundError extends
|
|
265
|
+
class NoWalletProviderFoundError extends constants.BaseError {
|
|
161
266
|
constructor({ walletProviderKey }){
|
|
162
267
|
super({
|
|
163
268
|
cause: null,
|
|
@@ -178,7 +283,7 @@ class NoWalletProviderFoundError extends getChainFromVerifiedCredentialChain.Bas
|
|
|
178
283
|
* @param key - Unique identifier for the service in the registry
|
|
179
284
|
* @param builder - Function that creates the service instance when called with a DynamicClient
|
|
180
285
|
*/ const createRuntimeServiceAccessKey = (key, builder)=>(client)=>{
|
|
181
|
-
const { runtimeServices } =
|
|
286
|
+
const { runtimeServices } = constants.getCore(client);
|
|
182
287
|
const currentService = runtimeServices.getByKey(key);
|
|
183
288
|
if (currentService) {
|
|
184
289
|
return currentService;
|
|
@@ -240,6 +345,15 @@ class NoWalletProviderFoundError extends getChainFromVerifiedCredentialChain.Bas
|
|
|
240
345
|
event: 'walletProviderChanged'
|
|
241
346
|
}, client);
|
|
242
347
|
}
|
|
348
|
+
},
|
|
349
|
+
unregister: (key)=>{
|
|
350
|
+
registry.delete(key);
|
|
351
|
+
emitEvent({
|
|
352
|
+
args: {
|
|
353
|
+
walletProviderKey: key
|
|
354
|
+
},
|
|
355
|
+
event: 'walletProviderUnregistered'
|
|
356
|
+
}, client);
|
|
243
357
|
}
|
|
244
358
|
};
|
|
245
359
|
};
|
|
@@ -314,33 +428,37 @@ const DYNAMIC_AUTH_COOKIE_NAME = 'DYNAMIC_JWT_TOKEN';
|
|
|
314
428
|
};
|
|
315
429
|
|
|
316
430
|
const checkAndRaiseWalletAccountsChangedEvent = ({ previousState }, client)=>{
|
|
317
|
-
const core =
|
|
318
|
-
const walletAccountsHashBefore = getWalletAccountsHash(previousState);
|
|
319
|
-
const walletAccountsHashAfter = getWalletAccountsHash(core.state.get());
|
|
431
|
+
const core = constants.getCore(client);
|
|
432
|
+
const walletAccountsHashBefore = getWalletAccountsHash(previousState, client);
|
|
433
|
+
const walletAccountsHashAfter = getWalletAccountsHash(core.state.get(), client);
|
|
320
434
|
if (walletAccountsHashBefore !== walletAccountsHashAfter) {
|
|
321
435
|
emitWalletAccountsChangedEvent(client);
|
|
322
436
|
}
|
|
323
437
|
};
|
|
324
|
-
const getWalletAccountsHash = (state)=>getWalletAccountsFromState(state).map((
|
|
438
|
+
const getWalletAccountsHash = (state, client)=>getWalletAccountsFromState(state, client).map((walletAccount)=>JSON.stringify(walletAccount)).sort().join('-');
|
|
325
439
|
|
|
326
440
|
const updateAuthFromVerifyResponse = ({ response }, client)=>{
|
|
327
|
-
const core =
|
|
328
|
-
const previousState =
|
|
441
|
+
const core = constants.getCore(client);
|
|
442
|
+
const previousState = constants._extends({}, core.state.get());
|
|
329
443
|
const { user, minifiedJwt, jwt, expiresAt, mfaToken } = response;
|
|
330
444
|
// Expires at is in seconds, so we need to convert it to milliseconds
|
|
331
445
|
const sessionExpiresAt = new Date(expiresAt * 1000);
|
|
332
|
-
|
|
446
|
+
const newState = {
|
|
333
447
|
legacyToken: jwt != null ? jwt : null,
|
|
334
|
-
mfaToken: mfaToken != null ? mfaToken : null,
|
|
335
448
|
sessionExpiresAt: sessionExpiresAt,
|
|
336
449
|
token: minifiedJwt != null ? minifiedJwt : null,
|
|
337
450
|
user
|
|
338
|
-
}
|
|
451
|
+
};
|
|
452
|
+
// only override the mfaToken if a new one is provided in the response
|
|
453
|
+
if (mfaToken) {
|
|
454
|
+
newState.mfaToken = mfaToken;
|
|
455
|
+
}
|
|
456
|
+
core.state.set(newState);
|
|
339
457
|
/**
|
|
340
458
|
* For customers using a sandbox environment with cookies enabled, we need to set the cookie
|
|
341
459
|
* programmatically because Redcoast won't set the cookie via headers. We set the cookie programmatically
|
|
342
460
|
* so customers can access the cookie from document.cookie consistently between sandbox and live environments.
|
|
343
|
-
*/ if (minifiedJwt &&
|
|
461
|
+
*/ if (minifiedJwt && constants.isCookieEnabled(client)) {
|
|
344
462
|
const expireDate = sessionExpiresAt.toUTCString();
|
|
345
463
|
setCookie(`${DYNAMIC_AUTH_COOKIE_NAME}=${minifiedJwt}; expires=${expireDate}; path=/; SameSite=Lax`);
|
|
346
464
|
}
|
|
@@ -367,21 +485,31 @@ const getWalletProviderByKey = ({ walletProviderKey }, client)=>{
|
|
|
367
485
|
return walletProvider;
|
|
368
486
|
};
|
|
369
487
|
|
|
488
|
+
const getVerifiedCredentialForWalletAccount = ({ walletAccount }, client)=>{
|
|
489
|
+
var _client_user;
|
|
490
|
+
return (_client_user = client.user) == null ? void 0 : _client_user.verifiedCredentials.find((vc)=>vc.id === walletAccount.verifiedCredentialId);
|
|
491
|
+
};
|
|
492
|
+
|
|
370
493
|
exports.DYNAMIC_AUTH_COOKIE_NAME = DYNAMIC_AUTH_COOKIE_NAME;
|
|
494
|
+
exports.InvalidWalletProviderKeyError = InvalidWalletProviderKeyError;
|
|
371
495
|
exports.NoWalletProviderFoundError = NoWalletProviderFoundError;
|
|
496
|
+
exports.checkAndRaiseWalletAccountsChangedEvent = checkAndRaiseWalletAccountsChangedEvent;
|
|
372
497
|
exports.createRuntimeServiceAccessKey = createRuntimeServiceAccessKey;
|
|
373
|
-
exports.createWalletAccountId = createWalletAccountId;
|
|
374
498
|
exports.emitEvent = emitEvent;
|
|
375
499
|
exports.emitWalletAccountsChangedEvent = emitWalletAccountsChangedEvent;
|
|
500
|
+
exports.formatWalletAccountId = formatWalletAccountId;
|
|
376
501
|
exports.formatWalletProviderKey = formatWalletProviderKey;
|
|
502
|
+
exports.getVerifiedCredentialForWalletAccount = getVerifiedCredentialForWalletAccount;
|
|
377
503
|
exports.getWalletAccounts = getWalletAccounts;
|
|
378
504
|
exports.getWalletProviderByKey = getWalletProviderByKey;
|
|
379
505
|
exports.getWalletProviderFromWalletAccount = getWalletProviderFromWalletAccount;
|
|
380
506
|
exports.getWalletProviderRegistry = getWalletProviderRegistry;
|
|
381
507
|
exports.getWalletProviders = getWalletProviders;
|
|
382
508
|
exports.normalizeAddress = normalizeAddress;
|
|
509
|
+
exports.normalizeWalletNameWithChain = normalizeWalletNameWithChain;
|
|
383
510
|
exports.offEvent = offEvent;
|
|
384
511
|
exports.onEvent = onEvent;
|
|
385
512
|
exports.onceEvent = onceEvent;
|
|
386
513
|
exports.setCookie = setCookie;
|
|
514
|
+
exports.splitWalletProviderKey = splitWalletProviderKey;
|
|
387
515
|
exports.updateAuthFromVerifyResponse = updateAuthFromVerifyResponse;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as getDefaultClient, a as getCore,
|
|
2
|
-
import { JwtVerifiedCredentialFormatEnum } from '@dynamic-labs/sdk-api-core';
|
|
1
|
+
import { g as getDefaultClient, a as getCore, B as BaseError, d as assertDefined, k as getChainFromVerifiedCredentialChain, _ as _extends, i as isCookieEnabled } from './constants.esm.js';
|
|
2
|
+
import { WalletProviderEnum, JwtVerifiedCredentialFormatEnum } from '@dynamic-labs/sdk-api-core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Sefelly sets the cookie in the browser.
|
|
@@ -69,6 +69,30 @@ import { JwtVerifiedCredentialFormatEnum } from '@dynamic-labs/sdk-api-core';
|
|
|
69
69
|
eventEmitter.emit(event, args);
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
+
class InvalidWalletProviderKeyError extends BaseError {
|
|
73
|
+
constructor(value){
|
|
74
|
+
super({
|
|
75
|
+
cause: null,
|
|
76
|
+
code: 'invalid_wallet_provider_key',
|
|
77
|
+
docsUrl: null,
|
|
78
|
+
name: 'InvalidWalletProviderKeyError',
|
|
79
|
+
shortMessage: `Invalid wallet provider key: ${value}. Key must be in the format of <normalizedWalletNameWithChain>:<walletProviderType>[:<suffix>]`
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const splitWalletProviderKey = (walletProviderKey)=>{
|
|
85
|
+
const [normalizedWalletNameWithChain, walletProviderType, suffix, ...rest] = walletProviderKey.split(':');
|
|
86
|
+
if (!normalizedWalletNameWithChain || !Object.values(WalletProviderEnum).includes(walletProviderType) || rest.length > 0) {
|
|
87
|
+
throw new InvalidWalletProviderKeyError(walletProviderKey);
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
normalizedWalletNameWithChain,
|
|
91
|
+
suffix,
|
|
92
|
+
walletProviderType: walletProviderType
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
|
|
72
96
|
const normalizeAddress = (address, chain)=>{
|
|
73
97
|
let normalizedAddress = address;
|
|
74
98
|
if (normalizedAddress == null ? void 0 : normalizedAddress.startsWith('0x')) {
|
|
@@ -86,60 +110,134 @@ const normalizeAddress = (address, chain)=>{
|
|
|
86
110
|
return normalizedAddress;
|
|
87
111
|
};
|
|
88
112
|
|
|
89
|
-
const
|
|
113
|
+
const formatWalletAccountId = ({ address, chain, walletProviderKey })=>{
|
|
114
|
+
const { normalizedWalletNameWithChain } = splitWalletProviderKey(walletProviderKey);
|
|
115
|
+
const normalizedAddress = normalizeAddress(address, chain);
|
|
116
|
+
return `${normalizedWalletNameWithChain}:${normalizedAddress}`;
|
|
117
|
+
};
|
|
90
118
|
|
|
91
|
-
const convertUnverifiedWalletAccountToWalletAccount = (unverifiedWalletAccount)=>({
|
|
119
|
+
const convertUnverifiedWalletAccountToWalletAccount = ({ unverifiedWalletAccount })=>({
|
|
92
120
|
address: unverifiedWalletAccount.address,
|
|
121
|
+
addressesWithTypes: unverifiedWalletAccount.addressesWithTypes,
|
|
93
122
|
chain: unverifiedWalletAccount.chain,
|
|
94
|
-
id:
|
|
123
|
+
id: formatWalletAccountId({
|
|
124
|
+
address: unverifiedWalletAccount.address,
|
|
125
|
+
chain: unverifiedWalletAccount.chain,
|
|
126
|
+
walletProviderKey: unverifiedWalletAccount.walletProviderKey
|
|
127
|
+
}),
|
|
95
128
|
lastSelectedAt: unverifiedWalletAccount.lastSelectedAt,
|
|
96
129
|
verifiedCredentialId: null,
|
|
97
130
|
walletProviderKey: unverifiedWalletAccount.walletProviderKey
|
|
98
131
|
});
|
|
99
132
|
|
|
100
133
|
/**
|
|
101
|
-
* Format the wallet name and chain to get
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
134
|
+
* Format the raw wallet name and chain to get the value we can use for
|
|
135
|
+
* verified credentials' `walletName` field.
|
|
136
|
+
*/ const normalizeWalletNameWithChain = ({ displayName, chain })=>{
|
|
137
|
+
const sanitizedWalletName = displayName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
|
|
138
|
+
const chainLowered = chain.toLocaleLowerCase();
|
|
139
|
+
if (sanitizedWalletName.endsWith(chainLowered)) {
|
|
140
|
+
return sanitizedWalletName;
|
|
141
|
+
}
|
|
142
|
+
return `${sanitizedWalletName}${chainLowered}`;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Assembles the wallet provider key from the wallet name, chain, and wallet provider type.
|
|
147
|
+
*
|
|
148
|
+
* The suffix is optional and can be used to add a uniquely identifying string to the key, which
|
|
149
|
+
* might be necessary for some wallet providers (like Wallet Connect).
|
|
150
|
+
*
|
|
151
|
+
* IMPORTANT: Do NOT add a suffix unless absolutely necessary, as it will cause the wallet account
|
|
152
|
+
* to not be able to find its wallet provider when connecting to a new device (it won't be possible
|
|
153
|
+
* to determine the full key just from the Verified Credential data).
|
|
154
|
+
*/ const formatWalletProviderKey = ({ suffix, chain, displayName, walletProviderType })=>{
|
|
155
|
+
const normalizedNameWithChain = normalizeWalletNameWithChain({
|
|
156
|
+
chain,
|
|
157
|
+
displayName
|
|
158
|
+
});
|
|
159
|
+
return `${normalizedNameWithChain}:${walletProviderType}${suffix ? `:${suffix}` : ''}`;
|
|
105
160
|
};
|
|
106
161
|
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
162
|
+
const getWalletProviderKeyFromVerifiedCredential = ({ verifiedCredential }, client)=>{
|
|
163
|
+
const core = getCore(client);
|
|
164
|
+
const { walletProviderKeyMap } = core.state.get();
|
|
165
|
+
const storedWalletProviderKey = walletProviderKeyMap[verifiedCredential.id];
|
|
166
|
+
if (storedWalletProviderKey) {
|
|
167
|
+
return {
|
|
168
|
+
walletProviderKey: storedWalletProviderKey
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* We fallback to comprising the wallet provider key from walletName and walletProvider.
|
|
173
|
+
*
|
|
174
|
+
* Some wallet provider types (like Wallet Connect) also use a special suffix for their wallet provider
|
|
175
|
+
* keys, so this won't be enough for them.
|
|
176
|
+
* Therefore, for those specific wallet providers, the wallet account will remain without a wallet provider
|
|
177
|
+
* and will require reconnection.
|
|
178
|
+
* Read walletProvider.types.ts for more info.
|
|
179
|
+
*/ assertDefined(verifiedCredential.walletName, `Failed to get wallet provider for verified credential with ID ${verifiedCredential.id}: missing walletName`);
|
|
180
|
+
assertDefined(verifiedCredential.walletProvider, `Failed to get wallet provider for verified credential with ID ${verifiedCredential.id}: missing walletProvider`);
|
|
181
|
+
assertDefined(verifiedCredential.chain, `Failed to get wallet provider for verified credential with ID ${verifiedCredential.id}: missing chain`);
|
|
182
|
+
/**
|
|
183
|
+
* Historically, walletNames did not include the chain name as a suffix.
|
|
184
|
+
* This piece of logic simply ensures we normalize any legacy walletNames to conform.
|
|
185
|
+
*/ const chain = getChainFromVerifiedCredentialChain(verifiedCredential.chain);
|
|
186
|
+
const walletProviderKey = formatWalletProviderKey({
|
|
187
|
+
chain,
|
|
188
|
+
displayName: verifiedCredential.walletName,
|
|
189
|
+
walletProviderType: verifiedCredential.walletProvider
|
|
190
|
+
});
|
|
191
|
+
return {
|
|
192
|
+
walletProviderKey
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
const convertVerifiedCredentialToWalletAccount = ({ verifiedCredential }, client)=>{
|
|
197
|
+
assertDefined(verifiedCredential.address, 'Missing address in verified credential');
|
|
198
|
+
assertDefined(verifiedCredential.chain, 'Missing chain in verified credential');
|
|
199
|
+
const chain = getChainFromVerifiedCredentialChain(verifiedCredential.chain);
|
|
200
|
+
const { walletProviderKey } = getWalletProviderKeyFromVerifiedCredential({
|
|
201
|
+
verifiedCredential
|
|
202
|
+
}, client);
|
|
203
|
+
const walletAccountId = formatWalletAccountId({
|
|
204
|
+
address: verifiedCredential.address,
|
|
205
|
+
chain,
|
|
206
|
+
walletProviderKey
|
|
207
|
+
});
|
|
208
|
+
var _verifiedCredential_lastSelectedAt;
|
|
118
209
|
return {
|
|
119
|
-
address:
|
|
210
|
+
address: verifiedCredential.address,
|
|
211
|
+
addressesWithTypes: verifiedCredential.walletAdditionalAddresses,
|
|
120
212
|
chain,
|
|
121
|
-
id:
|
|
122
|
-
lastSelectedAt: (
|
|
123
|
-
verifiedCredentialId:
|
|
213
|
+
id: walletAccountId,
|
|
214
|
+
lastSelectedAt: (_verifiedCredential_lastSelectedAt = verifiedCredential.lastSelectedAt) != null ? _verifiedCredential_lastSelectedAt : null,
|
|
215
|
+
verifiedCredentialId: verifiedCredential.id,
|
|
124
216
|
walletProviderKey
|
|
125
217
|
};
|
|
126
218
|
};
|
|
127
219
|
|
|
128
|
-
const getWalletAccountsFromState = (
|
|
129
|
-
const { unverifiedWalletAccounts, user } = state;
|
|
220
|
+
const getWalletAccountsFromState = ({ unverifiedWalletAccounts, user }, client)=>{
|
|
130
221
|
const walletAccountsMap = new Map();
|
|
131
222
|
/**
|
|
132
223
|
* Handle the unverified wallet accounts before the user verified credentials
|
|
133
224
|
* so the later verified wallet accounts can override the unverified wallet accounts
|
|
134
225
|
*/ unverifiedWalletAccounts.forEach((unverifiedWalletAccount)=>{
|
|
135
|
-
const walletAccount = convertUnverifiedWalletAccountToWalletAccount(
|
|
226
|
+
const walletAccount = convertUnverifiedWalletAccountToWalletAccount({
|
|
227
|
+
unverifiedWalletAccount
|
|
228
|
+
});
|
|
136
229
|
walletAccountsMap.set(walletAccount.id, walletAccount);
|
|
137
230
|
});
|
|
138
231
|
var _user_verifiedCredentials;
|
|
139
232
|
/**
|
|
140
233
|
* Handle user verified credentials
|
|
141
234
|
*/ const verifiedCredentials = (_user_verifiedCredentials = user == null ? void 0 : user.verifiedCredentials) != null ? _user_verifiedCredentials : [];
|
|
142
|
-
verifiedCredentials.filter((verified)=>verified.format === JwtVerifiedCredentialFormatEnum.Blockchain).
|
|
235
|
+
verifiedCredentials.filter((verified)=>verified.format === JwtVerifiedCredentialFormatEnum.Blockchain).forEach((verifiedWalletAccount)=>{
|
|
236
|
+
const walletAccount = convertVerifiedCredentialToWalletAccount({
|
|
237
|
+
verifiedCredential: verifiedWalletAccount
|
|
238
|
+
}, client);
|
|
239
|
+
walletAccountsMap.set(walletAccount.id, walletAccount);
|
|
240
|
+
});
|
|
143
241
|
return Array.from(walletAccountsMap.values());
|
|
144
242
|
};
|
|
145
243
|
|
|
@@ -153,7 +251,14 @@ const getWalletAccountsFromState = (state)=>{
|
|
|
153
251
|
*
|
|
154
252
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
155
253
|
* @returns An array of wallet accounts associated with the session.
|
|
156
|
-
*/ const getWalletAccounts = (client = getDefaultClient())=>
|
|
254
|
+
*/ const getWalletAccounts = (client = getDefaultClient())=>{
|
|
255
|
+
const core = getCore(client);
|
|
256
|
+
const { unverifiedWalletAccounts, user } = core.state.get();
|
|
257
|
+
return getWalletAccountsFromState({
|
|
258
|
+
unverifiedWalletAccounts,
|
|
259
|
+
user
|
|
260
|
+
}, client);
|
|
261
|
+
};
|
|
157
262
|
|
|
158
263
|
class NoWalletProviderFoundError extends BaseError {
|
|
159
264
|
constructor({ walletProviderKey }){
|
|
@@ -238,6 +343,15 @@ class NoWalletProviderFoundError extends BaseError {
|
|
|
238
343
|
event: 'walletProviderChanged'
|
|
239
344
|
}, client);
|
|
240
345
|
}
|
|
346
|
+
},
|
|
347
|
+
unregister: (key)=>{
|
|
348
|
+
registry.delete(key);
|
|
349
|
+
emitEvent({
|
|
350
|
+
args: {
|
|
351
|
+
walletProviderKey: key
|
|
352
|
+
},
|
|
353
|
+
event: 'walletProviderUnregistered'
|
|
354
|
+
}, client);
|
|
241
355
|
}
|
|
242
356
|
};
|
|
243
357
|
};
|
|
@@ -313,13 +427,13 @@ const DYNAMIC_AUTH_COOKIE_NAME = 'DYNAMIC_JWT_TOKEN';
|
|
|
313
427
|
|
|
314
428
|
const checkAndRaiseWalletAccountsChangedEvent = ({ previousState }, client)=>{
|
|
315
429
|
const core = getCore(client);
|
|
316
|
-
const walletAccountsHashBefore = getWalletAccountsHash(previousState);
|
|
317
|
-
const walletAccountsHashAfter = getWalletAccountsHash(core.state.get());
|
|
430
|
+
const walletAccountsHashBefore = getWalletAccountsHash(previousState, client);
|
|
431
|
+
const walletAccountsHashAfter = getWalletAccountsHash(core.state.get(), client);
|
|
318
432
|
if (walletAccountsHashBefore !== walletAccountsHashAfter) {
|
|
319
433
|
emitWalletAccountsChangedEvent(client);
|
|
320
434
|
}
|
|
321
435
|
};
|
|
322
|
-
const getWalletAccountsHash = (state)=>getWalletAccountsFromState(state).map((
|
|
436
|
+
const getWalletAccountsHash = (state, client)=>getWalletAccountsFromState(state, client).map((walletAccount)=>JSON.stringify(walletAccount)).sort().join('-');
|
|
323
437
|
|
|
324
438
|
const updateAuthFromVerifyResponse = ({ response }, client)=>{
|
|
325
439
|
const core = getCore(client);
|
|
@@ -327,13 +441,17 @@ const updateAuthFromVerifyResponse = ({ response }, client)=>{
|
|
|
327
441
|
const { user, minifiedJwt, jwt, expiresAt, mfaToken } = response;
|
|
328
442
|
// Expires at is in seconds, so we need to convert it to milliseconds
|
|
329
443
|
const sessionExpiresAt = new Date(expiresAt * 1000);
|
|
330
|
-
|
|
444
|
+
const newState = {
|
|
331
445
|
legacyToken: jwt != null ? jwt : null,
|
|
332
|
-
mfaToken: mfaToken != null ? mfaToken : null,
|
|
333
446
|
sessionExpiresAt: sessionExpiresAt,
|
|
334
447
|
token: minifiedJwt != null ? minifiedJwt : null,
|
|
335
448
|
user
|
|
336
|
-
}
|
|
449
|
+
};
|
|
450
|
+
// only override the mfaToken if a new one is provided in the response
|
|
451
|
+
if (mfaToken) {
|
|
452
|
+
newState.mfaToken = mfaToken;
|
|
453
|
+
}
|
|
454
|
+
core.state.set(newState);
|
|
337
455
|
/**
|
|
338
456
|
* For customers using a sandbox environment with cookies enabled, we need to set the cookie
|
|
339
457
|
* programmatically because Redcoast won't set the cookie via headers. We set the cookie programmatically
|
|
@@ -365,4 +483,9 @@ const getWalletProviderByKey = ({ walletProviderKey }, client)=>{
|
|
|
365
483
|
return walletProvider;
|
|
366
484
|
};
|
|
367
485
|
|
|
368
|
-
|
|
486
|
+
const getVerifiedCredentialForWalletAccount = ({ walletAccount }, client)=>{
|
|
487
|
+
var _client_user;
|
|
488
|
+
return (_client_user = client.user) == null ? void 0 : _client_user.verifiedCredentials.find((vc)=>vc.id === walletAccount.verifiedCredentialId);
|
|
489
|
+
};
|
|
490
|
+
|
|
491
|
+
export { DYNAMIC_AUTH_COOKIE_NAME as D, InvalidWalletProviderKeyError as I, NoWalletProviderFoundError as N, WalletProviderPriority as W, getWalletProviderFromWalletAccount as a, getWalletProviderByKey as b, checkAndRaiseWalletAccountsChangedEvent as c, emitWalletAccountsChangedEvent as d, emitEvent as e, formatWalletAccountId as f, getWalletAccounts as g, getWalletProviders as h, getVerifiedCredentialForWalletAccount as i, onceEvent as j, onEvent as k, createRuntimeServiceAccessKey as l, formatWalletProviderKey as m, normalizeAddress as n, offEvent as o, normalizeWalletNameWithChain as p, splitWalletProviderKey as q, getWalletProviderRegistry as r, setCookie as s, updateAuthFromVerifyResponse as u };
|