@dynamic-labs/sdk-react-core 0.19.0-alpha.1 → 0.19.0-alpha.3

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 (454) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +9 -9
  5. package/src/index.cjs +38 -12
  6. package/src/index.d.ts +4 -7
  7. package/src/index.js +21 -6
  8. package/src/lib/Main.cjs +9 -3
  9. package/src/lib/Main.js +9 -3
  10. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.cjs +5 -1
  11. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.js +5 -1
  12. package/src/lib/components/AnimatePresence/AnimatePresence.cjs +6 -2
  13. package/src/lib/components/AnimatePresence/AnimatePresence.js +6 -2
  14. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +5 -1
  15. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +5 -1
  16. package/src/lib/components/Divider/Divider.cjs +7 -3
  17. package/src/lib/components/Divider/Divider.js +7 -3
  18. package/src/lib/components/ErrorContainer/ErrorContainer.d.ts +1 -1
  19. package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +5 -1
  20. package/src/lib/components/MenuList/Dropdown/Dropdown.js +5 -1
  21. package/src/lib/components/Modal/Modal.cjs +5 -1
  22. package/src/lib/components/Modal/Modal.js +5 -1
  23. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.cjs +4 -2
  24. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.d.ts +2 -1
  25. package/src/lib/components/ModalHeaderBanner/ModalHeaderBanner.js +4 -2
  26. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +5 -1
  27. package/src/lib/components/NetworkPicker/NetworkPicker.js +5 -1
  28. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +7 -3
  29. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +7 -3
  30. package/src/lib/components/NetworkPicker/components/Network/Network.cjs +7 -3
  31. package/src/lib/components/NetworkPicker/components/Network/Network.js +7 -3
  32. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.cjs +7 -3
  33. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.js +7 -3
  34. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +9 -5
  35. package/src/lib/components/OTPVerificationView/OTPVerificationView.d.ts +1 -0
  36. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +9 -5
  37. package/src/lib/components/OverlayCard/OverlayCard.cjs +5 -1
  38. package/src/lib/components/OverlayCard/OverlayCard.js +5 -1
  39. package/src/lib/components/Portal/Portal.cjs +5 -1
  40. package/src/lib/components/Portal/Portal.js +5 -1
  41. package/src/lib/components/Tooltip/Tooltip.cjs +5 -1
  42. package/src/lib/components/Tooltip/Tooltip.js +5 -1
  43. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +3 -1
  44. package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +3 -1
  45. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +7 -3
  46. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +7 -3
  47. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.cjs +5 -1
  48. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.js +5 -1
  49. package/src/lib/components/Typography/Typography.cjs +1 -0
  50. package/src/lib/components/Typography/Typography.js +1 -0
  51. package/src/lib/components/Typography/Typography.types.d.ts +1 -1
  52. package/src/lib/components/UserAddress/UserAddress.cjs +5 -1
  53. package/src/lib/components/UserAddress/UserAddress.js +5 -1
  54. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +7 -3
  55. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +7 -3
  56. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +7 -3
  57. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +7 -3
  58. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +7 -4
  59. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +7 -4
  60. package/src/lib/context/DynamicContext/DynamicContext.cjs +32 -9
  61. package/src/lib/context/DynamicContext/DynamicContext.js +33 -10
  62. package/src/lib/context/DynamicContext/hooks/useVerificationInProgress/useVerificationInProgress.cjs +13 -3
  63. package/src/lib/context/DynamicContext/hooks/useVerificationInProgress/useVerificationInProgress.js +13 -3
  64. package/src/lib/context/DynamicContext/internalEvents/index.d.ts +1 -0
  65. package/src/lib/context/DynamicContext/internalEvents/internalEvents.cjs +14 -0
  66. package/src/lib/context/DynamicContext/internalEvents/internalEvents.d.ts +8 -0
  67. package/src/lib/context/DynamicContext/internalEvents/internalEvents.js +6 -0
  68. package/src/lib/context/DynamicContext/types/index.d.ts +8 -5
  69. package/src/lib/context/DynamicContext/useCustomerCallbacks/types.d.ts +9 -2
  70. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs +5 -1
  71. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.js +5 -1
  72. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +64 -33
  73. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.d.ts +3 -3
  74. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +64 -33
  75. package/src/lib/context/DynamicContext/useDynamicContext.cjs +2 -1
  76. package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
  77. package/src/lib/context/DynamicContext/useDynamicContext.js +2 -1
  78. package/src/lib/context/MockContext/MockContext.cjs +7 -3
  79. package/src/lib/context/MockContext/MockContext.js +7 -3
  80. package/src/lib/context/QrCodeContext/QrCodeContext.cjs +6 -2
  81. package/src/lib/context/QrCodeContext/QrCodeContext.js +6 -2
  82. package/src/lib/context/SendBalanceContext/SendBalanceContext.cjs +5 -1
  83. package/src/lib/context/SendBalanceContext/SendBalanceContext.js +5 -1
  84. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +8 -3
  85. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +8 -3
  86. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.cjs +67 -0
  87. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.d.ts +14 -0
  88. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.js +62 -0
  89. package/src/lib/context/UserFieldEditorContext/index.d.ts +1 -0
  90. package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
  91. package/src/lib/context/WalletContext/WalletContext.cjs +1 -0
  92. package/src/lib/context/WalletContext/WalletContext.js +1 -0
  93. package/src/lib/data/api.cjs +17 -1
  94. package/src/lib/data/api.d.ts +2 -1
  95. package/src/lib/data/api.js +17 -2
  96. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +7 -3
  97. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +7 -3
  98. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +8 -4
  99. package/src/lib/layout/DynamicAuthLayout/Header/header.js +8 -4
  100. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +7 -3
  101. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +7 -3
  102. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.cjs +7 -3
  103. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.js +7 -3
  104. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +7 -3
  105. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +7 -3
  106. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +7 -3
  107. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +7 -3
  108. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.cjs +7 -3
  109. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.js +7 -3
  110. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +7 -3
  111. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +7 -3
  112. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.cjs +7 -3
  113. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.js +7 -3
  114. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +7 -3
  115. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +7 -3
  116. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +7 -3
  117. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +7 -3
  118. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +7 -3
  119. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +7 -3
  120. package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +7 -3
  121. package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +7 -3
  122. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +7 -3
  123. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +7 -3
  124. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +18 -5
  125. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +18 -5
  126. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.types.d.ts +2 -0
  127. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.cjs +76 -0
  128. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.d.ts +10 -0
  129. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.js +72 -0
  130. package/src/lib/modals/UserFieldEditorModal/index.d.ts +1 -0
  131. package/src/lib/modals/index.d.ts +1 -0
  132. package/src/lib/shared/assets/at.cjs +53 -0
  133. package/src/lib/shared/assets/at.js +29 -0
  134. package/src/lib/shared/assets/index.d.ts +10 -0
  135. package/src/lib/shared/assets/justified-text.cjs +53 -0
  136. package/src/lib/shared/assets/justified-text.js +29 -0
  137. package/src/lib/shared/assets/location.cjs +53 -0
  138. package/src/lib/shared/assets/location.js +29 -0
  139. package/src/lib/shared/assets/mail.cjs +53 -0
  140. package/src/lib/shared/assets/mail.js +29 -0
  141. package/src/lib/shared/assets/phone.cjs +53 -0
  142. package/src/lib/shared/assets/phone.js +29 -0
  143. package/src/lib/shared/assets/size-labels.cjs +53 -0
  144. package/src/lib/shared/assets/size-labels.js +29 -0
  145. package/src/lib/shared/assets/sparkles.cjs +53 -0
  146. package/src/lib/shared/assets/sparkles.js +29 -0
  147. package/src/lib/shared/assets/user-card.cjs +53 -0
  148. package/src/lib/shared/assets/user-card.js +29 -0
  149. package/src/lib/shared/assets/user.cjs +53 -0
  150. package/src/lib/shared/assets/user.js +29 -0
  151. package/src/lib/shared/assets/work-suitcase.cjs +53 -0
  152. package/src/lib/shared/assets/work-suitcase.js +29 -0
  153. package/src/lib/shared/types/index.d.ts +4 -0
  154. package/src/lib/shared/utils/functions/splitCamelCase/index.d.ts +1 -0
  155. package/src/lib/shared/utils/functions/splitCamelCase/splitCamelCase.cjs +8 -0
  156. package/src/lib/shared/utils/functions/splitCamelCase/splitCamelCase.d.ts +1 -0
  157. package/src/lib/shared/utils/functions/splitCamelCase/splitCamelCase.js +4 -0
  158. package/src/lib/styles/index.shadow.cjs +1 -1
  159. package/src/lib/styles/index.shadow.js +1 -1
  160. package/src/lib/utils/constants/errors.cjs +7 -0
  161. package/src/lib/utils/constants/errors.d.ts +1 -0
  162. package/src/lib/utils/constants/errors.js +3 -0
  163. package/src/lib/utils/functions/digestSHA256/digestSHA256.cjs +11 -0
  164. package/src/lib/utils/functions/digestSHA256/digestSHA256.d.ts +1 -0
  165. package/src/lib/utils/functions/digestSHA256/digestSHA256.js +7 -0
  166. package/src/lib/utils/functions/digestSHA256/index.d.ts +1 -0
  167. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.cjs +14 -0
  168. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.d.ts +1 -0
  169. package/src/lib/utils/functions/encodeBase64URL/encodeBase64URL.js +10 -0
  170. package/src/lib/utils/functions/encodeBase64URL/index.d.ts +1 -0
  171. package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.cjs +1 -1
  172. package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.js +1 -1
  173. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.cjs +33 -0
  174. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.d.ts +1 -0
  175. package/src/lib/utils/functions/getRedirectURIOrigin/getRedirectURIOrigin.js +29 -0
  176. package/src/lib/utils/functions/getRedirectURIOrigin/index.d.ts +1 -0
  177. package/src/lib/utils/functions/index.d.ts +6 -0
  178. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.cjs +10 -0
  179. package/src/lib/utils/functions/isMagicConnector/isMagicConnector.js +6 -0
  180. package/src/lib/utils/functions/randomString/index.d.ts +1 -0
  181. package/src/lib/utils/functions/randomString/randomString.cjs +14 -0
  182. package/src/lib/utils/functions/randomString/randomString.d.ts +1 -0
  183. package/src/lib/utils/functions/randomString/randomString.js +10 -0
  184. package/src/lib/utils/functions/sendTransactionWithAutoNonce/index.d.ts +1 -0
  185. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.cjs +45 -0
  186. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.d.ts +17 -0
  187. package/src/lib/utils/functions/sendTransactionWithAutoNonce/sendTransactionWithAutoNonce.js +40 -0
  188. package/src/lib/utils/functions/stringifyURIQuery/index.d.ts +1 -0
  189. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.cjs +13 -0
  190. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.d.ts +1 -0
  191. package/src/lib/utils/functions/stringifyURIQuery/stringifyURIQuery.js +9 -0
  192. package/src/lib/utils/hooks/authenticationHooks/index.d.ts +1 -0
  193. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +2 -2
  194. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.d.ts +2 -1
  195. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +2 -2
  196. package/src/lib/utils/hooks/index.d.ts +6 -1
  197. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +7 -2
  198. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +1 -1
  199. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +7 -2
  200. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +11 -9
  201. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +1 -1
  202. package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +11 -9
  203. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +1 -0
  204. package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +1 -0
  205. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +1 -1
  206. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +1 -1
  207. package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.cjs +1 -0
  208. package/src/lib/utils/hooks/useAuthenticateConnectedUser/useAuthenticateConnectedUser.js +1 -0
  209. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +7 -0
  210. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.d.ts +6 -0
  211. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +7 -0
  212. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +2 -2
  213. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +1 -1
  214. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +2 -2
  215. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +7 -6
  216. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +7 -6
  217. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs +2 -7
  218. package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.js +2 -7
  219. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/index.d.ts +1 -0
  220. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/index.d.ts +1 -0
  221. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs +16 -0
  222. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.d.ts +2 -0
  223. package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js +12 -0
  224. package/src/lib/utils/hooks/useOnUnmount/index.d.ts +1 -0
  225. package/src/lib/utils/hooks/useOnUnmount/useOnUnmount.cjs +21 -0
  226. package/src/lib/utils/hooks/useOnUnmount/useOnUnmount.d.ts +1 -0
  227. package/src/lib/utils/hooks/useOnUnmount/useOnUnmount.js +17 -0
  228. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +6 -2
  229. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +2 -1
  230. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +6 -2
  231. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +164 -35
  232. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +7 -3
  233. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +166 -37
  234. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.cjs +47 -0
  235. package/src/lib/utils/hooks/useTransactionWithGasPrice/useTransactionWithGasPrice.js +43 -0
  236. package/src/lib/utils/hooks/useUserDataForm/index.d.ts +1 -0
  237. package/src/lib/utils/hooks/useUserUpdateRequest/index.d.ts +3 -0
  238. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/index.d.ts +1 -0
  239. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs +107 -0
  240. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.d.ts +9 -0
  241. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js +103 -0
  242. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/index.d.ts +2 -0
  243. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/types.d.ts +7 -0
  244. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs +73 -0
  245. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.d.ts +7 -0
  246. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js +69 -0
  247. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/validateUpdateRequest/index.d.ts +1 -0
  248. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/validateUpdateRequest/validateUpdateRequest.cjs +31 -0
  249. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/validateUpdateRequest/validateUpdateRequest.d.ts +6 -0
  250. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/validateUpdateRequest/validateUpdateRequest.js +27 -0
  251. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs +7 -94
  252. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.d.ts +4 -24
  253. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js +7 -94
  254. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +2 -0
  255. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -0
  256. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +1 -1
  257. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +1 -0
  258. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +1 -0
  259. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +8 -4
  260. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.d.ts +5 -1
  261. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +8 -4
  262. package/src/lib/utils/hooks/useWallets/useWallets.d.ts +2 -2
  263. package/src/lib/views/AccountExistsView/AccountExistsView.cjs +8 -4
  264. package/src/lib/views/AccountExistsView/AccountExistsView.js +8 -4
  265. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +17 -7
  266. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +17 -7
  267. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +7 -3
  268. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +7 -3
  269. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +6 -2
  270. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +6 -2
  271. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +8 -5
  272. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +8 -5
  273. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs +7 -3
  274. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js +7 -3
  275. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +7 -3
  276. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +7 -3
  277. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +12 -6
  278. package/src/lib/views/EmailUpdate/EmailUpdate.js +12 -6
  279. package/src/lib/views/EmailVerification/EmailVerification.cjs +45 -9
  280. package/src/lib/views/EmailVerification/EmailVerification.js +46 -10
  281. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +6 -2
  282. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +6 -2
  283. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.cjs +7 -3
  284. package/src/lib/views/LoginWithEmailView/components/ListItemButton/ListItemButton.js +7 -3
  285. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +9 -5
  286. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.d.ts +5 -1
  287. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +9 -5
  288. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.cjs +4 -1
  289. package/src/lib/views/LoginWithEmailView/components/LoginWithEmailWalletList/LoginWithEmailWalletList.js +4 -1
  290. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.cjs +7 -3
  291. package/src/lib/views/LoginWithEmailView/components/SocialSignIn/SocialSignIn.js +7 -3
  292. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +11 -4
  293. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +11 -4
  294. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +11 -5
  295. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +11 -5
  296. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +11 -5
  297. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +11 -5
  298. package/src/lib/views/NoAccess/NoAccess.cjs +7 -4
  299. package/src/lib/views/NoAccess/NoAccess.js +7 -4
  300. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs +7 -3
  301. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js +7 -3
  302. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.cjs +7 -3
  303. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.js +7 -3
  304. package/src/lib/views/PendingConnectView/PendingConnectView.cjs +7 -3
  305. package/src/lib/views/PendingConnectView/PendingConnectView.js +7 -3
  306. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +7 -3
  307. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +7 -3
  308. package/src/lib/views/QrCodeView/QRCode.cjs +5 -1
  309. package/src/lib/views/QrCodeView/QRCode.js +5 -1
  310. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +7 -3
  311. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +7 -3
  312. package/src/lib/views/QrCodeView/QrCodeView.cjs +7 -3
  313. package/src/lib/views/QrCodeView/QrCodeView.js +7 -3
  314. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +18 -17
  315. package/src/lib/views/SendBalanceView/SendBalanceView.js +18 -17
  316. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.cjs +71 -0
  317. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.d.ts +8 -0
  318. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.js +67 -0
  319. package/src/lib/views/SendBalanceView/components/TransactionStage/index.d.ts +1 -0
  320. package/src/lib/views/SendBalanceView/components/index.d.ts +1 -0
  321. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +8 -5
  322. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +8 -5
  323. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +7 -3
  324. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +7 -3
  325. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +27 -5
  326. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +27 -5
  327. package/src/lib/views/TransactionConfirmationView/hooks/index.d.ts +2 -1
  328. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/index.d.ts +1 -0
  329. package/src/lib/views/TransactionConfirmationView/hooks/{useTransactionData/useTransactionData.cjs → useTransactionGas/useTransactionGas.cjs} +21 -36
  330. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.d.ts +11 -0
  331. package/src/lib/views/TransactionConfirmationView/hooks/{useTransactionData/useTransactionData.js → useTransactionGas/useTransactionGas.js} +21 -36
  332. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/index.d.ts +1 -0
  333. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.cjs +14 -0
  334. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.d.ts +7 -0
  335. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionTotal/useTransactionTotal.js +10 -0
  336. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.cjs +73 -0
  337. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.d.ts +9 -0
  338. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.js +69 -0
  339. package/src/lib/views/UserFieldEditorView/UserFieldsToIcon/UserFieldsToIcon.cjs +48 -0
  340. package/src/lib/views/UserFieldEditorView/UserFieldsToIcon/UserFieldsToIcon.d.ts +7 -0
  341. package/src/lib/views/UserFieldEditorView/UserFieldsToIcon/UserFieldsToIcon.js +44 -0
  342. package/src/lib/views/UserFieldEditorView/UserFieldsToIcon/index.d.ts +1 -0
  343. package/src/lib/views/UserFieldEditorView/index.d.ts +1 -0
  344. package/src/lib/views/UserFieldEditorView/useAssignDefaultValues/index.d.ts +1 -0
  345. package/src/lib/views/UserFieldEditorView/useAssignDefaultValues/useAssignDefaultValues.cjs +34 -0
  346. package/src/lib/views/UserFieldEditorView/useAssignDefaultValues/useAssignDefaultValues.d.ts +7 -0
  347. package/src/lib/views/UserFieldEditorView/useAssignDefaultValues/useAssignDefaultValues.js +30 -0
  348. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.cjs +68 -0
  349. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.d.ts +2 -0
  350. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.js +64 -0
  351. package/src/lib/views/WalletCannotBeTransferredView/index.d.ts +1 -0
  352. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.cjs +7 -3
  353. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.js +7 -3
  354. package/src/lib/views/WalletList/WalletList.cjs +4 -1
  355. package/src/lib/views/WalletList/WalletList.js +4 -1
  356. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +9 -3
  357. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +9 -3
  358. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +27 -7
  359. package/src/lib/views/WalletLockedView/WalletLockedView.js +27 -7
  360. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +7 -3
  361. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +7 -3
  362. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +7 -3
  363. package/src/lib/views/WalletUsedView/WalletUsedView.js +7 -3
  364. package/src/lib/views/viewToComponentMap.cjs +2 -0
  365. package/src/lib/views/viewToComponentMap.js +2 -0
  366. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +7 -3
  367. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +7 -3
  368. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +8 -4
  369. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +8 -4
  370. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.cjs +7 -3
  371. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.js +7 -3
  372. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +7 -3
  373. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +7 -3
  374. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.cjs +7 -3
  375. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.js +7 -3
  376. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +7 -3
  377. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +7 -3
  378. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +7 -3
  379. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +7 -3
  380. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +7 -3
  381. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +7 -3
  382. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +7 -3
  383. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +7 -3
  384. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.cjs +7 -3
  385. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.js +7 -3
  386. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +7 -3
  387. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +7 -3
  388. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +7 -3
  389. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +7 -3
  390. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +7 -3
  391. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +7 -3
  392. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +6 -2
  393. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +6 -2
  394. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +7 -3
  395. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +7 -3
  396. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.cjs +5 -1
  397. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.js +5 -1
  398. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.cjs +7 -3
  399. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.js +7 -3
  400. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +7 -3
  401. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +7 -3
  402. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.cjs +7 -3
  403. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.js +7 -3
  404. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +7 -3
  405. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +7 -3
  406. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +7 -3
  407. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +7 -3
  408. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +7 -3
  409. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +7 -3
  410. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +7 -3
  411. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +7 -3
  412. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +7 -3
  413. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +7 -3
  414. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +6 -2
  415. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +6 -2
  416. package/src/lib/widgets/DynamicWidget/hooks/useFetchCurrency/useFetchCurrency.cjs +4 -1
  417. package/src/lib/widgets/DynamicWidget/hooks/useFetchCurrency/useFetchCurrency.js +4 -1
  418. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +7 -3
  419. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +7 -3
  420. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +7 -3
  421. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +7 -3
  422. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +7 -3
  423. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +7 -3
  424. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +7 -3
  425. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +7 -3
  426. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +7 -3
  427. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +7 -3
  428. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +7 -3
  429. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +7 -3
  430. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +7 -3
  431. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +7 -3
  432. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +7 -3
  433. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +7 -3
  434. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +7 -3
  435. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +7 -3
  436. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +7 -3
  437. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +7 -3
  438. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +7 -3
  439. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +7 -3
  440. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +7 -2
  441. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +7 -2
  442. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +7 -3
  443. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +7 -3
  444. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +8 -4
  445. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +8 -4
  446. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.cjs +7 -3
  447. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.js +7 -3
  448. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.cjs +13 -0
  449. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.d.ts +2 -0
  450. package/src/lib/widgets/OAuthIFrameContainer/OAuthIFrameContainer.js +9 -0
  451. package/src/lib/widgets/OAuthIFrameContainer/index.d.ts +1 -0
  452. package/src/lib/widgets/index.d.ts +1 -0
  453. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/index.d.ts +0 -1
  454. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionData/useTransactionData.d.ts +0 -18
