@b3dotfun/sdk 0.1.69 → 0.1.70-alpha.10

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 (650) hide show
  1. package/constants/chains/b3Chain.js +3 -1
  2. package/dist/cjs/anyspend/constants/rpc.d.ts +2 -1
  3. package/dist/cjs/anyspend/constants/rpc.js +4 -2
  4. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +2 -0
  5. package/dist/cjs/anyspend/react/components/AnySpend.js +12 -4
  6. package/dist/cjs/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
  7. package/dist/cjs/anyspend/react/components/AnySpendBondKit.js +2 -2
  8. package/dist/cjs/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  9. package/dist/cjs/anyspend/react/components/AnySpendBuySpin.js +2 -2
  10. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  11. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.js +2 -2
  12. package/dist/cjs/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  13. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +7 -3
  14. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  15. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +21 -14
  16. package/dist/cjs/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  17. package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +12 -6
  18. package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
  19. package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.js +2 -2
  20. package/dist/cjs/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  21. package/dist/cjs/anyspend/react/components/AnySpendNFT.js +4 -4
  22. package/dist/cjs/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
  23. package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +3 -3
  24. package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
  25. package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +3 -3
  26. package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  27. package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.js +2 -2
  28. package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
  29. package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.js +2 -2
  30. package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
  31. package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.js +2 -2
  32. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
  33. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +2 -2
  34. package/dist/cjs/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
  35. package/dist/cjs/anyspend/react/components/AnyspendSignatureMint.js +2 -2
  36. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.d.ts +5 -1
  37. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.js +15 -6
  38. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
  39. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckoutTrigger.js +2 -2
  40. package/dist/cjs/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  41. package/dist/cjs/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  42. package/dist/cjs/anyspend/react/components/checkout/CartSummary.js +13 -11
  43. package/dist/cjs/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  44. package/dist/cjs/anyspend/react/components/checkout/CheckoutCartPanel.js +5 -4
  45. package/dist/cjs/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  46. package/dist/cjs/anyspend/react/components/checkout/CheckoutFormPanel.js +2 -2
  47. package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
  48. package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.js +15 -7
  49. package/dist/cjs/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  50. package/dist/cjs/anyspend/react/components/checkout/CheckoutSuccess.js +5 -3
  51. package/dist/cjs/anyspend/react/components/checkout/CryptoPayPanel.js +43 -23
  52. package/dist/cjs/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  53. package/dist/cjs/anyspend/react/components/checkout/DiscountCodeInput.js +3 -6
  54. package/dist/cjs/anyspend/react/components/checkout/FiatCheckoutPanel.js +1 -2
  55. package/dist/cjs/anyspend/react/components/checkout/KycGate.js +1 -2
  56. package/dist/cjs/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  57. package/dist/cjs/anyspend/react/components/checkout/PriceSkeleton.js +9 -0
  58. package/dist/cjs/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  59. package/dist/cjs/anyspend/react/components/checkout/ShippingSelector.js +3 -2
  60. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  61. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +10 -9
  62. package/dist/cjs/anyspend/react/components/common/InsufficientDepositPayment.js +2 -2
  63. package/dist/cjs/anyspend/react/components/common/OrderDetails.js +7 -2
  64. package/dist/cjs/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -2
  65. package/dist/cjs/anyspend/react/components/common/OrderStatus.js +37 -6
  66. package/dist/cjs/anyspend/react/components/common/StepProgress.d.ts +2 -0
  67. package/dist/cjs/anyspend/react/components/common/StepProgress.js +7 -2
  68. package/dist/cjs/anyspend/react/components/common/TransferCryptoDetails.js +2 -2
  69. package/dist/cjs/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +4 -6
  70. package/dist/cjs/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  71. package/dist/cjs/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  72. package/dist/cjs/anyspend/react/hooks/useKycStatus.js +11 -7
  73. package/dist/cjs/anyspend/utils/chain.d.ts +39 -1
  74. package/dist/cjs/anyspend/utils/chain.js +31 -9
  75. package/dist/cjs/anyspend/utils/token.d.ts +2 -0
  76. package/dist/cjs/anyspend/utils/token.js +15 -1
  77. package/dist/cjs/app.shared.d.ts +9 -1
  78. package/dist/cjs/app.shared.js +28 -7
  79. package/dist/cjs/global-account/app.native.d.ts +1 -1
  80. package/dist/cjs/global-account/better-auth-client.d.ts +5161 -0
  81. package/dist/cjs/global-account/better-auth-client.js +42 -0
  82. package/dist/cjs/global-account/bsmnt.d.ts +2 -3
  83. package/dist/cjs/global-account/bsmnt.js +0 -6
  84. package/dist/cjs/global-account/bsmnt.native.d.ts +1 -1
  85. package/dist/cjs/global-account/client-manager.d.ts +7 -5
  86. package/dist/cjs/global-account/client-manager.js +19 -4
  87. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +9 -12
  88. package/dist/cjs/global-account/react/components/B3DynamicModal.js +5 -2
  89. package/dist/cjs/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  90. package/dist/cjs/global-account/react/components/B3Provider/AuthenticationProvider.js +2 -1
  91. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +4 -1
  92. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.js +2 -1
  93. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +22 -2
  94. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +32 -13
  95. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.native.js +6 -8
  96. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  97. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.js +161 -0
  98. package/dist/cjs/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  99. package/dist/cjs/global-account/react/components/B3Provider/LocalSDKProvider.js +3 -1
  100. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  101. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +4 -2
  102. package/dist/cjs/global-account/react/components/LinkAccount/LinkedAccountItem.js +2 -1
  103. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +4 -2
  104. package/dist/cjs/global-account/react/components/ManageAccount/Header.js +36 -4
  105. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +4 -1
  106. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +6 -0
  107. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +17 -6
  108. package/dist/cjs/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  109. package/dist/cjs/global-account/react/components/ManageAccount/SessionDurationContent.js +57 -0
  110. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +14 -29
  111. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +27 -16
  112. package/dist/cjs/global-account/react/components/Send/Send.js +5 -2
  113. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  114. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthResetPassword.js +68 -0
  115. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  116. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +173 -0
  117. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  118. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.js +85 -0
  119. package/dist/cjs/global-account/react/components/SignInWithB3/SignIn.js +14 -4
  120. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  121. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +15 -10
  122. package/dist/cjs/global-account/react/components/SignInWithB3/components/AuthButton.js +10 -1
  123. package/dist/cjs/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  124. package/dist/cjs/global-account/react/components/SignInWithB3/components/PasswordInput.js +10 -0
  125. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  126. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +141 -0
  127. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +96 -15
  128. package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +7 -4
  129. package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.js +21 -6
  130. package/dist/cjs/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.js +2 -1
  131. package/dist/cjs/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  132. package/dist/cjs/global-account/react/components/Toast/ToastContext.js +30 -7
  133. package/dist/cjs/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  134. package/dist/cjs/global-account/react/components/UserAvatar/UserAvatar.js +27 -0
  135. package/dist/cjs/global-account/react/components/custom/Button.d.ts +1 -1
  136. package/dist/cjs/global-account/react/components/index.d.ts +5 -1
  137. package/dist/cjs/global-account/react/components/index.js +12 -5
  138. package/dist/cjs/global-account/react/components/ui/button.d.ts +1 -1
  139. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -1
  140. package/dist/cjs/global-account/react/hooks/index.js +5 -4
  141. package/dist/cjs/global-account/react/hooks/useAuth.d.ts +3 -3
  142. package/dist/cjs/global-account/react/hooks/useAuth.js +26 -15
  143. package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +1 -1
  144. package/dist/cjs/global-account/react/hooks/useAuthentication.js +24 -13
  145. package/dist/cjs/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  146. package/dist/cjs/global-account/react/hooks/useAutoSelectWallet.js +31 -3
  147. package/dist/cjs/global-account/react/hooks/useBetterAuth.d.ts +2608 -0
  148. package/dist/cjs/global-account/react/hooks/useBetterAuth.js +158 -0
  149. package/dist/cjs/global-account/react/hooks/useClient.d.ts +3 -3
  150. package/dist/cjs/global-account/react/hooks/useConnect.d.ts +2 -2
  151. package/dist/cjs/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  152. package/dist/cjs/global-account/react/hooks/useNativeBalance.js +2 -2
  153. package/dist/cjs/global-account/react/hooks/useSiwe.d.ts +1 -1
  154. package/dist/cjs/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  155. package/dist/cjs/global-account/react/hooks/useTWAuth.d.ts +1 -1
  156. package/dist/cjs/global-account/react/hooks/useTWAuth.js +0 -1
  157. package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +20 -17
  158. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +42 -1
  159. package/dist/cjs/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  160. package/dist/cjs/global-account/react/utils/createWagmiConfig.js +5 -24
  161. package/dist/cjs/global-account/react/utils/index.d.ts +0 -1
  162. package/dist/cjs/global-account/react/utils/index.js +0 -1
  163. package/dist/cjs/global-account/react/utils/profileDisplay.js +17 -18
  164. package/dist/cjs/global-account/types/b3-api.types.d.ts +5 -0
  165. package/dist/cjs/global-account/types/feature-flags.d.ts +5 -5
  166. package/dist/cjs/notifications/services/api.js +1 -0
  167. package/dist/cjs/shared/constants/chains/b3Chain.d.ts +0 -48
  168. package/dist/cjs/shared/constants/chains/b3Chain.js +2 -38
  169. package/dist/cjs/shared/constants/chains/b3Viem.d.ts +6 -0
  170. package/dist/cjs/shared/constants/chains/b3Viem.js +19 -0
  171. package/dist/cjs/shared/constants/chains/supported.d.ts +1 -49
  172. package/dist/cjs/shared/constants/chains/supported.js +8 -36
  173. package/dist/cjs/shared/constants/index.d.ts +1 -0
  174. package/dist/cjs/shared/constants/index.js +2 -1
  175. package/dist/cjs/shared/utils/chain-transformers.d.ts +4 -4
  176. package/dist/cjs/shared/utils/chain-transformers.js +38 -37
  177. package/dist/cjs/shared/utils/chains.d.ts +1 -1
  178. package/dist/cjs/shared/utils/chains.js +2 -2
  179. package/dist/cjs/shared/utils/session-duration.d.ts +15 -0
  180. package/dist/cjs/shared/utils/session-duration.js +69 -0
  181. package/dist/cjs/shared/utils/thirdweb-insights.js +2 -2
  182. package/dist/cjs/shared/utils/upload.d.ts +9 -0
  183. package/dist/cjs/shared/utils/upload.js +34 -0
  184. package/dist/cjs/wallet/react/components/ConnectWallet.d.ts +11 -0
  185. package/dist/cjs/wallet/react/components/ConnectWallet.js +467 -0
  186. package/dist/cjs/wallet/react/components/WalletProvider.d.ts +35 -0
  187. package/dist/cjs/wallet/react/components/WalletProvider.js +20 -0
  188. package/dist/cjs/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  189. package/dist/cjs/wallet/react/hooks/useWalletDisconnect.js +22 -0
  190. package/dist/cjs/wallet/react/hooks/useWalletState.d.ts +31 -0
  191. package/dist/cjs/wallet/react/hooks/useWalletState.js +63 -0
  192. package/dist/cjs/wallet/react/index.d.ts +5 -0
  193. package/dist/cjs/wallet/react/index.js +16 -0
  194. package/dist/cjs/wallet/utils/createWalletConfig.d.ts +21 -0
  195. package/dist/cjs/wallet/utils/createWalletConfig.js +24 -0
  196. package/dist/esm/anyspend/constants/rpc.d.ts +2 -1
  197. package/dist/esm/anyspend/constants/rpc.js +3 -1
  198. package/dist/esm/anyspend/react/components/AnySpend.d.ts +2 -0
  199. package/dist/esm/anyspend/react/components/AnySpend.js +12 -4
  200. package/dist/esm/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
  201. package/dist/esm/anyspend/react/components/AnySpendBondKit.js +2 -2
  202. package/dist/esm/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  203. package/dist/esm/anyspend/react/components/AnySpendBuySpin.js +2 -2
  204. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  205. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.js +2 -2
  206. package/dist/esm/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  207. package/dist/esm/anyspend/react/components/AnySpendCustom.js +7 -3
  208. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  209. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +21 -14
  210. package/dist/esm/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  211. package/dist/esm/anyspend/react/components/AnySpendDeposit.js +13 -7
  212. package/dist/esm/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
  213. package/dist/esm/anyspend/react/components/AnySpendDepositUpside.js +2 -2
  214. package/dist/esm/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  215. package/dist/esm/anyspend/react/components/AnySpendNFT.js +4 -4
  216. package/dist/esm/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
  217. package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +4 -4
  218. package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
  219. package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +4 -4
  220. package/dist/esm/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  221. package/dist/esm/anyspend/react/components/AnySpendStakeUpside.js +2 -2
  222. package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
  223. package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.js +2 -2
  224. package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
  225. package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.js +2 -2
  226. package/dist/esm/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
  227. package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +2 -2
  228. package/dist/esm/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
  229. package/dist/esm/anyspend/react/components/AnyspendSignatureMint.js +2 -2
  230. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.d.ts +5 -1
  231. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.js +15 -6
  232. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
  233. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckoutTrigger.js +2 -2
  234. package/dist/esm/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  235. package/dist/esm/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  236. package/dist/esm/anyspend/react/components/checkout/CartSummary.js +13 -11
  237. package/dist/esm/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  238. package/dist/esm/anyspend/react/components/checkout/CheckoutCartPanel.js +5 -4
  239. package/dist/esm/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  240. package/dist/esm/anyspend/react/components/checkout/CheckoutFormPanel.js +2 -2
  241. package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
  242. package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.js +16 -8
  243. package/dist/esm/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  244. package/dist/esm/anyspend/react/components/checkout/CheckoutSuccess.js +5 -3
  245. package/dist/esm/anyspend/react/components/checkout/CryptoPayPanel.js +44 -24
  246. package/dist/esm/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  247. package/dist/esm/anyspend/react/components/checkout/DiscountCodeInput.js +3 -6
  248. package/dist/esm/anyspend/react/components/checkout/FiatCheckoutPanel.js +2 -3
  249. package/dist/esm/anyspend/react/components/checkout/KycGate.js +2 -3
  250. package/dist/esm/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  251. package/dist/esm/anyspend/react/components/checkout/PriceSkeleton.js +6 -0
  252. package/dist/esm/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  253. package/dist/esm/anyspend/react/components/checkout/ShippingSelector.js +3 -2
  254. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  255. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +9 -8
  256. package/dist/esm/anyspend/react/components/common/InsufficientDepositPayment.js +2 -2
  257. package/dist/esm/anyspend/react/components/common/OrderDetails.js +8 -3
  258. package/dist/esm/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -2
  259. package/dist/esm/anyspend/react/components/common/OrderStatus.js +34 -3
  260. package/dist/esm/anyspend/react/components/common/StepProgress.d.ts +2 -0
  261. package/dist/esm/anyspend/react/components/common/StepProgress.js +4 -2
  262. package/dist/esm/anyspend/react/components/common/TransferCryptoDetails.js +2 -2
  263. package/dist/esm/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +5 -7
  264. package/dist/esm/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  265. package/dist/esm/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  266. package/dist/esm/anyspend/react/hooks/useKycStatus.js +9 -5
  267. package/dist/esm/anyspend/utils/chain.d.ts +39 -1
  268. package/dist/esm/anyspend/utils/chain.js +33 -11
  269. package/dist/esm/anyspend/utils/token.d.ts +2 -0
  270. package/dist/esm/anyspend/utils/token.js +13 -0
  271. package/dist/esm/app.shared.d.ts +9 -1
  272. package/dist/esm/app.shared.js +26 -7
  273. package/dist/esm/global-account/app.native.d.ts +1 -1
  274. package/dist/esm/global-account/better-auth-client.d.ts +5161 -0
  275. package/dist/esm/global-account/better-auth-client.js +36 -0
  276. package/dist/esm/global-account/bsmnt.d.ts +2 -3
  277. package/dist/esm/global-account/bsmnt.js +0 -5
  278. package/dist/esm/global-account/bsmnt.native.d.ts +1 -1
  279. package/dist/esm/global-account/client-manager.d.ts +7 -5
  280. package/dist/esm/global-account/client-manager.js +19 -5
  281. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +9 -12
  282. package/dist/esm/global-account/react/components/B3DynamicModal.js +5 -2
  283. package/dist/esm/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  284. package/dist/esm/global-account/react/components/B3Provider/AuthenticationProvider.js +2 -1
  285. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +4 -1
  286. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.js +2 -1
  287. package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +22 -2
  288. package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +28 -9
  289. package/dist/esm/global-account/react/components/B3Provider/B3Provider.native.js +4 -6
  290. package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  291. package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.js +156 -0
  292. package/dist/esm/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  293. package/dist/esm/global-account/react/components/B3Provider/LocalSDKProvider.js +3 -1
  294. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  295. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +4 -2
  296. package/dist/esm/global-account/react/components/LinkAccount/LinkedAccountItem.js +2 -1
  297. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +5 -3
  298. package/dist/esm/global-account/react/components/ManageAccount/Header.js +37 -5
  299. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +4 -1
  300. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +7 -1
  301. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +16 -8
  302. package/dist/esm/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  303. package/dist/esm/global-account/react/components/ManageAccount/SessionDurationContent.js +52 -0
  304. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +16 -31
  305. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +27 -16
  306. package/dist/esm/global-account/react/components/Send/Send.js +5 -2
  307. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  308. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthResetPassword.js +65 -0
  309. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  310. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +170 -0
  311. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  312. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.js +82 -0
  313. package/dist/esm/global-account/react/components/SignInWithB3/SignIn.js +15 -5
  314. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  315. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +15 -10
  316. package/dist/esm/global-account/react/components/SignInWithB3/components/AuthButton.js +11 -2
  317. package/dist/esm/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  318. package/dist/esm/global-account/react/components/SignInWithB3/components/PasswordInput.js +7 -0
  319. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  320. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +138 -0
  321. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +100 -19
  322. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +7 -4
  323. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.js +20 -5
  324. package/dist/esm/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.js +2 -1
  325. package/dist/esm/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  326. package/dist/esm/global-account/react/components/Toast/ToastContext.js +30 -7
  327. package/dist/esm/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  328. package/dist/esm/global-account/react/components/UserAvatar/UserAvatar.js +21 -0
  329. package/dist/esm/global-account/react/components/custom/Button.d.ts +1 -1
  330. package/dist/esm/global-account/react/components/index.d.ts +5 -1
  331. package/dist/esm/global-account/react/components/index.js +5 -1
  332. package/dist/esm/global-account/react/components/ui/button.d.ts +1 -1
  333. package/dist/esm/global-account/react/hooks/index.d.ts +1 -1
  334. package/dist/esm/global-account/react/hooks/index.js +1 -1
  335. package/dist/esm/global-account/react/hooks/useAuth.d.ts +3 -3
  336. package/dist/esm/global-account/react/hooks/useAuth.js +28 -17
  337. package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +1 -1
  338. package/dist/esm/global-account/react/hooks/useAuthentication.js +25 -14
  339. package/dist/esm/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  340. package/dist/esm/global-account/react/hooks/useAutoSelectWallet.js +33 -5
  341. package/dist/esm/global-account/react/hooks/useBetterAuth.d.ts +2608 -0
  342. package/dist/esm/global-account/react/hooks/useBetterAuth.js +150 -0
  343. package/dist/esm/global-account/react/hooks/useClient.d.ts +3 -3
  344. package/dist/esm/global-account/react/hooks/useConnect.d.ts +2 -2
  345. package/dist/esm/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  346. package/dist/esm/global-account/react/hooks/useNativeBalance.js +1 -1
  347. package/dist/esm/global-account/react/hooks/useSiwe.d.ts +1 -1
  348. package/dist/esm/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  349. package/dist/esm/global-account/react/hooks/useTWAuth.d.ts +1 -1
  350. package/dist/esm/global-account/react/hooks/useTWAuth.js +0 -1
  351. package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +20 -17
  352. package/dist/esm/global-account/react/stores/useModalStore.d.ts +42 -1
  353. package/dist/esm/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  354. package/dist/esm/global-account/react/utils/createWagmiConfig.js +5 -23
  355. package/dist/esm/global-account/react/utils/index.d.ts +0 -1
  356. package/dist/esm/global-account/react/utils/index.js +0 -1
  357. package/dist/esm/global-account/react/utils/profileDisplay.js +17 -18
  358. package/dist/esm/global-account/types/b3-api.types.d.ts +5 -0
  359. package/dist/esm/global-account/types/feature-flags.d.ts +5 -5
  360. package/dist/esm/notifications/services/api.js +1 -0
  361. package/dist/esm/shared/constants/chains/b3Chain.d.ts +0 -48
  362. package/dist/esm/shared/constants/chains/b3Chain.js +1 -35
  363. package/dist/esm/shared/constants/chains/b3Viem.d.ts +6 -0
  364. package/dist/esm/shared/constants/chains/b3Viem.js +16 -0
  365. package/dist/esm/shared/constants/chains/supported.d.ts +1 -49
  366. package/dist/esm/shared/constants/chains/supported.js +7 -35
  367. package/dist/esm/shared/constants/index.d.ts +1 -0
  368. package/dist/esm/shared/constants/index.js +1 -0
  369. package/dist/esm/shared/utils/chain-transformers.d.ts +4 -4
  370. package/dist/esm/shared/utils/chain-transformers.js +38 -37
  371. package/dist/esm/shared/utils/chains.d.ts +1 -1
  372. package/dist/esm/shared/utils/chains.js +2 -2
  373. package/dist/esm/shared/utils/session-duration.d.ts +15 -0
  374. package/dist/esm/shared/utils/session-duration.js +64 -0
  375. package/dist/esm/shared/utils/thirdweb-insights.js +2 -2
  376. package/dist/esm/shared/utils/upload.d.ts +9 -0
  377. package/dist/esm/shared/utils/upload.js +31 -0
  378. package/dist/esm/wallet/react/components/ConnectWallet.d.ts +11 -0
  379. package/dist/esm/wallet/react/components/ConnectWallet.js +431 -0
  380. package/dist/esm/wallet/react/components/WalletProvider.d.ts +35 -0
  381. package/dist/esm/wallet/react/components/WalletProvider.js +17 -0
  382. package/dist/esm/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  383. package/dist/esm/wallet/react/hooks/useWalletDisconnect.js +19 -0
  384. package/dist/esm/wallet/react/hooks/useWalletState.d.ts +31 -0
  385. package/dist/esm/wallet/react/hooks/useWalletState.js +60 -0
  386. package/dist/esm/wallet/react/index.d.ts +5 -0
  387. package/dist/esm/wallet/react/index.js +8 -0
  388. package/dist/esm/wallet/utils/createWalletConfig.d.ts +21 -0
  389. package/dist/esm/wallet/utils/createWalletConfig.js +21 -0
  390. package/dist/styles/index.css +1 -1
  391. package/dist/types/anyspend/constants/rpc.d.ts +2 -1
  392. package/dist/types/anyspend/react/components/AnySpend.d.ts +2 -0
  393. package/dist/types/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
  394. package/dist/types/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  395. package/dist/types/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  396. package/dist/types/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  397. package/dist/types/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  398. package/dist/types/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  399. package/dist/types/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
  400. package/dist/types/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  401. package/dist/types/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
  402. package/dist/types/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
  403. package/dist/types/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  404. package/dist/types/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
  405. package/dist/types/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
  406. package/dist/types/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
  407. package/dist/types/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
  408. package/dist/types/anyspend/react/components/checkout/AnySpendCheckout.d.ts +5 -1
  409. package/dist/types/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
  410. package/dist/types/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  411. package/dist/types/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  412. package/dist/types/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  413. package/dist/types/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  414. package/dist/types/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
  415. package/dist/types/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  416. package/dist/types/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  417. package/dist/types/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  418. package/dist/types/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  419. package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  420. package/dist/types/anyspend/react/components/common/StepProgress.d.ts +2 -0
  421. package/dist/types/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  422. package/dist/types/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  423. package/dist/types/anyspend/utils/chain.d.ts +39 -1
  424. package/dist/types/anyspend/utils/token.d.ts +2 -0
  425. package/dist/types/app.shared.d.ts +9 -1
  426. package/dist/types/global-account/app.native.d.ts +1 -1
  427. package/dist/types/global-account/better-auth-client.d.ts +5161 -0
  428. package/dist/types/global-account/bsmnt.d.ts +2 -3
  429. package/dist/types/global-account/bsmnt.native.d.ts +1 -1
  430. package/dist/types/global-account/client-manager.d.ts +7 -5
  431. package/dist/types/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  432. package/dist/types/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +4 -1
  433. package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +22 -2
  434. package/dist/types/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  435. package/dist/types/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  436. package/dist/types/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  437. package/dist/types/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  438. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  439. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  440. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  441. package/dist/types/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  442. package/dist/types/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  443. package/dist/types/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  444. package/dist/types/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +7 -4
  445. package/dist/types/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  446. package/dist/types/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  447. package/dist/types/global-account/react/components/custom/Button.d.ts +1 -1
  448. package/dist/types/global-account/react/components/index.d.ts +5 -1
  449. package/dist/types/global-account/react/components/ui/button.d.ts +1 -1
  450. package/dist/types/global-account/react/hooks/index.d.ts +1 -1
  451. package/dist/types/global-account/react/hooks/useAuth.d.ts +3 -3
  452. package/dist/types/global-account/react/hooks/useAuthentication.d.ts +1 -1
  453. package/dist/types/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  454. package/dist/types/global-account/react/hooks/useBetterAuth.d.ts +2608 -0
  455. package/dist/types/global-account/react/hooks/useClient.d.ts +3 -3
  456. package/dist/types/global-account/react/hooks/useConnect.d.ts +2 -2
  457. package/dist/types/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  458. package/dist/types/global-account/react/hooks/useSiwe.d.ts +1 -1
  459. package/dist/types/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  460. package/dist/types/global-account/react/hooks/useTWAuth.d.ts +1 -1
  461. package/dist/types/global-account/react/stores/useModalStore.d.ts +42 -1
  462. package/dist/types/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  463. package/dist/types/global-account/react/utils/index.d.ts +0 -1
  464. package/dist/types/global-account/types/b3-api.types.d.ts +5 -0
  465. package/dist/types/global-account/types/feature-flags.d.ts +5 -5
  466. package/dist/types/shared/constants/chains/b3Chain.d.ts +0 -48
  467. package/dist/types/shared/constants/chains/b3Viem.d.ts +6 -0
  468. package/dist/types/shared/constants/chains/supported.d.ts +1 -49
  469. package/dist/types/shared/constants/index.d.ts +1 -0
  470. package/dist/types/shared/utils/chain-transformers.d.ts +4 -4
  471. package/dist/types/shared/utils/chains.d.ts +1 -1
  472. package/dist/types/shared/utils/session-duration.d.ts +15 -0
  473. package/dist/types/shared/utils/upload.d.ts +9 -0
  474. package/dist/types/wallet/react/components/ConnectWallet.d.ts +11 -0
  475. package/dist/types/wallet/react/components/WalletProvider.d.ts +35 -0
  476. package/dist/types/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  477. package/dist/types/wallet/react/hooks/useWalletState.d.ts +31 -0
  478. package/dist/types/wallet/react/index.d.ts +5 -0
  479. package/dist/types/wallet/utils/createWalletConfig.d.ts +21 -0
  480. package/node_modules/@b3/chain-registry/chains.json +1160 -0
  481. package/node_modules/@b3/chain-registry/package.json +14 -0
  482. package/node_modules/@b3/chain-registry/src/index.ts +169 -0
  483. package/node_modules/@b3/chain-registry/tsconfig.json +16 -0
  484. package/package.json +90 -33
  485. package/src/anyspend/constants/rpc.ts +3 -1
  486. package/src/anyspend/react/components/AnySpend.tsx +24 -12
  487. package/src/anyspend/react/components/AnySpendBondKit.tsx +2 -0
  488. package/src/anyspend/react/components/AnySpendBuySpin.tsx +3 -0
  489. package/src/anyspend/react/components/AnySpendCollectorClubPurchase.tsx +6 -0
  490. package/src/anyspend/react/components/AnySpendCustom.tsx +12 -2
  491. package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +29 -14
  492. package/src/anyspend/react/components/AnySpendDeposit.tsx +51 -34
  493. package/src/anyspend/react/components/AnySpendDepositUpside.tsx +3 -0
  494. package/src/anyspend/react/components/AnySpendNFT.tsx +6 -2
  495. package/src/anyspend/react/components/AnySpendStakeB3.tsx +5 -2
  496. package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +5 -2
  497. package/src/anyspend/react/components/AnySpendStakeUpside.tsx +4 -0
  498. package/src/anyspend/react/components/AnySpendStakeUpsideExactIn.tsx +3 -0
  499. package/src/anyspend/react/components/AnySpendWorkflowTrigger.tsx +4 -0
  500. package/src/anyspend/react/components/AnyspendDepositHype.tsx +3 -0
  501. package/src/anyspend/react/components/AnyspendSignatureMint.tsx +3 -0
  502. package/src/anyspend/react/components/checkout/AnySpendCheckout.tsx +29 -5
  503. package/src/anyspend/react/components/checkout/AnySpendCheckoutTrigger.tsx +4 -0
  504. package/src/anyspend/react/components/checkout/CartItemRow.tsx +2 -1
  505. package/src/anyspend/react/components/checkout/CartSummary.tsx +24 -20
  506. package/src/anyspend/react/components/checkout/CheckoutCartPanel.tsx +12 -3
  507. package/src/anyspend/react/components/checkout/CheckoutFormPanel.tsx +5 -0
  508. package/src/anyspend/react/components/checkout/CheckoutPaymentPanel.tsx +99 -83
  509. package/src/anyspend/react/components/checkout/CheckoutSuccess.tsx +13 -3
  510. package/src/anyspend/react/components/checkout/CryptoPayPanel.tsx +45 -27
  511. package/src/anyspend/react/components/checkout/DiscountCodeInput.tsx +15 -5
  512. package/src/anyspend/react/components/checkout/FiatCheckoutPanel.tsx +9 -3
  513. package/src/anyspend/react/components/checkout/KycGate.tsx +8 -3
  514. package/src/anyspend/react/components/checkout/PriceSkeleton.tsx +19 -0
  515. package/src/anyspend/react/components/checkout/ShippingSelector.tsx +5 -1
  516. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +10 -8
  517. package/src/anyspend/react/components/common/InsufficientDepositPayment.tsx +2 -2
  518. package/src/anyspend/react/components/common/OrderDetails.tsx +10 -2
  519. package/src/anyspend/react/components/common/OrderDetailsCollapsible.tsx +4 -4
  520. package/src/anyspend/react/components/common/OrderStatus.tsx +38 -3
  521. package/src/anyspend/react/components/common/StepProgress.tsx +15 -5
  522. package/src/anyspend/react/components/common/TransferCryptoDetails.tsx +2 -2
  523. package/src/anyspend/react/hooks/useAnyspendCreateOnrampOrder.ts +5 -7
  524. package/src/anyspend/react/hooks/useAnyspendQuote.ts +13 -13
  525. package/src/anyspend/react/hooks/useCreateDepositFirstOrder.ts +4 -4
  526. package/src/anyspend/react/hooks/useKycStatus.ts +8 -5
  527. package/src/anyspend/types/api_req_res.ts +10 -5
  528. package/src/anyspend/utils/chain.ts +35 -10
  529. package/src/anyspend/utils/token.ts +14 -0
  530. package/src/app.shared.ts +29 -8
  531. package/src/global-account/app.native.ts +5 -1
  532. package/src/global-account/better-auth-client.ts +43 -0
  533. package/src/global-account/bsmnt.native.ts +5 -1
  534. package/src/global-account/bsmnt.ts +9 -8
  535. package/src/global-account/client-manager.ts +41 -9
  536. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +9 -12
  537. package/src/global-account/react/components/B3DynamicModal.tsx +5 -2
  538. package/src/global-account/react/components/B3Provider/AuthenticationProvider.tsx +4 -0
  539. package/src/global-account/react/components/B3Provider/B3ConfigProvider.tsx +6 -0
  540. package/src/global-account/react/components/B3Provider/B3Provider.native.tsx +16 -21
  541. package/src/global-account/react/components/B3Provider/B3Provider.tsx +94 -37
  542. package/src/global-account/react/components/B3Provider/BetterAuthProvider.tsx +173 -0
  543. package/src/global-account/react/components/B3Provider/LocalSDKProvider.tsx +5 -0
  544. package/src/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.tsx +17 -10
  545. package/src/global-account/react/components/LinkAccount/LinkedAccountItem.tsx +2 -1
  546. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +18 -14
  547. package/src/global-account/react/components/ManageAccount/Header.tsx +71 -4
  548. package/src/global-account/react/components/ManageAccount/HomeContent.tsx +25 -19
  549. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +13 -0
  550. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +40 -15
  551. package/src/global-account/react/components/ManageAccount/SessionDurationContent.tsx +107 -0
  552. package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +35 -54
  553. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +31 -22
  554. package/src/global-account/react/components/Send/Send.tsx +8 -5
  555. package/src/global-account/react/components/SignInWithB3/BetterAuthResetPassword.tsx +145 -0
  556. package/src/global-account/react/components/SignInWithB3/BetterAuthSignIn.tsx +446 -0
  557. package/src/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.tsx +155 -0
  558. package/src/global-account/react/components/SignInWithB3/SignIn.tsx +42 -13
  559. package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +21 -8
  560. package/src/global-account/react/components/SignInWithB3/components/AuthButton.tsx +21 -2
  561. package/src/global-account/react/components/SignInWithB3/components/PasswordInput.tsx +62 -0
  562. package/src/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.tsx +315 -0
  563. package/src/global-account/react/components/SignInWithB3/steps/LoginStepCustom.tsx +207 -54
  564. package/src/global-account/react/components/SignInWithB3/utils/signInUtils.ts +26 -8
  565. package/src/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.tsx +2 -1
  566. package/src/global-account/react/components/Toast/ToastContext.tsx +39 -7
  567. package/src/global-account/react/components/UserAvatar/UserAvatar.tsx +45 -0
  568. package/src/global-account/react/components/index.ts +11 -1
  569. package/src/global-account/react/components/ui/button.tsx +1 -2
  570. package/src/global-account/react/hooks/index.ts +1 -1
  571. package/src/global-account/react/hooks/useAuth.ts +30 -19
  572. package/src/global-account/react/hooks/useAuthentication.ts +26 -15
  573. package/src/global-account/react/hooks/useAutoSelectWallet.ts +40 -6
  574. package/src/global-account/react/hooks/useBetterAuth.ts +192 -0
  575. package/src/global-account/react/hooks/useClient.ts +11 -2
  576. package/src/global-account/react/hooks/useConnect.tsx +2 -2
  577. package/src/global-account/react/hooks/useNativeBalance.tsx +1 -1
  578. package/src/global-account/react/hooks/useSiwe.native.tsx +1 -1
  579. package/src/global-account/react/hooks/useSiwe.tsx +1 -1
  580. package/src/global-account/react/hooks/useTWAuth.tsx +1 -2
  581. package/src/global-account/react/hooks/useUnifiedChainSwitchAndExecute.ts +22 -20
  582. package/src/global-account/react/stores/useModalStore.ts +43 -0
  583. package/src/global-account/react/utils/createWagmiConfig.tsx +6 -25
  584. package/src/global-account/react/utils/index.ts +0 -1
  585. package/src/global-account/react/utils/profileDisplay.ts +21 -19
  586. package/src/global-account/types/b3-api.types.ts +5 -1
  587. package/src/notifications/services/api.ts +1 -0
  588. package/src/shared/constants/chains/b3Chain.ts +1 -40
  589. package/src/shared/constants/chains/b3Viem.ts +18 -0
  590. package/src/shared/constants/chains/supported.ts +9 -48
  591. package/src/shared/constants/index.ts +2 -0
  592. package/src/shared/utils/chain-transformers.ts +41 -39
  593. package/src/shared/utils/chains.ts +3 -2
  594. package/src/shared/utils/session-duration.ts +64 -0
  595. package/src/shared/utils/thirdweb-insights.ts +2 -2
  596. package/src/shared/utils/upload.ts +48 -0
  597. package/src/styles/index.css +27 -0
  598. package/src/types/torph.d.ts +4 -0
  599. package/src/wallet/__tests__/createWalletConfig.test.ts +39 -0
  600. package/src/wallet/react/components/ConnectWallet.tsx +665 -0
  601. package/src/wallet/react/components/WalletProvider.tsx +64 -0
  602. package/src/wallet/react/hooks/useWalletDisconnect.ts +22 -0
  603. package/src/wallet/react/hooks/useWalletState.ts +93 -0
  604. package/src/wallet/react/index.ts +10 -0
  605. package/src/wallet/utils/createWalletConfig.ts +39 -0
  606. package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  607. package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.js +0 -54
  608. package/dist/cjs/global-account/react/components/ProfileAvatar.d.ts +0 -0
  609. package/dist/cjs/global-account/react/components/ProfileAvatar.js +0 -127
  610. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  611. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +0 -46
  612. package/dist/cjs/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  613. package/dist/cjs/global-account/react/hooks/useHandleConnectWithPrivy.js +0 -70
  614. package/dist/cjs/global-account/react/hooks/useRPMToken.d.ts +0 -7
  615. package/dist/cjs/global-account/react/hooks/useRPMToken.js +0 -11
  616. package/dist/cjs/global-account/react/utils/updateAvatar.d.ts +0 -4
  617. package/dist/cjs/global-account/react/utils/updateAvatar.js +0 -54
  618. package/dist/cjs/global-account/types/chain-networks.d.ts +0 -44
  619. package/dist/cjs/global-account/types/chain-networks.js +0 -48
  620. package/dist/cjs/shared/generated/chain-networks.json +0 -684
  621. package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  622. package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.js +0 -51
  623. package/dist/esm/global-account/react/components/ProfileAvatar.d.ts +0 -0
  624. package/dist/esm/global-account/react/components/ProfileAvatar.js +0 -127
  625. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  626. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +0 -43
  627. package/dist/esm/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  628. package/dist/esm/global-account/react/hooks/useHandleConnectWithPrivy.js +0 -67
  629. package/dist/esm/global-account/react/hooks/useRPMToken.d.ts +0 -7
  630. package/dist/esm/global-account/react/hooks/useRPMToken.js +0 -8
  631. package/dist/esm/global-account/react/utils/updateAvatar.d.ts +0 -4
  632. package/dist/esm/global-account/react/utils/updateAvatar.js +0 -18
  633. package/dist/esm/global-account/types/chain-networks.d.ts +0 -44
  634. package/dist/esm/global-account/types/chain-networks.js +0 -45
  635. package/dist/esm/shared/generated/chain-networks.json +0 -684
  636. package/dist/types/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  637. package/dist/types/global-account/react/components/ProfileAvatar.d.ts +0 -0
  638. package/dist/types/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  639. package/dist/types/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  640. package/dist/types/global-account/react/hooks/useRPMToken.d.ts +0 -7
  641. package/dist/types/global-account/react/utils/updateAvatar.d.ts +0 -4
  642. package/dist/types/global-account/types/chain-networks.d.ts +0 -44
  643. package/src/global-account/react/components/AvatarCreator/AvatarCreator.tsx +0 -90
  644. package/src/global-account/react/components/ProfileAvatar.tsx +0 -138
  645. package/src/global-account/react/components/SignInWithB3/SignInWithB3Privy.tsx +0 -63
  646. package/src/global-account/react/hooks/useHandleConnectWithPrivy.tsx +0 -79
  647. package/src/global-account/react/hooks/useRPMToken.ts +0 -17
  648. package/src/global-account/react/utils/updateAvatar.ts +0 -21
  649. package/src/global-account/types/chain-networks.ts +0 -54
  650. package/src/shared/generated/chain-networks.json +0 -684
