@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.
Files changed (318) hide show
  1. package/CHANGELOG.md +308 -0
  2. package/InvalidParamError.cjs.js +2 -2
  3. package/InvalidParamError.esm.js +1 -1
  4. package/NotWaasWalletAccountError.cjs.js +7 -7
  5. package/NotWaasWalletAccountError.esm.js +2 -2
  6. package/constants.cjs.js +493 -9
  7. package/constants.cjs2.js +15 -0
  8. package/constants.esm.js +468 -7
  9. package/constants.esm2.js +11 -0
  10. package/core.cjs.js +96 -41
  11. package/core.esm.js +47 -10
  12. package/filterDuplicates.cjs.js +8 -0
  13. package/filterDuplicates.esm.js +6 -0
  14. package/getNetworkProviderFromNetworkId.cjs.js +178 -20
  15. package/getNetworkProviderFromNetworkId.esm.js +150 -3
  16. package/getSignedSessionId.cjs.js +7 -7
  17. package/getSignedSessionId.esm.js +2 -2
  18. package/getVerifiedCredentialForWalletAccount.cjs.js +515 -0
  19. package/getVerifiedCredentialForWalletAccount.esm.js +491 -0
  20. package/index.cjs.js +1235 -471
  21. package/index.esm.js +1033 -282
  22. package/isMfaRequiredForAction.cjs.js +15 -8
  23. package/isMfaRequiredForAction.esm.js +8 -2
  24. package/package.json +4 -4
  25. package/src/client/core/createCore/createCore.d.ts.map +1 -1
  26. package/src/client/core/createCore/getInitialState.d.ts.map +1 -1
  27. package/src/client/core/types/DynamicCore.d.ts +8 -0
  28. package/src/client/core/types/DynamicCore.d.ts.map +1 -1
  29. package/src/client/createDynamicClient/createDynamicClient.d.ts.map +1 -1
  30. package/src/client/types/DynamicClientConfig.d.ts +6 -1
  31. package/src/client/types/DynamicClientConfig.d.ts.map +1 -1
  32. package/src/constants.d.ts +1 -0
  33. package/src/constants.d.ts.map +1 -1
  34. package/src/errors/APIError/APIError.d.ts.map +1 -1
  35. package/src/errors/InvalidWalletProviderKeyError.d.ts +5 -0
  36. package/src/errors/InvalidWalletProviderKeyError.d.ts.map +1 -0
  37. package/src/errors/MissingUserVerificationError.d.ts +12 -0
  38. package/src/errors/MissingUserVerificationError.d.ts.map +1 -0
  39. package/src/errors/NoSmartWalletAccountSignerFoundError.d.ts +5 -0
  40. package/src/errors/NoSmartWalletAccountSignerFoundError.d.ts.map +1 -0
  41. package/src/errors/WalletAccountNotSelectedError.d.ts.map +1 -1
  42. package/src/exports/core.d.ts +102 -2
  43. package/src/exports/core.d.ts.map +1 -1
  44. package/src/exports/index.d.ts +25 -7
  45. package/src/exports/index.d.ts.map +1 -1
  46. package/src/exports/waas.d.ts +2 -0
  47. package/src/exports/waas.d.ts.map +1 -1
  48. package/src/modules/apiClient/createApiClient.d.ts.map +1 -1
  49. package/src/modules/auth/createVisit/createVisit.d.ts.map +1 -1
  50. package/src/modules/auth/logout/logout.d.ts.map +1 -1
  51. package/src/modules/auth/passkeys/getPasskeyAuthenticationOptions/getPasskeyAuthenticationOptions.d.ts +4 -1
  52. package/src/modules/auth/passkeys/getPasskeyAuthenticationOptions/getPasskeyAuthenticationOptions.d.ts.map +1 -1
  53. package/src/modules/auth/passkeys/getPasskeyAuthenticationSignInOptions/getPasskeyAuthenticationSignInOptions.d.ts +4 -1
  54. package/src/modules/auth/passkeys/getPasskeyAuthenticationSignInOptions/getPasskeyAuthenticationSignInOptions.d.ts.map +1 -1
  55. package/src/modules/auth/passkeys/registerPasskey/registerPasskey.d.ts +7 -1
  56. package/src/modules/auth/passkeys/registerPasskey/registerPasskey.d.ts.map +1 -1
  57. package/src/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.d.ts +3 -1
  58. package/src/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.d.ts.map +1 -1
  59. package/src/modules/auth/passkeys/signInWithPasskey/signInWithPasskey.d.ts +4 -1
  60. package/src/modules/auth/passkeys/signInWithPasskey/signInWithPasskey.d.ts.map +1 -1
  61. package/src/modules/auth/social/getUserSocialAccounts/getUserSocialAccounts.d.ts +9 -0
  62. package/src/modules/auth/social/getUserSocialAccounts/getUserSocialAccounts.d.ts.map +1 -0
  63. package/src/modules/auth/social/getUserSocialAccounts/index.d.ts +2 -0
  64. package/src/modules/auth/social/getUserSocialAccounts/index.d.ts.map +1 -0
  65. package/src/modules/auth/social/oauth/{signInWithSocialRedirect/signInWithSocialRedirect.d.ts → authenticateWithSocial/authenticateWithSocial.d.ts} +5 -3
  66. package/src/modules/auth/social/oauth/authenticateWithSocial/authenticateWithSocial.d.ts.map +1 -0
  67. package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts.map +1 -0
  68. package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/addOAuthUrlParams/index.d.ts.map +1 -0
  69. package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/buildOAuthUrl.d.ts.map +1 -0
  70. package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.d.ts.map +1 -0
  71. package/src/modules/auth/social/oauth/authenticateWithSocial/buildOAuthUrl/getOAuthBaseUrl/index.d.ts.map +1 -0
  72. package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/index.d.ts.map +1 -1
  73. package/src/modules/auth/social/oauth/authenticateWithSocial/index.d.ts +2 -0
  74. package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/index.d.ts.map +1 -1
  75. package/src/modules/auth/social/oauth/{completeSocialRedirectSignIn/completeSocialRedirectSignIn.d.ts → completeSocialAuthentication/completeSocialAuthentication.d.ts} +3 -3
  76. package/src/modules/auth/social/oauth/completeSocialAuthentication/completeSocialAuthentication.d.ts.map +1 -0
  77. package/src/modules/auth/social/oauth/completeSocialAuthentication/index.d.ts +2 -0
  78. package/src/modules/auth/social/oauth/{completeSocialRedirectSignIn → completeSocialAuthentication}/index.d.ts.map +1 -1
  79. package/src/modules/auth/social/oauth/redirectStateStorageSchema/index.d.ts +1 -1
  80. package/src/modules/auth/social/oauth/redirectStateStorageSchema/index.d.ts.map +1 -1
  81. package/src/modules/auth/social/oauth/redirectStateStorageSchema/redirectStateStorageSchema.d.ts +1 -1
  82. package/src/modules/auth/social/oauth/redirectStateStorageSchema/redirectStateStorageSchema.d.ts.map +1 -1
  83. package/src/modules/auth/social/oauth/unlinkSocialAccount/index.d.ts +2 -0
  84. package/src/modules/auth/social/oauth/unlinkSocialAccount/index.d.ts.map +1 -0
  85. package/src/modules/auth/social/oauth/unlinkSocialAccount/unlinkSocialAccount.d.ts +14 -0
  86. package/src/modules/auth/social/oauth/unlinkSocialAccount/unlinkSocialAccount.d.ts.map +1 -0
  87. package/src/modules/auth/social/removeDynamicOauthParamsFromUrl/index.d.ts +2 -0
  88. package/src/modules/auth/social/removeDynamicOauthParamsFromUrl/index.d.ts.map +1 -0
  89. package/src/modules/auth/social/removeDynamicOauthParamsFromUrl/removeDynamicOauthParamsFromUrl.d.ts +2 -0
  90. package/src/modules/auth/social/removeDynamicOauthParamsFromUrl/removeDynamicOauthParamsFromUrl.d.ts.map +1 -0
  91. package/src/modules/auth/social/social.types.d.ts +9 -0
  92. package/src/modules/auth/social/social.types.d.ts.map +1 -1
  93. package/src/modules/auth/updateAuthFromVerifyResponse/checkAndRaiseWalletAccountsChangedEvent/checkAndRaiseWalletAccountsChangedEvent.d.ts.map +1 -1
  94. package/src/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
  95. package/src/modules/balances/getMultichainBalances/getMultichainBalances.d.ts +1 -2
  96. package/src/modules/balances/getMultichainBalances/getMultichainBalances.d.ts.map +1 -1
  97. package/src/modules/balances/getMultichainBalances/index.d.ts +1 -1
  98. package/src/modules/balances/getMultichainBalances/index.d.ts.map +1 -1
  99. package/src/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/addCoinbaseOnrampOrderEventListener.d.ts +18 -0
  100. package/src/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/addCoinbaseOnrampOrderEventListener.d.ts.map +1 -0
  101. package/src/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/index.d.ts +2 -0
  102. package/src/modules/funding/coinbase/addCoinbaseOnrampOrderEventListener/index.d.ts.map +1 -0
  103. package/src/modules/funding/coinbase/coinbase.types.d.ts +269 -0
  104. package/src/modules/funding/coinbase/coinbase.types.d.ts.map +1 -0
  105. package/src/modules/funding/coinbase/createCoinbaseOnrampOrder/createCoinbaseOnrampOrder.d.ts +11 -0
  106. package/src/modules/funding/coinbase/createCoinbaseOnrampOrder/createCoinbaseOnrampOrder.d.ts.map +1 -0
  107. package/src/modules/funding/coinbase/createCoinbaseOnrampOrder/index.d.ts +2 -0
  108. package/src/modules/funding/coinbase/createCoinbaseOnrampOrder/index.d.ts.map +1 -0
  109. package/src/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.d.ts +10 -0
  110. package/src/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.d.ts.map +1 -0
  111. package/src/modules/funding/coinbase/getCoinbaseBuyUrl/index.d.ts +2 -0
  112. package/src/modules/funding/coinbase/getCoinbaseBuyUrl/index.d.ts.map +1 -0
  113. package/src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/getMissingVerificationForCoinbaseOnrampOrder.d.ts +23 -0
  114. package/src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/getMissingVerificationForCoinbaseOnrampOrder.d.ts.map +1 -0
  115. package/src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/index.d.ts +2 -0
  116. package/src/modules/funding/coinbase/getMissingVerificationForCoinbaseOnrampOrder/index.d.ts.map +1 -0
  117. package/src/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/index.d.ts +2 -0
  118. package/src/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/index.d.ts.map +1 -0
  119. package/src/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/validateUserCredentialsForCoinbaseOnrampOrder.d.ts +4 -0
  120. package/src/modules/funding/coinbase/utils/validateUserCredentialsForCoinbaseOnrampOrder/validateUserCredentialsForCoinbaseOnrampOrder.d.ts.map +1 -0
  121. package/src/modules/funding/cryptoDotCom/createCryptoDotComPayment/createCryptoDotComPayment.d.ts +10 -0
  122. package/src/modules/funding/cryptoDotCom/createCryptoDotComPayment/createCryptoDotComPayment.d.ts.map +1 -0
  123. package/src/modules/funding/cryptoDotCom/createCryptoDotComPayment/index.d.ts +2 -0
  124. package/src/modules/funding/cryptoDotCom/createCryptoDotComPayment/index.d.ts.map +1 -0
  125. package/src/modules/funding/cryptoDotCom/cryptoDotCom.types.d.ts +8 -0
  126. package/src/modules/funding/cryptoDotCom/cryptoDotCom.types.d.ts.map +1 -0
  127. package/src/modules/initializeClient/consts.d.ts +5 -0
  128. package/src/modules/initializeClient/consts.d.ts.map +1 -0
  129. package/src/modules/initializeClient/initializeClient.d.ts.map +1 -1
  130. package/src/modules/initializeClient/waitForProjectSettings/index.d.ts +2 -0
  131. package/src/modules/initializeClient/waitForProjectSettings/index.d.ts.map +1 -0
  132. package/src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.d.ts +3 -0
  133. package/src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.d.ts.map +1 -0
  134. package/src/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts +2 -1
  135. package/src/modules/mfa/authenticatePasskeyMFA/authenticatePasskeyMFA.d.ts.map +1 -1
  136. package/src/modules/otp/verifyOTP/verifyOTP.d.ts +3 -2
  137. package/src/modules/otp/verifyOTP/verifyOTP.d.ts.map +1 -1
  138. package/src/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.d.ts.map +1 -1
  139. package/src/modules/projectSettings/fetchProjectSettings/projectSettingsExpirationScheme.d.ts +1 -1
  140. package/src/modules/projectSettings/fetchProjectSettings/projectSettingsExpirationScheme.d.ts.map +1 -1
  141. package/src/modules/storageSync/hydrateStateWithStorage/hydrateStateWithStorage.d.ts.map +1 -1
  142. package/src/modules/storageSync/schema.d.ts +15 -2
  143. package/src/modules/storageSync/schema.d.ts.map +1 -1
  144. package/src/modules/storageSync/syncStateWithStorage/syncStateWithStorage.d.ts.map +1 -1
  145. package/src/modules/user/deleteUser/deleteUser.d.ts +11 -0
  146. package/src/modules/user/deleteUser/deleteUser.d.ts.map +1 -0
  147. package/src/modules/user/deleteUser/index.d.ts +2 -0
  148. package/src/modules/user/deleteUser/index.d.ts.map +1 -0
  149. package/src/modules/waas/constants.d.ts +2 -2
  150. package/src/modules/waas/constants.d.ts.map +1 -1
  151. package/src/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  152. package/src/modules/waas/createWaasWalletAccounts/createWaasWalletAccounts.d.ts.map +1 -1
  153. package/src/modules/waas/delegateWaasKeyShares/delegateWaasKeyShares.d.ts.map +1 -1
  154. package/src/modules/waas/getWaasWalletProviderByChain/getWaasWalletProviderByChain.d.ts.map +1 -1
  155. package/src/modules/waas/hasDelegatedAccess/hasDelegatedAccess.d.ts +14 -0
  156. package/src/modules/waas/hasDelegatedAccess/hasDelegatedAccess.d.ts.map +1 -0
  157. package/src/modules/waas/hasDelegatedAccess/index.d.ts +2 -0
  158. package/src/modules/waas/hasDelegatedAccess/index.d.ts.map +1 -0
  159. package/src/modules/waas/isWaasWalletAccount/isWaasWalletAccount.d.ts.map +1 -1
  160. package/src/modules/waas/isWaasWalletProvider/isWaasWalletProvider.d.ts.map +1 -1
  161. package/src/modules/waas/revokeWaasDelegation/index.d.ts +2 -0
  162. package/src/modules/waas/revokeWaasDelegation/index.d.ts.map +1 -0
  163. package/src/modules/waas/revokeWaasDelegation/revokeWaasDelegation.d.ts +16 -0
  164. package/src/modules/waas/revokeWaasDelegation/revokeWaasDelegation.d.ts.map +1 -0
  165. package/src/modules/waas/waas.types.d.ts +4 -0
  166. package/src/modules/waas/waas.types.d.ts.map +1 -1
  167. package/src/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts +4 -3
  168. package/src/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts.map +1 -1
  169. package/src/modules/wallets/constants.d.ts.map +1 -1
  170. package/src/modules/wallets/getAvailableWalletProvidersData/getAvailableWalletProvidersData.d.ts +2 -6
  171. package/src/modules/wallets/getAvailableWalletProvidersData/getAvailableWalletProvidersData.d.ts.map +1 -1
  172. package/src/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/getOwnerWalletAccountForSmartWalletAccount.d.ts +7 -0
  173. package/src/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/getOwnerWalletAccountForSmartWalletAccount.d.ts.map +1 -0
  174. package/src/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/index.d.ts +2 -0
  175. package/src/modules/wallets/getOwnerWalletAccountForSmartWalletAccount/index.d.ts.map +1 -0
  176. package/src/modules/wallets/getWalletAccountAddressByType/getWalletAccountAddressByType.d.ts +8 -0
  177. package/src/modules/wallets/getWalletAccountAddressByType/getWalletAccountAddressByType.d.ts.map +1 -0
  178. package/src/modules/wallets/getWalletAccountAddressByType/index.d.ts +2 -0
  179. package/src/modules/wallets/getWalletAccountAddressByType/index.d.ts.map +1 -0
  180. package/src/modules/wallets/getWalletAccounts/getWalletAccounts.d.ts.map +1 -1
  181. package/src/modules/wallets/getWalletAccounts/getWalletAccountsFromState/getWalletAccountsFromState.d.ts +9 -1
  182. package/src/modules/wallets/getWalletAccounts/getWalletAccountsFromState/getWalletAccountsFromState.d.ts.map +1 -1
  183. package/src/modules/wallets/getWalletProviderDataByKey/getWalletProviderDataByKey.d.ts +14 -0
  184. package/src/modules/wallets/getWalletProviderDataByKey/getWalletProviderDataByKey.d.ts.map +1 -0
  185. package/src/modules/wallets/getWalletProviderDataByKey/index.d.ts +2 -0
  186. package/src/modules/wallets/getWalletProviderDataByKey/index.d.ts.map +1 -0
  187. package/src/modules/wallets/isWalletAccountVerified/index.d.ts +2 -0
  188. package/src/modules/wallets/isWalletAccountVerified/index.d.ts.map +1 -0
  189. package/src/modules/wallets/isWalletAccountVerified/isWalletAccountVerified.d.ts +13 -0
  190. package/src/modules/wallets/isWalletAccountVerified/isWalletAccountVerified.d.ts.map +1 -0
  191. package/src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.d.ts +10 -0
  192. package/src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.d.ts.map +1 -0
  193. package/src/modules/wallets/networks/getNetworkDataForNetworkId/index.d.ts +2 -0
  194. package/src/modules/wallets/networks/getNetworkDataForNetworkId/index.d.ts.map +1 -0
  195. package/src/modules/wallets/networks/getTransactionHistory/getTransactionHistory.d.ts +26 -0
  196. package/src/modules/wallets/networks/getTransactionHistory/getTransactionHistory.d.ts.map +1 -0
  197. package/src/modules/wallets/networks/getTransactionHistory/index.d.ts +3 -0
  198. package/src/modules/wallets/networks/getTransactionHistory/index.d.ts.map +1 -0
  199. package/src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.d.ts.map +1 -1
  200. package/src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.d.ts +1 -1
  201. package/src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.d.ts.map +1 -1
  202. package/src/modules/wallets/proveWalletAccountOwnership/proveWalletAccountOwnership.d.ts +1 -1
  203. package/src/modules/wallets/proveWalletAccountOwnership/proveWalletAccountOwnership.d.ts.map +1 -1
  204. package/src/modules/wallets/removeWalletAccount/removeWalletAccount.d.ts.map +1 -1
  205. package/src/modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount/removeUnverifiedWalletAccount.d.ts.map +1 -1
  206. package/src/modules/wallets/unverifiedWalletAccounts/schema.d.ts +5 -0
  207. package/src/modules/wallets/unverifiedWalletAccounts/schema.d.ts.map +1 -1
  208. package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts/setUnverifiedWalletAccounts.d.ts +2 -0
  209. package/src/modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts/setUnverifiedWalletAccounts.d.ts.map +1 -1
  210. package/src/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/convertUnverifiedWalletAccountToWalletAccount.d.ts +5 -1
  211. package/src/modules/wallets/utils/convertUnverifiedWalletAccountToWalletAccount/convertUnverifiedWalletAccountToWalletAccount.d.ts.map +1 -1
  212. package/src/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/convertVerifiedCredentialToWalletAccount.d.ts +6 -1
  213. package/src/modules/wallets/utils/convertVerifiedCredentialToWalletAccount/convertVerifiedCredentialToWalletAccount.d.ts.map +1 -1
  214. package/src/modules/wallets/utils/formatSignInMessage/formatSignInMessage.d.ts +9 -7
  215. package/src/modules/wallets/utils/formatSignInMessage/formatSignInMessage.d.ts.map +1 -1
  216. package/src/modules/wallets/utils/formatWalletAccountId/formatWalletAccountId.d.ts +9 -0
  217. package/src/modules/wallets/utils/formatWalletAccountId/formatWalletAccountId.d.ts.map +1 -0
  218. package/src/modules/wallets/utils/formatWalletAccountId/index.d.ts +2 -0
  219. package/src/modules/wallets/utils/formatWalletAccountId/index.d.ts.map +1 -0
  220. package/src/modules/wallets/utils/formatWalletProviderKey/formatWalletProviderKey.d.ts +17 -2
  221. package/src/modules/wallets/utils/formatWalletProviderKey/formatWalletProviderKey.d.ts.map +1 -1
  222. package/src/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/getAddressesWithTypesFromConnectionResult.d.ts +4 -0
  223. package/src/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/getAddressesWithTypesFromConnectionResult.d.ts.map +1 -0
  224. package/src/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/index.d.ts +2 -0
  225. package/src/modules/wallets/utils/getAddressesWithTypesFromConnectionResult/index.d.ts.map +1 -0
  226. package/src/modules/wallets/utils/getChainIdForAccountVerification/getChainIdForAccountVerification.d.ts.map +1 -1
  227. package/src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.d.ts +2 -0
  228. package/src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.d.ts.map +1 -0
  229. package/src/modules/wallets/utils/getInjectedProviderFromWindow/index.d.ts +2 -0
  230. package/src/modules/wallets/utils/getInjectedProviderFromWindow/index.d.ts.map +1 -0
  231. package/src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.d.ts +3 -0
  232. package/src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.d.ts.map +1 -0
  233. package/src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/index.d.ts +2 -0
  234. package/src/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/index.d.ts.map +1 -0
  235. package/src/modules/wallets/utils/getSignInMessage/getSignInMessage.d.ts.map +1 -1
  236. package/src/modules/wallets/utils/getVerifiedCredentialForWalletAccount/getVerifiedCredentialForWalletAccount.d.ts +8 -0
  237. package/src/modules/wallets/utils/getVerifiedCredentialForWalletAccount/getVerifiedCredentialForWalletAccount.d.ts.map +1 -0
  238. package/src/modules/wallets/utils/getVerifiedCredentialForWalletAccount/index.d.ts +2 -0
  239. package/src/modules/wallets/utils/getVerifiedCredentialForWalletAccount/index.d.ts.map +1 -0
  240. package/src/modules/wallets/utils/normalizeWalletNameWithChain/index.d.ts +2 -0
  241. package/src/modules/wallets/utils/normalizeWalletNameWithChain/index.d.ts.map +1 -0
  242. package/src/modules/wallets/utils/normalizeWalletNameWithChain/normalizeWalletNameWithChain.d.ts +12 -0
  243. package/src/modules/wallets/utils/normalizeWalletNameWithChain/normalizeWalletNameWithChain.d.ts.map +1 -0
  244. package/src/modules/wallets/verifySignInMessage/index.d.ts +2 -0
  245. package/src/modules/wallets/verifySignInMessage/index.d.ts.map +1 -0
  246. package/src/modules/wallets/verifySignInMessage/verifySignInMessage.d.ts +22 -0
  247. package/src/modules/wallets/verifySignInMessage/verifySignInMessage.d.ts.map +1 -0
  248. package/src/modules/wallets/verifyWalletAccount/verifyWalletAccount.d.ts.map +1 -1
  249. package/src/modules/wallets/walletAccount/index.d.ts +1 -1
  250. package/src/modules/wallets/walletAccount/index.d.ts.map +1 -1
  251. package/src/modules/wallets/walletAccount/walletAccount.types.d.ts +8 -0
  252. package/src/modules/wallets/walletAccount/walletAccount.types.d.ts.map +1 -1
  253. package/src/modules/wallets/walletProvider/index.d.ts +1 -1
  254. package/src/modules/wallets/walletProvider/index.d.ts.map +1 -1
  255. package/src/modules/wallets/walletProvider/splitWalletProviderKey/index.d.ts +2 -0
  256. package/src/modules/wallets/walletProvider/splitWalletProviderKey/index.d.ts.map +1 -0
  257. package/src/modules/wallets/walletProvider/splitWalletProviderKey/splitWalletProviderKey.d.ts +9 -0
  258. package/src/modules/wallets/walletProvider/splitWalletProviderKey/splitWalletProviderKey.d.ts.map +1 -0
  259. package/src/modules/wallets/walletProvider/walletProvider.types.d.ts +24 -8
  260. package/src/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
  261. package/src/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/getWalletProviderKeyFromVerifiedCredential.d.ts +10 -0
  262. package/src/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/getWalletProviderKeyFromVerifiedCredential.d.ts.map +1 -0
  263. package/src/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/index.d.ts +2 -0
  264. package/src/modules/wallets/walletProvider/walletProviderKeyMap/getWalletProviderKeyFromVerifiedCredential/index.d.ts.map +1 -0
  265. package/src/modules/wallets/walletProvider/walletProviderKeyMap/schema.d.ts +3 -0
  266. package/src/modules/wallets/walletProvider/walletProviderKeyMap/schema.d.ts.map +1 -0
  267. package/src/modules/wallets/walletProvider/walletProviderKeyMap/state.d.ts +16 -0
  268. package/src/modules/wallets/walletProvider/walletProviderKeyMap/state.d.ts.map +1 -0
  269. package/src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/index.d.ts +2 -0
  270. package/src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/index.d.ts.map +1 -0
  271. package/src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/updateWalletProviderKeysForVerifiedCredentials.d.ts +7 -0
  272. package/src/modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials/updateWalletProviderKeysForVerifiedCredentials.d.ts.map +1 -0
  273. package/src/modules/wallets/walletProvider/walletProviderKeyMap/walletProviderKeyMap.types.d.ts +12 -0
  274. package/src/modules/wallets/walletProvider/walletProviderKeyMap/walletProviderKeyMap.types.d.ts.map +1 -0
  275. package/src/services/asyncTrack/asyncTrack.types.d.ts +5 -1
  276. package/src/services/asyncTrack/asyncTrack.types.d.ts.map +1 -1
  277. package/src/services/asyncTrack/createAsyncTrack.d.ts.map +1 -1
  278. package/src/services/storage/index.d.ts +1 -1
  279. package/src/services/storage/index.d.ts.map +1 -1
  280. package/src/utils/debouncedMutex/createDebouncedMutex/createDebouncedMutex.d.ts +3 -0
  281. package/src/utils/debouncedMutex/createDebouncedMutex/createDebouncedMutex.d.ts.map +1 -0
  282. package/src/utils/debouncedMutex/createDebouncedMutex/index.d.ts +2 -0
  283. package/src/utils/debouncedMutex/createDebouncedMutex/index.d.ts.map +1 -0
  284. package/src/utils/debouncedMutex/debouncedMutex.types.d.ts +39 -0
  285. package/src/utils/debouncedMutex/debouncedMutex.types.d.ts.map +1 -0
  286. package/src/utils/debouncedMutex/index.d.ts +2 -0
  287. package/src/utils/debouncedMutex/index.d.ts.map +1 -0
  288. package/waas.cjs.js +86 -38
  289. package/waas.esm.js +62 -16
  290. package/waasCore.cjs.js +21 -10
  291. package/waasCore.esm.js +15 -4
  292. package/getWalletProviderByKey.cjs.js +0 -74
  293. package/getWalletProviderByKey.esm.js +0 -69
  294. package/logout.cjs.js +0 -1086
  295. package/logout.esm.js +0 -1020
  296. package/src/modules/apiClient/utils/logoutOnUnauthorizedRequestMiddleware/index.d.ts +0 -2
  297. package/src/modules/apiClient/utils/logoutOnUnauthorizedRequestMiddleware/index.d.ts.map +0 -1
  298. package/src/modules/apiClient/utils/logoutOnUnauthorizedRequestMiddleware/logoutOnUnauthorizedRequestMiddleware.d.ts +0 -4
  299. package/src/modules/apiClient/utils/logoutOnUnauthorizedRequestMiddleware/logoutOnUnauthorizedRequestMiddleware.d.ts.map +0 -1
  300. package/src/modules/auth/social/oauth/completeSocialRedirectSignIn/completeSocialRedirectSignIn.d.ts.map +0 -1
  301. package/src/modules/auth/social/oauth/completeSocialRedirectSignIn/index.d.ts +0 -2
  302. package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts.map +0 -1
  303. package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/addOAuthUrlParams/index.d.ts.map +0 -1
  304. package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/buildOAuthUrl.d.ts.map +0 -1
  305. package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.d.ts.map +0 -1
  306. package/src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/getOAuthBaseUrl/index.d.ts.map +0 -1
  307. package/src/modules/auth/social/oauth/signInWithSocialRedirect/index.d.ts +0 -2
  308. package/src/modules/auth/social/oauth/signInWithSocialRedirect/signInWithSocialRedirect.d.ts.map +0 -1
  309. package/src/modules/wallets/utils/createWalletAccountId/createWalletAccountId.d.ts +0 -3
  310. package/src/modules/wallets/utils/createWalletAccountId/createWalletAccountId.d.ts.map +0 -1
  311. package/src/modules/wallets/utils/createWalletAccountId/index.d.ts +0 -2
  312. package/src/modules/wallets/utils/createWalletAccountId/index.d.ts.map +0 -1
  313. /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.d.ts +0 -0
  314. /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/addOAuthUrlParams/index.d.ts +0 -0
  315. /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/buildOAuthUrl.d.ts +0 -0
  316. /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.d.ts +0 -0
  317. /package/src/modules/auth/social/oauth/{signInWithSocialRedirect → authenticateWithSocial}/buildOAuthUrl/getOAuthBaseUrl/index.d.ts +0 -0
  318. /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 logout = require('./logout.cjs.js');
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 logout.BaseError {
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
- class CannotTrackError extends logout.BaseError {
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 logout.BaseError {
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
- const isCaptchaRequired = (client = logout.getDefaultClient())=>{
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
- logout.assertDefined(projectSettings, 'Project settings are not available');
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 = logout.getCore(client);
261
+ const core = constants.getCore(client);
239
262
  const captchaToken = core.state.get().captchaToken;
240
263
  if (isCaptchaRequired(client)) {
241
- logout.assertDefined(captchaToken, 'Captcha token is required');
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 = logout.getDefaultClient())=>{
255
- const core = logout.getCore(client);
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 = logout.getDefaultClient())=>{
271
- const core = logout.getCore(client);
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
- suffixFields.push(`Issued At: ${issuedAt}`);
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(logout.CHAINS_INFO_MAP);
319
- const chain = chains.find((chain)=>logout.CHAINS_INFO_MAP[chain].apiChainName === chainName);
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 = logout.getDefaultClient())=>{
332
- const { state } = logout.getCore(client);
478
+ */ const getNetworksData = (client = constants.getDefaultClient())=>{
479
+ const { state } = constants.getCore(client);
333
480
  const { projectSettings } = state.get();
334
- logout.assertDefined(projectSettings, 'projectSettings not found');
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 = logout.createRuntimeServiceAccessKey('networkProviderBuilderRegistry', createNetworkProviderBuilderRegistry);
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
- logout.assertDefined(networkProvider, `No network provider found for chain ${chain} with network id ${networkId}`);
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, a as getDefaultClient, j as assertDefined, g as getCore, C as CHAINS_INFO_MAP, y as createRuntimeServiceAccessKey } from './logout.esm.js';
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
- suffixFields.push(`Issued At: ${issuedAt}`);
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, InvalidStorageSet as I, NoNetworkProvidersError as N, createStorage as a, createLocalStorageAdapter as b, createLogger as c, consumeCaptchaToken as d, getNetworkProviderFromNetworkId as e, formatSignInMessage as f, getNetworksData as g, isCaptchaRequired as h, isEqualShallow as i, setCaptchaToken as j, hasExtension as k, getNetworkProviders as l, getNetworkProviderBuilderRegistry as m, subscribeWithSelector as s };
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 logout = require('./logout.cjs.js');
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 logout.bufferToHex(signature);
27
+ return isMfaRequiredForAction.bufferToHex(signature);
28
28
  };
29
29
 
30
30
  const generateSessionSignature = async ({ sessionId }, client)=>{
31
- const sessionKeys = logout.getSessionKeys(client);
32
- logout.assertDefined(sessionKeys, 'Session keys not found');
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 = logout.getCore(client);
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
- logout.assertDefined(sessionId, 'Session ID is required');
47
+ constants.assertDefined(sessionId, 'Session ID is required');
48
48
  const { signature } = await generateSessionSignature({
49
49
  sessionId
50
50
  }, client);
51
- logout.assertDefined(signature, 'Signed session ID is required');
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 { P as bufferToHex, Q as getSessionKeys, j as assertDefined, g as getCore } from './logout.esm.js';
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({