@b3dotfun/sdk 0.1.69 → 0.1.70-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/dist/cjs/anyspend/constants/rpc.d.ts +1 -1
  2. package/dist/cjs/anyspend/constants/rpc.js +1 -1
  3. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +2 -0
  4. package/dist/cjs/anyspend/react/components/AnySpend.js +12 -4
  5. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  6. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.js +2 -2
  7. package/dist/cjs/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  8. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +7 -3
  9. package/dist/cjs/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  10. package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +3 -3
  11. package/dist/cjs/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  12. package/dist/cjs/anyspend/react/components/AnySpendNFT.js +4 -4
  13. package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +1 -1
  14. package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +1 -1
  15. package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  16. package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.js +2 -2
  17. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  18. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.js +15 -6
  19. package/dist/cjs/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  20. package/dist/cjs/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  21. package/dist/cjs/anyspend/react/components/checkout/CartSummary.js +13 -11
  22. package/dist/cjs/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  23. package/dist/cjs/anyspend/react/components/checkout/CheckoutCartPanel.js +5 -4
  24. package/dist/cjs/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  25. package/dist/cjs/anyspend/react/components/checkout/CheckoutFormPanel.js +2 -2
  26. package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.js +2 -4
  27. package/dist/cjs/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  28. package/dist/cjs/anyspend/react/components/checkout/CheckoutSuccess.js +5 -3
  29. package/dist/cjs/anyspend/react/components/checkout/CryptoPayPanel.js +43 -23
  30. package/dist/cjs/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  31. package/dist/cjs/anyspend/react/components/checkout/DiscountCodeInput.js +3 -6
  32. package/dist/cjs/anyspend/react/components/checkout/FiatCheckoutPanel.js +1 -2
  33. package/dist/cjs/anyspend/react/components/checkout/KycGate.js +1 -2
  34. package/dist/cjs/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  35. package/dist/cjs/anyspend/react/components/checkout/PriceSkeleton.js +9 -0
  36. package/dist/cjs/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  37. package/dist/cjs/anyspend/react/components/checkout/ShippingSelector.js +3 -2
  38. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  39. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +10 -9
  40. package/dist/cjs/anyspend/react/components/common/InsufficientDepositPayment.js +2 -2
  41. package/dist/cjs/anyspend/react/components/common/OrderDetails.js +7 -2
  42. package/dist/cjs/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -2
  43. package/dist/cjs/anyspend/react/components/common/OrderStatus.js +37 -6
  44. package/dist/cjs/anyspend/react/components/common/StepProgress.d.ts +2 -0
  45. package/dist/cjs/anyspend/react/components/common/StepProgress.js +7 -2
  46. package/dist/cjs/anyspend/react/components/common/TransferCryptoDetails.js +2 -2
  47. package/dist/cjs/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +4 -6
  48. package/dist/cjs/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  49. package/dist/cjs/anyspend/react/hooks/useKycStatus.js +11 -7
  50. package/dist/cjs/anyspend/utils/chain.js +8 -7
  51. package/dist/cjs/app.shared.js +9 -7
  52. package/dist/cjs/global-account/better-auth-client.d.ts +1883 -0
  53. package/dist/cjs/global-account/better-auth-client.js +17 -0
  54. package/dist/cjs/global-account/bsmnt.d.ts +0 -1
  55. package/dist/cjs/global-account/bsmnt.js +0 -6
  56. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +3 -1
  57. package/dist/cjs/global-account/react/components/B3DynamicModal.js +5 -2
  58. package/dist/cjs/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  59. package/dist/cjs/global-account/react/components/B3Provider/AuthenticationProvider.js +2 -1
  60. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +8 -1
  61. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.js +3 -1
  62. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +27 -2
  63. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +11 -13
  64. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.native.js +6 -8
  65. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +17 -0
  66. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthClientProvider.js +31 -0
  67. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  68. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.js +121 -0
  69. package/dist/cjs/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  70. package/dist/cjs/global-account/react/components/B3Provider/LocalSDKProvider.js +3 -1
  71. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  72. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +4 -2
  73. package/dist/cjs/global-account/react/components/LinkAccount/LinkedAccountItem.js +2 -1
  74. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +4 -2
  75. package/dist/cjs/global-account/react/components/ManageAccount/Header.js +36 -4
  76. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +4 -1
  77. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +6 -0
  78. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +17 -6
  79. package/dist/cjs/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  80. package/dist/cjs/global-account/react/components/ManageAccount/SessionDurationContent.js +57 -0
  81. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +14 -29
  82. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +27 -16
  83. package/dist/cjs/global-account/react/components/Send/Send.js +5 -2
  84. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  85. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthResetPassword.js +68 -0
  86. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  87. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +173 -0
  88. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  89. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.js +85 -0
  90. package/dist/cjs/global-account/react/components/SignInWithB3/SignIn.js +14 -4
  91. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  92. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +14 -5
  93. package/dist/cjs/global-account/react/components/SignInWithB3/components/AuthButton.js +10 -1
  94. package/dist/cjs/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  95. package/dist/cjs/global-account/react/components/SignInWithB3/components/PasswordInput.js +10 -0
  96. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  97. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +141 -0
  98. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +96 -15
  99. package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
  100. package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.js +20 -3
  101. package/dist/cjs/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.js +2 -1
  102. package/dist/cjs/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  103. package/dist/cjs/global-account/react/components/Toast/ToastContext.js +30 -7
  104. package/dist/cjs/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  105. package/dist/cjs/global-account/react/components/UserAvatar/UserAvatar.js +27 -0
  106. package/dist/cjs/global-account/react/components/custom/Button.d.ts +1 -1
  107. package/dist/cjs/global-account/react/components/index.d.ts +6 -0
  108. package/dist/cjs/global-account/react/components/index.js +14 -3
  109. package/dist/cjs/global-account/react/components/ui/button.d.ts +1 -1
  110. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -0
  111. package/dist/cjs/global-account/react/hooks/index.js +5 -2
  112. package/dist/cjs/global-account/react/hooks/useAuth.js +26 -15
  113. package/dist/cjs/global-account/react/hooks/useAuthentication.js +23 -12
  114. package/dist/cjs/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  115. package/dist/cjs/global-account/react/hooks/useAutoSelectWallet.js +31 -3
  116. package/dist/cjs/global-account/react/hooks/useBetterAuth.d.ts +973 -0
  117. package/dist/cjs/global-account/react/hooks/useBetterAuth.js +159 -0
  118. package/dist/cjs/global-account/react/hooks/useConnect.d.ts +2 -2
  119. package/dist/cjs/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  120. package/dist/cjs/global-account/react/hooks/useTWAuth.js +0 -1
  121. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +14 -1
  122. package/dist/cjs/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  123. package/dist/cjs/global-account/react/utils/createWagmiConfig.js +5 -24
  124. package/dist/cjs/global-account/react/utils/index.d.ts +0 -1
  125. package/dist/cjs/global-account/react/utils/index.js +0 -1
  126. package/dist/cjs/global-account/react/utils/profileDisplay.js +17 -18
  127. package/dist/cjs/shared/constants/chains/b3Chain.d.ts +7 -7
  128. package/dist/cjs/shared/constants/chains/b3Chain.js +4 -4
  129. package/dist/cjs/shared/constants/chains/b3Viem.d.ts +6 -0
  130. package/dist/cjs/shared/constants/chains/b3Viem.js +19 -0
  131. package/dist/cjs/shared/constants/chains/supported.d.ts +1 -1
  132. package/dist/cjs/shared/constants/index.d.ts +1 -0
  133. package/dist/cjs/shared/constants/index.js +2 -1
  134. package/dist/cjs/shared/generated/chain-networks.json +2 -2
  135. package/dist/cjs/shared/utils/chains.d.ts +1 -1
  136. package/dist/cjs/shared/utils/chains.js +2 -2
  137. package/dist/cjs/shared/utils/session-duration.d.ts +15 -0
  138. package/dist/cjs/shared/utils/session-duration.js +69 -0
  139. package/dist/cjs/wallet/react/components/ConnectWallet.d.ts +11 -0
  140. package/dist/cjs/wallet/react/components/ConnectWallet.js +467 -0
  141. package/dist/cjs/wallet/react/components/WalletProvider.d.ts +35 -0
  142. package/dist/cjs/wallet/react/components/WalletProvider.js +20 -0
  143. package/dist/cjs/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  144. package/dist/cjs/wallet/react/hooks/useWalletDisconnect.js +22 -0
  145. package/dist/cjs/wallet/react/hooks/useWalletState.d.ts +31 -0
  146. package/dist/cjs/wallet/react/hooks/useWalletState.js +63 -0
  147. package/dist/cjs/wallet/react/index.d.ts +5 -0
  148. package/dist/cjs/wallet/react/index.js +16 -0
  149. package/dist/cjs/wallet/utils/createWalletConfig.d.ts +21 -0
  150. package/dist/cjs/wallet/utils/createWalletConfig.js +24 -0
  151. package/dist/esm/anyspend/constants/rpc.d.ts +1 -1
  152. package/dist/esm/anyspend/constants/rpc.js +1 -1
  153. package/dist/esm/anyspend/react/components/AnySpend.d.ts +2 -0
  154. package/dist/esm/anyspend/react/components/AnySpend.js +12 -4
  155. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  156. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.js +2 -2
  157. package/dist/esm/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  158. package/dist/esm/anyspend/react/components/AnySpendCustom.js +7 -3
  159. package/dist/esm/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  160. package/dist/esm/anyspend/react/components/AnySpendDeposit.js +3 -3
  161. package/dist/esm/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  162. package/dist/esm/anyspend/react/components/AnySpendNFT.js +4 -4
  163. package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +2 -2
  164. package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +2 -2
  165. package/dist/esm/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  166. package/dist/esm/anyspend/react/components/AnySpendStakeUpside.js +2 -2
  167. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  168. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.js +15 -6
  169. package/dist/esm/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  170. package/dist/esm/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  171. package/dist/esm/anyspend/react/components/checkout/CartSummary.js +13 -11
  172. package/dist/esm/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  173. package/dist/esm/anyspend/react/components/checkout/CheckoutCartPanel.js +5 -4
  174. package/dist/esm/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  175. package/dist/esm/anyspend/react/components/checkout/CheckoutFormPanel.js +2 -2
  176. package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.js +2 -4
  177. package/dist/esm/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  178. package/dist/esm/anyspend/react/components/checkout/CheckoutSuccess.js +5 -3
  179. package/dist/esm/anyspend/react/components/checkout/CryptoPayPanel.js +44 -24
  180. package/dist/esm/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  181. package/dist/esm/anyspend/react/components/checkout/DiscountCodeInput.js +3 -6
  182. package/dist/esm/anyspend/react/components/checkout/FiatCheckoutPanel.js +2 -3
  183. package/dist/esm/anyspend/react/components/checkout/KycGate.js +2 -3
  184. package/dist/esm/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  185. package/dist/esm/anyspend/react/components/checkout/PriceSkeleton.js +6 -0
  186. package/dist/esm/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  187. package/dist/esm/anyspend/react/components/checkout/ShippingSelector.js +3 -2
  188. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  189. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +9 -8
  190. package/dist/esm/anyspend/react/components/common/InsufficientDepositPayment.js +2 -2
  191. package/dist/esm/anyspend/react/components/common/OrderDetails.js +8 -3
  192. package/dist/esm/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -2
  193. package/dist/esm/anyspend/react/components/common/OrderStatus.js +34 -3
  194. package/dist/esm/anyspend/react/components/common/StepProgress.d.ts +2 -0
  195. package/dist/esm/anyspend/react/components/common/StepProgress.js +4 -2
  196. package/dist/esm/anyspend/react/components/common/TransferCryptoDetails.js +2 -2
  197. package/dist/esm/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +5 -7
  198. package/dist/esm/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  199. package/dist/esm/anyspend/react/hooks/useKycStatus.js +9 -5
  200. package/dist/esm/anyspend/utils/chain.js +10 -9
  201. package/dist/esm/app.shared.js +9 -7
  202. package/dist/esm/global-account/better-auth-client.d.ts +1883 -0
  203. package/dist/esm/global-account/better-auth-client.js +13 -0
  204. package/dist/esm/global-account/bsmnt.d.ts +0 -1
  205. package/dist/esm/global-account/bsmnt.js +0 -5
  206. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +3 -1
  207. package/dist/esm/global-account/react/components/B3DynamicModal.js +5 -2
  208. package/dist/esm/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  209. package/dist/esm/global-account/react/components/B3Provider/AuthenticationProvider.js +2 -1
  210. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +8 -1
  211. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.js +3 -1
  212. package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +27 -2
  213. package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +6 -8
  214. package/dist/esm/global-account/react/components/B3Provider/B3Provider.native.js +4 -6
  215. package/dist/esm/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +17 -0
  216. package/dist/esm/global-account/react/components/B3Provider/BetterAuthClientProvider.js +27 -0
  217. package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  218. package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.js +116 -0
  219. package/dist/esm/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  220. package/dist/esm/global-account/react/components/B3Provider/LocalSDKProvider.js +3 -1
  221. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  222. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +4 -2
  223. package/dist/esm/global-account/react/components/LinkAccount/LinkedAccountItem.js +2 -1
  224. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +5 -3
  225. package/dist/esm/global-account/react/components/ManageAccount/Header.js +37 -5
  226. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +4 -1
  227. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +7 -1
  228. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +16 -8
  229. package/dist/esm/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  230. package/dist/esm/global-account/react/components/ManageAccount/SessionDurationContent.js +52 -0
  231. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +16 -31
  232. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +27 -16
  233. package/dist/esm/global-account/react/components/Send/Send.js +5 -2
  234. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  235. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthResetPassword.js +65 -0
  236. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  237. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +170 -0
  238. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  239. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.js +82 -0
  240. package/dist/esm/global-account/react/components/SignInWithB3/SignIn.js +15 -5
  241. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  242. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +14 -5
  243. package/dist/esm/global-account/react/components/SignInWithB3/components/AuthButton.js +11 -2
  244. package/dist/esm/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  245. package/dist/esm/global-account/react/components/SignInWithB3/components/PasswordInput.js +7 -0
  246. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  247. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +138 -0
  248. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +100 -19
  249. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
  250. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.js +19 -2
  251. package/dist/esm/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.js +2 -1
  252. package/dist/esm/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  253. package/dist/esm/global-account/react/components/Toast/ToastContext.js +30 -7
  254. package/dist/esm/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  255. package/dist/esm/global-account/react/components/UserAvatar/UserAvatar.js +21 -0
  256. package/dist/esm/global-account/react/components/custom/Button.d.ts +1 -1
  257. package/dist/esm/global-account/react/components/index.d.ts +6 -0
  258. package/dist/esm/global-account/react/components/index.js +6 -0
  259. package/dist/esm/global-account/react/components/ui/button.d.ts +1 -1
  260. package/dist/esm/global-account/react/hooks/index.d.ts +1 -0
  261. package/dist/esm/global-account/react/hooks/index.js +1 -0
  262. package/dist/esm/global-account/react/hooks/useAuth.js +28 -17
  263. package/dist/esm/global-account/react/hooks/useAuthentication.js +24 -13
  264. package/dist/esm/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  265. package/dist/esm/global-account/react/hooks/useAutoSelectWallet.js +33 -5
  266. package/dist/esm/global-account/react/hooks/useBetterAuth.d.ts +973 -0
  267. package/dist/esm/global-account/react/hooks/useBetterAuth.js +151 -0
  268. package/dist/esm/global-account/react/hooks/useConnect.d.ts +2 -2
  269. package/dist/esm/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  270. package/dist/esm/global-account/react/hooks/useTWAuth.js +0 -1
  271. package/dist/esm/global-account/react/stores/useModalStore.d.ts +14 -1
  272. package/dist/esm/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  273. package/dist/esm/global-account/react/utils/createWagmiConfig.js +5 -23
  274. package/dist/esm/global-account/react/utils/index.d.ts +0 -1
  275. package/dist/esm/global-account/react/utils/index.js +0 -1
  276. package/dist/esm/global-account/react/utils/profileDisplay.js +17 -18
  277. package/dist/esm/shared/constants/chains/b3Chain.d.ts +7 -7
  278. package/dist/esm/shared/constants/chains/b3Chain.js +4 -4
  279. package/dist/esm/shared/constants/chains/b3Viem.d.ts +6 -0
  280. package/dist/esm/shared/constants/chains/b3Viem.js +16 -0
  281. package/dist/esm/shared/constants/chains/supported.d.ts +1 -1
  282. package/dist/esm/shared/constants/index.d.ts +1 -0
  283. package/dist/esm/shared/constants/index.js +1 -0
  284. package/dist/esm/shared/generated/chain-networks.json +2 -2
  285. package/dist/esm/shared/utils/chains.d.ts +1 -1
  286. package/dist/esm/shared/utils/chains.js +2 -2
  287. package/dist/esm/shared/utils/session-duration.d.ts +15 -0
  288. package/dist/esm/shared/utils/session-duration.js +64 -0
  289. package/dist/esm/wallet/react/components/ConnectWallet.d.ts +11 -0
  290. package/dist/esm/wallet/react/components/ConnectWallet.js +431 -0
  291. package/dist/esm/wallet/react/components/WalletProvider.d.ts +35 -0
  292. package/dist/esm/wallet/react/components/WalletProvider.js +17 -0
  293. package/dist/esm/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  294. package/dist/esm/wallet/react/hooks/useWalletDisconnect.js +19 -0
  295. package/dist/esm/wallet/react/hooks/useWalletState.d.ts +31 -0
  296. package/dist/esm/wallet/react/hooks/useWalletState.js +60 -0
  297. package/dist/esm/wallet/react/index.d.ts +5 -0
  298. package/dist/esm/wallet/react/index.js +8 -0
  299. package/dist/esm/wallet/utils/createWalletConfig.d.ts +21 -0
  300. package/dist/esm/wallet/utils/createWalletConfig.js +21 -0
  301. package/dist/styles/index.css +1 -1
  302. package/dist/types/anyspend/constants/rpc.d.ts +1 -1
  303. package/dist/types/anyspend/react/components/AnySpend.d.ts +2 -0
  304. package/dist/types/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  305. package/dist/types/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  306. package/dist/types/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  307. package/dist/types/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  308. package/dist/types/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  309. package/dist/types/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  310. package/dist/types/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  311. package/dist/types/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  312. package/dist/types/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  313. package/dist/types/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  314. package/dist/types/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  315. package/dist/types/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  316. package/dist/types/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  317. package/dist/types/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  318. package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  319. package/dist/types/anyspend/react/components/common/StepProgress.d.ts +2 -0
  320. package/dist/types/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  321. package/dist/types/global-account/better-auth-client.d.ts +1883 -0
  322. package/dist/types/global-account/bsmnt.d.ts +0 -1
  323. package/dist/types/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  324. package/dist/types/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +8 -1
  325. package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +27 -2
  326. package/dist/types/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +17 -0
  327. package/dist/types/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  328. package/dist/types/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  329. package/dist/types/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  330. package/dist/types/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  331. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  332. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  333. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  334. package/dist/types/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  335. package/dist/types/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  336. package/dist/types/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  337. package/dist/types/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
  338. package/dist/types/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  339. package/dist/types/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  340. package/dist/types/global-account/react/components/custom/Button.d.ts +1 -1
  341. package/dist/types/global-account/react/components/index.d.ts +6 -0
  342. package/dist/types/global-account/react/components/ui/button.d.ts +1 -1
  343. package/dist/types/global-account/react/hooks/index.d.ts +1 -0
  344. package/dist/types/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  345. package/dist/types/global-account/react/hooks/useBetterAuth.d.ts +973 -0
  346. package/dist/types/global-account/react/hooks/useConnect.d.ts +2 -2
  347. package/dist/types/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  348. package/dist/types/global-account/react/stores/useModalStore.d.ts +14 -1
  349. package/dist/types/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  350. package/dist/types/global-account/react/utils/index.d.ts +0 -1
  351. package/dist/types/shared/constants/chains/b3Chain.d.ts +7 -7
  352. package/dist/types/shared/constants/chains/b3Viem.d.ts +6 -0
  353. package/dist/types/shared/constants/chains/supported.d.ts +1 -1
  354. package/dist/types/shared/constants/index.d.ts +1 -0
  355. package/dist/types/shared/utils/chains.d.ts +1 -1
  356. package/dist/types/shared/utils/session-duration.d.ts +15 -0
  357. package/dist/types/wallet/react/components/ConnectWallet.d.ts +11 -0
  358. package/dist/types/wallet/react/components/WalletProvider.d.ts +35 -0
  359. package/dist/types/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  360. package/dist/types/wallet/react/hooks/useWalletState.d.ts +31 -0
  361. package/dist/types/wallet/react/index.d.ts +5 -0
  362. package/dist/types/wallet/utils/createWalletConfig.d.ts +21 -0
  363. package/package.json +15 -6
  364. package/src/anyspend/constants/rpc.ts +2 -1
  365. package/src/anyspend/react/components/AnySpend.tsx +24 -12
  366. package/src/anyspend/react/components/AnySpendCollectorClubPurchase.tsx +6 -0
  367. package/src/anyspend/react/components/AnySpendCustom.tsx +12 -2
  368. package/src/anyspend/react/components/AnySpendDeposit.tsx +38 -31
  369. package/src/anyspend/react/components/AnySpendNFT.tsx +6 -2
  370. package/src/anyspend/react/components/AnySpendStakeB3.tsx +2 -2
  371. package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +2 -2
  372. package/src/anyspend/react/components/AnySpendStakeUpside.tsx +4 -0
  373. package/src/anyspend/react/components/checkout/AnySpendCheckout.tsx +25 -5
  374. package/src/anyspend/react/components/checkout/CartItemRow.tsx +2 -1
  375. package/src/anyspend/react/components/checkout/CartSummary.tsx +24 -20
  376. package/src/anyspend/react/components/checkout/CheckoutCartPanel.tsx +12 -3
  377. package/src/anyspend/react/components/checkout/CheckoutFormPanel.tsx +5 -0
  378. package/src/anyspend/react/components/checkout/CheckoutPaymentPanel.tsx +2 -4
  379. package/src/anyspend/react/components/checkout/CheckoutSuccess.tsx +13 -3
  380. package/src/anyspend/react/components/checkout/CryptoPayPanel.tsx +45 -27
  381. package/src/anyspend/react/components/checkout/DiscountCodeInput.tsx +15 -5
  382. package/src/anyspend/react/components/checkout/FiatCheckoutPanel.tsx +9 -3
  383. package/src/anyspend/react/components/checkout/KycGate.tsx +8 -3
  384. package/src/anyspend/react/components/checkout/PriceSkeleton.tsx +19 -0
  385. package/src/anyspend/react/components/checkout/ShippingSelector.tsx +5 -1
  386. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +10 -8
  387. package/src/anyspend/react/components/common/InsufficientDepositPayment.tsx +2 -2
  388. package/src/anyspend/react/components/common/OrderDetails.tsx +10 -2
  389. package/src/anyspend/react/components/common/OrderDetailsCollapsible.tsx +4 -4
  390. package/src/anyspend/react/components/common/OrderStatus.tsx +38 -3
  391. package/src/anyspend/react/components/common/StepProgress.tsx +15 -5
  392. package/src/anyspend/react/components/common/TransferCryptoDetails.tsx +2 -2
  393. package/src/anyspend/react/hooks/useAnyspendCreateOnrampOrder.ts +5 -7
  394. package/src/anyspend/react/hooks/useKycStatus.ts +8 -5
  395. package/src/anyspend/utils/chain.ts +9 -9
  396. package/src/app.shared.ts +9 -8
  397. package/src/global-account/better-auth-client.ts +17 -0
  398. package/src/global-account/bsmnt.ts +0 -6
  399. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +3 -1
  400. package/src/global-account/react/components/B3DynamicModal.tsx +5 -2
  401. package/src/global-account/react/components/B3Provider/AuthenticationProvider.tsx +4 -0
  402. package/src/global-account/react/components/B3Provider/B3ConfigProvider.tsx +12 -0
  403. package/src/global-account/react/components/B3Provider/B3Provider.native.tsx +16 -21
  404. package/src/global-account/react/components/B3Provider/B3Provider.tsx +78 -38
  405. package/src/global-account/react/components/B3Provider/BetterAuthClientProvider.tsx +40 -0
  406. package/src/global-account/react/components/B3Provider/BetterAuthProvider.tsx +128 -0
  407. package/src/global-account/react/components/B3Provider/LocalSDKProvider.tsx +5 -0
  408. package/src/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.tsx +17 -10
  409. package/src/global-account/react/components/LinkAccount/LinkedAccountItem.tsx +2 -1
  410. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +18 -14
  411. package/src/global-account/react/components/ManageAccount/Header.tsx +71 -4
  412. package/src/global-account/react/components/ManageAccount/HomeContent.tsx +25 -19
  413. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +13 -0
  414. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +40 -15
  415. package/src/global-account/react/components/ManageAccount/SessionDurationContent.tsx +107 -0
  416. package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +35 -54
  417. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +31 -22
  418. package/src/global-account/react/components/Send/Send.tsx +8 -5
  419. package/src/global-account/react/components/SignInWithB3/BetterAuthResetPassword.tsx +145 -0
  420. package/src/global-account/react/components/SignInWithB3/BetterAuthSignIn.tsx +446 -0
  421. package/src/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.tsx +155 -0
  422. package/src/global-account/react/components/SignInWithB3/SignIn.tsx +42 -13
  423. package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +20 -4
  424. package/src/global-account/react/components/SignInWithB3/components/AuthButton.tsx +21 -2
  425. package/src/global-account/react/components/SignInWithB3/components/PasswordInput.tsx +62 -0
  426. package/src/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.tsx +315 -0
  427. package/src/global-account/react/components/SignInWithB3/steps/LoginStepCustom.tsx +207 -54
  428. package/src/global-account/react/components/SignInWithB3/utils/signInUtils.ts +24 -4
  429. package/src/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.tsx +2 -1
  430. package/src/global-account/react/components/Toast/ToastContext.tsx +39 -7
  431. package/src/global-account/react/components/UserAvatar/UserAvatar.tsx +45 -0
  432. package/src/global-account/react/components/index.ts +12 -0
  433. package/src/global-account/react/hooks/index.ts +1 -0
  434. package/src/global-account/react/hooks/useAuth.ts +28 -17
  435. package/src/global-account/react/hooks/useAuthentication.ts +24 -13
  436. package/src/global-account/react/hooks/useAutoSelectWallet.ts +40 -6
  437. package/src/global-account/react/hooks/useBetterAuth.ts +193 -0
  438. package/src/global-account/react/hooks/useConnect.tsx +2 -2
  439. package/src/global-account/react/hooks/useTWAuth.tsx +0 -1
  440. package/src/global-account/react/stores/useModalStore.ts +15 -0
  441. package/src/global-account/react/utils/createWagmiConfig.tsx +6 -25
  442. package/src/global-account/react/utils/index.ts +0 -1
  443. package/src/global-account/react/utils/profileDisplay.ts +21 -19
  444. package/src/shared/constants/chains/b3Chain.ts +5 -5
  445. package/src/shared/constants/chains/b3Viem.ts +18 -0
  446. package/src/shared/constants/index.ts +2 -0
  447. package/src/shared/generated/chain-networks.json +2 -2
  448. package/src/shared/utils/chains.ts +3 -2
  449. package/src/shared/utils/session-duration.ts +64 -0
  450. package/src/types/torph.d.ts +4 -0
  451. package/src/wallet/__tests__/createWalletConfig.test.ts +39 -0
  452. package/src/wallet/react/components/ConnectWallet.tsx +665 -0
  453. package/src/wallet/react/components/WalletProvider.tsx +64 -0
  454. package/src/wallet/react/hooks/useWalletDisconnect.ts +22 -0
  455. package/src/wallet/react/hooks/useWalletState.ts +93 -0
  456. package/src/wallet/react/index.ts +10 -0
  457. package/src/wallet/utils/createWalletConfig.ts +39 -0
  458. package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  459. package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.js +0 -54
  460. package/dist/cjs/global-account/react/components/ProfileAvatar.d.ts +0 -0
  461. package/dist/cjs/global-account/react/components/ProfileAvatar.js +0 -127
  462. package/dist/cjs/global-account/react/hooks/useRPMToken.d.ts +0 -7
  463. package/dist/cjs/global-account/react/hooks/useRPMToken.js +0 -11
  464. package/dist/cjs/global-account/react/utils/updateAvatar.d.ts +0 -4
  465. package/dist/cjs/global-account/react/utils/updateAvatar.js +0 -54
  466. package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  467. package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.js +0 -51
  468. package/dist/esm/global-account/react/components/ProfileAvatar.d.ts +0 -0
  469. package/dist/esm/global-account/react/components/ProfileAvatar.js +0 -127
  470. package/dist/esm/global-account/react/hooks/useRPMToken.d.ts +0 -7
  471. package/dist/esm/global-account/react/hooks/useRPMToken.js +0 -8
  472. package/dist/esm/global-account/react/utils/updateAvatar.d.ts +0 -4
  473. package/dist/esm/global-account/react/utils/updateAvatar.js +0 -18
  474. package/dist/types/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  475. package/dist/types/global-account/react/components/ProfileAvatar.d.ts +0 -0
  476. package/dist/types/global-account/react/hooks/useRPMToken.d.ts +0 -7
  477. package/dist/types/global-account/react/utils/updateAvatar.d.ts +0 -4
  478. package/src/global-account/react/components/AvatarCreator/AvatarCreator.tsx +0 -90
  479. package/src/global-account/react/components/ProfileAvatar.tsx +0 -138
  480. package/src/global-account/react/hooks/useRPMToken.ts +0 -17
  481. package/src/global-account/react/utils/updateAvatar.ts +0 -21
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
3
  import { ANYSPEND_MAINNET_BASE_URL } from "@b3dotfun/sdk/anyspend/constants";