@@ -5,6 +5,14 @@ export declare enum CryptoPaymentMethodType {
5
5
  GLOBAL_WALLET = "global_wallet",
6
6
  TRANSFER_CRYPTO = "transfer_crypto"
7
7
  }
8
+ export declare const recommendWallets: (import("thirdweb/wallets").Wallet<"io.metamask"> | import("thirdweb/wallets").Wallet<"com.coinbase.wallet"> | import("thirdweb/wallets").Wallet<"me.rainbow"> | import("thirdweb/wallets").Wallet<"io.rabby">)[];
9
+ export declare const connectModalConfig: {
10
+ client: import("thirdweb").ThirdwebClient;
11
+ setActive: false;
12
+ size: "compact";
13
+ showThirdwebBranding: boolean;
14
+ wallets: (import("thirdweb/wallets").Wallet<"io.metamask"> | import("thirdweb/wallets").Wallet<"com.coinbase.wallet"> | import("thirdweb/wallets").Wallet<"me.rainbow"> | import("thirdweb/wallets").Wallet<"io.rabby">)[];
15
+ };
8
16
  interface CryptoPaymentMethodProps {
9
17
  selectedPaymentMethod: CryptoPaymentMethodType;
10
18
  setSelectedPaymentMethod: (method: CryptoPaymentMethodType) => void;
@@ -15,12 +15,19 @@ export var CryptoPaymentMethodType;
15
15
  CryptoPaymentMethodType["GLOBAL_WALLET"] = "global_wallet";
16
16
  CryptoPaymentMethodType["TRANSFER_CRYPTO"] = "transfer_crypto";
17
17
  })(CryptoPaymentMethodType || (CryptoPaymentMethodType = {}));
