@b3dotfun/sdk 0.0.65-alpha.0 → 0.0.65-test.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 (268) hide show
  1. package/dist/cjs/anyspend/react/components/AnySpend.js +77 -35
  2. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +2 -2
  3. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +1 -1
  4. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +1 -1
  5. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +0 -6
  6. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +5 -3
  7. package/dist/cjs/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  8. package/dist/cjs/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  9. package/dist/cjs/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  10. package/dist/cjs/anyspend/react/components/common/OrderHistory.js +7 -3
  11. package/dist/cjs/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  12. package/dist/cjs/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  13. package/dist/cjs/anyspend/react/components/common/RecipientSelection.js +1 -1
  14. package/dist/cjs/anyspend/react/hooks/useSigMint.d.ts +1 -1
  15. package/dist/cjs/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
  16. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +184 -35
  17. package/dist/cjs/global-account/react/components/B3DynamicModal.js +23 -12
  18. package/dist/cjs/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  19. package/dist/cjs/global-account/react/components/Deposit/Deposit.js +65 -0
  20. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +39 -0
  21. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +37 -0
  22. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  23. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +113 -279
  24. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  25. package/dist/cjs/global-account/react/components/LinkAccount/LinkNewAccount.js +331 -0
  26. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  27. package/dist/cjs/global-account/react/components/ManageAccount/AppsContent.js +34 -0
  28. package/dist/cjs/global-account/react/components/ManageAccount/BalanceContent.js +6 -5
  29. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  30. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +23 -0
  31. package/dist/cjs/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  32. package/dist/cjs/global-account/react/components/ManageAccount/Header.js +120 -0
  33. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  34. package/dist/cjs/global-account/react/components/ManageAccount/HomeActions.js +43 -0
  35. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  36. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +16 -0
  37. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +24 -193
  38. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  39. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +15 -0
  40. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  41. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +47 -0
  42. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  43. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +50 -0
  44. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  45. package/dist/cjs/global-account/react/components/ManageAccount/SettingsMenuItem.js +8 -0
  46. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  47. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +106 -0
  48. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  49. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +22 -0
  50. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  51. package/dist/cjs/global-account/react/components/ModalHeader/ModalHeader.js +12 -0
  52. package/dist/cjs/global-account/react/components/Send/Send.d.ts +5 -0
  53. package/dist/cjs/global-account/react/components/Send/Send.js +187 -0
  54. package/dist/cjs/global-account/react/components/SignInWithB3/SignIn.js +3 -1
  55. package/dist/cjs/global-account/react/components/icons/BellIcon.d.ts +3 -0
  56. package/dist/cjs/global-account/react/components/icons/BellIcon.js +5 -0
  57. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  58. package/dist/cjs/global-account/react/components/icons/ChevronDownIcon.js +7 -0
  59. package/dist/cjs/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  60. package/dist/cjs/global-account/react/components/icons/CopyIcon.js +7 -0
  61. package/dist/cjs/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  62. package/dist/cjs/global-account/react/components/icons/LinkIcon.js +5 -0
  63. package/dist/cjs/global-account/react/components/icons/LockIcon.d.ts +3 -0
  64. package/dist/cjs/global-account/react/components/icons/LockIcon.js +5 -0
  65. package/dist/cjs/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  66. package/dist/cjs/global-account/react/components/icons/WalletIcon.js +7 -0
  67. package/dist/cjs/global-account/react/components/index.d.ts +5 -4
  68. package/dist/cjs/global-account/react/components/index.js +14 -9
  69. package/dist/cjs/global-account/react/components/ui/Tabs.js +2 -2
  70. package/dist/cjs/global-account/react/components/ui/dialog.js +2 -2
  71. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
  72. package/dist/cjs/global-account/react/hooks/index.js +3 -1
  73. package/dist/cjs/global-account/react/hooks/useAccountWallet.d.ts +1 -0
  74. package/dist/cjs/global-account/react/hooks/useAccountWallet.js +18 -0
  75. package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +2 -2
  76. package/dist/cjs/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
  77. package/dist/cjs/global-account/react/hooks/useUserQuery.d.ts +2 -2
  78. package/dist/cjs/global-account/react/stores/index.d.ts +1 -0
  79. package/dist/cjs/global-account/react/stores/index.js +3 -1
  80. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +31 -6
  81. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  82. package/dist/cjs/global-account/react/stores/useRecentAddressesStore.js +36 -0
  83. package/dist/cjs/global-account/react/utils/profileDisplay.d.ts +2 -0
  84. package/dist/cjs/global-account/react/utils/profileDisplay.js +2 -2
  85. package/dist/cjs/shared/constants/chains/supported.d.ts +3 -3
  86. package/dist/cjs/shared/utils/ipfs.js +10 -3
  87. package/dist/esm/anyspend/react/components/AnySpend.js +78 -36
  88. package/dist/esm/anyspend/react/components/AnySpendCustom.js +2 -2
  89. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +1 -1
  90. package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +1 -1
  91. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +0 -6
  92. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +5 -3
  93. package/dist/esm/anyspend/react/components/common/FeeDetailPanel.js +1 -1
  94. package/dist/esm/anyspend/react/components/common/FiatPaymentMethod.js +2 -2
  95. package/dist/esm/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  96. package/dist/esm/anyspend/react/components/common/OrderHistory.js +6 -5
  97. package/dist/esm/anyspend/react/components/common/PanelOnrampPayment.js +1 -1
  98. package/dist/esm/anyspend/react/components/common/PointsDetailPanel.js +1 -1
  99. package/dist/esm/anyspend/react/components/common/RecipientSelection.js +1 -1
  100. package/dist/esm/anyspend/react/hooks/useSigMint.d.ts +1 -1
  101. package/dist/esm/global-account/react/components/AccountAssets/AccountAssets.js +38 -2
  102. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +186 -37
  103. package/dist/esm/global-account/react/components/B3DynamicModal.js +23 -12
  104. package/dist/esm/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  105. package/dist/esm/global-account/react/components/Deposit/Deposit.js +59 -0
  106. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +39 -0
  107. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +34 -0
  108. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  109. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +113 -280
  110. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  111. package/dist/esm/global-account/react/components/LinkAccount/LinkNewAccount.js +325 -0
  112. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  113. package/dist/esm/global-account/react/components/ManageAccount/AppsContent.js +32 -0
  114. package/dist/esm/global-account/react/components/ManageAccount/BalanceContent.js +6 -5
  115. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  116. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +21 -0
  117. package/dist/esm/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  118. package/dist/esm/global-account/react/components/ManageAccount/Header.js +81 -0
  119. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  120. package/dist/esm/global-account/react/components/ManageAccount/HomeActions.js +41 -0
  121. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  122. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +10 -0
  123. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +26 -195
  124. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  125. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +13 -0
  126. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  127. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +45 -0
  128. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  129. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +45 -0
  130. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  131. package/dist/esm/global-account/react/components/ManageAccount/SettingsMenuItem.js +6 -0
  132. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  133. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +101 -0
  134. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  135. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +20 -0
  136. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  137. package/dist/esm/global-account/react/components/ModalHeader/ModalHeader.js +10 -0
  138. package/dist/esm/global-account/react/components/Send/Send.d.ts +5 -0
  139. package/dist/esm/global-account/react/components/Send/Send.js +181 -0
  140. package/dist/esm/global-account/react/components/SignInWithB3/SignIn.js +4 -2
  141. package/dist/esm/global-account/react/components/icons/BellIcon.d.ts +3 -0
  142. package/dist/esm/global-account/react/components/icons/BellIcon.js +3 -0
  143. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  144. package/dist/esm/global-account/react/components/icons/ChevronDownIcon.js +4 -0
  145. package/dist/esm/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  146. package/dist/esm/global-account/react/components/icons/CopyIcon.js +4 -0
  147. package/dist/esm/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  148. package/dist/esm/global-account/react/components/icons/LinkIcon.js +3 -0
  149. package/dist/esm/global-account/react/components/icons/LockIcon.d.ts +3 -0
  150. package/dist/esm/global-account/react/components/icons/LockIcon.js +3 -0
  151. package/dist/esm/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  152. package/dist/esm/global-account/react/components/icons/WalletIcon.js +4 -0
  153. package/dist/esm/global-account/react/components/index.d.ts +5 -4
  154. package/dist/esm/global-account/react/components/index.js +9 -5
  155. package/dist/esm/global-account/react/components/ui/Tabs.js +2 -2
  156. package/dist/esm/global-account/react/components/ui/dialog.js +2 -2
  157. package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
  158. package/dist/esm/global-account/react/hooks/index.js +1 -1
  159. package/dist/esm/global-account/react/hooks/useAccountWallet.d.ts +1 -0
  160. package/dist/esm/global-account/react/hooks/useAccountWallet.js +17 -0
  161. package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +2 -2
  162. package/dist/esm/global-account/react/hooks/useB3BalanceFromAddresses.js +1 -0
  163. package/dist/esm/global-account/react/hooks/useUserQuery.d.ts +2 -2
  164. package/dist/esm/global-account/react/stores/index.d.ts +1 -0
  165. package/dist/esm/global-account/react/stores/index.js +1 -0
  166. package/dist/esm/global-account/react/stores/useModalStore.d.ts +31 -6
  167. package/dist/esm/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  168. package/dist/esm/global-account/react/stores/useRecentAddressesStore.js +33 -0
  169. package/dist/esm/global-account/react/utils/profileDisplay.d.ts +2 -0
  170. package/dist/esm/global-account/react/utils/profileDisplay.js +2 -2
  171. package/dist/esm/shared/constants/chains/supported.d.ts +3 -3
  172. package/dist/esm/shared/utils/ipfs.js +10 -3
  173. package/dist/styles/index.css +1 -1
  174. package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +0 -6
  175. package/dist/types/anyspend/react/components/common/OrderHistory.d.ts +1 -1
  176. package/dist/types/anyspend/react/hooks/useSigMint.d.ts +1 -1
  177. package/dist/types/global-account/react/components/Deposit/Deposit.d.ts +1 -0
  178. package/dist/types/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +39 -0
  179. package/dist/types/global-account/react/components/LinkAccount/LinkAccount.d.ts +6 -4
  180. package/dist/types/global-account/react/components/LinkAccount/LinkNewAccount.d.ts +4 -0
  181. package/dist/types/global-account/react/components/ManageAccount/AppsContent.d.ts +6 -0
  182. package/dist/types/global-account/react/components/ManageAccount/BottomNavigation.d.ts +2 -0
  183. package/dist/types/global-account/react/components/ManageAccount/Header.d.ts +3 -0
  184. package/dist/types/global-account/react/components/ManageAccount/HomeActions.d.ts +5 -0
  185. package/dist/types/global-account/react/components/ManageAccount/HomeContent.d.ts +6 -0
  186. package/dist/types/global-account/react/components/ManageAccount/NFTContent.d.ts +2 -0
  187. package/dist/types/global-account/react/components/ManageAccount/ProfileSection.d.ts +2 -0
  188. package/dist/types/global-account/react/components/ManageAccount/SettingsContent.d.ts +7 -0
  189. package/dist/types/global-account/react/components/ManageAccount/SettingsMenuItem.d.ts +9 -0
  190. package/dist/types/global-account/react/components/ManageAccount/SettingsProfileCard.d.ts +2 -0
  191. package/dist/types/global-account/react/components/ManageAccount/TokenContent.d.ts +2 -0
  192. package/dist/types/global-account/react/components/ModalHeader/ModalHeader.d.ts +10 -0
  193. package/dist/types/global-account/react/components/Send/Send.d.ts +5 -0
  194. package/dist/types/global-account/react/components/icons/BellIcon.d.ts +3 -0
  195. package/dist/types/global-account/react/components/icons/ChevronDownIcon.d.ts +2 -0
  196. package/dist/types/global-account/react/components/icons/CopyIcon.d.ts +2 -0
  197. package/dist/types/global-account/react/components/icons/LinkIcon.d.ts +3 -0
  198. package/dist/types/global-account/react/components/icons/LockIcon.d.ts +3 -0
  199. package/dist/types/global-account/react/components/icons/WalletIcon.d.ts +2 -0
  200. package/dist/types/global-account/react/components/index.d.ts +5 -4
  201. package/dist/types/global-account/react/hooks/index.d.ts +1 -1
  202. package/dist/types/global-account/react/hooks/useAccountWallet.d.ts +1 -0
  203. package/dist/types/global-account/react/hooks/useAuthentication.d.ts +2 -2
  204. package/dist/types/global-account/react/hooks/useUserQuery.d.ts +2 -2
  205. package/dist/types/global-account/react/stores/index.d.ts +1 -0
  206. package/dist/types/global-account/react/stores/useModalStore.d.ts +31 -6
  207. package/dist/types/global-account/react/stores/useRecentAddressesStore.d.ts +25 -0
  208. package/dist/types/global-account/react/utils/profileDisplay.d.ts +2 -0
  209. package/dist/types/shared/constants/chains/supported.d.ts +3 -3
  210. package/package.json +1 -1
  211. package/src/anyspend/react/components/AnySpend.tsx +229 -170
  212. package/src/anyspend/react/components/AnySpendCustom.tsx +1 -3
  213. package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +0 -2
  214. package/src/anyspend/react/components/AnyspendDepositHype.tsx +0 -2
  215. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +7 -14
  216. package/src/anyspend/react/components/common/FeeDetailPanel.tsx +1 -1
  217. package/src/anyspend/react/components/common/FiatPaymentMethod.tsx +2 -2
  218. package/src/anyspend/react/components/common/OrderHistory.tsx +8 -13
  219. package/src/anyspend/react/components/common/PanelOnrampPayment.tsx +1 -1
  220. package/src/anyspend/react/components/common/PointsDetailPanel.tsx +1 -1
  221. package/src/anyspend/react/components/common/RecipientSelection.tsx +1 -1
  222. package/src/global-account/react/components/AccountAssets/AccountAssets.tsx +115 -25
  223. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +360 -128
  224. package/src/global-account/react/components/B3DynamicModal.tsx +28 -14
  225. package/src/global-account/react/components/Deposit/Deposit.tsx +211 -0
  226. package/src/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.tsx +84 -0
  227. package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +332 -433
  228. package/src/global-account/react/components/LinkAccount/LinkNewAccount.tsx +490 -0
  229. package/src/global-account/react/components/ManageAccount/AppsContent.tsx +79 -0
  230. package/src/global-account/react/components/ManageAccount/BalanceContent.tsx +6 -10
  231. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +83 -0
  232. package/src/global-account/react/components/ManageAccount/Header.tsx +230 -0
  233. package/src/global-account/react/components/ManageAccount/HomeActions.tsx +118 -0
  234. package/src/global-account/react/components/ManageAccount/HomeContent.tsx +42 -0
  235. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +73 -589
  236. package/src/global-account/react/components/ManageAccount/NFTContent.tsx +24 -0
  237. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +72 -0
  238. package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +87 -0
  239. package/src/global-account/react/components/ManageAccount/SettingsMenuItem.tsx +31 -0
  240. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +180 -0
  241. package/src/global-account/react/components/ManageAccount/TokenContent.tsx +41 -0
  242. package/src/global-account/react/components/ModalHeader/ModalHeader.tsx +50 -0
  243. package/src/global-account/react/components/Send/Send.tsx +585 -0
  244. package/src/global-account/react/components/SignInWithB3/SignIn.tsx +11 -7
  245. package/src/global-account/react/components/icons/BellIcon.tsx +15 -0
  246. package/src/global-account/react/components/icons/ChevronDownIcon.tsx +17 -0
  247. package/src/global-account/react/components/icons/CopyIcon.tsx +22 -0
  248. package/src/global-account/react/components/icons/LinkIcon.tsx +15 -0
  249. package/src/global-account/react/components/icons/LockIcon.tsx +15 -0
  250. package/src/global-account/react/components/icons/WalletIcon.tsx +21 -0
  251. package/src/global-account/react/components/index.ts +11 -5
  252. package/src/global-account/react/components/ui/Tabs.tsx +5 -13
  253. package/src/global-account/react/components/ui/dialog.tsx +32 -14
  254. package/src/global-account/react/hooks/index.ts +3 -0
  255. package/src/global-account/react/hooks/useAccountWallet.tsx +26 -0
  256. package/src/global-account/react/hooks/useB3BalanceFromAddresses.ts +1 -0
  257. package/src/global-account/react/stores/index.ts +1 -0
  258. package/src/global-account/react/stores/useModalStore.ts +35 -6
  259. package/src/global-account/react/stores/useRecentAddressesStore.ts +55 -0
  260. package/src/global-account/react/utils/profileDisplay.ts +4 -2
  261. package/src/shared/utils/ipfs.ts +10 -3
  262. package/src/styles/index.css +6 -1
  263. package/dist/cjs/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +0 -6
  264. package/dist/cjs/global-account/react/components/ProfileEditor/ProfileEditor.js +0 -141
  265. package/dist/esm/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +0 -6
  266. package/dist/esm/global-account/react/components/ProfileEditor/ProfileEditor.js +0 -135
  267. package/dist/types/global-account/react/components/ProfileEditor/ProfileEditor.d.ts +0 -6
  268. package/src/global-account/react/components/ProfileEditor/ProfileEditor.tsx +0 -265