@@ -1,7 +1,8 @@
1
1
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
- import { useState, useMemo } from 'react';
2
+ import { useState, useRef, useMemo } from 'react';
3
+ import { SocialOAuthErrorCode } from '@dynamic-labs/types';
3
4
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
4
- import { unlinkOAuth, verifyOAuth } from '../../../data/api.js';
5
+ import { getOauthLoginUrl, unlinkOAuth, verifyOAuth } from '../../../data/api.js';
5
6
  import { useUpdateUserProfileByJWTCallback } from '../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.js';
6
7
  import '@dynamic-labs/sdk-api';
7
8
  import { logger } from '../../../shared/logger.js';
@@ -19,13 +20,35 @@ import '@dynamic-labs/multi-wallet';
19
20
  import { getAuthToken } from '../../functions/getAuthToken/getAuthToken.js';
20
21
  import { getEnabledOAuthProviders } from '../../functions/getEnabledOAuthProviders/index.js';
21
22
  import { isSocialKycEnabled } from '../../functions/isSocialKycEnabled/isSocialKycEnabled.js';
23
+ import { randomString } from '../../functions/randomString/randomString.js';
24
+ import { stringifyURIQuery } from '../../functions/stringifyURIQuery/stringifyURIQuery.js';
25
+ import { digestSHA256 } from '../../functions/digestSHA256/digestSHA256.js';
26
+ import { encodeBase64URL } from '../../functions/encodeBase64URL/encodeBase64URL.js';
27
+ import { getRedirectURIOrigin } from '../../functions/getRedirectURIOrigin/getRedirectURIOrigin.js';
22
28
 