18
- const recommendWallets = [
18
+ export const recommendWallets = [
19
19
  createWallet("io.metamask"),
20
20
  createWallet("com.coinbase.wallet"),
21
21
  createWallet("me.rainbow"),
22
22
  createWallet("io.rabby"),
23
23
  ];
24
+ export const connectModalConfig = {
25
+ client,
26
+ setActive: false,
27
+ size: "compact",
28
+ showThirdwebBranding: false,
29
+ wallets: recommendWallets,
30
+ };
24
31
  export function CryptoPaymentMethod({ selectedPaymentMethod, setSelectedPaymentMethod, isCreatingOrder, onBack, onSelectPaymentMethod, classes, }) {
25
32
  const { connectedEOAWallet, connectedSmartWallet } = useAccountWallet();
26
33
  const { disconnect } = useDisconnect();
@@ -40,13 +47,7 @@ export function CryptoPaymentMethod({ selectedPaymentMethod, setSelectedPaymentM
40
47
  if (connectedEOAWallet) {
41
48
  disconnect(connectedEOAWallet);
42
49
  }
43
- const wallet = await openConnectModal({
44
- client,
45
- setActive: false,
46
- size: "compact",
47
- showThirdwebBranding: false,
48
- wallets: recommendWallets,
49
- });
50
+ const wallet = await openConnectModal(connectModalConfig);
50
51
  if (wallet) {
51
52
  setSelectedPaymentMethod(CryptoPaymentMethodType.CONNECT_WALLET);
52
53
  onSelectPaymentMethod(CryptoPaymentMethodType.CONNECT_WALLET);
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import { ALL_CHAINS, getChainName, getPaymentUrl, RELAY_SOLANA_MAINNET_CHAIN_ID, ZERO_ADDRESS, } from "../../../../anyspend/index.js";
4
4
  import { Badge, CopyToClipboard, ShinyButton, TextLoop } from "../../../../global-account/react/index.js";
5
5
  import { cn } from "../../../../shared/utils/index.js";
6
- import { b3 } from "viem/chains";
6
+ import { b3Viem } from "../../../../shared/constants/chains/b3Viem.js";
7
7
  import { toast } from "../../../../global-account/react/index.js";
8
8
  import { formatUnits } from "../../../../shared/utils/number.js";
9
9
  import { WalletCoinbase, WalletMetamask, WalletPhantom, WalletTrust } from "@web3icons/react";
@@ -14,7 +14,7 @@ export function InsufficientDepositPayment({ order, srcToken, depositDeficit, ph
14
14
  const depositDeficitAmount = formatUnits(depositDeficit.toString(), srcToken.decimals);
15
15
  return (_jsxs("div", { className: "insufficient-deposit-payment relative flex w-full flex-1 flex-col", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("span", { className: "insufficient-deposit-payment-text text-as-primary/50", children: "Please send remaining" }), _jsxs("div", { className: "flex w-full flex-wrap items-center gap-6 sm:justify-between sm:gap-0", children: [_jsx(CopyToClipboard, { text: depositDeficitAmount, onCopy: () => {
16
16
  toast.success("Copied to clipboard");
17
- }, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("strong", { className: "border-as-brand text-as-primary border-b-2 pb-1 text-2xl font-semibold sm:text-xl", children: [depositDeficitAmount, " ", srcToken.symbol] }), _jsx(Copy, { className: "text-as-primary/50 hover:text-as-primary h-5 w-5 cursor-pointer transition-all duration-200" })] }) }), _jsxs(Badge, { variant: "outline", className: "flex h-10 items-center gap-2 px-3 py-1 pr-2 text-sm", children: ["on ", getChainName(order.srcChain), _jsx("img", { src: ALL_CHAINS[order.srcChain].logoUrl, alt: getChainName(order.srcChain), className: cn("h-6 rounded-full", order.srcChain === b3.id && "h-5 rounded-none") })] })] }), _jsx("span", { className: "text-as-primary/50 mb-1 mt-2", children: " to the address:" })] }), _jsx(CopyToClipboard, { text: order.globalAddress, onCopy: () => {
17
+ }, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("strong", { className: "border-as-brand text-as-primary border-b-2 pb-1 text-2xl font-semibold sm:text-xl", children: [depositDeficitAmount, " ", srcToken.symbol] }), _jsx(Copy, { className: "text-as-primary/50 hover:text-as-primary h-5 w-5 cursor-pointer transition-all duration-200" })] }) }), _jsxs(Badge, { variant: "outline", className: "flex h-10 items-center gap-2 px-3 py-1 pr-2 text-sm", children: ["on ", getChainName(order.srcChain), _jsx("img", { src: ALL_CHAINS[order.srcChain].logoUrl, alt: getChainName(order.srcChain), className: cn("h-6 rounded-full", order.srcChain === b3Viem.id && "h-5 rounded-none") })] })] }), _jsx("span", { className: "text-as-primary/50 mb-1 mt-2", children: " to the address:" })] }), _jsx(CopyToClipboard, { text: order.globalAddress, onCopy: () => {
18
18
  toast.success("Copied to clipboard");
19
19
  }, children: _jsxs("div", { className: "payment-address bg-b3-react-background border-b3-react-border hover:border-as-brand group flex cursor-pointer items-center justify-between gap-4 rounded-lg border p-3 px-4 shadow-md transition-all duration-200", children: [_jsx("div", { className: "text-as-primary overflow-hidden text-ellipsis whitespace-nowrap text-sm", children: order.globalAddress }), _jsx(Copy, { className: "group-hover:text-as-brand text-as-primary/50 h-5 w-5 cursor-pointer transition-all duration-200" })] }) }), _jsxs("div", { className: "payment-buttons mt-4 flex w-full flex-col items-center gap-2", children: [_jsx(ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", className: "flex w-5/6 max-w-[400px] items-center gap-2 sm:px-0", disabled: txLoading || isSwitchingOrExecuting, onClick: onPayment, children: txLoading ? (_jsxs(_Fragment, { children: ["Transaction Pending", _jsx(Loader2, { className: "ml-2 h-5 w-5 animate-spin" })] })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "whitespace-nowrap pl-4 text-lg md:text-sm", children: order.srcChain === RELAY_SOLANA_MAINNET_CHAIN_ID && phantomWalletAddress
20
20
  ? "Pay from Phantom Wallet"
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { ALL_CHAINS, getChainName, getErrorDisplay, getExplorerTxUrl, getPaymentUrl, getStatusDisplay, isNativeToken, RELAY_SOLANA_MAINNET_CHAIN_ID, ZERO_ADDRESS, } from "../../../../anyspend/index.js";
4
- import { Badge, Button, CopyToClipboard, ShinyButton, Skeleton, TextLoop, TextShimmer, useAccountWallet, useB3Config, useModalStore, useProfile, useUnifiedChainSwitchAndExecute, } from "../../../../global-account/react/index.js";
4
+ import { Badge, Button, CopyToClipboard, ShinyButton, Skeleton, TextLoop, TextShimmer, useAccountWallet, useB3Config, useModalStore, useProfile, useToastContext, useUnifiedChainSwitchAndExecute, } from "../../../../global-account/react/index.js";
5
5
  import { useRouter, useSearchParams } from "../../../../shared/react/hooks/index.js";
6
6
  import { cn } from "../../../../shared/utils/index.js";
7
7
  import centerTruncate from "../../../../shared/utils/centerTruncate.js";
@@ -14,7 +14,7 @@ import { QRCodeSVG } from "qrcode.react";
14
14
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
15
15
  import TimeAgo from "react-timeago";
16
16
  import { encodeFunctionData, erc20Abi } from "viem";
17
- import { b3 } from "viem/chains";
17
+ import { b3Viem } from "../../../../shared/constants/chains/b3Viem.js";
18
18
  import { useWaitForTransactionReceipt, useWalletClient } from "wagmi";
19
19
  import { usePhantomTransfer } from "../../hooks/usePhantomTransfer.js";
20
20
  import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./Accordion.js";
@@ -134,6 +134,11 @@ function roundTokenAmount(amount) {
134
134
  export const OrderDetails = memo(function OrderDetails({ mode = "modal", order, depositTxs, relayTxs, executeTx, refundTxs, cryptoPaymentMethod, selectedCryptoPaymentMethod, onPaymentMethodChange, onBack, disableUrlParamManagement = false, points, returnToHomeUrl, returnHomeLabel, classes, }) {
135
135
  const router = useRouter();
136
136
  const searchParams = useSearchParams();
137
+ const { setHeaderMode } = useToastContext();
138
+ useEffect(() => {
139
+ setHeaderMode(true);
140
+ return () => setHeaderMode(false);
141
+ }, [setHeaderMode]);
137
142
  // Get theme from B3Provider context
138
143
  const { theme } = useB3Config();
139
144
  const colorMode = theme || "light";
@@ -455,7 +460,7 @@ export const OrderDetails = memo(function OrderDetails({ mode = "modal", order,
455
460
  // Transfer Crypto Payment Method - Show new card-based UI
456
461
  _jsx(TransferCryptoDetails, { order: order, recipientName: recipientName, srcToken: srcToken, dstToken: dstToken, tournament: tournament, nft: nft, onBack: handleBack, onPaymentMethodChange: onPaymentMethodChange })) : (_jsxs("div", { className: "order-details-payment-section relative flex w-full flex-1 flex-col", children: [_jsxs("div", { className: "order-details-amount-section flex flex-col gap-1", children: [_jsx("span", { className: "text-as-primary/50 order-details-amount-label", children: "Please send" }), _jsxs("div", { className: "order-details-amount-container flex w-full flex-wrap items-center gap-6 sm:justify-between sm:gap-0", children: [_jsx(CopyToClipboard, { text: roundedUpSrcAmount, onCopy: () => {
457
462
  toast.success("Copied to clipboard");
458
- }, children: _jsxs("div", { className: "order-details-amount-display flex items-center gap-2", children: [_jsxs("strong", { className: "border-as-brand text-as-primary order-details-amount-text border-b-2 pb-1 text-2xl font-semibold sm:text-xl", children: [roundedUpSrcAmount, " ", srcToken.symbol] }), _jsx(Copy, { className: "text-as-primary/50 hover:text-as-primary order-details-copy-icon h-5 w-5 cursor-pointer transition-all duration-200" })] }) }), _jsxs(Badge, { variant: "outline", className: "flex h-10 items-center gap-2 px-3 py-1 pr-2 text-sm", children: ["on ", getChainName(order.srcChain), _jsx("img", { src: ALL_CHAINS[order.srcChain].logoUrl, alt: getChainName(order.srcChain), className: cn("h-6 rounded-full", order.srcChain === b3.id && "h-5 rounded-none") })] })] }), _jsx("span", { className: "text-as-primary/50 order-details-address-label mb-1 mt-2", children: " to the address:" })] }), _jsx(CopyToClipboard, { text: order.globalAddress, onCopy: () => {
463
+ }, children: _jsxs("div", { className: "order-details-amount-display flex items-center gap-2", children: [_jsxs("strong", { className: "border-as-brand text-as-primary order-details-amount-text border-b-2 pb-1 text-2xl font-semibold sm:text-xl", children: [roundedUpSrcAmount, " ", srcToken.symbol] }), _jsx(Copy, { className: "text-as-primary/50 hover:text-as-primary order-details-copy-icon h-5 w-5 cursor-pointer transition-all duration-200" })] }) }), _jsxs(Badge, { variant: "outline", className: "flex h-10 items-center gap-2 px-3 py-1 pr-2 text-sm", children: ["on ", getChainName(order.srcChain), _jsx("img", { src: ALL_CHAINS[order.srcChain].logoUrl, alt: getChainName(order.srcChain), className: cn("h-6 rounded-full", order.srcChain === b3Viem.id && "h-5 rounded-none") })] })] }), _jsx("span", { className: "text-as-primary/50 order-details-address-label mb-1 mt-2", children: " to the address:" })] }), _jsx(CopyToClipboard, { text: order.globalAddress, onCopy: () => {
459
464
  toast.success("Copied to clipboard");
460
465
  }, children: _jsxs("div", { className: "bg-b3-react-background border-b3-react-border hover:border-as-brand order-details-address-container group flex cursor-pointer items-center justify-between gap-4 rounded-lg border p-3 px-4 shadow-md transition-all duration-200", children: [_jsx("div", { className: "text-as-primary order-details-address-text overflow-hidden text-ellipsis whitespace-nowrap text-sm", children: order.globalAddress }), _jsx(Copy, { className: "group-hover:text-as-brand text-as-primary/50 order-details-address-copy-icon h-5 w-5 cursor-pointer transition-all duration-200" })] }) }), (account?.address || phantomWalletAddress) && !showQRCode ? (_jsx("div", { className: "mb-4 mt-8 flex w-full flex-col items-center gap-4", children: _jsxs(_Fragment, { children: [_jsxs("div", { className: "relative flex w-full flex-col items-center gap-2", children: [_jsx(ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", className: "flex w-5/6 items-center gap-2 sm:px-0", disabled: txLoading || isSwitchingOrExecuting, onClick: handlePayment, children: txLoading ? (_jsxs(_Fragment, { children: ["Transaction Pending", _jsx(Loader2, { className: "ml-2 h-5 w-5 animate-spin" })] })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "pl-4 text-lg md:text-sm", children: order.srcChain === RELAY_SOLANA_MAINNET_CHAIN_ID && phantomWalletAddress
461
466
  ? "Pay from Phantom Wallet"
@@ -9,7 +9,7 @@ import { formatTokenAmount } from "../../../../shared/utils/number.js";
9
9
  import { ChevronDown, Copy } from "lucide-react";
10
10
  import { motion } from "motion/react";
11
11
  import { memo, useState } from "react";
12
- import { b3 } from "viem/chains";
12
+ import { b3Viem } from "../../../../shared/constants/chains/b3Viem.js";
13
13
  export const OrderDetailsCollapsible = memo(function OrderDetailsCollapsible({ order, dstToken, tournament, nft, recipientName, formattedExpectedDstAmount, className, showTotal = false, totalAmount, points, isOpen, onOpenChange, classes, }) {
14
14
  const [internalOpen, setInternalOpen] = useState(true);
15
15
  // Use controlled mode if isOpen is provided, otherwise use internal state
@@ -39,5 +39,5 @@ export const OrderDetailsCollapsible = memo(function OrderDetailsCollapsible({ o
39
39
  ? order.metadata.action
40
40
  ? capitalizeFirstLetter(order.metadata.action)
41
41
  : "Contract execution"
42
- : "" }), _jsxs("div", { className: "order-details-expected-value flex flex-wrap items-center justify-end gap-2", children: [order.type === "swap" || order.type === "deposit_first" ? (_jsx("span", { className: "order-details-amount-text", children: `~${finalFormattedExpectedDstAmount} ${dstToken.symbol}` })) : order.type === "mint_nft" ? (_jsxs("div", { className: "order-details-nft-info flex items-center gap-2", children: [_jsx("img", { src: nft?.imageUrl, alt: nft?.name || "NFT", className: "order-details-nft-image h-5 w-5" }), _jsx("div", { className: "order-details-nft-name", children: nft?.name || "NFT" })] })) : order.type === "join_tournament" || order.type === "fund_tournament" ? (_jsxs("div", { className: "order-details-tournament-info flex items-center gap-2", children: [_jsx("img", { src: tournament?.imageUrl, alt: tournament?.name || "Tournament", className: "order-details-tournament-image h-5 w-5" }), _jsx("div", { className: "order-details-tournament-name", children: tournament?.name || "Tournament" })] })) : order.type === "hype_duel" ? (_jsx("div", { className: "order-details-hype-info flex items-center gap-2", children: _jsxs("div", { className: "order-details-hype-amount", children: [formatTokenAmount(BigInt(order.payload.expectedDstAmount), dstToken.decimals), " HYPE"] }) })) : order.type === "custom" || order.type === "custom_exact_in" ? (_jsx("span", { className: "order-details-amount-text", children: `~${finalFormattedExpectedDstAmount} ${dstToken.symbol}` })) : null, _jsxs("div", { className: "order-details-chain-info text-as-primary/50 flex items-center gap-2", children: [_jsxs("span", { className: "order-details-chain-text", children: ["on ", order.dstChain !== b3.id && getChainName(order.dstChain)] }), _jsx("img", { src: ALL_CHAINS[order.dstChain].logoUrl, alt: getChainName(order.dstChain), className: cn("order-details-chain-logo h-3", order.dstChain !== b3.id && "w-3 rounded-full", order.dstChain === b3.id && "h-4") })] })] })] }), points !== undefined && points !== null && (_jsxs(_Fragment, { children: [_jsx("div", { className: "order-details-divider divider w-full" }), _jsxs("div", { className: "order-details-points-section flex w-full justify-between gap-4", children: [_jsx("div", { className: "order-details-points-label text-as-tertiary", children: "Points" }), _jsxs("div", { className: "order-details-points-value text-as-brand font-semibold", children: ["+", formatNumber(points), " pts"] })] })] })), _jsx("div", { className: "order-details-divider divider w-full" }), _jsxs("div", { className: "order-details-id-total-section flex w-full justify-between gap-4", children: [_jsx("div", { className: "order-details-id-total-label text-as-tertiary", children: showTotal ? "Total (included fee)" : "Order ID" }), _jsx("div", { className: "order-details-id-total-value text-as-primary overflow-hidden text-ellipsis whitespace-nowrap", children: showTotal && totalAmount ? totalAmount : order.id })] })] }) })) : (_jsxs("div", { className: "order-details-collapsed flex w-full items-center", children: [_jsx("div", { className: "order-details-collapsed-divider divider w-full" }), _jsx("button", { className: "order-details-collapsed-button whitespace-nowrap text-sm", onClick: () => setShowOrderDetails(true), children: "Order Details" }), _jsx(ChevronDown, { className: "order-details-collapsed-chevron text-as-primary mx-1 h-4 min-h-4 w-4 min-w-4" }), _jsx("div", { className: "order-details-collapsed-divider divider w-full" })] })) }));
42
+ : "" }), _jsxs("div", { className: "order-details-expected-value flex flex-wrap items-center justify-end gap-2", children: [order.type === "swap" || order.type === "deposit_first" ? (_jsx("span", { className: "order-details-amount-text", children: `~${finalFormattedExpectedDstAmount} ${dstToken.symbol}` })) : order.type === "mint_nft" ? (_jsxs("div", { className: "order-details-nft-info flex items-center gap-2", children: [_jsx("img", { src: nft?.imageUrl, alt: nft?.name || "NFT", className: "order-details-nft-image h-5 w-5" }), _jsx("div", { className: "order-details-nft-name", children: nft?.name || "NFT" })] })) : order.type === "join_tournament" || order.type === "fund_tournament" ? (_jsxs("div", { className: "order-details-tournament-info flex items-center gap-2", children: [_jsx("img", { src: tournament?.imageUrl, alt: tournament?.name || "Tournament", className: "order-details-tournament-image h-5 w-5" }), _jsx("div", { className: "order-details-tournament-name", children: tournament?.name || "Tournament" })] })) : order.type === "hype_duel" ? (_jsx("div", { className: "order-details-hype-info flex items-center gap-2", children: _jsxs("div", { className: "order-details-hype-amount", children: [formatTokenAmount(BigInt(order.payload.expectedDstAmount), dstToken.decimals), " HYPE"] }) })) : order.type === "custom" || order.type === "custom_exact_in" ? (_jsx("span", { className: "order-details-amount-text", children: `~${finalFormattedExpectedDstAmount} ${dstToken.symbol}` })) : null, _jsxs("div", { className: "order-details-chain-info text-as-primary/50 flex items-center gap-2", children: [_jsxs("span", { className: "order-details-chain-text", children: ["on ", order.dstChain !== b3Viem.id && getChainName(order.dstChain)] }), _jsx("img", { src: ALL_CHAINS[order.dstChain].logoUrl, alt: getChainName(order.dstChain), className: cn("order-details-chain-logo h-3", order.dstChain !== b3Viem.id && "w-3 rounded-full", order.dstChain === b3Viem.id && "h-4") })] })] })] }), points !== undefined && points !== null && (_jsxs(_Fragment, { children: [_jsx("div", { className: "order-details-divider divider w-full" }), _jsxs("div", { className: "order-details-points-section flex w-full justify-between gap-4", children: [_jsx("div", { className: "order-details-points-label text-as-tertiary", children: "Points" }), _jsxs("div", { className: "order-details-points-value text-as-brand font-semibold", children: ["+", formatNumber(points), " pts"] })] })] })), _jsx("div", { className: "order-details-divider divider w-full" }), _jsxs("div", { className: "order-details-id-total-section flex w-full justify-between gap-4", children: [_jsx("div", { className: "order-details-id-total-label text-as-tertiary", children: showTotal ? "Total (included fee)" : "Order ID" }), _jsx("div", { className: "order-details-id-total-value text-as-primary overflow-hidden text-ellipsis whitespace-nowrap", children: showTotal && totalAmount ? totalAmount : order.id })] })] }) })) : (_jsxs("div", { className: "order-details-collapsed flex w-full items-center", children: [_jsx("div", { className: "order-details-collapsed-divider divider w-full" }), _jsx("button", { className: "order-details-collapsed-button whitespace-nowrap text-sm", onClick: () => setShowOrderDetails(true), children: "Order Details" }), _jsx(ChevronDown, { className: "order-details-collapsed-chevron text-as-primary mx-1 h-4 min-h-4 w-4 min-w-4" }), _jsx("div", { className: "order-details-collapsed-divider divider w-full" })] })) }));
43
43
  });
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { getStatusDisplay } from "../../../../anyspend/index.js";
3
3
  import { useSearchParams } from "../../../../shared/react/index.js";