@@ -51,9 +51,9 @@ exports.DialogClose = DialogClose;
51
51
  const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => ((0, jsx_runtime_1.jsx)(DialogPrimitive.Overlay, { ref: ref, className: (0, utils_1.cn)("fixed inset-0 z-50 bg-black/80 backdrop-blur-[20px]", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:backdrop-blur-none data-[state=open]:backdrop-blur-[20px]", "transition-all duration-300", className), ...props })));
52
52
  exports.DialogOverlay = DialogOverlay;
53
53
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
54
- const DialogContent = React.forwardRef(({ className, children, hideCloseButton = false, closeBtnClassName, ...props }, ref) => {
54
+ const DialogContent = React.forwardRef(({ className, children, hideCloseButton = true, closeBtnClassName, ...props }, ref) => {
55
55
  const container = typeof window !== "undefined" ? document.getElementById("b3-root") : null;
56
- return ((0, jsx_runtime_1.jsxs)(DialogPortal, { container: container, children: [(0, jsx_runtime_1.jsx)(DialogOverlay, {}), (0, jsx_runtime_1.jsxs)(DialogPrimitive.Content, { ref: ref, className: (0, utils_1.cn)("bg-b3-react-background fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg !outline-none", "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 duration-500", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]", "[perspective:1200px] [transform-style:preserve-3d] sm:rounded-xl", "transition-all ease-out", className), ...props, children: [children, !hideCloseButton && ((0, jsx_runtime_1.jsxs)(DialogPrimitive.Close, { className: (0, utils_1.cn)("modal-close-button data-[state=open]:bg-b3-react-background data-[state=open]:text-b3-react-muted-foreground absolute right-2 top-2 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none disabled:pointer-events-none dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400", closeBtnClassName), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: "h-5 w-5" }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Close" })] }))] })] }));
56
+ return ((0, jsx_runtime_1.jsxs)(DialogPortal, { container: container, children: [(0, jsx_runtime_1.jsx)(DialogOverlay, {}), (0, jsx_runtime_1.jsxs)(DialogPrimitive.Content, { ref: ref, className: (0, utils_1.cn)("fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 border shadow-lg !outline-none", "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 duration-500", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]", "[perspective:1200px] [transform-style:preserve-3d] sm:rounded-xl", "transition-all ease-out", className), ...props, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-1 flex-col overflow-hidden rounded-xl border border-[#D1D1D6] bg-white shadow-[0_20px_24px_-4px_rgba(10,13,18,0.08),0_8px_8px_-4px_rgba(10,13,18,0.03),0_3px_3px_-1.5px_rgba(10,13,18,0.04)]", children: [children, !hideCloseButton && ((0, jsx_runtime_1.jsxs)(DialogPrimitive.Close, { className: (0, utils_1.cn)("modal-close-button data-[state=open]:bg-b3-react-background data-[state=open]:text-b3-react-muted-foreground absolute right-2 top-2 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none disabled:pointer-events-none dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400", closeBtnClassName), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: "h-5 w-5" }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Close" })] }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-center gap-1.5 pt-[10px]", children: [(0, jsx_runtime_1.jsxs)("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M2 4.66667C2 3.19391 3.19391 2 4.66667 2H11.3333C12.8061 2 14 3.19391 14 4.66667V11.3333C14 12.8061 12.8061 14 11.3333 14H4.66667C3.19391 14 2 12.8061 2 11.3333V4.66667Z", fill: "#0B57C2" }), (0, jsx_runtime_1.jsx)("path", { d: "M5.33333 6C5.33333 5.63181 5.63181 5.33333 6 5.33333H10C10.3682 5.33333 10.6667 5.63181 10.6667 6V10C10.6667 10.3682 10.3682 10.6667 10 10.6667H6C5.63181 10.6667 5.33333 10.3682 5.33333 10V6Z", fill: "white" })] }), (0, jsx_runtime_1.jsx)("span", { className: "font-neue-montreal-semibold text-xs uppercase leading-none tracking-[0.72px] text-[#0B57C2]", children: "Global Account" })] })] })] }));
57
57
  });