23
- const useSocialAccounts = () => {
29
+ const socialProviders = [
30
+ 'discord',
31
+ 'facebook',
32
+ 'github',
33
+ 'google',
34
+ 'instagram',
35
+ 'twitch',
36
+ 'twitter',
37
+ ];
38
+ // pkce params are only required for twitter and break if added for other providers, like google
39
+ // so we should only add provider that support pkce to this list
40
+ const providersRequiringPkce = ['twitter', 'github'];
41
+ const providersWithoutWindowOpenerRefence = ['twitter'];
42
+ const useSocialAccounts = ({ sessionTimeout } = {
43
+ sessionTimeout: 10000,
44
+ }) => {
24
45
  var _a;
25
46
  const { environmentId, user, projectSettings, onboardingOnlyJwt } = useInternalDynamicContext();
26
47
  const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback();
27
48
  const [isProcessing, setIsProcessing] = useState(false);
28
49
  const [error, setError] = useState();
50
+ const providersWaitingOauthMessages = useRef({});
51
+ const authWindowInterval = useRef();
29
52
  const userJwt = (_a = getAuthToken()) !== null && _a !== void 0 ? _a : onboardingOnlyJwt;
30
53
  const oauthProviders = getEnabledOAuthProviders(projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers);
31
54
  const verifiedOAuthCredentialsMap = useMemo(() => {
@@ -39,89 +62,195 @@ const useSocialAccounts = () => {
39
62
  ];
40
63
  })));