4
- import { Clock, Loader2, RotateCcw, X } from "lucide-react";
4
+ import { AlertCircle, AlertTriangle, CheckCircle, Clock, Info, Loader2, RotateCcw, X } from "lucide-react";
5
+ import { useToastContext } from "../../../../global-account/react/index.js";
5
6
  import { memo, useEffect, useRef } from "react";
6
7
  import { useAnySpendCustomization } from "../context/AnySpendCustomizationContext.js";
7
8
  import { AnimatedCheckmark } from "../icons/AnimatedCheckmark.js";
@@ -14,6 +15,19 @@ function getStepIndex(status) {
14
15
  return 1;
15
16
  return -1;
16
17
  }
18
+ function getToastIcon(type) {
19
+ const iconClass = "h-5 w-5";
20
+ switch (type) {
21
+ case "success":
22
+ return _jsx(CheckCircle, { className: `${iconClass} text-green-500` });
23
+ case "error":
24
+ return _jsx(AlertCircle, { className: `${iconClass} text-red-500` });
25
+ case "info":
26
+ return _jsx(Info, { className: `${iconClass} text-blue-500` });
27
+ case "warning":
28
+ return _jsx(AlertTriangle, { className: `${iconClass} text-amber-500` });
29
+ }
30
+ }
17
31
  export const OrderStatus = memo(function OrderStatus({ order, selectedCryptoPaymentMethod, }) {
18
32
  const { text: defaultText, description: defaultDescription } = getStatusDisplay(order);
19
33
  const { content, slots } = useAnySpendCustomization();
@@ -58,9 +72,26 @@ export const OrderStatus = memo(function OrderStatus({ order, selectedCryptoPaym
58
72
  if (content.processingDescription)
59
73
  description = content.processingDescription;
60
74
  }
75
+ const { latestToast } = useToastContext();
76
+ // Override subtitle with toast notification when present (title stays unchanged)
77
+ let notificationIcon = undefined;
78
+ if (latestToast && currentStepIndex >= 0) {
79
+ description = latestToast.message;
80
+ notificationIcon = getToastIcon(latestToast.type);
81
+ }
61
82
  const paymentSteps = [
62
- { id: 1, title: text, description: typeof description === "string" ? description : defaultDescription || "" },
63
- { id: 2, title: text, description: typeof description === "string" ? description : defaultDescription || "" },
83
+ {
84
+ id: 1,
85
+ title: text,
86
+ description: typeof description === "string" ? description : defaultDescription || "",
87
+ icon: notificationIcon,
88
+ },
89
+ {
90
+ id: 2,
91
+ title: text,
92
+ description: typeof description === "string" ? description : defaultDescription || "",
93
+ icon: notificationIcon,
94
+ },
64
95
  ];
65
96
  if (currentStepIndex === 0) {
66
97
  if (!(order.status === "scanning_deposit_transaction" && cryptoPaymentMethod === "transfer_crypto")) {
@@ -1,7 +1,9 @@
1
+ import React from "react";
1
2
  export interface Step {
2
3
  id: string | number;
3
4
  title: string;
4
5
  description?: string;
6
+ icon?: React.ReactNode;
5
7
  }
6
8
  export interface StepProgressProps {
7
9
  steps: Step[];
@@ -1,14 +1,16 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React from "react";
3
4
  import { motion } from "framer-motion";
5
+ import { TextMorph } from "torph/react";
4
6
  import { AnimatedCheckmark } from "../icons/AnimatedCheckmark.js";
5
7
  export function StepProgress({ steps, currentStepIndex, className = "", animateCompletedSteps = true, }) {
6
8
  const currentStep = steps[currentStepIndex];
7
- return (_jsxs("div", { className: `flex w-full flex-col items-center gap-4 ${className}`, children: [_jsx("div", { className: "flex items-center gap-2", children: steps.map((_, index) => (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex items-center", children: index < currentStepIndex ? (
9
+ return (_jsxs("div", { className: `flex w-full flex-col items-center gap-4 ${className}`, children: [_jsx("div", { className: "flex items-center gap-2", children: steps.map((_, index) => (_jsxs(React.Fragment, { children: [_jsx("div", { className: "flex items-center", children: index < currentStepIndex ? (
8
10
  // Completed step - checkmark replaces the whole circle
9
11
  _jsx(motion.div, { initial: { scale: 0.8, opacity: 0 }, animate: { scale: 1, opacity: 1 }, transition: { delay: index * 0.2 }, children: _jsx(AnimatedCheckmark, { className: "h-10 w-10", strokeWidth: 2.5, static: !animateCompletedSteps }) })) : (_jsx(motion.div, { initial: { scale: 0.8, opacity: 0 }, animate: { scale: 1, opacity: 1 }, transition: { delay: index * 0.2 }, className: `border-as-border-secondary relative flex h-10 w-10 items-center justify-center rounded-full border-[3px]`, children: index === currentStepIndex ? (
10
12
  // Current step - show spinning border and step number
11
13
  _jsxs(_Fragment, { children: [_jsx("div", { className: "border-t-as-primary absolute -inset-0.5 animate-spin rounded-full border-[3px] border-transparent" }), _jsx("span", { className: "text-as-primary font-semibold", children: index + 1 })] })) : (
12
14
  // Future step - show step number with disabled styling
13
- _jsx("span", { className: "text-as-content-disabled font-semibold", children: index + 1 })) })) }, index), index < steps.length - 1 && (_jsx("div", { className: "flex w-8 items-center justify-center gap-1", children: Array.from({ length: 6 }).map((_, dotIndex) => (_jsx("div", { className: "bg-as-primary/30 h-[2px] w-[2px] rounded-full" }, dotIndex))) }))] }))) }), currentStep && (_jsxs(motion.div, { initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, transition: { delay: 0.3 }, className: "text-center", children: [_jsx("h2", { className: "text-as-primary text-xl font-semibold", children: currentStep.title }), currentStep.description && _jsx("p", { className: "text-as-tertiary mt-1 text-sm", children: currentStep.description })] }))] }));
15
+ _jsx("span", { className: "text-as-content-disabled font-semibold", children: index + 1 })) })) }), index < steps.length - 1 && (_jsx("div", { className: "flex w-8 items-center justify-center gap-1", children: Array.from({ length: 6 }).map((_, dotIndex) => (_jsx("div", { className: "bg-as-primary/30 h-[2px] w-[2px] rounded-full" }, dotIndex))) }))] }, index))) }), currentStep && (_jsxs(motion.div, { initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, transition: { delay: 0.3 }, className: "text-center", children: [_jsx("h2", { className: "text-as-primary text-xl font-semibold", children: _jsx(TextMorph, { children: currentStep.title }) }), currentStep.description && (_jsxs("p", { className: "text-as-tertiary mt-1 flex items-center justify-center gap-1.5 text-sm", children: [currentStep.icon, _jsx(TextMorph, { children: currentStep.description })] }))] }))] }));
14
16
  }