58
58
  exports.DialogContent = DialogContent;
59
59
  DialogContent.displayName = DialogPrimitive.Content.displayName;
@@ -23,7 +23,7 @@ export { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect";
23
23
  export { useMediaQuery } from "./useMediaQuery";
24
24
  export { useNativeBalance, useNativeBalanceFromRPC } from "./useNativeBalance";
25
25
  export { useOneBalance } from "./useOneBalance";
26
- export { useProfile, useProfilePreference, type CombinedProfile, type PreferenceRequestBody, type Profile, } from "./useProfile";
26
+ export { useProfile, useProfilePreference, useProfileSettings, useDisplayName, type CombinedProfile, type PreferenceRequestBody, type Profile, type DisplayNameRequestBody, } from "./useProfile";
27
27
  export { useQueryB3 } from "./useQueryB3";
28
28
  export { useQueryBSMNT } from "./useQueryBSMNT";
29
29
  export { useRemoveSessionKey } from "./useRemoveSessionKey";
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.useUnifiedChainSwitchAndExecute = exports.useURLParams = exports.useTokensFromAddress = exports.useTokenPriceWithFallback = exports.useTokenPrice = exports.useTokenFromUrl = exports.useTokenData = exports.useTokenBalancesByChain = exports.useTokenBalanceDirect = exports.useTokenBalance = exports.useSiwe = exports.useSimBalance = exports.useSearchParamsSSR = exports.useRouter = exports.useRemoveSessionKey = exports.useQueryBSMNT = exports.useQueryB3 = exports.useProfilePreference = exports.useProfile = exports.useOneBalance = exports.useNativeBalanceFromRPC = exports.useNativeBalance = exports.useMediaQuery = exports.useIsomorphicLayoutEffect = exports.useIsMobile = exports.useHasMounted = exports.useHandleConnectWithPrivy = exports.useGlobalAccount = exports.useGetGeo = exports.useGetAllTWSigners = exports.useFirstEOA = exports.useExchangeRate = exports.useConnect = exports.useClient = exports.useChainSwitchWithAction = exports.useBestTransactionPath = exports.useB3EnsName = exports.useB3BalanceFromAddresses = exports.useAuthentication = exports.useAnalytics = exports.useAddTWSessionKey = exports.useAccountWallet = exports.useAccountAssets = exports.createWagmiConfig = void 0;
17
+ exports.useUnifiedChainSwitchAndExecute = exports.useURLParams = exports.useTokensFromAddress = exports.useTokenPriceWithFallback = exports.useTokenPrice = exports.useTokenFromUrl = exports.useTokenData = exports.useTokenBalancesByChain = exports.useTokenBalanceDirect = exports.useTokenBalance = exports.useSiwe = exports.useSimBalance = exports.useSearchParamsSSR = exports.useRouter = exports.useRemoveSessionKey = exports.useQueryBSMNT = exports.useQueryB3 = exports.useDisplayName = exports.useProfileSettings = exports.useProfilePreference = exports.useProfile = exports.useOneBalance = exports.useNativeBalanceFromRPC = exports.useNativeBalance = exports.useMediaQuery = exports.useIsomorphicLayoutEffect = exports.useIsMobile = exports.useHasMounted = exports.useHandleConnectWithPrivy = exports.useGlobalAccount = exports.useGetGeo = exports.useGetAllTWSigners = exports.useFirstEOA = exports.useExchangeRate = exports.useConnect = exports.useClient = exports.useChainSwitchWithAction = exports.useBestTransactionPath = exports.useB3EnsName = exports.useB3BalanceFromAddresses = exports.useAuthentication = exports.useAnalytics = exports.useAddTWSessionKey = exports.useAccountWallet = exports.useAccountAssets = exports.createWagmiConfig = void 0;
18
18
  var createWagmiConfig_1 = require("../utils/createWagmiConfig");
19
19
  Object.defineProperty(exports, "createWagmiConfig", { enumerable: true, get: function () { return createWagmiConfig_1.createWagmiConfig; } });
20
20
  var useAccountAssets_1 = require("./useAccountAssets");
@@ -68,6 +68,8 @@ Object.defineProperty(exports, "useOneBalance", { enumerable: true, get: functio
68
68
  var useProfile_1 = require("./useProfile");
69
69
  Object.defineProperty(exports, "useProfile", { enumerable: true, get: function () { return useProfile_1.useProfile; } });
70
70
  Object.defineProperty(exports, "useProfilePreference", { enumerable: true, get: function () { return useProfile_1.useProfilePreference; } });
71
+ Object.defineProperty(exports, "useProfileSettings", { enumerable: true, get: function () { return useProfile_1.useProfileSettings; } });
72
+ Object.defineProperty(exports, "useDisplayName", { enumerable: true, get: function () { return useProfile_1.useDisplayName; } });
71
73
  var useQueryB3_1 = require("./useQueryB3");
72
74
  Object.defineProperty(exports, "useQueryB3", { enumerable: true, get: function () { return useQueryB3_1.useQueryB3; } });
73
75
  var useQueryBSMNT_1 = require("./useQueryBSMNT");
@@ -16,3 +16,4 @@ export declare function useAccountWallet(): {
16
16
  eoaWalletIcon?: string;
17
17
  smartWalletIcon?: string;
18
18
  };
19
+ export declare function useAccountWalletImage(): string;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useAccountWallet = useAccountWallet;
4
+ exports.useAccountWalletImage = useAccountWalletImage;
4
5
  const react_1 = require("../../../global-account/react");
5
6
  const constants_1 = require("../../../shared/constants");
6
7
  const debug_1 = require("../../../shared/utils/debug");
@@ -72,3 +73,20 @@ function useAccountWallet() {
72
73
  ]);
73
74
  return res;
74
75
  }
76
+ function useAccountWalletImage() {
77
+ const { account, user } = (0, react_1.useB3)();
78
+ const activeWallet = (0, react_3.useActiveWallet)();
79
+ const connectedWallets = (0, react_3.useConnectedWallets)();
80
+ const connectedSmartWallet = connectedWallets.find(wallet => wallet.id === constants_1.ecosystemWalletId);
81
+ const connectedEOAWallet = connectedWallets.find(wallet => wallet.id !== constants_1.ecosystemWalletId);
82
+ const isActiveSmartWallet = activeWallet?.id === connectedSmartWallet?.id;
83
+ const { data: walletImage } = (0, react_3.useWalletImage)(connectedEOAWallet?.id);
84
+ // If not EOA sign in, then we need to show the smart wallet icon
85
+ const lastAuthProvider = useLastAuthProvider();
86
+ const smartWalletIcon = lastAuthProvider && !connectedEOAWallet
87
+ ? in_app_1.socialIcons[lastAuthProvider]
88
+ : "https://gradvatar.com/0x0000000000000000000000000000000000000000"; // show smart wallet of eoa wallet is gradvatar
89
+ const { data: profileData } = (0, react_1.useProfile)({ address: account?.address });
90
+ const avatarUrl = user?.avatar || profileData?.avatar;
91
+ return avatarUrl || (isActiveSmartWallet ? smartWalletIcon : walletImage) || "";
92
+ }
@@ -13,8 +13,8 @@ export declare function useAuthentication(partnerId: string): {
13
13
  onConnect: (_walleAutoConnectedWith: Wallet, allConnectedWallets: Wallet[]) => Promise<void>;
14
14
  user: {
15
15
  email?: string | undefined;
16
- username?: string | undefined;
17
16
  telNumber?: string | undefined;
17
+ username?: string | undefined;
18
18
  ens?: string | undefined;
19
19
  avatar?: string | undefined;
20
20
  preferences?: {} | undefined;
@@ -41,8 +41,8 @@ export declare function useAuthentication(partnerId: string): {
41
41
  name?: string | undefined;
42
42
  address?: string | undefined;
43
43
  email?: string | undefined;
44
- phone?: string | undefined;
45
44
  username?: string | undefined;
45
+ phone?: string | undefined;
46
46
  fid?: string | undefined;
47
47
  };
48
48
  }[] | undefined;
@@ -77,6 +77,7 @@ function useB3BalanceFromAddresses(addresses, options) {
77
77
  enabled: (options?.enabled ?? true) && normalizedAddresses.length > 0,
78
78
  refetchInterval: options?.refetchInterval ?? 30000, // Default 30s refresh
79
79
  staleTime: 10000, // Consider data stale after 10s
80
+ structuralSharing: false, // Disable structural sharing because data contains BigInt values
80
81
  });
81
82
  }