4
+ import { useAccountWallet } from "@b3dotfun/sdk/global-account/react";
4
5
  import { useMutation, useQuery } from "@tanstack/react-query";
5
6
  import { useCallback } from "react";
6
- import { useAccount, useSignMessage } from "wagmi";
7
7
 
8
8
  export interface KycStatusResponse {
9
9
  kycRequired: boolean;
@@ -46,14 +46,17 @@ export function getCachedWalletHeaders(address: string): Record<string, string>
46
46
 
47
47
  /**
48
48
  * Returns a function that builds the wallet-signature auth headers.
49
+ * Uses useAccountWallet (thirdweb) instead of wagmi so signing works
50
+ * for all wallet types (social login, EOA, smart wallet, etc.).
49
51
  * Caches signatures for 4 minutes (server allows 5-minute window).
50
52
  */
51
53
  export function useWalletAuthHeaders() {
52
- const { address } = useAccount();
53
- const { signMessageAsync } = useSignMessage();
54
+ const { address, wallet } = useAccountWallet();
55
+ const signMessage = wallet.signMessage;
54
56
 
55
57
  const getHeaders = useCallback(async (): Promise<Record<string, string>> => {
56
58
  if (!address) throw new Error("No wallet connected");
59
+ if (!signMessage) throw new Error("Wallet does not support message signing");
57
60
  const walletAddress = address.toLowerCase();
58
61
 
59
62
  const cached = headerCache.get(walletAddress);
@@ -61,7 +64,7 @@ export function useWalletAuthHeaders() {
61
64
 
62
65
  const timestamp = Math.floor(Date.now() / 1000);
63
66
  const message = buildWalletAuthMessage(walletAddress, timestamp);
64
- const signature = await signMessageAsync({ message });
67
+ const signature = await signMessage({ message });
65
68
 
66
69
  const headers = {
67
70
  "X-Wallet-Address": walletAddress,
@@ -71,7 +74,7 @@ export function useWalletAuthHeaders() {
71
74
  // Cache for 4 minutes so repeated fetches don't re-prompt the user
72
75
  headerCache.set(walletAddress, { headers, expiresAt: Date.now() + 4 * 60 * 1000 });
73
76
  return headers;
74
- }, [address, signMessageAsync]);
77
+ }, [address, signMessage]);
75
78
 
76
79
  return { address, getHeaders };
77
80
  }
@@ -3,7 +3,6 @@ import {
3
3
  ABSTRACT_PUBLIC_RPC,
4
4
  ARBITRUM_PUBLIC_RPC,
5
5
  AVALANCHE_PUBLIC_RPC,
6
- B3_PUBLIC_RPC,
7
6
  BASE_PUBLIC_RPC,
8
7
  BSC_PUBLIC_RPC,
9
8
  ETHEREUM_PUBLIC_RPC,
@@ -12,6 +11,7 @@ import {
12
11
  POLYGON_PUBLIC_RPC,
13
12
  } from "@b3dotfun/sdk/anyspend/constants/rpc";
14
13
  import { components } from "@b3dotfun/sdk/anyspend/types/api";
14
+ import { b3Viem } from "@b3dotfun/sdk/shared/constants/chains/b3Viem";
15
15
  import invariant from "invariant";
16
16
  import {
17
17
  Account,
@@ -25,7 +25,7 @@ import {
25
25
  Transport,
26
26
  WalletClient,
27
27
  } from "viem";
28
- import { abstract, arbitrum, avalanche, b3, base, bsc, mainnet, optimism, polygon } from "viem/chains";
28
+ import { abstract, arbitrum, avalanche, base, bsc, mainnet, optimism, polygon } from "viem/chains";
29
29
  import { ChainType, IBaseChain, IEVMChain, IHyperliquidChain, ISolanaChain } from "../types/chain";
30
30
  import {
31
31
  getAvaxToken,
@@ -203,16 +203,16 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
203
203
  coingeckoName: "bsc",
204
204
  wethAddress: "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
205
205
  },
206
- [b3.id]: {
207
- id: b3.id,
208
- name: b3.name,
206
+ [b3Viem.id]: {
207
+ id: b3Viem.id,
208
+ name: b3Viem.name,
209
209
  logoUrl: "https://assets.relay.link/icons/square/8333/light.png",
210
210
  type: ChainType.EVM,
211
211
  nativeRequired: parseEther("0.0001"),
212
212
  canDepositNative: true,
213
- defaultToken: getEthToken(b3.id),
214
- nativeToken: getEthToken(b3.id),
215
- viem: getCustomEvmChain(b3, B3_PUBLIC_RPC),
213
+ defaultToken: getEthToken(b3Viem.id),
214
+ nativeToken: getEthToken(b3Viem.id),
215
+ viem: b3Viem,
216
216
  pollingInterval: 1000, // 1 second for B3
217
217
  zapperEnum: "B3_MAINNET",
218
218
  coingeckoName: "b3",
@@ -605,7 +605,7 @@ export function getPaymentUrl(
605
605
  }
606
606
 
607
607
  export function getExplorerTxUrl(chainId: number, txHash: string) {
608
- if (chainId === b3.id) {
608
+ if (chainId === b3Viem.id) {
609
609
  return "https://explorer.b3.fun/b3/tx/" + txHash;
610
610
  }
611
611
  if (EVM_CHAINS[chainId]) {
package/src/app.shared.ts CHANGED
@@ -2,12 +2,11 @@ import { ClientApplication } from "@b3dotfun/b3-api";
2
2
  import { AuthenticationClient } from "@feathersjs/authentication-client";
3
3
  import Cookies from "js-cookie";
4
4
  import { B3_AUTH_COOKIE_NAME } from "./shared/constants";
5
+ import { getSessionDurationDays } from "./shared/utils/session-duration";
5
6
 
6
7
  export const B3_API_URL =
7
8
  process.env.EXPO_PUBLIC_B3_API || process.env.NEXT_PUBLIC_B3_API || process.env.PUBLIC_B3_API || "https://api.b3.fun";
8
9
 
9
- const DEV_USER_GROUP = 4;
10
-
11
10
  export const authenticate = async (
12
11
  app: ClientApplication,
13
12
  accessToken: string,
@@ -33,12 +32,14 @@ export const authenticate = async (
33
32
  },
34
33
  );
35
34
 
36
- // Extend cookie expiration to 30 days for dev users
37
- if (response?.user?.userGroups?.includes(DEV_USER_GROUP)) {
38
- const token = Cookies.get(B3_AUTH_COOKIE_NAME);
39
- if (token) {
40
- Cookies.set(B3_AUTH_COOKIE_NAME, token, { expires: 30 });
41
- }
35
+ const token = Cookies.get(B3_AUTH_COOKIE_NAME);
36
+ if (token) {
37
+ const days = getSessionDurationDays(response?.user?.preferences, params?.partnerId);
38
+ Cookies.set(B3_AUTH_COOKIE_NAME, token, {
39
+ ...(days > 0 ? { expires: days } : {}),
40
+ secure: true,
41
+ sameSite: "Lax",
42
+ });
42
43
  }
43
44
 
44
45
  return response;
@@ -0,0 +1,17 @@
1
+ import { createAuthClient } from "better-auth/client";
2
+ import { B3_API_URL } from "../app.shared";
3
+
4
+ export type B3BetterAuthClient = ReturnType<typeof createB3BetterAuthClient>;
5
+
6
+ export function createB3BetterAuthClient(baseURL: string = B3_API_URL) {
7
+ return createAuthClient({
8
+ baseURL,
9
+ basePath: "/auth",
10
+ fetchOptions: {
11
+ credentials: "include",
12
+ },
13
+ });
14
+ }
15
+
16
+ // Default singleton for standard usage
17
+ export const betterAuthClient = createB3BetterAuthClient();
@@ -73,12 +73,6 @@ export const resetSocket = () => {
73
73
  // reset the socket connection
74
74
  };
75
75
 
76
- export function extractAvatarIdFromUrl(url: string): string | null {
77
- const regex = /https:\/\/models\.readyplayer\.me\/([a-f0-9]{24})\.[a-zA-Z0-9]+/;
78
- const match = url.match(regex);
79
- return match ? match[1] : null;
80
- }
81
-
82
76
  export const authenticateWithB3JWT = async (fullToken: string, params?: Record<string, any>) => {
83
77
  // Do not authenticate if there is no token
84
78
  if (!fullToken) {
@@ -62,6 +62,8 @@ export function AvatarEditor({ onSetAvatar, className }: AvatarEditorProps) {
62
62
  const setB3ModalContentType = useModalStore(state => state.setB3ModalContentType);
63
63
  const contentType = useModalStore(state => state.contentType);
64
64
 
65
+ const { authStrategy } = useB3Config();
66
+ const isBetterAuth = authStrategy === "better-auth";
65
67
  const account = useActiveAccount();
66
68
  const { data: profile, refetch: refreshProfile } = useProfile({
67
69
  address: account?.address,
@@ -162,7 +164,7 @@ export function AvatarEditor({ onSetAvatar, className }: AvatarEditorProps) {
162
164
  };
163
165
 
164
166
  const handleSaveChanges = async () => {
165
- if (!account?.address) {
167
+ if (!isBetterAuth && !account?.address) {
166
168
  toast.error("No account connected");
167
169
  return;
168
170
  }
@@ -27,6 +27,7 @@ import { LinkAccount } from "./LinkAccount/LinkAccount";
27
27
  import { LinkNewAccount } from "./LinkAccount/LinkNewAccount";
28
28
  import { ManageAccount } from "./ManageAccount/ManageAccount";
29
29
  import NotificationsContent from "./ManageAccount/NotificationsContent";
30
+ import SessionDurationContent from "./ManageAccount/SessionDurationContent";
30
31
  import { RequestPermissions } from "./RequestPermissions/RequestPermissions";
31
32
  import { Send } from "./Send/Send";
32
33
  import { SignInWithB3Flow } from "./SignInWithB3/SignInWithB3Flow";
@@ -43,7 +44,7 @@ export function B3DynamicModal() {
43
44
  const navigateBack = useModalStore(state => state.navigateBack);
44
45
  const { theme } = useB3Config();
45
46
  const isMobile = useIsMobile();
46
- const { toasts, removeToast } = useToastContext();
47
+ const { toasts, removeToast, headerMode } = useToastContext();
47
48
 
48
49
  // Define arrays for different modal type groups
49
50
  const fullWidthTypes = [
@@ -172,6 +173,8 @@ export function B3DynamicModal() {
172
173
  return <Send {...contentType} />;
173
174
  case "notifications":
174
175
  return <NotificationsContent {...contentType} />;
176
+ case "sessionDuration":
177
+ return <SessionDurationContent partnerId={contentType.partnerId} />;
175
178
  // Add other modal types here
176
179
  default:
177
180
  return null;
@@ -247,7 +250,7 @@ export function B3DynamicModal() {
247
250
 
248
251
  {/* Toast Container - Part of modal-inner-content layer */}
249
252
  <AnimatePresence>
250
- {toasts.length > 0 && (
253
+ {!headerMode && toasts.length > 0 && (
251
254
  <motion.div
252
255
  initial={{ height: 0 }}
253
256
  animate={{ height: "auto" }}
@@ -1,16 +1,20 @@
1
+ import { EIP1193 } from "thirdweb/wallets";
1
2
  import { useAuthentication } from "../../hooks";
2
3
  import { useAutoSelectWallet } from "../../hooks/useAutoSelectWallet";
3
4
 
4
5
  const AuthenticationProvider = ({
5
6
  partnerId,
6
7
  automaticallySetFirstEoa,
8
+ defaultEoaProvider,
7
9
  }: {
8
10
  partnerId: string;
9
11
  automaticallySetFirstEoa: boolean;
12
+ defaultEoaProvider?: EIP1193.EIP1193Provider;
10
13
  }) => {
11
14
  useAuthentication(partnerId);
12
15
  useAutoSelectWallet({
13
16
  enabled: automaticallySetFirstEoa,
17
+ defaultEoaProvider,
14
18
  });
15
19
 
16
20
  return null;
@@ -15,6 +15,8 @@ const DEFAULT_PERMISSIONS: PermissionsConfig = {
15
15
  endDate: new Date(Date.now() + 1000 * 60 * 60 * 24 * 365), // 1 year from now
16
16
  };
17
17
 
18
+ export type AuthStrategy = "thirdweb" | "better-auth";
19
+
18
20
  export interface B3ConfigContextType {
19
21
  accountOverride?: Account;
20
22
  automaticallySetFirstEoa: boolean;
@@ -25,6 +27,9 @@ export interface B3ConfigContextType {
25
27
  partnerId: string;
26
28
  stripePublishableKey?: string;
27
29
  createClientReferenceId?: (params: CreateOrderParams | CreateOnrampOrderParams) => Promise<string>;
30
+ authStrategy: AuthStrategy;
31
+ /** Override the API base URL for all auth operations (Better Auth client, Feathers JWT exchange). */
32
+ apiUrl?: string;
28
33
  }
29
34
 
30
35
  const B3ConfigContext = createContext<B3ConfigContextType | null>(null);
@@ -40,6 +45,8 @@ export function B3ConfigProvider({
40
45
  partnerId,
41
46
  stripePublishableKey,
42
47
  createClientReferenceId,
48
+ authStrategy = "thirdweb",
49
+ apiUrl,
43
50
  }: {
44
51
  children: React.ReactNode;
45
52
  accountOverride?: Account;
@@ -51,6 +58,9 @@ export function B3ConfigProvider({
51
58
  partnerId: string;
52
59
  stripePublishableKey?: string;
53
60
  createClientReferenceId?: (params: CreateOrderParams | CreateOnrampOrderParams) => Promise<string>;
61
+ authStrategy?: AuthStrategy;
62
+ /** Override the API base URL for all auth operations (Better Auth client, Feathers JWT exchange). */
63
+ apiUrl?: string;
54
64
  }) {
55
65
  return (
56
66
  <B3ConfigContext.Provider
@@ -64,6 +74,8 @@ export function B3ConfigProvider({
64
74
  partnerId,
65
75
  stripePublishableKey,
66
76
  createClientReferenceId,
77
+ authStrategy,
78
+ apiUrl,
67
79
  }}
68
80
  >
69
81
  {children}
@@ -1,19 +1,16 @@
1
1
  import { PermissionsConfig } from "@b3dotfun/sdk/global-account/types/permissions";
2
- import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
2
+ import { WalletProvider } from "@b3dotfun/sdk/wallet/react";
3
3
  import { ThirdwebProvider } from "thirdweb/react";
4
4
  import { Account, Wallet } from "thirdweb/wallets";
5
5
 
6
6
  import { ClientType } from "../../../client-manager";
7
7
 
8
- import { WagmiProvider } from "wagmi";
8
+ import { useMemo } from "react";
9
9
  import { createWagmiConfig } from "../../utils/createWagmiConfig";
10
10
  import AuthenticationProvider from "./AuthenticationProvider";
11
11
  import { B3ConfigProvider } from "./B3ConfigProvider";
12
12
  import { LocalSDKProvider } from "./LocalSDKProvider";
13
13
 
14
- // Create queryClient instance
15
- const queryClient = new QueryClient();
16
-
17
14
  /**
18
15
  * Main B3Provider component
19
16
  */
@@ -82,23 +79,21 @@ export function InnerProvider({
82
79
  partnerId: string;
83
80
  rpcUrls?: Record<number, string>;
84
81
  }) {
85
- const wagmiConfig = createWagmiConfig({ partnerId, rpcUrls });
82
+ const wagmiConfig = useMemo(() => createWagmiConfig({ partnerId, rpcUrls }), [partnerId, rpcUrls]);
86
83
 
87
84
  return (
88
- <WagmiProvider config={wagmiConfig}>
89
- <QueryClientProvider client={queryClient}>
90
- <B3ConfigProvider
91
- accountOverride={accountOverride}
92
- environment={environment}
93
- automaticallySetFirstEoa={false}
94
- theme={theme}
95
- clientType={clientType}
96
- partnerId={partnerId}
97
- defaultPermissions={defaultPermissions}
98
- >
99
- {children}
100
- </B3ConfigProvider>
101
- </QueryClientProvider>
102
- </WagmiProvider>
85
+ <WalletProvider wagmiConfig={wagmiConfig}>
86
+ <B3ConfigProvider
87
+ accountOverride={accountOverride}
88
+ environment={environment}
89
+ automaticallySetFirstEoa={false}
90
+ theme={theme}
91
+ clientType={clientType}
92
+ partnerId={partnerId}
93
+ defaultPermissions={defaultPermissions}
94
+ >
95
+ {children}
96
+ </B3ConfigProvider>
97
+ </WalletProvider>
103
98
  );
104
99
  }
@@ -3,23 +3,23 @@ import { CreateOrderParams } from "@b3dotfun/sdk/anyspend/react/hooks/useAnyspen
3
3
  import { RelayKitProviderWrapper, TooltipProvider } from "@b3dotfun/sdk/global-account/react";
4
4
  import { createWagmiConfig } from "@b3dotfun/sdk/global-account/react/utils/createWagmiConfig";
5
5
  import { PermissionsConfig } from "@b3dotfun/sdk/global-account/types/permissions";
6
+ import type { AuthStrategy } from "./B3ConfigProvider";
6
7
  import { loadGA4Script } from "@b3dotfun/sdk/global-account/utils/analytics";
8
+ import { WalletProvider } from "@b3dotfun/sdk/wallet/react";
7
9
  import "@relayprotocol/relay-kit-ui/styles.css";
8
- import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
10
+ import { QueryClient } from "@tanstack/react-query";
9
11
  import { useEffect, useMemo } from "react";
10
- import { ThirdwebProvider } from "thirdweb/react";
11
- import { Account, Wallet } from "thirdweb/wallets";
12
- import { CreateConnectorFn, WagmiProvider } from "wagmi";
12
+ import { Account, EIP1193, Wallet } from "thirdweb/wallets";
13
+ import { CreateConnectorFn } from "wagmi";
13
14
  import { ClientType, setClientType } from "../../../client-manager";
14
15
  import { StyleRoot } from "../StyleRoot";
15
16
  import { setToastContext, ToastProvider, useToastContext } from "../Toast/index";
16
17
  import AuthenticationProvider from "./AuthenticationProvider";
17
18
  import { B3ConfigProvider } from "./B3ConfigProvider";
19
+ import { BetterAuthClientProvider } from "./BetterAuthClientProvider";
20
+ import BetterAuthProvider from "./BetterAuthProvider";
18
21
  import { LocalSDKProvider } from "./LocalSDKProvider";
19
22
 
20
- // Create queryClient instance
21
- const queryClient = new QueryClient();
22
-
23
23
  /**
24
24
  * Main B3Provider component
25
25
  */
@@ -29,6 +29,7 @@ export function B3Provider({
29
29
  accountOverride,
30
30
  environment,
31
31
  automaticallySetFirstEoa,
32
+ defaultEoaProvider,
32
33
  simDuneApiKey,
33
34
  // deprecated since v0.0.87
34
35
  toaster: _toaster,
@@ -42,12 +43,18 @@ export function B3Provider({
42
43
  overrideDefaultConnectors = false,
43
44
  createClientReferenceId,
44
45
  defaultPermissions,
46
+ disableBSMNTAuthentication = false,
47
+ queryClient,
48
+ authStrategy = "thirdweb",
49
+ apiUrl,
45
50
  }: {
46
51
  theme: "light" | "dark";
47
52
  children: React.ReactNode;
48
53
  accountOverride?: Account;
49
54
  environment?: "development" | "production";
50
55
  automaticallySetFirstEoa?: boolean;
56
+ /** EIP-1193 provider to auto-connect as the default EOA wallet (e.g., Farcaster frame wallet) */
57
+ defaultEoaProvider?: EIP1193.EIP1193Provider;
51
58
  simDuneApiKey?: string;
52
59
  toaster?: {
53
60
  position?: "top-center" | "top-right" | "bottom-center" | "bottom-right";
@@ -64,6 +71,27 @@ export function B3Provider({
64
71
  overrideDefaultConnectors?: boolean;
65
72
  createClientReferenceId?: (params: CreateOrderParams | CreateOnrampOrderParams) => Promise<string>;
66
73
  defaultPermissions?: PermissionsConfig;
74
+ disableBSMNTAuthentication?: boolean;
75
+ /** Provide your own QueryClient for React Query. If omitted, WalletProvider creates one internally. */
76
+ queryClient?: QueryClient;
77
+ /** Auth strategy: "thirdweb" (default, ecosystem wallet) or "better-auth" (email/password via Better Auth) */
78
+ authStrategy?: AuthStrategy;
79
+ /**
80
+ * Override the API base URL for Better Auth operations.
81
+ *
82
+ * When set, the Better Auth client (signIn, signUp, signOut, getSession) will
83
+ * target this URL instead of the default `B3_API_URL` / `NEXT_PUBLIC_B3_API`.
84
+ *
85
+ * Useful for local development where the frontend runs on localhost:3003 and
86
+ * the b3-api runs on localhost:3031 — keeps the entire OAuth flow local so
87
+ * sessions, cookies, and token exchange all hit the same server.
88
+ *
89
+ * @example
90
+ * ```tsx
91
+ * <B3Provider apiUrl="http://localhost:3031" ... />
92
+ * ```
93
+ */
94
+ apiUrl?: string;
67
95
  }) {
68
96
  // Initialize Google Analytics on mount
69
97
  useEffect(() => {
@@ -81,37 +109,49 @@ export function B3Provider({
81
109
  );
82
110
 
83
111
  return (
84
- <ThirdwebProvider>
85
- <WagmiProvider config={wagmiConfig} reconnectOnMount={false}>
86
- <QueryClientProvider client={queryClient}>
87
- <TooltipProvider>
88
- <ToastProvider>
89
- <LocalSDKProvider onConnectCallback={onConnect} onLogoutCallback={onLogout}>
90
- <B3ConfigProvider
91
- accountOverride={accountOverride}
92
- environment={environment}
93
- automaticallySetFirstEoa={!!automaticallySetFirstEoa}
94
- theme={theme}
95
- clientType={clientType}
96
- partnerId={partnerId}
97
- stripePublishableKey={stripePublishableKey}
98
- createClientReferenceId={createClientReferenceId}
99
- defaultPermissions={defaultPermissions}
100
- >
101
- <ToastContextConnector />
102
- <RelayKitProviderWrapper simDuneApiKey={simDuneApiKey}>
103
- {children}
104
- {/* For the modal https://github.com/b3-fun/b3/blob/main/packages/sdk/src/global-account/react/components/ui/dialog.tsx#L46 */}
105
- <StyleRoot id="b3-root" />
106
- </RelayKitProviderWrapper>
107
- <AuthenticationProvider partnerId={partnerId} automaticallySetFirstEoa={!!automaticallySetFirstEoa} />
108
- </B3ConfigProvider>
109
- </LocalSDKProvider>
110
- </ToastProvider>
111
- </TooltipProvider>
112
- </QueryClientProvider>
113
- </WagmiProvider>
114
- </ThirdwebProvider>
112
+ <WalletProvider wagmiConfig={wagmiConfig} queryClient={queryClient}>
113
+ <TooltipProvider>
114
+ <ToastProvider>
115
+ <LocalSDKProvider
116
+ onConnectCallback={onConnect}
117
+ onLogoutCallback={onLogout}
118
+ disableBSMNTAuthentication={disableBSMNTAuthentication}
119
+ >
120
+ <B3ConfigProvider
121
+ accountOverride={accountOverride}
122
+ environment={environment}
123
+ automaticallySetFirstEoa={!!automaticallySetFirstEoa}
124
+ theme={theme}
125
+ clientType={clientType}
126
+ partnerId={partnerId}
127
+ stripePublishableKey={stripePublishableKey}
128
+ createClientReferenceId={createClientReferenceId}
129
+ defaultPermissions={defaultPermissions}
130
+ authStrategy={authStrategy}
131
+ apiUrl={apiUrl}
132
+ >
133
+ <BetterAuthClientProvider apiUrl={apiUrl}>
134
+ <ToastContextConnector />
135
+ <RelayKitProviderWrapper simDuneApiKey={simDuneApiKey}>
136
+ {children}
137
+ {/* For the modal https://github.com/b3-fun/b3/blob/main/packages/sdk/src/global-account/react/components/ui/dialog.tsx#L46 */}
138
+ <StyleRoot id="b3-root" />
139
+ </RelayKitProviderWrapper>
140
+ {authStrategy === "better-auth" ? (
141
+ <BetterAuthProvider partnerId={partnerId} />
142
+ ) : (
143
+ <AuthenticationProvider
144
+ partnerId={partnerId}
145
+ automaticallySetFirstEoa={!!automaticallySetFirstEoa}
146
+ defaultEoaProvider={defaultEoaProvider}
147
+ />
148
+ )}
149
+ </BetterAuthClientProvider>
150
+ </B3ConfigProvider>
151
+ </LocalSDKProvider>
152
+ </ToastProvider>
153
+ </TooltipProvider>
154
+ </WalletProvider>
115
155
  );
116
156
  }
117
157
 
@@ -0,0 +1,40 @@
1
+ import { createContext, useContext, useMemo } from "react";
2
+ import {
3
+ betterAuthClient,
4
+ createB3BetterAuthClient,
5
+ type B3BetterAuthClient,
6
+ } from "../../../better-auth-client";
7
+
8
+ const BetterAuthClientContext = createContext<B3BetterAuthClient>(betterAuthClient);
9
+
10
+ /**
11
+ * Provides a Better Auth client instance to the subtree.
12
+ *
13
+ * When `apiUrl` is supplied, a custom client targeting that URL is created
14
+ * (e.g. `http://localhost:3031` for local development). Otherwise, the
15
+ * default singleton (which uses `B3_API_URL` / `NEXT_PUBLIC_B3_API`) is used.
16
+ */
17
+ export function BetterAuthClientProvider({
18
+ children,
19
+ apiUrl,
20
+ }: {
21
+ children: React.ReactNode;
22
+ apiUrl?: string;
23
+ }) {
24
+ const client = useMemo(() => {
25
+ if (apiUrl) {
26
+ return createB3BetterAuthClient(apiUrl);
27
+ }
28
+ return betterAuthClient;
29
+ }, [apiUrl]);
30
+
31
+ return <BetterAuthClientContext.Provider value={client}>{children}</BetterAuthClientContext.Provider>;
32
+ }
33
+
34
+ /**
35
+ * Returns the Better Auth client from the nearest `BetterAuthClientProvider`.
36
+ * Falls back to the default singleton if no provider is present.
37
+ */
38
+ export function useBetterAuthClient(): B3BetterAuthClient {
39
+ return useContext(BetterAuthClientContext);
40
+ }