@@ -8,7 +8,7 @@ import { WalletCoinbase, WalletMetamask, WalletPhantom, WalletTrust } from "@web
8
8
  import { ChevronLeft, Copy } from "lucide-react";
9
9
  import { QRCodeSVG } from "qrcode.react";
10
10
  import { memo, useEffect, useMemo, useState } from "react";
11
- import { b3 } from "viem/chains";
11
+ import { b3Viem } from "../../../../shared/constants/chains/b3Viem.js";
12
12
  import { CryptoPaymentMethodType } from "./CryptoPaymentMethod.js";
13
13
  import { OrderDetailsCollapsible } from "./OrderDetailsCollapsible.js";
14
14
  import { PaymentMethodSwitch } from "./PaymentMethodSwitch.js";
@@ -68,5 +68,5 @@ export const TransferCryptoDetails = memo(function TransferCryptoDetails({ order
68
68
  transition: "stroke-dashoffset 1s linear",
69
69
  } })] }), _jsx("div", { className: "order-transfer-crypto-timer-text absolute inset-0 flex items-center justify-center", children: _jsx("span", { className: "text-as-primary text-[10px] font-semibold", children: formatTime(timeLeft) }) })] })] }), _jsxs("div", { className: "order-transfer-crypto-content flex w-full flex-col gap-4", children: [_jsxs("div", { className: "order-transfer-crypto-cards flex items-center gap-4", children: [_jsxs("div", { className: "order-transfer-crypto-amount-card w-full", children: [_jsx("span", { className: "order-transfer-crypto-amount-label text-as-content-secondary text-sm font-medium", children: "Amount" }), _jsx("div", { className: "order-transfer-crypto-amount-container border-as-border-primary rounded-lg border p-2 shadow-sm", children: _jsx(CopyToClipboard, { text: roundedUpSrcAmount || "", onCopy: () => {
70
70
  toast.success("Amount copied to clipboard");
71
- }, children: _jsxs("div", { className: "order-transfer-crypto-amount-copy flex cursor-pointer items-center justify-between gap-2", children: [_jsxs("strong", { className: "order-transfer-crypto-amount-text text-as-primary font-semibold", children: [roundedUpSrcAmount, " ", srcToken.symbol] }), _jsx(Copy, { className: "order-transfer-crypto-amount-copy-icon text-as-primary/50 hover:text-as-primary h-4 w-4 transition-all duration-200" })] }) }) })] }), _jsxs("div", { className: "order-transfer-crypto-chain-card w-full", children: [_jsx("span", { className: "order-transfer-crypto-chain-label text-as-content-secondary text-sm font-medium", children: "Chain" }), _jsx("div", { className: "order-transfer-crypto-chain-container border-as-border-primary rounded-lg border p-2 shadow-sm", children: _jsxs("div", { className: "order-transfer-crypto-chain-info flex items-center gap-2", children: [_jsx("img", { src: ALL_CHAINS[order.srcChain].logoUrl, alt: getChainName(order.srcChain), className: cn("order-transfer-crypto-chain-logo h-6 rounded-full", order.srcChain === b3.id && "h-5 rounded-none") }), _jsx("span", { className: "order-transfer-crypto-chain-name text-as-primary text-sm font-semibold", children: getChainName(order.srcChain) })] }) })] })] }), _jsxs("div", { className: "order-transfer-crypto-qr-deposit-card border-b3-react-border bg-as-surface-secondary grid h-[220px] grid-cols-2 overflow-hidden rounded-xl border", children: [_jsx("div", { className: "order-transfer-crypto-qr-section border-as-border-primary h-full w-full border-r", children: _jsx("div", { className: "order-transfer-crypto-qr-wrapper flex justify-center", children: _jsxs("div", { className: "order-transfer-crypto-qr-container bg-as-surface-secondary flex flex-col items-center rounded-lg p-6", children: [_jsx(QRCodeSVG, { value: getPaymentUrl(order.globalAddress, BigInt(order.srcAmount), order.srcTokenAddress === ZERO_ADDRESS ? "ETH" : order.srcTokenAddress, order.srcChain, srcToken?.decimals), className: "order-transfer-crypto-qr-code bg-as-surface-secondary max-h-48 max-w-48" }), _jsxs("div", { className: "order-transfer-crypto-wallet-hint mt-3 flex items-center justify-center gap-2 text-sm", children: [_jsx("span", { className: "order-transfer-crypto-wallet-text text-as-brand/70 text-sm font-medium", children: "SCAN WITH" }), _jsxs(TextLoop, { interval: 3, children: [_jsx(WalletMetamask, { className: "order-transfer-crypto-wallet-icon h-5 w-5", variant: "branded" }), _jsx(WalletCoinbase, { className: "order-transfer-crypto-wallet-icon h-5 w-5", variant: "branded" }), _jsx(WalletPhantom, { className: "order-transfer-crypto-wallet-icon h-5 w-5", variant: "branded" }), _jsx(WalletTrust, { className: "order-transfer-crypto-wallet-icon h-5 w-5", variant: "branded" })] })] })] }) }) }), _jsxs("div", { className: "order-transfer-crypto-address-section flex h-full w-full flex-col gap-2 p-6", children: [_jsx("span", { className: "order-transfer-crypto-address-label text-as-content-secondary text-sm font-medium", children: "Deposit address:" }), _jsxs("div", { className: "order-transfer-crypto-address-copy flex h-full cursor-pointer flex-col items-stretch justify-between gap-4", onClick: handleCopyAddress, children: [_jsx("div", { className: "order-transfer-crypto-address-text text-as-primary break-all font-mono text-sm font-semibold leading-relaxed", children: order.globalAddress }), _jsx("div", { className: "order-transfer-crypto-address-copy-icon-wrapper place-self-end", children: _jsx(Copy, { className: "order-transfer-crypto-address-copy-icon group-hover:text-as-brand text-as-tertiary h-4 w-4 cursor-pointer transition-all duration-200" }) })] })] })] }), _jsx(OrderDetailsCollapsible, { order: order, dstToken: dstToken, tournament: tournament, nft: nft, recipientName: recipientName, formattedExpectedDstAmount: formattedExpectedDstAmount })] }), _jsxs("div", { className: "order-transfer-crypto-actions flex flex-col gap-3", children: [_jsx(ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", className: "order-transfer-crypto-copy-btn w-full py-3", onClick: handleCopyAddress, children: "Copy deposit address" }), _jsx(PaymentMethodSwitch, { currentMethod: CryptoPaymentMethodType.TRANSFER_CRYPTO, onMethodChange: onPaymentMethodChange })] })] }));
71
+ }, children: _jsxs("div", { className: "order-transfer-crypto-amount-copy flex cursor-pointer items-center justify-between gap-2", children: [_jsxs("strong", { className: "order-transfer-crypto-amount-text text-as-primary font-semibold", children: [roundedUpSrcAmount, " ", srcToken.symbol] }), _jsx(Copy, { className: "order-transfer-crypto-amount-copy-icon text-as-primary/50 hover:text-as-primary h-4 w-4 transition-all duration-200" })] }) }) })] }), _jsxs("div", { className: "order-transfer-crypto-chain-card w-full", children: [_jsx("span", { className: "order-transfer-crypto-chain-label text-as-content-secondary text-sm font-medium", children: "Chain" }), _jsx("div", { className: "order-transfer-crypto-chain-container border-as-border-primary rounded-lg border p-2 shadow-sm", children: _jsxs("div", { className: "order-transfer-crypto-chain-info flex items-center gap-2", children: [_jsx("img", { src: ALL_CHAINS[order.srcChain].logoUrl, alt: getChainName(order.srcChain), className: cn("order-transfer-crypto-chain-logo h-6 rounded-full", order.srcChain === b3Viem.id && "h-5 rounded-none") }), _jsx("span", { className: "order-transfer-crypto-chain-name text-as-primary text-sm font-semibold", children: getChainName(order.srcChain) })] }) })] })] }), _jsxs("div", { className: "order-transfer-crypto-qr-deposit-card border-b3-react-border bg-as-surface-secondary grid h-[220px] grid-cols-2 overflow-hidden rounded-xl border", children: [_jsx("div", { className: "order-transfer-crypto-qr-section border-as-border-primary h-full w-full border-r", children: _jsx("div", { className: "order-transfer-crypto-qr-wrapper flex justify-center", children: _jsxs("div", { className: "order-transfer-crypto-qr-container bg-as-surface-secondary flex flex-col items-center rounded-lg p-6", children: [_jsx(QRCodeSVG, { value: getPaymentUrl(order.globalAddress, BigInt(order.srcAmount), order.srcTokenAddress === ZERO_ADDRESS ? "ETH" : order.srcTokenAddress, order.srcChain, srcToken?.decimals), className: "order-transfer-crypto-qr-code bg-as-surface-secondary max-h-48 max-w-48" }), _jsxs("div", { className: "order-transfer-crypto-wallet-hint mt-3 flex items-center justify-center gap-2 text-sm", children: [_jsx("span", { className: "order-transfer-crypto-wallet-text text-as-brand/70 text-sm font-medium", children: "SCAN WITH" }), _jsxs(TextLoop, { interval: 3, children: [_jsx(WalletMetamask, { className: "order-transfer-crypto-wallet-icon h-5 w-5", variant: "branded" }), _jsx(WalletCoinbase, { className: "order-transfer-crypto-wallet-icon h-5 w-5", variant: "branded" }), _jsx(WalletPhantom, { className: "order-transfer-crypto-wallet-icon h-5 w-5", variant: "branded" }), _jsx(WalletTrust, { className: "order-transfer-crypto-wallet-icon h-5 w-5", variant: "branded" })] })] })] }) }) }), _jsxs("div", { className: "order-transfer-crypto-address-section flex h-full w-full flex-col gap-2 p-6", children: [_jsx("span", { className: "order-transfer-crypto-address-label text-as-content-secondary text-sm font-medium", children: "Deposit address:" }), _jsxs("div", { className: "order-transfer-crypto-address-copy flex h-full cursor-pointer flex-col items-stretch justify-between gap-4", onClick: handleCopyAddress, children: [_jsx("div", { className: "order-transfer-crypto-address-text text-as-primary break-all font-mono text-sm font-semibold leading-relaxed", children: order.globalAddress }), _jsx("div", { className: "order-transfer-crypto-address-copy-icon-wrapper place-self-end", children: _jsx(Copy, { className: "order-transfer-crypto-address-copy-icon group-hover:text-as-brand text-as-tertiary h-4 w-4 cursor-pointer transition-all duration-200" }) })] })] })] }), _jsx(OrderDetailsCollapsible, { order: order, dstToken: dstToken, tournament: tournament, nft: nft, recipientName: recipientName, formattedExpectedDstAmount: formattedExpectedDstAmount })] }), _jsxs("div", { className: "order-transfer-crypto-actions flex flex-col gap-3", children: [_jsx(ShinyButton, { accentColor: "hsl(var(--as-brand))", textColor: "text-white", className: "order-transfer-crypto-copy-btn w-full py-3", onClick: handleCopyAddress, children: "Copy deposit address" }), _jsx(PaymentMethodSwitch, { currentMethod: CryptoPaymentMethodType.TRANSFER_CRYPTO, onMethodChange: onPaymentMethodChange })] })] }));
72
72
  });
