@dynamic-labs-sdk/client 0.1.0-alpha.9 → 0.1.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/CHANGELOG.md +308 -0
- package/InvalidParamError.cjs.js +2 -2
- package/InvalidParamError.esm.js +1 -1
- package/NotWaasWalletAccountError.cjs.js +7 -7
- package/NotWaasWalletAccountError.esm.js +2 -2
- 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 +96 -41
- package/core.esm.js +47 -10
- package/filterDuplicates.cjs.js +8 -0
- package/filterDuplicates.esm.js +6 -0
- package/getNetworkProviderFromNetworkId.cjs.js +178 -20
- package/getNetworkProviderFromNetworkId.esm.js +150 -3
- package/getSignedSessionId.cjs.js +7 -7
- package/getSignedSessionId.esm.js +2 -2
- package/getVerifiedCredentialForWalletAccount.cjs.js +515 -0
- package/getVerifiedCredentialForWalletAccount.esm.js +491 -0
- package/index.cjs.js +1235 -471
- package/index.esm.js +1033 -282
- package/isMfaRequiredForAction.cjs.js +15 -8
- package/isMfaRequiredForAction.esm.js +8 -2
- package/package.json +4 -4
- 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 +25 -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/apiClient/createApiClient.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/registerPasskey/registerPasskey.d.ts +7 -1
- package/src/modules/auth/passkeys/registerPasskey/registerPasskey.d.ts.map +1 -1
- package/src/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.d.ts +3 -1
- package/src/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.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/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/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/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/setUnverifiedWalletAccounts.d.ts +2 -0
- package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts/setUnverifiedWalletAccounts.d.ts.map +1 -1
- 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/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 +24 -8
- 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/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/waas.cjs.js +86 -38
- package/waas.esm.js +62 -16
- package/waasCore.cjs.js +21 -10
- package/waasCore.esm.js +15 -4
- package/getWalletProviderByKey.cjs.js +0 -74
- package/getWalletProviderByKey.esm.js +0 -69
- package/logout.cjs.js +0 -1086
- package/logout.esm.js +0 -1020
- package/src/modules/apiClient/utils/logoutOnUnauthorizedRequestMiddleware/index.d.ts +0 -2
- package/src/modules/apiClient/utils/logoutOnUnauthorizedRequestMiddleware/index.d.ts.map +0 -1
- package/src/modules/apiClient/utils/logoutOnUnauthorizedRequestMiddleware/logoutOnUnauthorizedRequestMiddleware.d.ts +0 -4
- package/src/modules/apiClient/utils/logoutOnUnauthorizedRequestMiddleware/logoutOnUnauthorizedRequestMiddleware.d.ts.map +0 -1
- 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/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,7 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var constants = require('./constants.cjs.js');
|
|
4
4
|
var EventEmitter = require('eventemitter3');
|
|
5
|
+
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
6
|
+
var getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount.cjs.js');
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Shallow compare two objects.
|
|
@@ -63,7 +65,7 @@ var EventEmitter = require('eventemitter3');
|
|
|
63
65
|
setItem: async (key, value)=>localStorage.setItem(key, value)
|
|
64
66
|
});
|
|
65
67
|
|
|
66
|
-
class InvalidStorageSet extends
|
|
68
|
+
class InvalidStorageSet extends constants.BaseError {
|
|
67
69
|
constructor({ key, value }){
|
|
68
70
|
super({
|
|
69
71
|
cause: null,
|
|
@@ -157,7 +159,16 @@ const parseFromStorage = (value)=>{
|
|
|
157
159
|
};
|
|
158
160
|
};
|
|
159
161
|
|
|
160
|
-
|
|
162
|
+
const createStorageKeySchema = (params)=>{
|
|
163
|
+
return params;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
const REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY = 'refresh-user-state-from-cookie';
|
|
167
|
+
const INITIALIZE_STORAGE_SYNC_TRACKER_KEY = 'initialize-storage-sync';
|
|
168
|
+
const FETCH_PROJECT_SETTINGS_TRACKER_KEY = 'fetch-project-settings';
|
|
169
|
+
const GENERATE_SESSION_KEYS_TRACKER_KEY = 'generate-session-keys';
|
|
170
|
+
|
|
171
|
+
class CannotTrackError extends constants.BaseError {
|
|
161
172
|
constructor(){
|
|
162
173
|
super({
|
|
163
174
|
cause: null,
|
|
@@ -212,7 +223,7 @@ const defaultConsole = console;
|
|
|
212
223
|
};
|
|
213
224
|
};
|
|
214
225
|
|
|
215
|
-
class NoNetworkProvidersError extends
|
|
226
|
+
class NoNetworkProvidersError extends constants.BaseError {
|
|
216
227
|
constructor(){
|
|
217
228
|
super({
|
|
218
229
|
cause: null,
|
|
@@ -224,10 +235,22 @@ class NoNetworkProvidersError extends logout.BaseError {
|
|
|
224
235
|
}
|
|
225
236
|
}
|
|
226
237
|
|
|
227
|
-
|
|
238
|
+
class WalletAlreadyLinkedToAnotherUserError extends constants.BaseError {
|
|
239
|
+
constructor({ cause }){
|
|
240
|
+
super({
|
|
241
|
+
cause,
|
|
242
|
+
code: 'wallet_already_linked_to_another_user_error',
|
|
243
|
+
docsUrl: null,
|
|
244
|
+
name: 'WalletAlreadyLinkedToAnotherUserError',
|
|
245
|
+
shortMessage: 'This wallet is already linked to another user'
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
const isCaptchaRequired = (client = constants.getDefaultClient())=>{
|
|
228
251
|
var _projectSettings_security_hCaptcha;
|
|
229
252
|
const projectSettings = client.projectSettings;
|
|
230
|
-
|
|
253
|
+
constants.assertDefined(projectSettings, 'Project settings are not available');
|
|
231
254
|
var _projectSettings_security_hCaptcha_enabled;
|
|
232
255
|
return (_projectSettings_security_hCaptcha_enabled = (_projectSettings_security_hCaptcha = projectSettings.security.hCaptcha) == null ? void 0 : _projectSettings_security_hCaptcha.enabled) != null ? _projectSettings_security_hCaptcha_enabled : false;
|
|
233
256
|
};
|
|
@@ -235,10 +258,10 @@ const isCaptchaRequired = (client = logout.getDefaultClient())=>{
|
|
|
235
258
|
/**
|
|
236
259
|
* Retrieves the current captcha token from the client state and sets it to null.
|
|
237
260
|
*/ const consumeCaptchaToken = (client)=>{
|
|
238
|
-
const core =
|
|
261
|
+
const core = constants.getCore(client);
|
|
239
262
|
const captchaToken = core.state.get().captchaToken;
|
|
240
263
|
if (isCaptchaRequired(client)) {
|
|
241
|
-
|
|
264
|
+
constants.assertDefined(captchaToken, 'Captcha token is required');
|
|
242
265
|
}
|
|
243
266
|
core.state.set({
|
|
244
267
|
captchaToken: null
|
|
@@ -251,8 +274,8 @@ const isCaptchaRequired = (client = logout.getDefaultClient())=>{
|
|
|
251
274
|
*
|
|
252
275
|
* @param params.captchaToken - The captcha token to set.
|
|
253
276
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
254
|
-
*/ const setCaptchaToken = ({ captchaToken }, client =
|
|
255
|
-
const core =
|
|
277
|
+
*/ const setCaptchaToken = ({ captchaToken }, client = constants.getDefaultClient())=>{
|
|
278
|
+
const core = constants.getCore(client);
|
|
256
279
|
core.state.set({
|
|
257
280
|
captchaToken
|
|
258
281
|
});
|
|
@@ -267,11 +290,64 @@ const isCaptchaRequired = (client = logout.getDefaultClient())=>{
|
|
|
267
290
|
* @param params.extensionKey - The unique key identifying the extension to check for.
|
|
268
291
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
269
292
|
* @returns True if the extension is applied, false otherwise.
|
|
270
|
-
*/ const hasExtension = ({ extensionKey }, client =
|
|
271
|
-
const core =
|
|
293
|
+
*/ const hasExtension = ({ extensionKey }, client = constants.getDefaultClient())=>{
|
|
294
|
+
const core = constants.getCore(client);
|
|
272
295
|
return core.extensions.has(extensionKey);
|
|
273
296
|
};
|
|
274
297
|
|
|
298
|
+
/*
|
|
299
|
+
In older SDK versions we used to have the concept of "connect-only" vs "connect-and-sign".
|
|
300
|
+
The only difference in backend is it stores some extra data for connect-only,
|
|
301
|
+
so we can just default to using it.
|
|
302
|
+
*/ const createVisit = async ({ walletAccount, authMode = sdkApiCore.AuthModeEnum.Only }, client)=>{
|
|
303
|
+
const core = constants.getCore(client);
|
|
304
|
+
const apiClient = constants.createApiClient({}, client);
|
|
305
|
+
const walletProvider = getVerifiedCredentialForWalletAccount.getWalletProviderFromWalletAccount({
|
|
306
|
+
walletAccount
|
|
307
|
+
}, client);
|
|
308
|
+
try {
|
|
309
|
+
const walletName = getVerifiedCredentialForWalletAccount.normalizeWalletNameWithChain({
|
|
310
|
+
chain: walletProvider.chain,
|
|
311
|
+
displayName: walletProvider.metadata.displayName
|
|
312
|
+
});
|
|
313
|
+
const connectRequest = {
|
|
314
|
+
address: walletAccount.address,
|
|
315
|
+
authMode,
|
|
316
|
+
// eslint-disable-next-line custom-rules/ban-chain-enum
|
|
317
|
+
chain: walletProvider.chain,
|
|
318
|
+
provider: walletProvider.walletProviderType,
|
|
319
|
+
walletName
|
|
320
|
+
};
|
|
321
|
+
await apiClient.createVisit({
|
|
322
|
+
connectRequest,
|
|
323
|
+
environmentId: core.environmentId
|
|
324
|
+
});
|
|
325
|
+
} catch (error) {
|
|
326
|
+
core.logger.error('Error creating visit', {
|
|
327
|
+
error
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Updates the unverified wallet account in the client state.
|
|
334
|
+
* This will add new wallet accounts and override those with matching ids,
|
|
335
|
+
* but will leave other preexisting wallet accounts unchanged.
|
|
336
|
+
*/ const setUnverifiedWalletAccounts = ({ unverifiedWalletAccountsToUpdate }, client)=>{
|
|
337
|
+
if (unverifiedWalletAccountsToUpdate.length === 0) {
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
const core = constants.getCore(client);
|
|
341
|
+
const unverifiedWalletAccountsToUpdateIds = unverifiedWalletAccountsToUpdate.map(({ id })=>id);
|
|
342
|
+
const filteredUnverifiedWalletAccounts = core.state.get().unverifiedWalletAccounts.filter((unverifiedWalletAccount)=>!unverifiedWalletAccountsToUpdateIds.includes(unverifiedWalletAccount.id));
|
|
343
|
+
core.state.set({
|
|
344
|
+
unverifiedWalletAccounts: [
|
|
345
|
+
...filteredUnverifiedWalletAccounts,
|
|
346
|
+
...unverifiedWalletAccountsToUpdate
|
|
347
|
+
]
|
|
348
|
+
});
|
|
349
|
+
};
|
|
350
|
+
|
|
275
351
|
/**
|
|
276
352
|
* Formats a sign in message to prove ownership of an address.
|
|
277
353
|
*/ const formatSignInMessage = async ({ domain, blockchainName, address, uri, chainId, nonce, issuedAt, requestId, statement, resources })=>{
|
|
@@ -298,7 +374,9 @@ const isCaptchaRequired = (client = logout.getDefaultClient())=>{
|
|
|
298
374
|
suffixFields.push(`Chain ID: ${chainId}`);
|
|
299
375
|
}
|
|
300
376
|
suffixFields.push(`Nonce: ${nonce}`);
|
|
301
|
-
|
|
377
|
+
if (issuedAt) {
|
|
378
|
+
suffixFields.push(`Issued At: ${issuedAt}`);
|
|
379
|
+
}
|
|
302
380
|
if (requestId) {
|
|
303
381
|
suffixFields.push(`Request ID: ${requestId}`);
|
|
304
382
|
}
|
|
@@ -312,11 +390,80 @@ const isCaptchaRequired = (client = logout.getDefaultClient())=>{
|
|
|
312
390
|
].join('\n');
|
|
313
391
|
};
|
|
314
392
|
|
|
393
|
+
const createSignInMessageStatement = (client)=>{
|
|
394
|
+
var _core_metadata, _client_projectSettings;
|
|
395
|
+
const core = constants.getCore(client);
|
|
396
|
+
var _core_metadata_name;
|
|
397
|
+
const appName = (_core_metadata_name = (_core_metadata = core.metadata) == null ? void 0 : _core_metadata.name) != null ? _core_metadata_name : (_client_projectSettings = client.projectSettings) == null ? void 0 : _client_projectSettings.general.displayName;
|
|
398
|
+
return `Welcome to ${appName}. Signing is the only way we can truly know that you are the owner of the wallet you are connecting. Signing is a safe, gas-less transaction that does not in any way give ${appName} permission to perform any transactions with your wallet.`;
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Check if the given value is an Error object
|
|
403
|
+
*/ const isError = (error)=>error instanceof Error;
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Check if the given value is an Error object with a specific code
|
|
407
|
+
*/ const isErrorWithCode = (error, code)=>{
|
|
408
|
+
if (!isError(error)) return false;
|
|
409
|
+
return 'code' in error && error.code === code;
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Verifies a sign in message by calling either the verifyLink or verify API function,
|
|
414
|
+
* depending on whether the user is signing in or updating their account.
|
|
415
|
+
*
|
|
416
|
+
* Does NOT call updateAuthFromVerifyResponse, it should be called from the return of this function.
|
|
417
|
+
*/ const verifySignInMessage = async ({ messageToSign, walletAddress, addressesWithTypes, signature, chain, walletDisplayName, walletProviderType }, client)=>{
|
|
418
|
+
const core = constants.getCore(client);
|
|
419
|
+
const apiClient = constants.createApiClient({}, client);
|
|
420
|
+
const walletName = getVerifiedCredentialForWalletAccount.normalizeWalletNameWithChain({
|
|
421
|
+
chain,
|
|
422
|
+
displayName: walletDisplayName
|
|
423
|
+
});
|
|
424
|
+
const verifyApiFunction = client.user ? apiClient.verifyLink.bind(apiClient) : apiClient.verify.bind(apiClient);
|
|
425
|
+
try {
|
|
426
|
+
return await verifyApiFunction({
|
|
427
|
+
environmentId: core.environmentId,
|
|
428
|
+
verifyRequest: {
|
|
429
|
+
// mapping to handle typecasting for address type
|
|
430
|
+
additionalWalletAddresses: addressesWithTypes == null ? void 0 : addressesWithTypes.map((address)=>({
|
|
431
|
+
address: address.address,
|
|
432
|
+
publicKey: address.publicKey,
|
|
433
|
+
type: address.type
|
|
434
|
+
})),
|
|
435
|
+
captchaToken: consumeCaptchaToken(client),
|
|
436
|
+
// eslint-disable-next-line custom-rules/ban-chain-enum
|
|
437
|
+
chain: chain,
|
|
438
|
+
messageToSign,
|
|
439
|
+
publicWalletAddress: walletAddress,
|
|
440
|
+
signedMessage: signature,
|
|
441
|
+
walletName,
|
|
442
|
+
walletProvider: walletProviderType
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
} catch (error) {
|
|
446
|
+
if (isErrorWithCode(error, 'reassign_wallet_confirm') || isErrorWithCode(error, 'merge_accounts_confirmation')) {
|
|
447
|
+
throw new WalletAlreadyLinkedToAnotherUserError({
|
|
448
|
+
cause: error
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
throw error;
|
|
452
|
+
}
|
|
453
|
+
};
|
|
454
|
+
|
|
455
|
+
const updateWalletProviderKeysForVerifiedCredentials = ({ keysToUpdate }, client)=>{
|
|
456
|
+
const core = constants.getCore(client);
|
|
457
|
+
core.state.set({
|
|
458
|
+
walletProviderKeyMap: constants._extends({}, core.state.get().walletProviderKeyMap, keysToUpdate)
|
|
459
|
+
});
|
|
460
|
+
};
|
|
461
|
+
|
|
315
462
|
/**
|
|
316
463
|
* Maps the chain name from the API to the SDK chain name
|
|
317
464
|
*/ const getSdkChainFromApiChainName = (chainName)=>{
|
|
318
|
-
const chains = Object.keys(
|
|
319
|
-
const chain = chains.find((chain)=>
|
|
465
|
+
const chains = Object.keys(constants.CHAINS_INFO_MAP);
|
|
466
|
+
const chain = chains.find((chain)=>constants.CHAINS_INFO_MAP[chain].apiChainName === chainName);
|
|
320
467
|
return chain || null;
|
|
321
468
|
};
|
|
322
469
|
|
|
@@ -328,10 +475,10 @@ const isCaptchaRequired = (client = logout.getDefaultClient())=>{
|
|
|
328
475
|
*
|
|
329
476
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
330
477
|
* @returns An array of network configuration data for all enabled networks.
|
|
331
|
-
*/ const getNetworksData = (client =
|
|
332
|
-
const { state } =
|
|
478
|
+
*/ const getNetworksData = (client = constants.getDefaultClient())=>{
|
|
479
|
+
const { state } = constants.getCore(client);
|
|
333
480
|
const { projectSettings } = state.get();
|
|
334
|
-
|
|
481
|
+
constants.assertDefined(projectSettings, 'projectSettings not found');
|
|
335
482
|
const networks = projectSettings.networks;
|
|
336
483
|
if (!networks) {
|
|
337
484
|
return [];
|
|
@@ -380,7 +527,7 @@ const createNetworkProviderBuilderRegistry = ()=>{
|
|
|
380
527
|
};
|
|
381
528
|
};
|
|
382
529
|
|
|
383
|
-
const getNetworkProviderBuilderRegistry =
|
|
530
|
+
const getNetworkProviderBuilderRegistry = getVerifiedCredentialForWalletAccount.createRuntimeServiceAccessKey('networkProviderBuilderRegistry', createNetworkProviderBuilderRegistry);
|
|
384
531
|
|
|
385
532
|
/**
|
|
386
533
|
* Retrieves all registered network providers for enabled chains.
|
|
@@ -401,17 +548,25 @@ const getNetworkProviderFromNetworkId = ({ networkId, chain }, client)=>{
|
|
|
401
548
|
throw new NoNetworkProvidersError();
|
|
402
549
|
}
|
|
403
550
|
const networkProvider = networkProviders.find((networkProvider)=>networkProvider.networkId === networkId && networkProvider.chain === chain);
|
|
404
|
-
|
|
551
|
+
constants.assertDefined(networkProvider, `No network provider found for chain ${chain} with network id ${networkId}`);
|
|
405
552
|
return networkProvider;
|
|
406
553
|
};
|
|
407
554
|
|
|
408
555
|
exports.CannotTrackError = CannotTrackError;
|
|
556
|
+
exports.FETCH_PROJECT_SETTINGS_TRACKER_KEY = FETCH_PROJECT_SETTINGS_TRACKER_KEY;
|
|
557
|
+
exports.GENERATE_SESSION_KEYS_TRACKER_KEY = GENERATE_SESSION_KEYS_TRACKER_KEY;
|
|
558
|
+
exports.INITIALIZE_STORAGE_SYNC_TRACKER_KEY = INITIALIZE_STORAGE_SYNC_TRACKER_KEY;
|
|
409
559
|
exports.InvalidStorageSet = InvalidStorageSet;
|
|
410
560
|
exports.NoNetworkProvidersError = NoNetworkProvidersError;
|
|
561
|
+
exports.REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY = REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY;
|
|
562
|
+
exports.WalletAlreadyLinkedToAnotherUserError = WalletAlreadyLinkedToAnotherUserError;
|
|
411
563
|
exports.consumeCaptchaToken = consumeCaptchaToken;
|
|
412
564
|
exports.createLocalStorageAdapter = createLocalStorageAdapter;
|
|
413
565
|
exports.createLogger = createLogger;
|
|
566
|
+
exports.createSignInMessageStatement = createSignInMessageStatement;
|
|
414
567
|
exports.createStorage = createStorage;
|
|
568
|
+
exports.createStorageKeySchema = createStorageKeySchema;
|
|
569
|
+
exports.createVisit = createVisit;
|
|
415
570
|
exports.formatSignInMessage = formatSignInMessage;
|
|
416
571
|
exports.getNetworkProviderBuilderRegistry = getNetworkProviderBuilderRegistry;
|
|
417
572
|
exports.getNetworkProviderFromNetworkId = getNetworkProviderFromNetworkId;
|
|
@@ -421,4 +576,7 @@ exports.hasExtension = hasExtension;
|
|
|
421
576
|
exports.isCaptchaRequired = isCaptchaRequired;
|
|
422
577
|
exports.isEqualShallow = isEqualShallow;
|
|
423
578
|
exports.setCaptchaToken = setCaptchaToken;
|
|
579
|
+
exports.setUnverifiedWalletAccounts = setUnverifiedWalletAccounts;
|
|
424
580
|
exports.subscribeWithSelector = subscribeWithSelector;
|
|
581
|
+
exports.updateWalletProviderKeysForVerifiedCredentials = updateWalletProviderKeysForVerifiedCredentials;
|
|
582
|
+
exports.verifySignInMessage = verifySignInMessage;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { B as BaseError,
|
|
1
|
+
import { B as BaseError, g as getDefaultClient, d as assertDefined, a as getCore, c as createApiClient, _ as _extends, e as CHAINS_INFO_MAP } from './constants.esm.js';
|
|
2
2
|
import { EventEmitter } from 'eventemitter3';
|
|
3
|
+
import { AuthModeEnum } from '@dynamic-labs/sdk-api-core';
|
|
4
|
+
import { a as getWalletProviderFromWalletAccount, p as normalizeWalletNameWithChain, l as createRuntimeServiceAccessKey } from './getVerifiedCredentialForWalletAccount.esm.js';
|
|
3
5
|
|
|
4
6
|
/**
|
|
5
7
|
* Shallow compare two objects.
|
|
@@ -155,6 +157,15 @@ const parseFromStorage = (value)=>{
|
|
|
155
157
|
};
|
|
156
158
|
};
|
|
157
159
|
|
|
160
|
+
const createStorageKeySchema = (params)=>{
|
|
161
|
+
return params;
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
const REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY = 'refresh-user-state-from-cookie';
|
|
165
|
+
const INITIALIZE_STORAGE_SYNC_TRACKER_KEY = 'initialize-storage-sync';
|
|
166
|
+
const FETCH_PROJECT_SETTINGS_TRACKER_KEY = 'fetch-project-settings';
|
|
167
|
+
const GENERATE_SESSION_KEYS_TRACKER_KEY = 'generate-session-keys';
|
|
168
|
+
|
|
158
169
|
class CannotTrackError extends BaseError {
|
|
159
170
|
constructor(){
|
|
160
171
|
super({
|
|
@@ -222,6 +233,18 @@ class NoNetworkProvidersError extends BaseError {
|
|
|
222
233
|
}
|
|
223
234
|
}
|
|
224
235
|
|
|
236
|
+
class WalletAlreadyLinkedToAnotherUserError extends BaseError {
|
|
237
|
+
constructor({ cause }){
|
|
238
|
+
super({
|
|
239
|
+
cause,
|
|
240
|
+
code: 'wallet_already_linked_to_another_user_error',
|
|
241
|
+
docsUrl: null,
|
|
242
|
+
name: 'WalletAlreadyLinkedToAnotherUserError',
|
|
243
|
+
shortMessage: 'This wallet is already linked to another user'
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
225
248
|
const isCaptchaRequired = (client = getDefaultClient())=>{
|
|
226
249
|
var _projectSettings_security_hCaptcha;
|
|
227
250
|
const projectSettings = client.projectSettings;
|
|
@@ -270,6 +293,59 @@ const isCaptchaRequired = (client = getDefaultClient())=>{
|
|
|
270
293
|
return core.extensions.has(extensionKey);
|
|
271
294
|
};
|
|
272
295
|
|
|
296
|
+
/*
|
|
297
|
+
In older SDK versions we used to have the concept of "connect-only" vs "connect-and-sign".
|
|
298
|
+
The only difference in backend is it stores some extra data for connect-only,
|
|
299
|
+
so we can just default to using it.
|
|
300
|
+
*/ const createVisit = async ({ walletAccount, authMode = AuthModeEnum.Only }, client)=>{
|
|
301
|
+
const core = getCore(client);
|
|
302
|
+
const apiClient = createApiClient({}, client);
|
|
303
|
+
const walletProvider = getWalletProviderFromWalletAccount({
|
|
304
|
+
walletAccount
|
|
305
|
+
}, client);
|
|
306
|
+
try {
|
|
307
|
+
const walletName = normalizeWalletNameWithChain({
|
|
308
|
+
chain: walletProvider.chain,
|
|
309
|
+
displayName: walletProvider.metadata.displayName
|
|
310
|
+
});
|
|
311
|
+
const connectRequest = {
|
|
312
|
+
address: walletAccount.address,
|
|
313
|
+
authMode,
|
|
314
|
+
// eslint-disable-next-line custom-rules/ban-chain-enum
|
|
315
|
+
chain: walletProvider.chain,
|
|
316
|
+
provider: walletProvider.walletProviderType,
|
|
317
|
+
walletName
|
|
318
|
+
};
|
|
319
|
+
await apiClient.createVisit({
|
|
320
|
+
connectRequest,
|
|
321
|
+
environmentId: core.environmentId
|
|
322
|
+
});
|
|
323
|
+
} catch (error) {
|
|
324
|
+
core.logger.error('Error creating visit', {
|
|
325
|
+
error
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Updates the unverified wallet account in the client state.
|
|
332
|
+
* This will add new wallet accounts and override those with matching ids,
|
|
333
|
+
* but will leave other preexisting wallet accounts unchanged.
|
|
334
|
+
*/ const setUnverifiedWalletAccounts = ({ unverifiedWalletAccountsToUpdate }, client)=>{
|
|
335
|
+
if (unverifiedWalletAccountsToUpdate.length === 0) {
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
const core = getCore(client);
|
|
339
|
+
const unverifiedWalletAccountsToUpdateIds = unverifiedWalletAccountsToUpdate.map(({ id })=>id);
|
|
340
|
+
const filteredUnverifiedWalletAccounts = core.state.get().unverifiedWalletAccounts.filter((unverifiedWalletAccount)=>!unverifiedWalletAccountsToUpdateIds.includes(unverifiedWalletAccount.id));
|
|
341
|
+
core.state.set({
|
|
342
|
+
unverifiedWalletAccounts: [
|
|
343
|
+
...filteredUnverifiedWalletAccounts,
|
|
344
|
+
...unverifiedWalletAccountsToUpdate
|
|
345
|
+
]
|
|
346
|
+
});
|
|
347
|
+
};
|
|
348
|
+
|
|
273
349
|
/**
|
|
274
350
|
* Formats a sign in message to prove ownership of an address.
|
|
275
351
|
*/ const formatSignInMessage = async ({ domain, blockchainName, address, uri, chainId, nonce, issuedAt, requestId, statement, resources })=>{
|
|
@@ -296,7 +372,9 @@ const isCaptchaRequired = (client = getDefaultClient())=>{
|
|
|
296
372
|
suffixFields.push(`Chain ID: ${chainId}`);
|
|
297
373
|
}
|
|
298
374
|
suffixFields.push(`Nonce: ${nonce}`);
|
|
299
|
-
|
|
375
|
+
if (issuedAt) {
|
|
376
|
+
suffixFields.push(`Issued At: ${issuedAt}`);
|
|
377
|
+
}
|
|
300
378
|
if (requestId) {
|
|
301
379
|
suffixFields.push(`Request ID: ${requestId}`);
|
|
302
380
|
}
|
|
@@ -310,6 +388,75 @@ const isCaptchaRequired = (client = getDefaultClient())=>{
|
|
|
310
388
|
].join('\n');
|
|
311
389
|
};
|
|
312
390
|
|
|
391
|
+
const createSignInMessageStatement = (client)=>{
|
|
392
|
+
var _core_metadata, _client_projectSettings;
|
|
393
|
+
const core = getCore(client);
|
|
394
|
+
var _core_metadata_name;
|
|
395
|
+
const appName = (_core_metadata_name = (_core_metadata = core.metadata) == null ? void 0 : _core_metadata.name) != null ? _core_metadata_name : (_client_projectSettings = client.projectSettings) == null ? void 0 : _client_projectSettings.general.displayName;
|
|
396
|
+
return `Welcome to ${appName}. Signing is the only way we can truly know that you are the owner of the wallet you are connecting. Signing is a safe, gas-less transaction that does not in any way give ${appName} permission to perform any transactions with your wallet.`;
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Check if the given value is an Error object
|
|
401
|
+
*/ const isError = (error)=>error instanceof Error;
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Check if the given value is an Error object with a specific code
|
|
405
|
+
*/ const isErrorWithCode = (error, code)=>{
|
|
406
|
+
if (!isError(error)) return false;
|
|
407
|
+
return 'code' in error && error.code === code;
|
|
408
|
+
};
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Verifies a sign in message by calling either the verifyLink or verify API function,
|
|
412
|
+
* depending on whether the user is signing in or updating their account.
|
|
413
|
+
*
|
|
414
|
+
* Does NOT call updateAuthFromVerifyResponse, it should be called from the return of this function.
|
|
415
|
+
*/ const verifySignInMessage = async ({ messageToSign, walletAddress, addressesWithTypes, signature, chain, walletDisplayName, walletProviderType }, client)=>{
|
|
416
|
+
const core = getCore(client);
|
|
417
|
+
const apiClient = createApiClient({}, client);
|
|
418
|
+
const walletName = normalizeWalletNameWithChain({
|
|
419
|
+
chain,
|
|
420
|
+
displayName: walletDisplayName
|
|
421
|
+
});
|
|
422
|
+
const verifyApiFunction = client.user ? apiClient.verifyLink.bind(apiClient) : apiClient.verify.bind(apiClient);
|
|
423
|
+
try {
|
|
424
|
+
return await verifyApiFunction({
|
|
425
|
+
environmentId: core.environmentId,
|
|
426
|
+
verifyRequest: {
|
|
427
|
+
// mapping to handle typecasting for address type
|
|
428
|
+
additionalWalletAddresses: addressesWithTypes == null ? void 0 : addressesWithTypes.map((address)=>({
|
|
429
|
+
address: address.address,
|
|
430
|
+
publicKey: address.publicKey,
|
|
431
|
+
type: address.type
|
|
432
|
+
})),
|
|
433
|
+
captchaToken: consumeCaptchaToken(client),
|
|
434
|
+
// eslint-disable-next-line custom-rules/ban-chain-enum
|
|
435
|
+
chain: chain,
|
|
436
|
+
messageToSign,
|
|
437
|
+
publicWalletAddress: walletAddress,
|
|
438
|
+
signedMessage: signature,
|
|
439
|
+
walletName,
|
|
440
|
+
walletProvider: walletProviderType
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
} catch (error) {
|
|
444
|
+
if (isErrorWithCode(error, 'reassign_wallet_confirm') || isErrorWithCode(error, 'merge_accounts_confirmation')) {
|
|
445
|
+
throw new WalletAlreadyLinkedToAnotherUserError({
|
|
446
|
+
cause: error
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
throw error;
|
|
450
|
+
}
|
|
451
|
+
};
|
|
452
|
+
|
|
453
|
+
const updateWalletProviderKeysForVerifiedCredentials = ({ keysToUpdate }, client)=>{
|
|
454
|
+
const core = getCore(client);
|
|
455
|
+
core.state.set({
|
|
456
|
+
walletProviderKeyMap: _extends({}, core.state.get().walletProviderKeyMap, keysToUpdate)
|
|
457
|
+
});
|
|
458
|
+
};
|
|
459
|
+
|
|
313
460
|
/**
|
|
314
461
|
* Maps the chain name from the API to the SDK chain name
|
|
315
462
|
*/ const getSdkChainFromApiChainName = (chainName)=>{
|
|
@@ -403,4 +550,4 @@ const getNetworkProviderFromNetworkId = ({ networkId, chain }, client)=>{
|
|
|
403
550
|
return networkProvider;
|
|
404
551
|
};
|
|
405
552
|
|
|
406
|
-
export { CannotTrackError as C,
|
|
553
|
+
export { CannotTrackError as C, FETCH_PROJECT_SETTINGS_TRACKER_KEY as F, GENERATE_SESSION_KEYS_TRACKER_KEY as G, INITIALIZE_STORAGE_SYNC_TRACKER_KEY as I, NoNetworkProvidersError as N, REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY as R, WalletAlreadyLinkedToAnotherUserError as W, createLogger as a, createStorage as b, createStorageKeySchema as c, createLocalStorageAdapter as d, consumeCaptchaToken as e, setUnverifiedWalletAccounts as f, createVisit as g, createSignInMessageStatement as h, isEqualShallow as i, formatSignInMessage as j, getNetworksData as k, getNetworkProviderFromNetworkId as l, isCaptchaRequired as m, setCaptchaToken as n, hasExtension as o, getNetworkProviders as p, InvalidStorageSet as q, getNetworkProviderBuilderRegistry as r, subscribeWithSelector as s, updateWalletProviderKeysForVerifiedCredentials as u, verifySignInMessage as v };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var isMfaRequiredForAction = require('./isMfaRequiredForAction.cjs.js');
|
|
4
|
-
var
|
|
4
|
+
var constants = require('./constants.cjs.js');
|
|
5
5
|
|
|
6
6
|
const consumeMfaTokenIfRequiredForAction = async ({ mfaAction }, client)=>{
|
|
7
7
|
const isRequiredForAction = await isMfaRequiredForAction.isMfaRequiredForAction({
|
|
@@ -24,12 +24,12 @@ const p256Sign = async ({ privateKeyJwk, message })=>{
|
|
|
24
24
|
hash: 'SHA-256',
|
|
25
25
|
name: 'ECDSA'
|
|
26
26
|
}, privateKey, new TextEncoder().encode(message));
|
|
27
|
-
return
|
|
27
|
+
return isMfaRequiredForAction.bufferToHex(signature);
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
const generateSessionSignature = async ({ sessionId }, client)=>{
|
|
31
|
-
const sessionKeys =
|
|
32
|
-
|
|
31
|
+
const sessionKeys = constants.getSessionKeys(client);
|
|
32
|
+
constants.assertDefined(sessionKeys, 'Session keys not found');
|
|
33
33
|
const { privateKeyJwk } = sessionKeys;
|
|
34
34
|
const signature = await p256Sign({
|
|
35
35
|
message: sessionId,
|
|
@@ -42,13 +42,13 @@ const generateSessionSignature = async ({ sessionId }, client)=>{
|
|
|
42
42
|
|
|
43
43
|
const getSignedSessionId = async (client)=>{
|
|
44
44
|
var _core_state_get_user;
|
|
45
|
-
const core =
|
|
45
|
+
const core = constants.getCore(client);
|
|
46
46
|
const sessionId = (_core_state_get_user = core.state.get().user) == null ? void 0 : _core_state_get_user.sessionId;
|
|
47
|
-
|
|
47
|
+
constants.assertDefined(sessionId, 'Session ID is required');
|
|
48
48
|
const { signature } = await generateSessionSignature({
|
|
49
49
|
sessionId
|
|
50
50
|
}, client);
|
|
51
|
-
|
|
51
|
+
constants.assertDefined(signature, 'Signed session ID is required');
|
|
52
52
|
return {
|
|
53
53
|
signature
|
|
54
54
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as isMfaRequiredForAction, c as consumeMfaToken } from './isMfaRequiredForAction.esm.js';
|
|
2
|
-
import {
|
|
1
|
+
import { i as isMfaRequiredForAction, c as consumeMfaToken, b as bufferToHex } from './isMfaRequiredForAction.esm.js';
|
|
2
|
+
import { m as getSessionKeys, d as assertDefined, a as getCore } from './constants.esm.js';
|
|
3
3
|
|
|
4
4
|
const consumeMfaTokenIfRequiredForAction = async ({ mfaAction }, client)=>{
|
|
5
5
|
const isRequiredForAction = await isMfaRequiredForAction({
|