41
64
  }, [user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
42
- const handleError = (message) => {
65
+ const handleError = (code, message) => {
43
66
  logger.error(message);
44
67
  setIsProcessing(false);
45
- setError(message);
68
+ setError({ code, message });
46
69
  };
47
- const linkSocialAccount = (provider) => __awaiter(void 0, void 0, void 0, function* () {
48
- setError(undefined);
49
- setIsProcessing(true);
50
- if (!isSocialKycEnabled(projectSettings)) {
51
- handleError('Social linking is not enabled on the dashboard');
70
+ const addOAuthIFrame = (url) => {
71
+ const container = document.getElementById('oauth-iframe-container');
72
+ let oauthIFrame = document.getElementById('oauth-iframe');
73
+ if (!container || oauthIFrame) {
52
74
  return;
53
75
  }
76
+ oauthIFrame = document.createElement('iframe');
77
+ oauthIFrame.setAttribute('id', 'oauth-iframe');
78
+ oauthIFrame.setAttribute('src', url);
79
+ container.appendChild(oauthIFrame);
80
+ };
81
+ const removeOAuthIFrame = () => {
82
+ const oauthIFrame = document.getElementById('oauth-iframe');
83
+ if (oauthIFrame) {
84
+ oauthIFrame.remove();
85
+ }
86
+ };
87
+ const checkValidProvider = (provider) => {
54
88
  if (!provider) {
55
- handleError('Provider is required');
56
- return;
89
+ handleError(SocialOAuthErrorCode.NO_PROVIDER, 'Provider is required');
90
+ return false;
91
+ }
92
+ if (!socialProviders.includes(provider)) {
93
+ handleError(SocialOAuthErrorCode.INVALID_PROVIDER, `Invalid social provider. Valid providers are: ${socialProviders.join(', ')}`);
94
+ return false;
95
+ }
96
+ return true;
97
+ };
98
+ const checkValidOAuthLinking = (provider) => {
99
+ if (!isSocialKycEnabled(projectSettings)) {
100
+ handleError(SocialOAuthErrorCode.SOCIAL_LINKING_NOT_ENABLED, 'Social linking is not enabled on the dashboard');
101
+ return false;
102
+ }
103
+ if (!checkValidProvider(provider)) {
104
+ return false;
57
105
  }
58
106
  const verifiedCredential = verifiedOAuthCredentialsMap[provider];
59
107
  if (verifiedCredential) {
60
- handleError(`Account already linked for provider: ${provider}`);
61
- return;
108
+ handleError(SocialOAuthErrorCode.ACCOUNT_ALREADY_LINKED, `Account already linked for provider: ${provider}`);
109
+ return false;
62
110
  }
63
111
  const oauthProvider = oauthProviders.find((p) => p.provider === provider);
64
112
  if (!oauthProvider) {
65
- handleError(`Provider is not enabled on the dashboard: ${provider}`);
113
+ handleError(SocialOAuthErrorCode.PROVIDER_NOT_ENABLED, `Provider is not enabled on the dashboard: ${provider}`);
114
+ return false;
115
+ }
116
+ return true;
117
+ };
118
+ const linkSocialAccount = (provider) => __awaiter(void 0, void 0, void 0, function* () {
119
+ var _b;
120
+ clearInterval(authWindowInterval.current);
121
+ setError(undefined);
122
+ setIsProcessing(true);
123
+ // invalid linking request
124
+ if (!checkValidOAuthLinking(provider)) {
66
125
  return;
67
126
  }
127
+ const state = randomString(8);
128
+ const verifier = randomString(43);
129
+ const clearListeners = () => {
130
+ removeOAuthIFrame();
131
+ window.removeEventListener('message', handleAuthWindowMessage);
132
+ providersWaitingOauthMessages.current = Object.assign(Object.assign({}, providersWaitingOauthMessages.current), { [provider]: false });
133
+ };
68
134
  const handleAuthWindowMessage = (event) => __awaiter(void 0, void 0, void 0, function* () {
69
- var _b, _c, _d;
70
- if (((_b = event.data) === null || _b === void 0 ? void 0 : _b.type) === 'authorization_response') {
71
- logger.debug('Message received', { data: event.data });
135
+ var _c;
136
+ const message = event.data;
137
+ const isAuthorizationMessage = (message === null || message === void 0 ? void 0 : message.type) === 'authorization_response';
138
+ if (isAuthorizationMessage) {
139
+ logger.debug('Message received', { data: message });
72
140
  }
73
- if (((_c = event.data) === null || _c === void 0 ? void 0 : _c.type) !== 'authorization_response' ||
74
- ((_d = event.data) === null || _d === void 0 ? void 0 : _d.provider) !== provider) {
141
+ const isValidMessage = isAuthorizationMessage && (message === null || message === void 0 ? void 0 : message.provider) === provider;
142
+ // don't process imvalid messages for provider
143
+ if (!isValidMessage) {
144
+ return;
145
+ }
146
+ if (!((_c = providersWaitingOauthMessages.current) === null || _c === void 0 ? void 0 : _c[provider])) {
147
+ handleError(SocialOAuthErrorCode.SESSION_TIMEOUT, `Linking ${provider} account session timeout.`);
148
+ return;
149
+ }
150
+ clearListeners();
151
+ const { code, error } = message;
152
+ if (error && error !== 'undefined') {
153
+ handleError(SocialOAuthErrorCode.OAUTH_ERROR, `Failed to link ${provider} social account: ${error}`);
154
+ return;
155
+ }
156
+ if (!code) {
157
+ handleError(SocialOAuthErrorCode.NO_AUTH_CODE, `Failed to link ${provider} social account: no authorization code`);
75
158
  return;
76
159
  }
77
- const { code } = event.data;
78
160
  const jwt = yield verifyOAuth(environmentId, provider, {
79
161
  code,
162
+ codeVerifier: verifier,
163
+ state,
80
164
  }, String(userJwt));
81
165
  if (!jwt) {
82
- handleError(`Failed to link social account: ${provider}`);
166
+ handleError(SocialOAuthErrorCode.VERIFICATION_ERROR, `Failed to link social account: ${provider}`);
83
167
  return;
84
168
  }
85
169
  yield updateUserProfileByJWT(jwt);
86
170
  setIsProcessing(false);
87
171
  });
88
- window.addEventListener('message', handleAuthWindowMessage);
89
- const authWindow = window.open(oauthProvider.authorizationUrl, '_blank', 'width=500,height=600');
90
- const authWindowInterval = setInterval(() => {
91
- if (authWindow === null || authWindow === void 0 ? void 0 : authWindow.closed) {
92
- window.removeEventListener('message', handleAuthWindowMessage);
93
- clearInterval(authWindowInterval);
172
+ const loginUrl = yield getOauthLoginUrl(environmentId, provider, String(userJwt));
173
+ if (!loginUrl) {
174
+ handleError(SocialOAuthErrorCode.NO_OAUTH_URL, `Failed to get login url to link social account: ${provider}`);
175
+ return;
176
+ }
177
+ // we need to use an iframe to be the intermediary in communications between the popup and the sdk
178
+ // because of twitter limitations with accessing the window.opener and BroadcastChannel not working between
179
+ // different origins (our api redirect page and the app where the sdk is running)
180
+ const oauthIFrameUrl = `${getRedirectURIOrigin(loginUrl)}/sdkoauth`;
181
+ addOAuthIFrame(oauthIFrameUrl);
182
+ let oauthLoginUrl = loginUrl;
183
+ if (providersRequiringPkce.includes(provider)) {
184
+ const digest = yield digestSHA256(verifier);
185
+ const pkceParams = stringifyURIQuery({
186
+ code_challenge: encodeBase64URL(digest),
187
+ code_challenge_method: 'S256',
188
+ state: state,
189
+ });
190
+ oauthLoginUrl = `${loginUrl}&${pkceParams}`;
191
+ }
192
+ if (!((_b = providersWaitingOauthMessages.current) === null || _b === void 0 ? void 0 : _b[provider])) {
193
+ window.addEventListener('message', handleAuthWindowMessage);
194
+ providersWaitingOauthMessages.current = Object.assign(Object.assign({}, providersWaitingOauthMessages.current), { [provider]: true });
195
+ }
196
+ const authWindow = window.open(oauthLoginUrl, '_blank', 'width=500,height=600');
197
+ if (!providersWithoutWindowOpenerRefence.includes(provider)) {
198
+ // For provider that support window.opener, we need to clear all states/listeners when the window is closed
199
+ authWindowInterval.current = setInterval(() => {
200
+ var _a;
201
+ if (!(authWindow === null || authWindow === void 0 ? void 0 : authWindow.closed)) {
202
+ return;
203
+ }
204
+ // window was closed by user, before completing oauth
205
+ if ((_a = providersWaitingOauthMessages.current) === null || _a === void 0 ? void 0 : _a[provider]) {
206
+ clearListeners();
207
+ handleError(SocialOAuthErrorCode.OAUTH_WINDOW_CLOSED, `Linking ${provider} account window closed.`);
208
+ }
209
+ clearInterval(authWindowInterval.current);
94
210
  setIsProcessing(false);
95
- }
96
- }, 1000);
211
+ });
212
+ }
213
+ else {
214
+ // For provider that don't support window.opener, we need to use a timeout to try to detect when the
215
+ // window is closed
216
+ authWindowInterval.current = setInterval(() => {
217
+ var _a;
218
+ // user didn't complete oauth
219
+ if ((_a = providersWaitingOauthMessages.current) === null || _a === void 0 ? void 0 : _a[provider]) {
220
+ clearListeners();
221
+ handleError(SocialOAuthErrorCode.OAUTH_WINDOW_TIMEOUT, `Linking ${provider} account window timeout.`);
222
+ }
223
+ setIsProcessing(false);
224
+ clearInterval(authWindowInterval.current);
225
+ }, sessionTimeout);
226
+ }
97
227
  });
98
228
  const unlinkSocialAccount = (provider) => __awaiter(void 0, void 0, void 0, function* () {
99
- var _e;
229
+ var _d;
100
230
  setError(undefined);
101
231
  setIsProcessing(true);
102
- if (!provider) {
103
- handleError('Provider is required');
232
+ if (!checkValidProvider(provider)) {
104
233
  return;
105
234
  }
106
235
  const verifiedCredential = verifiedOAuthCredentialsMap[provider];
107
236
  if (!verifiedCredential) {
108
- handleError(`No account linked for provider: ${provider}`);
237
+ handleError(SocialOAuthErrorCode.NO_ACCOUNT_LINKED, `No account linked for provider: ${provider}`);
109
238
  return;
110
239
  }
111
240
  try {
112
241
  const jwt = yield unlinkOAuth({
113
242
  environmentId,
114
- verifiedCrentialId: (_e = verifiedCredential.id) !== null && _e !== void 0 ? _e : '',
243
+ verifiedCrentialId: (_d = verifiedCredential.id) !== null && _d !== void 0 ? _d : '',
115
244
  }, String(userJwt));
116
245
  if (!jwt) {
117
- handleError(`Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
246
+ handleError(SocialOAuthErrorCode.UNLINK_ERROR, `Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
118
247
  return;
119
248
  }
120
249
  yield updateUserProfileByJWT(jwt);
121
250
  setIsProcessing(false);
122
251
  }
123
252
  catch (err) {
124
- handleError(`Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
253
+ handleError(SocialOAuthErrorCode.GENERAL_ERROR, `Failed to unlink social account: ${provider} | ${verifiedCredential.id}`);
125
254
  }
126
255
  });
127
256
  const isLinked = (provider) => Boolean(verifiedOAuthCredentialsMap[provider]);
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var usePromise = require('../usePromise/usePromise.cjs');
6
+
7
+ const increaseGasPrice = (gasPrice, increasePercentage) => {
8
+ const increaseFactor = 100 + increasePercentage;
9
+ return gasPrice.mul(increaseFactor).div(100);
10
+ };
11
+ /**
12
+ * A React Hook that returns a transaction object with the gas price set to the current gas price from the provider.
13
+ * The gas price is increased by a certain percentage specified by the user. The hook also allows the user to enable
14
+ * or disable this functionality.
15
+ *
16
+ * @param {Object} props - The properties for the hook.
17
+ * @param {ethers.providers.Provider} props.provider - The provider to use for getting the current gas price.
18
+ * @param {ethers.utils.Deferrable<ethers.providers.TransactionRequest>} props.transaction - The transaction object.
19
+ * @param {number} props.increasePercentage - The percentage by which to increase the current gas price.
20
+ * @param {boolean} [props.enabled=true] - A flag to enable or disable the gas price increase functionality.
21
+ *
22
+ * @returns {ethers.utils.Deferrable<ethers.providers.TransactionRequest>} A new transaction object with the gas price.
23
+ * If the `enabled` flag is set to false, or if the gas price is not available, or if the transaction already has a
24
+ * gas price set, the original transaction object is returned.
25
+ *
26
+ * @example
27
+ * const updatedTransaction = useTransactionWithGasPrice({
28
+ * provider: myProvider,
29
+ * transaction: myTransaction,
30
+ * increasePercentage: 10,
31
+ * enabled: true,
32
+ * });
33
+ */
34
+ const useTransactionWithGasPrice = ({ increasePercentage = 0, provider, transaction, enabled = true, }) => {
35
+ const isGasPriceDefinedInTransaction = Boolean(transaction.gasPrice);
36
+ const shouldLoadGasPrice = enabled && increasePercentage > 0 && !isGasPriceDefinedInTransaction;
37
+ const { data: gasPrice } = usePromise.usePromise(() => provider.getGasPrice(), {
38
+ deps: [transaction, provider],
39
+ enabled: shouldLoadGasPrice,
40
+ });
41
+ if (!gasPrice) {
42
+ return transaction;
43
+ }
44
+ return Object.assign(Object.assign({}, transaction), { gasPrice: increaseGasPrice(gasPrice, increasePercentage) });
45
+ };
46
+
47
+ exports.useTransactionWithGasPrice = useTransactionWithGasPrice;
@@ -0,0 +1,43 @@
1
+ import { usePromise } from '../usePromise/usePromise.js';
2
+
3
+ const increaseGasPrice = (gasPrice, increasePercentage) => {
4
+ const increaseFactor = 100 + increasePercentage;
5
+ return gasPrice.mul(increaseFactor).div(100);
6
+ };
7
+ /**
8
+ * A React Hook that returns a transaction object with the gas price set to the current gas price from the provider.
9
+ * The gas price is increased by a certain percentage specified by the user. The hook also allows the user to enable
10
+ * or disable this functionality.
11
+ *
12
+ * @param {Object} props - The properties for the hook.
13
+ * @param {ethers.providers.Provider} props.provider - The provider to use for getting the current gas price.
14
+ * @param {ethers.utils.Deferrable<ethers.providers.TransactionRequest>} props.transaction - The transaction object.
15
+ * @param {number} props.increasePercentage - The percentage by which to increase the current gas price.
16
+ * @param {boolean} [props.enabled=true] - A flag to enable or disable the gas price increase functionality.
17
+ *
18
+ * @returns {ethers.utils.Deferrable<ethers.providers.TransactionRequest>} A new transaction object with the gas price.
19
+ * If the `enabled` flag is set to false, or if the gas price is not available, or if the transaction already has a
20
+ * gas price set, the original transaction object is returned.
21
+ *
22
+ * @example
23
+ * const updatedTransaction = useTransactionWithGasPrice({
24
+ * provider: myProvider,
25
+ * transaction: myTransaction,
26
+ * increasePercentage: 10,
27
+ * enabled: true,
28
+ * });
29
+ */
30
+ const useTransactionWithGasPrice = ({ increasePercentage = 0, provider, transaction, enabled = true, }) => {
31
+ const isGasPriceDefinedInTransaction = Boolean(transaction.gasPrice);
32
+ const shouldLoadGasPrice = enabled && increasePercentage > 0 && !isGasPriceDefinedInTransaction;
33
+ const { data: gasPrice } = usePromise(() => provider.getGasPrice(), {
34
+ deps: [transaction, provider],
35
+ enabled: shouldLoadGasPrice,
36
+ });
37
+ if (!gasPrice) {
38
+ return transaction;
39
+ }
40
+ return Object.assign(Object.assign({}, transaction), { gasPrice: increaseGasPrice(gasPrice, increasePercentage) });
41
+ };
42
+
43
+ export { useTransactionWithGasPrice };
@@ -0,0 +1 @@
1
+ export * from './useUserDataForm';
@@ -0,0 +1,3 @@
1
+ export * from './useUserUpdateRequest';
2
+ export * from './useUpdateUserWithModal';
3
+ export * from './useUpdateUser';
@@ -0,0 +1 @@
1
+ export * from './useUpdateUser';
@@ -0,0 +1,107 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../../../../../_virtual/_tslib.cjs');
6
+ var React = require('react');
7
+ var yup = require('yup');
8
+ var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
9
+ var EmailVerificationContext = require('../../../../context/EmailVerificationContext/EmailVerificationContext.cjs');
10
+ var api = require('../../../../data/api.cjs');
11
+ var decodeJwt = require('../../../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
12
+ require('@dynamic-labs/iconic');
13
+ require('@dynamic-labs/wallet-connector-core');
14
+ require('react/jsx-runtime');
15
+ require('../../../../context/ViewContext/ViewContext.cjs');
16
+ require('../../../../shared/logger.cjs');
17
+ require('@dynamic-labs/wallet-book');
18
+ require('@dynamic-labs/utils');
19
+ require('../../../constants/colors.cjs');
20
+ require('../../../../shared/utils/classes/storage/localStorage.cjs');
21
+ require('ethers');
22
+ require('../../../../shared/consts/index.cjs');
23
+ var isEmailVerificationRequired = require('../../../functions/authenication/isEmailVerificationRequired/isEmailVerificationRequired.cjs');
24
+ require('../../../../context/ErrorContext/ErrorContext.cjs');
25
+ require('@dynamic-labs/multi-wallet');
26
+ require('@dynamic-labs/sdk-api');
27
+ require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
28
+ require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
29
+ require('../../../../context/CaptchaContext/CaptchaContext.cjs');
30
+ var useEmailVerificationRequest = require('../../authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.cjs');
31
+ var useUpdateUserProfileByJWTCallback = require('../../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.cjs');
32
+
33
+ // User Fields Schema without captchaToken and policiesConsent properties
34
+ const userFieldsSchema = yup.object().shape({
35
+ alias: yup.string(),
36
+ btcWallet: yup.string(),
37
+ ckbWallet: yup.string(),
38
+ country: yup.string(),
39
+ discordNotification: yup.boolean(),
40
+ dogeWallet: yup.string(),
41
+ email: yup.string(),
42
+ emailNotification: yup.boolean(),
43
+ firstName: yup.string(),
44
+ jobTitle: yup.string(),
45
+ kasWallet: yup.string(),
46
+ kdaWallet: yup.string(),
47
+ lastName: yup.string(),
48
+ ltcWallet: yup.string(),
49
+ newsletterNotification: yup.boolean(),
50
+ phoneNumber: yup.string(),
51
+ tShirtSize: yup.string(),
52
+ team: yup.string(),
53
+ username: yup.string(),
54
+ });
55
+ const useUpdateUser = (validationSchemaStripUnknown) => {
56
+ const { authToken, onboardingOnlyJwt, environmentId } = useInternalDynamicContext.useInternalDynamicContext();
57
+ const jwtToken = onboardingOnlyJwt || authToken;
58
+ const { setVerificationUUID, setEmail } = EmailVerificationContext.useEmailVerificationContext();
59
+ const { verifyEmail } = useEmailVerificationRequest.useEmailVerificationRequest();
60
+ const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback.useUpdateUserProfileByJWTCallback();
61
+ return React.useCallback((userFields, userEnvironmentId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
62
+ var _a, _b, _c;
63
+ const validatedUserFields = yield userFieldsSchema.validate(userFields, {
64
+ stripUnknown: validationSchemaStripUnknown,
65
+ });
66
+ const updateUserProfileResponse = yield api.updateUserProfileFields(jwtToken, userEnvironmentId || environmentId, validatedUserFields);
67
+ // check if decoded JWT still somehow has missing fields, we can't proceed if it does
68
+ const decodedJwt = decodeJwt.decodeJwt(updateUserProfileResponse.jwt);
69
+ const missingFields = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) !== null && _a !== void 0 ? _a : [];
70
+ const _isEmailVerificationRequired = isEmailVerificationRequired.isEmailVerificationRequired(updateUserProfileResponse);
71
+ if (!_isEmailVerificationRequired) {
72
+ // If email verification is not needed then we can update the user profile immediately.
73
+ yield updateUserProfileByJWT(updateUserProfileResponse.jwt);
74
+ return {
75
+ isEmailVerificationRequired: false,
76
+ missingFields,
77
+ updateUserProfileResponse,
78
+ };
79
+ }
80
+ // We update EmailContext to use this information in the Email Verification view
81
+ setEmail((_b = updateUserProfileResponse.emailVerification) === null || _b === void 0 ? void 0 : _b.email);
82
+ setVerificationUUID((_c = updateUserProfileResponse.emailVerification) === null || _c === void 0 ? void 0 : _c.verificationUUID);
83
+ // DYN-2046 - Customers have the opportunity to programmatically use our email verification and profile editing.
84
+ // VerifyEmailFN was scoped to bypass the problem with memoization of the state at the beginning of Promise.
85
+ // setEmail and setVerificationUUID in the above lines will are not visible in this promise.
86
+ const scopedVerifyEmailFn = (verificationToken) => {
87
+ var _a;
88
+ return verifyEmail(verificationToken, (_a = updateUserProfileResponse.emailVerification) === null || _a === void 0 ? void 0 : _a.verificationUUID);
89
+ };
90
+ return {
91
+ isEmailVerificationRequired: true,
92
+ missingFields,
93
+ updateUserProfileResponse,
94
+ verifyEmailFn: scopedVerifyEmailFn,
95
+ };
96
+ }), [
97
+ environmentId,
98
+ jwtToken,
99
+ setEmail,
100
+ setVerificationUUID,
101
+ validationSchemaStripUnknown,
102
+ updateUserProfileByJWT,
103
+ verifyEmail,
104
+ ]);
105
+ };
106
+
107
+ exports.useUpdateUser = useUpdateUser;
@@ -0,0 +1,9 @@
1
+ import { ProjectSettingsKyc, UpdateSelfResponse, UserFields } from '@dynamic-labs/sdk-api';
2
+ export type UpdateUserFieldsArg = Omit<UserFields, 'captchaToken' | 'policiesConsent'>;
3
+ export type UpdateUserReturnPayload = {
4
+ isEmailVerificationRequired: boolean;
5
+ missingFields: ProjectSettingsKyc[];
6
+ updateUserProfileResponse: UpdateSelfResponse;
7
+ verifyEmailFn?: (verificationToken: string) => Promise<UpdateSelfResponse>;
8
+ };
9
+ export declare const useUpdateUser: (validationSchemaStripUnknown: boolean) => (userFields: UpdateUserFieldsArg, userEnvironmentId?: string) => Promise<UpdateUserReturnPayload>;
@@ -0,0 +1,103 @@
1
+ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
2
+ import { useCallback } from 'react';
3
+ import { object, string, boolean } from 'yup';
4
+ import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
5
+ import { useEmailVerificationContext } from '../../../../context/EmailVerificationContext/EmailVerificationContext.js';
6
+ import { updateUserProfileFields } from '../../../../data/api.js';
7
+ import { decodeJwt } from '../../../../shared/utils/functions/decodeJwt/decodeJwt.js';
8
+ import '@dynamic-labs/iconic';
9
+ import '@dynamic-labs/wallet-connector-core';
10
+ import 'react/jsx-runtime';
11
+ import '../../../../context/ViewContext/ViewContext.js';
12
+ import '../../../../shared/logger.js';
13
+ import '@dynamic-labs/wallet-book';
14
+ import '@dynamic-labs/utils';
15
+ import '../../../constants/colors.js';
16
+ import '../../../../shared/utils/classes/storage/localStorage.js';
17
+ import 'ethers';
18
+ import '../../../../shared/consts/index.js';
19
+ import { isEmailVerificationRequired } from '../../../functions/authenication/isEmailVerificationRequired/isEmailVerificationRequired.js';
20
+ import '../../../../context/ErrorContext/ErrorContext.js';
21
+ import '@dynamic-labs/multi-wallet';
22
+ import '@dynamic-labs/sdk-api';
23
+ import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
24
+ import '../../../../context/AccountExistsContext/AccountExistsContext.js';
25
+ import '../../../../context/CaptchaContext/CaptchaContext.js';
26
+ import { useEmailVerificationRequest } from '../../authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.js';
27
+ import { useUpdateUserProfileByJWTCallback } from '../../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.js';
28
+
29
+ // User Fields Schema without captchaToken and policiesConsent properties
30
+ const userFieldsSchema = object().shape({
31
+ alias: string(),
32
+ btcWallet: string(),
33
+ ckbWallet: string(),
34
+ country: string(),
35
+ discordNotification: boolean(),
36
+ dogeWallet: string(),
37
+ email: string(),
38
+ emailNotification: boolean(),
39
+ firstName: string(),
40
+ jobTitle: string(),
41
+ kasWallet: string(),
42
+ kdaWallet: string(),
43
+ lastName: string(),
44
+ ltcWallet: string(),
45
+ newsletterNotification: boolean(),
46
+ phoneNumber: string(),
47
+ tShirtSize: string(),
48
+ team: string(),
49
+ username: string(),
50
+ });
51
+ const useUpdateUser = (validationSchemaStripUnknown) => {
52
+ const { authToken, onboardingOnlyJwt, environmentId } = useInternalDynamicContext();
53
+ const jwtToken = onboardingOnlyJwt || authToken;
54
+ const { setVerificationUUID, setEmail } = useEmailVerificationContext();
55
+ const { verifyEmail } = useEmailVerificationRequest();
56
+ const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback();
57
+ return useCallback((userFields, userEnvironmentId) => __awaiter(void 0, void 0, void 0, function* () {
58
+ var _a, _b, _c;
59
+ const validatedUserFields = yield userFieldsSchema.validate(userFields, {
60
+ stripUnknown: validationSchemaStripUnknown,
61
+ });
62
+ const updateUserProfileResponse = yield updateUserProfileFields(jwtToken, userEnvironmentId || environmentId, validatedUserFields);
63
+ // check if decoded JWT still somehow has missing fields, we can't proceed if it does
64
+ const decodedJwt = decodeJwt(updateUserProfileResponse.jwt);
65
+ const missingFields = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) !== null && _a !== void 0 ? _a : [];
66
+ const _isEmailVerificationRequired = isEmailVerificationRequired(updateUserProfileResponse);
67
+ if (!_isEmailVerificationRequired) {
68
+ // If email verification is not needed then we can update the user profile immediately.
69
+ yield updateUserProfileByJWT(updateUserProfileResponse.jwt);
70
+ return {
71
+ isEmailVerificationRequired: false,
72
+ missingFields,
73
+ updateUserProfileResponse,
74
+ };
75
+ }
76
+ // We update EmailContext to use this information in the Email Verification view
77
+ setEmail((_b = updateUserProfileResponse.emailVerification) === null || _b === void 0 ? void 0 : _b.email);
78
+ setVerificationUUID((_c = updateUserProfileResponse.emailVerification) === null || _c === void 0 ? void 0 : _c.verificationUUID);
79
+ // DYN-2046 - Customers have the opportunity to programmatically use our email verification and profile editing.
80
+ // VerifyEmailFN was scoped to bypass the problem with memoization of the state at the beginning of Promise.
81
+ // setEmail and setVerificationUUID in the above lines will are not visible in this promise.
82
+ const scopedVerifyEmailFn = (verificationToken) => {
83
+ var _a;
84
+ return verifyEmail(verificationToken, (_a = updateUserProfileResponse.emailVerification) === null || _a === void 0 ? void 0 : _a.verificationUUID);
85
+ };
86
+ return {
87
+ isEmailVerificationRequired: true,
88
+ missingFields,
89
+ updateUserProfileResponse,
90
+ verifyEmailFn: scopedVerifyEmailFn,
91
+ };
92
+ }), [
93
+ environmentId,
94
+ jwtToken,
95
+ setEmail,
96
+ setVerificationUUID,
97
+ validationSchemaStripUnknown,
98
+ updateUserProfileByJWT,
99
+ verifyEmail,
100
+ ]);
101
+ };
102
+
103
+ export { useUpdateUser };
@@ -0,0 +1,2 @@
1
+ export * from './useUpdateUserWithModal';
2
+ export * from './types';
@@ -0,0 +1,7 @@
1
+ import { UserFields } from '@dynamic-labs/sdk-api';
2
+ export type UpdateUserWithModalOptions = {
3
+ title?: string;
4
+ subtitle?: string;
5
+ submitText?: string;
6
+ };
7
+ export type UpdateUserWithModalFields = (keyof UserFields)[];