@@ -7,8 +7,7 @@ import { useMutation } from "@tanstack/react-query";
7
7
  import { useMemo } from "react";
8
8
  import { parseUnits } from "viem";
9
9
  import { base } from "viem/chains";
10
- import { useAccount } from "wagmi";
11
- import { getCachedWalletHeaders } from "./useKycStatus.js";
10
+ import { getCachedWalletHeaders, useWalletAuthHeaders } from "./useKycStatus.js";
12
11
  import { useValidatedClientReferenceId } from "./useValidatedClientReferenceId.js";
13
12
  /**
14
13
  * Hook for creating onramp orders in the Anyspend protocol
@@ -17,7 +16,7 @@ import { useValidatedClientReferenceId } from "./useValidatedClientReferenceId.j
17
16
  export function useAnyspendCreateOnrampOrder({ onSuccess, onError } = {}) {
18
17
  // Get B3 context values
19
18
  const { partnerId } = useB3Config();
20
- const { address } = useAccount();
19
+ const { address, getHeaders: getWalletAuthHeaders } = useWalletAuthHeaders();
21
20
  // Get validated client reference ID from B3 context
22
21
  const createValidatedClientReferenceId = useValidatedClientReferenceId();
23
22
  // Get fingerprint data
@@ -41,12 +40,11 @@ export function useAnyspendCreateOnrampOrder({ onSuccess, onError } = {}) {
41
40
  const srcAmountOnRampInWei = parseUnits(srcFiatAmount, USDC_BASE.decimals);
42
41
  // For card payments, include wallet auth headers so the backend can verify
43
42
  // KYC by the signing wallet address (may differ from the B3 JWT address).
44
- // Only use already-cached headers never trigger a fresh wallet signature
45
- // here, as that would prompt the user without their explicit consent.
46
- // KycGate pre-caches the headers in the "Continue to Verify" user-gesture.
43
+ // First try cached headers (from KycGate), then sign on-the-fly.
44
+ // The user is already clicking "Continue"/"Pay" so signing here is acceptable.
47
45
  let kycWalletHeaders;
48
46
  if (onramp.vendor === "stripe-web2" && address) {
49
- kycWalletHeaders = getCachedWalletHeaders(address);
47
+ kycWalletHeaders = getCachedWalletHeaders(address) || (await getWalletAuthHeaders());
50
48
  }
51
49
  return await anyspendService.createOrder({
52
50
  recipientAddress: normalizeAddress(recipientAddress),
@@ -1,6 +1,6 @@
1
- import { components } from "../../../anyspend/types/api";
2
- import { CreateOrderResponse } from "../../../anyspend/types/api_req_res";
3
- import { DepositContractConfig } from "../components/AnySpendDeposit";
1
+ import type { components } from "../../../anyspend/types/api";
2
+ import type { CreateOrderResponse } from "../../../anyspend/types/api_req_res";
3
+ import type { DepositContractConfig } from "../components/AnySpendDeposit";
4
4
  export type CreateDepositFirstOrderParams = {
5
5
  recipientAddress: string;
6
6
  srcChain: number;
@@ -24,10 +24,12 @@ interface KycVerifyResponse {
24
24
  export declare function getCachedWalletHeaders(address: string): Record<string, string> | undefined;
25
25
  /**
26
26
  * Returns a function that builds the wallet-signature auth headers.
27
+ * Uses useAccountWallet (thirdweb) instead of wagmi so signing works
28
+ * for all wallet types (social login, EOA, smart wallet, etc.).
27
29
  * Caches signatures for 4 minutes (server allows 5-minute window).
28
30
  */