82
83
  exports.default = useB3BalanceFromAddresses;
@@ -8,8 +8,8 @@ import { Users } from "@b3dotfun/b3-api";
8
8
  export declare function useUserQuery(): {
9
9
  user: {
10
10
  email?: string | undefined;
11
- username?: string | undefined;
12
11
  telNumber?: string | undefined;
12
+ username?: string | undefined;
13
13
  ens?: string | undefined;
14
14
  avatar?: string | undefined;
15
15
  preferences?: {} | undefined;
@@ -36,8 +36,8 @@ export declare function useUserQuery(): {
36
36
  name?: string | undefined;
37
37
  address?: string | undefined;
38
38
  email?: string | undefined;
39
- phone?: string | undefined;
40
39
  username?: string | undefined;
40
+ phone?: string | undefined;
41
41
  fid?: string | undefined;
42
42
  };
43
43
  }[] | undefined;
@@ -1,3 +1,4 @@
1
1
  export { useAuthStore } from "./useAuthStore";
2
2
  export { useModalStore } from "./useModalStore";
3
+ export { useRecentAddressesStore } from "./useRecentAddressesStore";
3
4
  export type { AnySpendBuySpinProps, AnySpendFundTournamentProps, AnySpendJoinTournamentProps, AnySpendModalProps, AnySpendNftProps, AnySpendOrderHistoryProps, AnySpendStakeB3Props, AnyspendOrderDetailsProps, ManageAccountModalProps, ModalContentType, RequestPermissionsModalProps, SignInWithB3ModalProps, } from "./useModalStore";
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useModalStore = exports.useAuthStore = void 0;
3
+ exports.useRecentAddressesStore = exports.useModalStore = exports.useAuthStore = void 0;
4
4
  var useAuthStore_1 = require("./useAuthStore");
5
5
  Object.defineProperty(exports, "useAuthStore", { enumerable: true, get: function () { return useAuthStore_1.useAuthStore; } });
6
6
  var useModalStore_1 = require("./useModalStore");
7
7
  Object.defineProperty(exports, "useModalStore", { enumerable: true, get: function () { return useModalStore_1.useModalStore; } });
8
+ var useRecentAddressesStore_1 = require("./useRecentAddressesStore");
9
+ Object.defineProperty(exports, "useRecentAddressesStore", { enumerable: true, get: function () { return useRecentAddressesStore_1.useRecentAddressesStore; } });
@@ -77,9 +77,9 @@ export interface ManageAccountModalProps extends BaseModalProps {
77
77
  /** Partner ID */
78
78
  partnerId: string;
79
79
  /** Active Tab */
80
- activeTab?: "overview" | "tokens" | "nfts" | "apps" | "settings";
80
+ activeTab?: "home" | "tokens" | "nfts" | "apps" | "settings" | "swap";
81
81
  /** Function to set the active tab */
82
- setActiveTab?: (tab: "overview" | "tokens" | "nfts" | "apps" | "settings") => void;
82
+ setActiveTab?: (tab: "home" | "tokens" | "nfts" | "apps" | "settings" | "swap") => void;
83
83
  /** Whether to show the referral information */
84
84
  showReferralInfo?: boolean;
85
85
  /** Whether to show the swap button */
@@ -325,6 +325,15 @@ export interface LinkAccountModalProps extends BaseModalProps {
325
325
  partnerId: string;
326
326
  chain: Chain;
327
327
  }
328
+ export interface LinkNewAccountModalProps extends BaseModalProps {
329
+ type: "linkNewAccount";
330
+ showBackButton?: boolean;
331
+ onSuccess?: () => void;
332
+ onError?: (error: Error) => void;
333
+ onClose?: () => void;
334
+ partnerId: string;
335
+ chain: Chain;
336
+ }
328
337
  export interface AnySpendDepositHypeProps extends BaseModalProps {
329
338
  /** Modal type identifier */
330
339
  type: "anySpendDepositHype";
@@ -351,16 +360,32 @@ export interface AvatarEditorModalProps extends BaseModalProps {
351
360
  /** Callback function called when avatar is successfully set */
352
361
  onSuccess?: () => void;
353
362
  }
354
- export interface ProfileEditorModalProps extends BaseModalProps {
363
+ /**
364
+ * Props for the Deposit modal
365
+ * Allows users to deposit tokens into their global account
366
+ */
367
+ export interface DepositModalProps extends BaseModalProps {
355
368
  /** Modal type identifier */
356
- type: "profileEditor";
357
- /** Callback function called when profile is successfully updated */
369
+ type: "deposit";
370
+ /** Callback function called when deposit is successful */
358
371
  onSuccess?: () => void;
359
372
  }
373
+ /**
374
+ * Props for the Send modal
375
+ * Allows users to send tokens from their global account to another address
376
+ */
377
+ export interface SendModalProps extends BaseModalProps {
378
+ /** Modal type identifier */
379
+ type: "send";
380
+ /** Pre-filled recipient address (optional) */
381
+ recipientAddress?: string;
382
+ /** Callback function called when send is successful */
383
+ onSuccess?: (txHash?: string) => void;
384
+ }
360
385
  /**
361
386
  * Union type of all possible modal content types
362
387
  */
363
- export type ModalContentType = SignInWithB3ModalProps | RequestPermissionsModalProps | ManageAccountModalProps | AnySpendModalProps | AnyspendOrderDetailsProps | AnySpendNftProps | AnySpendJoinTournamentProps | AnySpendFundTournamentProps | AnySpendOrderHistoryProps | AnySpendStakeB3Props | AnySpendStakeB3ExactInProps | AnySpendStakeUpsideProps | AnySpendStakeUpsideExactInProps | AnySpendBuySpinProps | AnySpendSignatureMintProps | AnySpendBondKitProps | LinkAccountModalProps | AnySpendDepositHypeProps | AvatarEditorModalProps | ProfileEditorModalProps;
388
+ export type ModalContentType = SignInWithB3ModalProps | RequestPermissionsModalProps | ManageAccountModalProps | AnySpendModalProps | AnyspendOrderDetailsProps | AnySpendNftProps | AnySpendJoinTournamentProps | AnySpendFundTournamentProps | AnySpendOrderHistoryProps | AnySpendStakeB3Props | AnySpendStakeB3ExactInProps | AnySpendStakeUpsideProps | AnySpendStakeUpsideExactInProps | AnySpendBuySpinProps | AnySpendSignatureMintProps | AnySpendBondKitProps | LinkAccountModalProps | LinkNewAccountModalProps | AnySpendDepositHypeProps | AvatarEditorModalProps | DepositModalProps | SendModalProps;
364
389
  /**
365
390
  * State interface for the modal store
366
391
  */
@@ -0,0 +1,25 @@
1
+ interface RecentAddress {
2
+ address: string;
3
+ timestamp: number;
4
+ }
5
+ interface RecentAddressesStore {
6
+ recentAddresses: RecentAddress[];
7
+ addRecentAddress: (address: string) => void;
8
+ clearRecentAddresses: () => void;
9
+ }
10
+ /**
11
+ * Store for managing recently used addresses in the Send flow
12
+ * Persists to localStorage and keeps the last 6 unique addresses
13
+ */
14
+ export declare const useRecentAddressesStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<RecentAddressesStore>, "persist"> & {
15
+ persist: {
16
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<RecentAddressesStore, RecentAddressesStore>>) => void;
17
+ clearStorage: () => void;
18
+ rehydrate: () => Promise<void> | void;
19
+ hasHydrated: () => boolean;
20
+ onHydrate: (fn: (state: RecentAddressesStore) => void) => () => void;
21
+ onFinishHydration: (fn: (state: RecentAddressesStore) => void) => () => void;
22
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<RecentAddressesStore, RecentAddressesStore>>;
23
+ };
24
+ }>;
25
+ export {};
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRecentAddressesStore = void 0;
4
+ const zustand_1 = require("zustand");
5
+ const middleware_1 = require("zustand/middleware");
6
+ /**
7
+ * Store for managing recently used addresses in the Send flow
8
+ * Persists to localStorage and keeps the last 6 unique addresses
9
+ */
10
+ exports.useRecentAddressesStore = (0, zustand_1.create)()((0, middleware_1.persist)(set => ({
11
+ recentAddresses: [],
12
+ /**
13
+ * Add a new address to the recent addresses list
14
+ * Deduplicates and maintains a maximum of 6 addresses
15
+ */
16
+ addRecentAddress: (address) => {
17
+ set(state => {
18
+ // Remove any existing entry with the same address
19
+ const filtered = state.recentAddresses.filter(item => item.address.toLowerCase() !== address.toLowerCase());
20
+ // Add the new address at the beginning
21
+ const updated = [{ address, timestamp: Date.now() }, ...filtered];
22
+ // Keep only the last 6 addresses
23
+ return {
24
+ recentAddresses: updated.slice(0, 6),
25
+ };
26
+ });
27
+ },
28
+ /**
29
+ * Clear all recent addresses
30
+ */
31
+ clearRecentAddresses: () => {
32
+ set({ recentAddresses: [] });
33
+ },
34
+ }), {
35
+ name: "b3-recent-addresses-storage",
36
+ }));
@@ -13,6 +13,8 @@ export interface ExtendedProfileDetails {
13
13
  name?: string;
14
14
  username?: string;
15
15
  profileImageUrl?: string;
16
+ picture?: string;
17
+ pfpUrl?: string;
16
18
  }
17
19
  export interface ExtendedProfile extends Omit<Profile, "details"> {
18
20
  details: ExtendedProfileDetails;
@@ -82,7 +82,7 @@ function getProfileDisplayInfo(profile) {
82
82
  displayInfo = {
83
83
  title: details.name || details.username || "Unknown",
84
84
  subtitle: details.username ? `@${details.username}` : "Farcaster Account",
85
- imageUrl: validateImageUrl(details.profileImageUrl),
85
+ imageUrl: validateImageUrl(details.pfpUrl || details.profileImageUrl),
86
86
  initial: "F",
87
87
  type,
88
88
  };
@@ -91,7 +91,7 @@ function getProfileDisplayInfo(profile) {
91
91
  displayInfo = {
92
92
  title: details.name || details.email || "Unknown",
93
93
  subtitle: details.email || "Google Account",
94
- imageUrl: validateImageUrl(details.profileImageUrl),
94
+ imageUrl: validateImageUrl(details.picture || details.profileImageUrl),
95
95
  initial: "G",
96
96
  type,
97
97
  };
@@ -35,13 +35,13 @@ export declare const supportedChainNetworks: {
35
35
  uri: string;
36
36
  }[];
37
37
  };
38
+ _id: string | {};
38
39
  icon: {
39
40
  format: string;
40
41
  height: number;
41
42
  width: number;
42
43
  url: string;
43
44
  };
44
- _id: string | {};
45
45
  }[];
46
46
  export declare const coingeckoChains: Record<number, {
47
47
  coingecko_id: string;
@@ -53,10 +53,10 @@ export declare function getCoingeckoChainInfo(chainId: number): {
53
53
  name: string;
54
54
  native_coin_id: string;
55
55
  };
56
- export declare const b3MainnetThirdWeb: Readonly<import("thirdweb/dist/types/chains/types").ChainOptions & {
56
+ export declare const b3MainnetThirdWeb: Readonly<import("thirdweb/chains").ChainOptions & {
57
57
  rpc: string;
58
58
  }>;
59
- export declare const b3TestnetThirdWeb: Readonly<import("thirdweb/dist/types/chains/types").ChainOptions & {
59
+ export declare const b3TestnetThirdWeb: Readonly<import("thirdweb/chains").ChainOptions & {
60
60
  rpc: string;
61
61
  }>;
62
62
  export declare const b3Mainnet: import("viem").Chain;
@@ -1,10 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getIpfsUrl = getIpfsUrl;
4
+ /**
5
+ * List of IPFS gateways to use for converting ipfs:// URLs to HTTP URLs
6
+ * These gateways must match the allowed list in profileDisplay.ts validateImageUrl()
7
+ */
4
8
  const IPFS_GATEWAYS = [
5
- "https://ipfs.io/ipfs",
6
- "https://cloudflare-ipfs.com/ipfs",
7
- // Can add more gateways as needed
9
+ "https://cloudflare-ipfs.com/ipfs", // Primary gateway - fast and reliable
10
+ "https://ipfs.io/ipfs", // Fallback gateway
11
+ "https://gateway.pinata.cloud/ipfs", // Additional option
12
+ "https://dweb.link/ipfs", // Additional option
13
+ "https://nftstorage.link/ipfs", // Additional option
14
+ "https://w3s.link/ipfs", // Additional option
8
15
  ];
9
16
  /**
10
17
  * Converts an IPFS URL to a gateway URL
@@ -2,7 +2,9 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { getDefaultToken, USDC_BASE } from "../../../anyspend/index.js";
4
4
  import { useAnyspendCreateOnrampOrder, useAnyspendCreateOrder, useAnyspendOrderAndTransactions, useAnyspendQuote, useGeoOnrampOptions, } from "../../../anyspend/react/index.js";
5
- import { Button, ShinyButton, StyleRoot, TransitionPanel, useAccountWallet, useProfile, useRouter, useSearchParamsSSR, useTokenBalanceDirect, useTokenData, useTokenFromUrl, } from "../../../global-account/react/index.js";
5
+ import { Button, ShinyButton, StyleRoot, TabsPrimitive, TransitionPanel, useAccountWallet, useB3, useModalStore, useProfile, useRouter, useSearchParamsSSR, useTokenBalanceDirect, useTokenData, useTokenFromUrl, } from "../../../global-account/react/index.js";
6
+ import BottomNavigation from "../../../global-account/react/components/ManageAccount/BottomNavigation.js";
7
+ import { useAccountWalletImage } from "../../../global-account/react/hooks/useAccountWallet.js";
6
8
  import { cn } from "../../../shared/utils/cn.js";
7
9
  import { formatTokenAmount } from "../../../shared/utils/number.js";
8
10
  import invariant from "invariant";
@@ -10,6 +12,7 @@ import { ArrowDown, HistoryIcon, Loader2 } from "lucide-react";
10
12
  import { motion } from "motion/react";
11
13
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
12
14
  import { toast } from "sonner";
15
+ import { defineChain } from "thirdweb";
13
16
  import { parseUnits } from "viem";
14
17
  import { base, mainnet } from "viem/chains";
15
18
  import { useAutoSelectCryptoPaymentMethod } from "../hooks/useAutoSelectCryptoPaymentMethod.js";
@@ -48,6 +51,25 @@ export function AnySpend(props) {
48
51
  function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode = "modal", defaultActiveTab = "crypto", loadOrder, hideTransactionHistoryButton, recipientAddress: recipientAddressFromProps, onTokenSelect, onSuccess, customUsdInputValues, }) {
49
52
  const searchParams = useSearchParamsSSR();
50
53
  const router = useRouter();
54
+ const { partnerId } = useB3();
55
+ const setB3ModalContentType = useModalStore(state => state.setB3ModalContentType);
56
+ // Define base chain with RPC for modal props
57
+ const baseChain = useMemo(() => defineChain({
58
+ id: 8453,
59
+ name: "Base",
60
+ nativeCurrency: {
61
+ name: "Ether",
62
+ symbol: "ETH",
63
+ decimals: 18,
64
+ },
65
+ rpc: "https://mainnet.base.org",
66
+ blockExplorers: [
67
+ {
68
+ name: "Basescan",
69
+ url: "https://basescan.org",
70
+ },
71
+ ],
72
+ }), []);
51
73
  // Determine if we're in "buy mode" based on whether destination token props are provided
52
74
  const isBuyMode = !!(destinationTokenAddress && destinationTokenChainId);
53
75
  // Add refs to track URL state
@@ -309,6 +331,7 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
309
331
  const { address: globalAddress, wallet: globalWallet, connectedEOAWallet } = useAccountWallet();
310
332
  const recipientProfile = useProfile({ address: recipientAddress, fresh: true });
311
333
  const recipientName = recipientProfile.data?.name;
334
+ const globalWalletImage = useAccountWalletImage();
312
335
  // Auto-set active wallet from wagmi
313
336
  useAutoSetActiveWalletFromWagmi();
314
337
  // Check token balance for crypto payments
@@ -599,6 +622,10 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
599
622
  const onClickHistory = () => {
600
623
  setOrderId(undefined);
601
624
  navigateToPanel(PanelView.HISTORY, "forward");
625
+ setB3ModalContentType({
626
+ type: "anySpendOrderHistory",
627
+ showBackButton: false,
628
+ });
602
629
  // Remove orderId and paymentMethod from URL when going back to history
603
630
  const params = new URLSearchParams(searchParams.toString());
604
631
  params.delete("orderId");
@@ -760,43 +787,58 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
760
787
  };
761
788
  }, [activePanel, navigateBack]);
762
789
  const historyView = (_jsx("div", { className: "mx-auto flex w-[560px] max-w-full flex-col items-center", children: _jsx(OrderHistory, { mode: mode, onBack: navigateBack, onSelectOrder: onSelectOrder }) }));
763
- const orderDetailsView = (_jsx("div", { className: "mx-auto w-[460px] max-w-full", children: _jsx("div", { className: "relative flex flex-col gap-4", children: oat && (_jsx(OrderDetails, { mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTxs: oat.data.relayTxs, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, onPaymentMethodChange: setSelectedCryptoPaymentMethod, points: oat.data.points || undefined, onBack: () => {
790
+ const orderDetailsView = (_jsx("div", { className: "mx-auto w-[460px] max-w-full px-5", children: _jsx("div", { className: "relative flex flex-col gap-4", children: oat && (_jsx(OrderDetails, { mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTxs: oat.data.relayTxs, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, onPaymentMethodChange: setSelectedCryptoPaymentMethod, points: oat.data.points || undefined, onBack: () => {
764
791
  setOrderId(undefined);
765
792
  navigateBack();
766
793
  setSelectedCryptoPaymentMethod(CryptoPaymentMethodType.NONE); // Reset payment method when going back
767
794
  } })) }) }));
768
- const mainView = (_jsxs("div", { className: "mx-auto flex w-[460px] max-w-full flex-col items-center gap-2", children: [isBuyMode && (_jsxs("div", { className: "mb-4 flex flex-col items-center gap-3 text-center", children: [selectedDstToken.metadata?.logoURI && (_jsx("div", { className: "relative", children: _jsx("img", { src: selectedDstToken.metadata.logoURI, alt: selectedDstToken.symbol, className: "border-as-stroke h-12 w-12 rounded-full border-2 shadow-md" }) })), _jsx("div", { children: _jsxs("h1", { className: "text-as-primary text-xl font-bold", children: ["Buy ", selectedDstToken.symbol] }) })] })), _jsx(TabSection, { activeTab: activeTab, setActiveTab: setActiveTab, setSelectedCryptoPaymentMethod: setSelectedCryptoPaymentMethod, setSelectedFiatPaymentMethod: setSelectedFiatPaymentMethod }), _jsxs("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [activeTab === "crypto" ? (_jsx(CryptoPaySection, { selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, isSrcInputDirty: isSrcInputDirty, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, onSelectCryptoPaymentMethod: () => navigateToPanel(PanelView.CRYPTO_PAYMENT_METHOD, "forward"), anyspendQuote: anyspendQuote, onTokenSelect: onTokenSelect, onShowFeeDetail: () => navigateToPanel(PanelView.FEE_DETAIL, "forward") })) : (_jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: _jsx(PanelOnramp, { srcAmountOnRamp: srcAmountOnRamp, setSrcAmountOnRamp: setSrcAmountOnRamp, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: (panelIndex) => {
769
- // Map panel index to navigation with direction
770
- const panelsWithForwardNav = [PanelView.FIAT_PAYMENT_METHOD, PanelView.RECIPIENT_SELECTION];
771
- if (panelsWithForwardNav.includes(panelIndex)) {
772
- navigateToPanel(panelIndex, "forward");
773
- }
774
- else {
775
- setActivePanel(panelIndex);
776
- }
777
- }, _recipientAddress: recipientAddress, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, destinationAmount: dstAmount, onDestinationTokenChange: setSelectedDstToken, onDestinationChainChange: setSelectedDstChainId, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION, hideDstToken: isBuyMode, anyspendQuote: anyspendQuote, onShowPointsDetail: () => navigateToPanel(PanelView.POINTS_DETAIL, "forward"), onShowFeeDetail: () => navigateToPanel(PanelView.FEE_DETAIL, "forward"), customUsdInputValues: customUsdInputValues }) })), _jsx(Button, { variant: "ghost", className: cn("border-as-stroke bg-as-surface-primary absolute left-1/2 top-1/2 z-10 h-10 w-10 -translate-x-1/2 -translate-y-1/2 rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", isBuyMode && "top-[calc(50%+56px)] cursor-default", activeTab === "fiat" && "hidden"), onClick: () => {
778
- if (activeTab === "fiat" || isBuyMode) {
779
- return;
780
- }
781
- // Swap chain selections
782
- const tempSrcChainId = selectedSrcChainId;
783
- const tempDstChainId = selectedDstChainId;
784
- setSelectedSrcChainId(tempDstChainId);
785
- setSelectedDstChainId(tempSrcChainId);
786
- // Swap token selections
787
- const tempSrcToken = selectedSrcToken;
788
- const tempDstToken = selectedDstToken;
789
- setSelectedSrcToken(tempDstToken);
790
- setSelectedDstToken(tempSrcToken);
791
- // Swap amounts
792
- const tempSrcAmount = srcAmount;
793
- const tempDstAmount = dstAmount;
794
- setSrcAmount(tempDstAmount);
795
- setDstAmount(tempSrcAmount);
796
- }, children: _jsx("div", { className: "relative flex items-center justify-center transition-opacity", children: _jsx(ArrowDown, { className: "text-as-primary/50 h-5 w-5" }) }) }), activeTab === "crypto" && (_jsx(CryptoReceiveSection, { isDepositMode: false, isBuyMode: isBuyMode, selectedRecipientAddress: recipientAddress, recipientName: recipientName || undefined, onSelectRecipient: () => navigateToPanel(PanelView.RECIPIENT_SELECTION, "forward"), setRecipientAddress: setRecipientAddress, recipientAddressFromProps: recipientAddressFromProps, globalAddress: globalAddress, dstAmount: dstAmount, dstToken: selectedDstToken, selectedDstChainId: selectedDstChainId, setSelectedDstChainId: setSelectedDstChainId, setSelectedDstToken: setSelectedDstToken, isSrcInputDirty: isSrcInputDirty, onChangeDstAmount: value => {
797
- setIsSrcInputDirty(false);
798
- setDstAmount(value);
799
- }, anyspendQuote: anyspendQuote, onShowPointsDetail: () => navigateToPanel(PanelView.POINTS_DETAIL, "forward"), onShowFeeDetail: () => navigateToPanel(PanelView.FEE_DETAIL, "forward"), selectedCryptoPaymentMethod: selectedCryptoPaymentMethod }))] }), _jsxs(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0.2, ease: "easeInOut" }, className: cn("mt-4 flex w-full max-w-[460px] flex-col gap-2"), children: [_jsx(ShinyButton, { accentColor: "hsl(var(--as-brand))", disabled: btnInfo.disable, onClick: onMainButtonClick, className: cn("as-main-button relative w-full", btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand"), textClassName: cn(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white"), children: _jsxs("div", { className: "flex items-center justify-center gap-2", children: [btnInfo.loading && _jsx(Loader2, { className: "h-4 w-4 animate-spin" }), btnInfo.text] }) }), !hideTransactionHistoryButton && (globalAddress || recipientAddress) ? (_jsxs(Button, { variant: "link", onClick: onClickHistory, className: "text-as-primary/50 hover:text-as-primary flex items-center gap-1 transition-colors", children: [_jsx(HistoryIcon, { className: "h-4 w-4" }), " ", _jsx("span", { className: "pr-4", children: "Transaction History" })] })) : null] })] }));
795
+ const mainView = (_jsxs("div", { className: "mx-auto flex w-[460px] max-w-full flex-col items-center gap-2", children: [_jsxs("div", { className: "flex w-full max-w-full flex-col items-center gap-2 px-5", children: [isBuyMode && (_jsxs("div", { className: "mb-4 flex flex-col items-center gap-3 text-center", children: [selectedDstToken.metadata?.logoURI && (_jsx("div", { className: "relative", children: _jsx("img", { src: selectedDstToken.metadata.logoURI, alt: selectedDstToken.symbol, className: "border-as-stroke h-12 w-12 rounded-full border-2 shadow-md" }) })), _jsx("div", { children: _jsxs("h1", { className: "text-as-primary text-xl font-bold", children: ["Buy ", selectedDstToken.symbol] }) })] })), _jsx(TabSection, { activeTab: activeTab, setActiveTab: setActiveTab, setSelectedCryptoPaymentMethod: setSelectedCryptoPaymentMethod, setSelectedFiatPaymentMethod: setSelectedFiatPaymentMethod }), _jsxs("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [activeTab === "crypto" ? (_jsx(CryptoPaySection, { selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, isSrcInputDirty: isSrcInputDirty, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, onSelectCryptoPaymentMethod: () => navigateToPanel(PanelView.CRYPTO_PAYMENT_METHOD, "forward"), anyspendQuote: anyspendQuote, onTokenSelect: onTokenSelect, onShowFeeDetail: () => navigateToPanel(PanelView.FEE_DETAIL, "forward") })) : (_jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: _jsx(PanelOnramp, { srcAmountOnRamp: srcAmountOnRamp, setSrcAmountOnRamp: setSrcAmountOnRamp, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: (panelIndex) => {
796
+ // Map panel index to navigation with direction
797
+ const panelsWithForwardNav = [PanelView.FIAT_PAYMENT_METHOD, PanelView.RECIPIENT_SELECTION];
798
+ if (panelsWithForwardNav.includes(panelIndex)) {
799
+ navigateToPanel(panelIndex, "forward");
800
+ }
801
+ else {
802
+ setActivePanel(panelIndex);
803
+ }
804
+ }, _recipientAddress: recipientAddress, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, destinationAmount: dstAmount, onDestinationTokenChange: setSelectedDstToken, onDestinationChainChange: setSelectedDstChainId, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION, hideDstToken: isBuyMode, anyspendQuote: anyspendQuote, onShowPointsDetail: () => navigateToPanel(PanelView.POINTS_DETAIL, "forward"), onShowFeeDetail: () => navigateToPanel(PanelView.FEE_DETAIL, "forward"), customUsdInputValues: customUsdInputValues }) })), _jsx(Button, { variant: "ghost", className: cn("border-as-stroke bg-as-surface-primary absolute left-1/2 top-1/2 z-10 h-10 w-10 -translate-x-1/2 -translate-y-1/2 rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", isBuyMode && "top-[calc(50%+56px)] cursor-default", activeTab === "fiat" && "hidden"), onClick: () => {
805
+ if (activeTab === "fiat" || isBuyMode) {
806
+ return;
807
+ }
808
+ // Swap chain selections
809
+ const tempSrcChainId = selectedSrcChainId;
810
+ const tempDstChainId = selectedDstChainId;
811
+ setSelectedSrcChainId(tempDstChainId);
812
+ setSelectedDstChainId(tempSrcChainId);
813
+ // Swap token selections
814
+ const tempSrcToken = selectedSrcToken;
815
+ const tempDstToken = selectedDstToken;
816
+ setSelectedSrcToken(tempDstToken);
817
+ setSelectedDstToken(tempSrcToken);
818
+ // Swap amounts
819
+ const tempSrcAmount = srcAmount;
820
+ const tempDstAmount = dstAmount;
821
+ setSrcAmount(tempDstAmount);
822
+ setDstAmount(tempSrcAmount);
823
+ }, children: _jsx("div", { className: "relative flex items-center justify-center transition-opacity", children: _jsx(ArrowDown, { className: "text-as-primary/50 h-5 w-5" }) }) }), activeTab === "crypto" && (_jsx(CryptoReceiveSection, { isDepositMode: false, isBuyMode: isBuyMode, selectedRecipientAddress: recipientAddress, recipientName: recipientName || undefined, onSelectRecipient: () => navigateToPanel(PanelView.RECIPIENT_SELECTION, "forward"), setRecipientAddress: setRecipientAddress, recipientAddressFromProps: recipientAddressFromProps, globalAddress: globalAddress, dstAmount: dstAmount, dstToken: selectedDstToken, selectedDstChainId: selectedDstChainId, setSelectedDstChainId: setSelectedDstChainId, setSelectedDstToken: setSelectedDstToken, isSrcInputDirty: isSrcInputDirty, onChangeDstAmount: value => {
824
+ setIsSrcInputDirty(false);
825
+ setDstAmount(value);
826
+ }, anyspendQuote: anyspendQuote, onShowPointsDetail: () => navigateToPanel(PanelView.POINTS_DETAIL, "forward"), onShowFeeDetail: () => navigateToPanel(PanelView.FEE_DETAIL, "forward"), selectedCryptoPaymentMethod: selectedCryptoPaymentMethod }))] }), _jsxs(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0.2, ease: "easeInOut" }, className: cn("mt-4 flex w-full max-w-[460px] flex-col gap-2"), children: [_jsx(ShinyButton, { accentColor: "hsl(var(--as-brand))", disabled: btnInfo.disable, onClick: onMainButtonClick, className: cn("as-main-button relative w-full", btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand"), textClassName: cn(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white"), children: _jsxs("div", { className: "flex items-center justify-center gap-2", children: [btnInfo.loading && _jsx(Loader2, { className: "h-4 w-4 animate-spin" }), btnInfo.text] }) }), !hideTransactionHistoryButton && (globalAddress || recipientAddress) ? (_jsxs(Button, { variant: "link", onClick: onClickHistory, className: "text-as-primary/50 hover:text-as-primary flex items-center gap-1 transition-colors", children: [_jsx(HistoryIcon, { className: "h-4 w-4" }), " ", _jsx("span", { className: "pr-4", children: "Transaction History" })] })) : null] })] }), _jsx("div", { className: "w-full", children: _jsx(TabsPrimitive, { defaultValue: "swap", onValueChange: value => {
827
+ if (value === "settings" || value === "home") {
828
+ setB3ModalContentType({
829
+ type: "manageAccount",
830
+ activeTab: value,
831
+ setActiveTab: () => { },
832
+ chain: baseChain,
833
+ partnerId,
834
+ });
835
+ }
836
+ else if (value === "swap") {
837
+ setB3ModalContentType({
838
+ type: "anySpend",
839
+ });
840
+ }
841
+ }, children: _jsx(BottomNavigation, {}) }) })] }));
800
842
  const onrampPaymentView = (_jsx(PanelOnrampPayment, { srcAmountOnRamp: srcAmountOnRamp, recipientName: recipientName || undefined, recipientAddress: recipientAddress, isBuyMode: isBuyMode, destinationTokenChainId: destinationTokenChainId, destinationTokenAddress: destinationTokenAddress, selectedDstChainId: selectedDstChainId, selectedDstToken: selectedDstToken, orderType: "swap", anyspendQuote: anyspendQuote, globalAddress: globalAddress, onOrderCreated: orderId => {
801
843
  setOrderId(orderId);
802
844
  navigateToPanel(PanelView.ORDER_DETAILS, "forward");
@@ -811,12 +853,12 @@ function AnySpendInner({ destinationTokenAddress, destinationTokenChainId, mode
811
853
  params.set("paymentMethod", selectedCryptoPaymentMethod);
812
854
  }
813
855
  router.push(`${window.location.pathname}?${params.toString()}`);
814
- }, onBack: navigateBack, recipientEnsName: globalWallet?.ensName, recipientImageUrl: globalWallet?.meta?.icon }));
856
+ }, onBack: navigateBack, recipientEnsName: globalWallet?.ensName, recipientImageUrl: globalWalletImage }));
815
857
  const recipientSelectionView = (_jsx(RecipientSelection, { initialValue: recipientAddress || "", onBack: navigateBack, onConfirm: address => {
816
858
  setRecipientAddress(address);
817
859
  navigateBack();
818
860
  } }));
819
- const cryptoPaymentMethodView = (_jsx(CryptoPaymentMethod, { globalAddress: globalAddress, globalWallet: globalWallet, selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: navigateBack, onSelectPaymentMethod: (method) => {
861
+ const cryptoPaymentMethodView = (_jsx(CryptoPaymentMethod, { selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: navigateBack, onSelectPaymentMethod: (method) => {
820
862
  setSelectedCryptoPaymentMethod(method);
821
863
  navigateBack();
822
864
  } }));
@@ -437,7 +437,7 @@ function AnySpendCustomInner({ loadOrder, mode = "modal", activeTab: activeTabPr
437
437
  : orderType === "join_tournament"
438
438
  ? "Join for"
439
439
  : "Recipient" }), _jsxs("div", { className: "flex items-center gap-2", children: [recipientAddress ? (_jsx("button", { className: cn("text-as-tertiarry flex h-7 items-center gap-2 rounded-lg"), onClick: () => setActivePanel(PanelView.RECIPIENT_SELECTION), children: _jsx(_Fragment, { children: _jsx("div", { className: "text-as-tertiarry flex items-center gap-1 text-sm", children: _jsx("span", { children: recipientName ? formatUsername(recipientName) : shortenAddress(recipientAddress) }) }) }) })) : (_jsx("button", { className: "text-as-primary/70 flex items-center gap-1 rounded-lg", onClick: () => setActivePanel(PanelView.RECIPIENT_SELECTION), children: _jsx("div", { className: "text-sm font-medium", children: "Select recipient" }) })), _jsx(ChevronRight, { className: "h-4 w-4" })] })] }, recipientAddress)) : null;
440
- const historyView = (_jsx("div", { className: cn("mx-auto flex w-full max-w-2xl flex-col items-center p-5", mode === "modal" && "bg-b3-react-background"), children: _jsx(OrderHistory, { mode: mode, onBack: () => {
440
+ const historyView = (_jsx("div", { className: cn("mx-auto flex w-full max-w-2xl flex-col items-center", mode === "modal" && "bg-b3-react-background"), children: _jsx(OrderHistory, { mode: mode, onBack: () => {
441
441
  setActivePanel(PanelView.HISTORY);
442
442
  }, onSelectOrder: onSelectOrder }) }));
443
443
  const orderDetailsView = (_jsxs("div", { className: cn("mx-auto flex w-full flex-col items-center gap-4 p-5", mode === "modal" && "bg-b3-react-background rounded-xl"), children: [oat && (_jsx(OrderDetails, { mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTxs: oat.data.relayTxs, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, cryptoPaymentMethod: activeTab === "fiat" ? CryptoPaymentMethodType.NONE : selectedCryptoPaymentMethod, selectedCryptoPaymentMethod: selectedCryptoPaymentMethod, onPaymentMethodChange: setSelectedCryptoPaymentMethod, onBack: () => {
@@ -515,7 +515,7 @@ function AnySpendCustomInner({ loadOrder, mode = "modal", activeTab: activeTabPr
515
515
  setActivePanel(PanelView.CONFIRM_ORDER);
516
516
  } }) }));
517
517
  // Crypto payment method view
518
- const cryptoPaymentMethodView = (_jsx("div", { className: cn("bg-as-surface-primary mx-auto w-[460px] max-w-full rounded-xl p-4"), children: _jsx(CryptoPaymentMethod, { globalAddress: currentWallet?.wallet?.address, globalWallet: currentWallet?.wallet, selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: () => setActivePanel(PanelView.CONFIRM_ORDER), onSelectPaymentMethod: (method) => {
518
+ const cryptoPaymentMethodView = (_jsx("div", { className: cn("bg-as-surface-primary mx-auto w-[460px] max-w-full rounded-xl p-4"), children: _jsx(CryptoPaymentMethod, { selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: () => setActivePanel(PanelView.CONFIRM_ORDER), onSelectPaymentMethod: (method) => {
519
519
  setSelectedCryptoPaymentMethod(method);
520
520
  setActivePanel(PanelView.CONFIRM_ORDER);
521
521
  } }) }));
@@ -226,7 +226,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
226
226
  setSelectedRecipientAddress(address);
227
227
  setActivePanel(PanelView.MAIN);
228
228
  } }));
229
- const cryptoPaymentMethodView = (_jsx(CryptoPaymentMethod, { globalAddress: globalAddress, globalWallet: undefined, selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: () => setActivePanel(PanelView.MAIN), onSelectPaymentMethod: (method) => {
229
+ const cryptoPaymentMethodView = (_jsx(CryptoPaymentMethod, { selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: () => setActivePanel(PanelView.MAIN), onSelectPaymentMethod: (method) => {
230
230
  setSelectedCryptoPaymentMethod(method);
231
231
  setActivePanel(PanelView.MAIN);
232
232
  } }));
@@ -216,7 +216,7 @@ function AnySpendDepositHypeInner({ loadOrder, mode = "modal", recipientAddress,
216
216
  setSelectedRecipientAddress(address);
217
217
  setActivePanel(PanelView.MAIN);
218
218
  } }));
219
- const cryptoPaymentMethodView = (_jsx(CryptoPaymentMethod, { globalAddress: globalAddress, globalWallet: undefined, selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: () => setActivePanel(PanelView.MAIN), onSelectPaymentMethod: (method) => {
219
+ const cryptoPaymentMethodView = (_jsx(CryptoPaymentMethod, { selectedPaymentMethod: selectedCryptoPaymentMethod, setSelectedPaymentMethod: setSelectedCryptoPaymentMethod, isCreatingOrder: isCreatingOrder, onBack: () => setActivePanel(PanelView.MAIN), onSelectPaymentMethod: (method) => {
220
220
  setSelectedCryptoPaymentMethod(method);
221
221
  setActivePanel(PanelView.MAIN);
222
222
  } }));