29
31
  export declare function useWalletAuthHeaders(): {
30
- address: `0x${string}` | undefined;
32
+ address: string | undefined;
31
33
  getHeaders: () => Promise<Record<string, string>>;
32
34
  };
33
35
  export declare function useKycStatus(enabled?: boolean): {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { ANYSPEND_MAINNET_BASE_URL } from "../../../anyspend/constants/index.js";
3
+ import { useAccountWallet } from "../../../global-account/react/index.js";
3
4
  import { useMutation, useQuery } from "@tanstack/react-query";
4
5
  import { useCallback } from "react";
5
- import { useAccount, useSignMessage } from "wagmi";
6
6
  function buildWalletAuthMessage(walletAddress, timestamp) {
7
7
  return `AnySpend wants to verify your identity for card payments.\n\nThis signature does not trigger a blockchain transaction or cost any gas.\n\nWallet: ${walletAddress.toLowerCase()}\nNonce: ${timestamp}`;
8
8
  }
@@ -20,21 +20,25 @@ export function getCachedWalletHeaders(address) {
20
20
  }
21
21
  /**
22
22
  * Returns a function that builds the wallet-signature auth headers.
23
+ * Uses useAccountWallet (thirdweb) instead of wagmi so signing works
24
+ * for all wallet types (social login, EOA, smart wallet, etc.).
23
25
  * Caches signatures for 4 minutes (server allows 5-minute window).
24
26
  */
25
27
  export function useWalletAuthHeaders() {
26
- const { address } = useAccount();
27
- const { signMessageAsync } = useSignMessage();
28
+ const { address, wallet } = useAccountWallet();
29
+ const signMessage = wallet.signMessage;
28
30
  const getHeaders = useCallback(async () => {
29
31
  if (!address)
30
32
  throw new Error("No wallet connected");
33
+ if (!signMessage)
34
+ throw new Error("Wallet does not support message signing");
31
35
  const walletAddress = address.toLowerCase();
32
36
  const cached = headerCache.get(walletAddress);
33
37
  if (cached && Date.now() < cached.expiresAt)
34
38
  return cached.headers;
35
39
  const timestamp = Math.floor(Date.now() / 1000);
36
40
  const message = buildWalletAuthMessage(walletAddress, timestamp);
37
- const signature = await signMessageAsync({ message });
41
+ const signature = await signMessage({ message });
38
42
  const headers = {
39
43
  "X-Wallet-Address": walletAddress,
40
44
  "X-Wallet-Signature": signature,
@@ -43,7 +47,7 @@ export function useWalletAuthHeaders() {
43
47
  // Cache for 4 minutes so repeated fetches don't re-prompt the user
44
48
  headerCache.set(walletAddress, { headers, expiresAt: Date.now() + 4 * 60 * 1000 });
45
49
  return headers;
46
- }, [address, signMessageAsync]);
50
+ }, [address, signMessage]);
47
51
  return { address, getHeaders };
48
52
  }
49
53
  export function useKycStatus(enabled = true) {
@@ -45,7 +45,7 @@ export declare const hyperEVM: {
45
45
  id: 999;
46
46
  name: "HyperEVM";
47
47
  nativeCurrency: {
48
- readonly name: "HyperEVM";
48
+ readonly name: "Hyperliquid";
49
49
  readonly symbol: "HYPE";
50
50
  readonly decimals: 18;
51
51
  };
@@ -62,6 +62,44 @@ export declare const hyperEVM: {
62
62
  formatters?: undefined;
63
63
  serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
64
64
  };
65
+ export declare const plume: {
66
+ blockExplorers: {
67
+ readonly default: {
68
+ readonly name: "Plume Explorer";
69
+ readonly url: "https://explorer.plume.org";
70
+ };
71
+ };
72
+ blockTime?: number | undefined | undefined;
73
+ contracts?: {
74
+ [x: string]: import("viem").ChainContract | {
75
+ [sourceId: number]: import("viem").ChainContract | undefined;
76
+ } | undefined;
77
+ ensRegistry?: import("viem").ChainContract | undefined;
78
+ ensUniversalResolver?: import("viem").ChainContract | undefined;
79
+ multicall3?: import("viem").ChainContract | undefined;
80
+ erc6492Verifier?: import("viem").ChainContract | undefined;
81
+ } | undefined;
82
+ ensTlds?: readonly string[] | undefined;
83
+ id: 98866;
84
+ name: "Plume";
85
+ nativeCurrency: {
86
+ readonly name: "Plume";
87
+ readonly symbol: "PLUME";
88
+ readonly decimals: 18;
89
+ };
90
+ experimental_preconfirmationTime?: number | undefined | undefined;
91
+ rpcUrls: {
92
+ readonly default: {
93
+ readonly http: readonly ["https://rpc.plume.org"];
94
+ };
95
+ };
96
+ sourceId?: number | undefined | undefined;
97
+ testnet?: boolean | undefined | undefined;
98
+ custom?: Record<string, unknown> | undefined;
99
+ fees?: import("viem").ChainFees<undefined> | undefined;
100
+ formatters?: undefined;
101
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
102
+ };
65
103
  export declare const EVM_MAINNET: Record<number, IEVMChain>;
66
104
  export declare const EVM_TESTNET: Record<number, IEVMChain>;
67
105
  export declare const SOLANA_MAINNET: ISolanaChain;
@@ -1,10 +1,11 @@
1
1
  import { RELAY_SOLANA_MAINNET_CHAIN_ID } from "../../anyspend/constants/index.js";
2
- import { ABSTRACT_PUBLIC_RPC, ARBITRUM_PUBLIC_RPC, AVALANCHE_PUBLIC_RPC, B3_PUBLIC_RPC, BASE_PUBLIC_RPC, BSC_PUBLIC_RPC, ETHEREUM_PUBLIC_RPC, HYPEREVM_PUBLIC_RPC, OPTIMISM_PUBLIC_RPC, POLYGON_PUBLIC_RPC, } from "../../anyspend/constants/rpc.js";
2
+ import { ABSTRACT_PUBLIC_RPC, ARBITRUM_PUBLIC_RPC, AVALANCHE_PUBLIC_RPC, BASE_PUBLIC_RPC, BSC_PUBLIC_RPC, ETHEREUM_PUBLIC_RPC, HYPEREVM_PUBLIC_RPC, OPTIMISM_PUBLIC_RPC, PLUME_PUBLIC_RPC, POLYGON_PUBLIC_RPC, } from "../../anyspend/constants/rpc.js";
3
+ import { b3Viem } from "../../shared/constants/chains/b3Viem.js";
3
4
  import invariant from "invariant";
4
5
  import { createPublicClient, createWalletClient, defineChain, http, parseEther, } from "viem";
5
- import { abstract, arbitrum, avalanche, b3, base, bsc, mainnet, optimism, polygon } from "viem/chains";
6
+ import { abstract, arbitrum, avalanche, base, bsc, mainnet, optimism, polygon } from "viem/chains";
6
7
  import { ChainType } from "../types/chain.js";
7
- import { getAvaxToken, getBnbToken, getEthToken, getHyperEVMNativeToken, getHyperliquidUSDCToken, getPolToken, getSolanaToken, HYPEREVM_CHAIN_ID, HYPERLIQUID_CHAIN_ID, } from "./token.js";
8
+ import { getAvaxToken, getBnbToken, getEthToken, getHyperEVMNativeToken, getHyperliquidUSDCToken, getPlumeNativeToken, getPolToken, getSolanaToken, HYPEREVM_CHAIN_ID, HYPERLIQUID_CHAIN_ID, PLUME_CHAIN_ID, } from "./token.js";
8
9
  function getCustomEvmChain(chain, rpcUrl) {
9
10
  return defineChain({ ...chain, rpcUrls: { default: { http: [rpcUrl] } } });
10
11
  }
@@ -45,10 +46,17 @@ export function clearChainRpcOverrides() {
45
46
  export const hyperEVM = defineChain({
46
47
  id: HYPEREVM_CHAIN_ID,
47
48
  name: "HyperEVM",
48
- nativeCurrency: { name: "HyperEVM", symbol: "HYPE", decimals: 18 },
49
+ nativeCurrency: { name: "Hyperliquid", symbol: "HYPE", decimals: 18 },
49
50
  rpcUrls: { default: { http: [HYPEREVM_PUBLIC_RPC] } },
50
51
  blockExplorers: { default: { name: "HyperEVM Explorer", url: "https://hyperevmscan.io/" } },
51
52
  });
53
+ export const plume = defineChain({
54
+ id: PLUME_CHAIN_ID,
55
+ name: "Plume",
56
+ nativeCurrency: { name: "Plume", symbol: "PLUME", decimals: 18 },
57
+ rpcUrls: { default: { http: [PLUME_PUBLIC_RPC] } },
58
+ blockExplorers: { default: { name: "Plume Explorer", url: "https://explorer.plume.org" } },
59
+ });
52
60
  // export const b4testnet = defineChain({
53
61
  // id: 19934,
54
62
  // name: "B4 Testnet",
@@ -162,16 +170,16 @@ export const EVM_MAINNET = {
162
170
  coingeckoName: "bsc",
163
171
  wethAddress: "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
164
172
  },
165
- [b3.id]: {
166
- id: b3.id,
167
- name: b3.name,
173
+ [b3Viem.id]: {
174
+ id: b3Viem.id,
175
+ name: b3Viem.name,
168
176
  logoUrl: "https://assets.relay.link/icons/square/8333/light.png",
169
177
  type: ChainType.EVM,
170
178
  nativeRequired: parseEther("0.0001"),
171
179
  canDepositNative: true,
172
- defaultToken: getEthToken(b3.id),
173
- nativeToken: getEthToken(b3.id),
174
- viem: getCustomEvmChain(b3, B3_PUBLIC_RPC),
180
+ defaultToken: getEthToken(b3Viem.id),
181
+ nativeToken: getEthToken(b3Viem.id),
182
+ viem: b3Viem,
175
183
  pollingInterval: 1000, // 1 second for B3
176
184
  zapperEnum: "B3_MAINNET",
177
185
  coingeckoName: "b3",
@@ -206,6 +214,20 @@ export const EVM_MAINNET = {
206
214
  coingeckoName: "hyperevm",
207
215
  wethAddress: "0x5555555555555555555555555555555555555555",
208
216
  },
217
+ [plume.id]: {
218
+ id: plume.id,
219
+ name: plume.name,
220
+ logoUrl: "https://cdn.b3.fun/b3os-icons/plume.svg",
221
+ type: ChainType.EVM,
222
+ nativeRequired: parseEther("5"), // 5 PLUME ≈ $0.06 — gas reserve; Plume gasPrice ~1000 gwei × 2.2M gas (approve+deposit) needs ~2.2 PLUME, +headroom for spikes
223
+ canDepositNative: true,
224
+ defaultToken: getPlumeNativeToken(),
225
+ nativeToken: getPlumeNativeToken(),
226
+ viem: plume,
227
+ pollingInterval: 1000, // 1 second for Plume (L2 fast blocks)
228
+ coingeckoName: "plume-network",
229
+ wethAddress: "0xea237441c92cae6fc17caaf9a7acb3f953be4bd1", // WPLUME (wrapped native)
230
+ },
209
231
  };
210
232
  export const EVM_TESTNET = {
211
233
  // [sepolia.id]: {
@@ -517,7 +539,7 @@ export function getPaymentUrl(address, amount, currency, chainId, decimals) {
517
539
  }
518
540
  }
519
541
  export function getExplorerTxUrl(chainId, txHash) {
520
- if (chainId === b3.id) {
542
+ if (chainId === b3Viem.id) {
521
543
  return "https://explorer.b3.fun/b3/tx/" + txHash;
522
544
  }
523
545
  if (EVM_CHAINS[chainId]) {
@@ -1,6 +1,7 @@
1
1
  import { components } from "../../anyspend/types/api";
2
2
  export declare const HYPERLIQUID_CHAIN_ID = 1337;
3
3
  export declare const HYPEREVM_CHAIN_ID = 999;
4
+ export declare const PLUME_CHAIN_ID = 98866;
4
5
  /**
5
6
  * Hyperliquid uses a special 34-character USDC address format (0x + 32 hex digits)
6
7
  * instead of the standard 42-character EVM address format.
@@ -15,3 +16,4 @@ export declare function getBnbToken(): components["schemas"]["Token"];
15
16
  export declare function getAvaxToken(): components["schemas"]["Token"];
16
17
  export declare function getHyperEVMNativeToken(): components["schemas"]["Token"];
17
18
  export declare function getHyperliquidUSDCToken(): components["schemas"]["Token"];
19
+ export declare function getPlumeNativeToken(): components["schemas"]["Token"];
@@ -2,6 +2,7 @@ import { RELAY_SOL_ADDRESS, RELAY_SOLANA_MAINNET_CHAIN_ID, ZERO_ADDRESS } from "
2
2
  import { avalanche, bsc, polygon } from "viem/chains";
3
3
  export const HYPERLIQUID_CHAIN_ID = 1337;
4
4
  export const HYPEREVM_CHAIN_ID = 999;
5
+ export const PLUME_CHAIN_ID = 98866;
5
6
  /**
6
7
  * Hyperliquid uses a special 34-character USDC address format (0x + 32 hex digits)
7
8
  * instead of the standard 42-character EVM address format.
@@ -95,3 +96,15 @@ export function getHyperliquidUSDCToken() {
95
96
  },
96
97
  };
97
98
  }
99
+ export function getPlumeNativeToken() {
100
+ return {
101
+ chainId: PLUME_CHAIN_ID,
102
+ address: ZERO_ADDRESS,
103
+ symbol: "PLUME",
104
+ name: "Plume",
105
+ decimals: 18,
106
+ metadata: {
107
+ logoURI: "https://cdn.b3.fun/b3os-icons/plume.svg",
108
+ },
109
+ };
110
+ }
@@ -1,7 +1,15 @@
1
1
  import { ClientApplication } from "@b3dotfun/b3-api";
2
2
  import { AuthenticationClient } from "@feathersjs/authentication-client";
3
+ /** Default API URL derived from environment variables. */
3
4
  export declare const B3_API_URL: string;
4
- export declare const authenticate: (app: ClientApplication, accessToken: string, identityToken: string, params?: Record<string, any>) => Promise<import("@feathersjs/authentication").AuthenticationResult | null>;
5
+ /**
6
+ * Override the B3 API URL at runtime. Called by `B3Provider` when an
7
+ * `apiUrl` prop is provided. Pass `null` to revert to the default.
8
+ */
9
+ export declare function setB3ApiUrl(url: string | null): void;
10
+ /** Get the current B3 API URL (prefers runtime override, then env var). */
11
+ export declare function getB3ApiUrl(): string;
12
+ export declare const authenticate: (app: ClientApplication, accessToken: string, identityToken: string, params?: Record<string, any>) => Promise<Record<string, any> | null>;
5
13
  export declare class MyAuthenticationClient extends AuthenticationClient {
6
14
  getFromLocation(location: any): Promise<any>;
7
15
  }