@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
@@ -3,15 +3,16 @@ 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,
10
9
  HYPEREVM_PUBLIC_RPC,
11
10
  OPTIMISM_PUBLIC_RPC,
11
+ PLUME_PUBLIC_RPC,
12
12
  POLYGON_PUBLIC_RPC,
13
13
  } from "@b3dotfun/sdk/anyspend/constants/rpc";
14
14
  import { components } from "@b3dotfun/sdk/anyspend/types/api";
15
+ import { b3Viem } from "@b3dotfun/sdk/shared/constants/chains/b3Viem";
15
16
  import invariant from "invariant";
16
17
  import {
17
18
  Account,
@@ -25,7 +26,7 @@ import {
25
26
  Transport,
26
27
  WalletClient,
27
28
  } from "viem";
28
- import { abstract, arbitrum, avalanche, b3, base, bsc, mainnet, optimism, polygon } from "viem/chains";
29
+ import { abstract, arbitrum, avalanche, base, bsc, mainnet, optimism, polygon } from "viem/chains";
29
30
  import { ChainType, IBaseChain, IEVMChain, IHyperliquidChain, ISolanaChain } from "../types/chain";
30
31
  import {
31
32
  getAvaxToken,
@@ -33,10 +34,12 @@ import {
33
34
  getEthToken,
34
35
  getHyperEVMNativeToken,
35
36
  getHyperliquidUSDCToken,
37
+ getPlumeNativeToken,
36
38
  getPolToken,
37
39
  getSolanaToken,
38
40
  HYPEREVM_CHAIN_ID,
39
41
  HYPERLIQUID_CHAIN_ID,
42
+ PLUME_CHAIN_ID,
40
43
  } from "./token";
41
44
 
42
45
  function getCustomEvmChain(chain: Chain, rpcUrl: string): Chain {
@@ -84,11 +87,19 @@ export function clearChainRpcOverrides(): void {
84
87
  export const hyperEVM = defineChain({
85
88
  id: HYPEREVM_CHAIN_ID,
86
89
  name: "HyperEVM",
87
- nativeCurrency: { name: "HyperEVM", symbol: "HYPE", decimals: 18 },
90
+ nativeCurrency: { name: "Hyperliquid", symbol: "HYPE", decimals: 18 },
88
91
  rpcUrls: { default: { http: [HYPEREVM_PUBLIC_RPC] } },
89
92
  blockExplorers: { default: { name: "HyperEVM Explorer", url: "https://hyperevmscan.io/" } },
90
93
  });
91
94
 
95
+ export const plume = defineChain({
96
+ id: PLUME_CHAIN_ID,
97
+ name: "Plume",
98
+ nativeCurrency: { name: "Plume", symbol: "PLUME", decimals: 18 },
99
+ rpcUrls: { default: { http: [PLUME_PUBLIC_RPC] } },
100
+ blockExplorers: { default: { name: "Plume Explorer", url: "https://explorer.plume.org" } },
101
+ });
102
+
92
103
  // export const b4testnet = defineChain({
93
104
  // id: 19934,
94
105
  // name: "B4 Testnet",
@@ -203,16 +214,16 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
203
214
  coingeckoName: "bsc",
204
215
  wethAddress: "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
205
216
  },
206
- [b3.id]: {
207
- id: b3.id,
208
- name: b3.name,
217
+ [b3Viem.id]: {
218
+ id: b3Viem.id,
219
+ name: b3Viem.name,
209
220
  logoUrl: "https://assets.relay.link/icons/square/8333/light.png",
210
221
  type: ChainType.EVM,
211
222
  nativeRequired: parseEther("0.0001"),
212
223
  canDepositNative: true,
213
- defaultToken: getEthToken(b3.id),
214
- nativeToken: getEthToken(b3.id),
215
- viem: getCustomEvmChain(b3, B3_PUBLIC_RPC),
224
+ defaultToken: getEthToken(b3Viem.id),
225
+ nativeToken: getEthToken(b3Viem.id),
226
+ viem: b3Viem,
216
227
  pollingInterval: 1000, // 1 second for B3
217
228
  zapperEnum: "B3_MAINNET",
218
229
  coingeckoName: "b3",
@@ -247,6 +258,20 @@ export const EVM_MAINNET: Record<number, IEVMChain> = {
247
258
  coingeckoName: "hyperevm",
248
259
  wethAddress: "0x5555555555555555555555555555555555555555",
249
260
  },
261
+ [plume.id]: {
262
+ id: plume.id,
263
+ name: plume.name,
264
+ logoUrl: "https://cdn.b3.fun/b3os-icons/plume.svg",
265
+ type: ChainType.EVM,
266
+ 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
267
+ canDepositNative: true,
268
+ defaultToken: getPlumeNativeToken(),
269
+ nativeToken: getPlumeNativeToken(),
270
+ viem: plume,
271
+ pollingInterval: 1000, // 1 second for Plume (L2 fast blocks)
272
+ coingeckoName: "plume-network",
273
+ wethAddress: "0xea237441c92cae6fc17caaf9a7acb3f953be4bd1", // WPLUME (wrapped native)
274
+ },
250
275
  };
251
276
 
252
277
  export const EVM_TESTNET: Record<number, IEVMChain> = {
@@ -605,7 +630,7 @@ export function getPaymentUrl(
605
630
  }
606
631
 
607
632
  export function getExplorerTxUrl(chainId: number, txHash: string) {
608
- if (chainId === b3.id) {
633
+ if (chainId === b3Viem.id) {
609
634
  return "https://explorer.b3.fun/b3/tx/" + txHash;
610
635
  }
611
636
  if (EVM_CHAINS[chainId]) {
@@ -4,6 +4,7 @@ import { avalanche, bsc, polygon } from "viem/chains";
4
4
 
5
5
  export const HYPERLIQUID_CHAIN_ID = 1337;
6
6
  export const HYPEREVM_CHAIN_ID = 999;
7
+ export const PLUME_CHAIN_ID = 98866;
7
8
 
8
9
  /**
9
10
  * Hyperliquid uses a special 34-character USDC address format (0x + 32 hex digits)
@@ -106,3 +107,16 @@ export function getHyperliquidUSDCToken(): components["schemas"]["Token"] {
106
107
  },
107
108
  };
108
109
  }
110
+
111
+ export function getPlumeNativeToken(): components["schemas"]["Token"] {
112
+ return {
113
+ chainId: PLUME_CHAIN_ID,
114
+ address: ZERO_ADDRESS,
115
+ symbol: "PLUME",
116
+ name: "Plume",
117
+ decimals: 18,
118
+ metadata: {
119
+ logoURI: "https://cdn.b3.fun/b3os-icons/plume.svg",
120
+ },
121
+ };
122
+ }
package/src/app.shared.ts CHANGED
@@ -2,18 +2,37 @@ 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
 
7
+ /** Default API URL derived from environment variables. */
6
8
  export const B3_API_URL =
7
9
  process.env.EXPO_PUBLIC_B3_API || process.env.NEXT_PUBLIC_B3_API || process.env.PUBLIC_B3_API || "https://api.b3.fun";
8
10
 
9
- const DEV_USER_GROUP = 4;
11
+ /**
12
+ * Runtime-overridable API URL. Set by `B3Provider` when an `apiUrl` prop
13
+ * is provided. Falls back to the env-var-derived `B3_API_URL`.
14
+ */
15
+ let _apiUrlOverride: string | null = null;
16
+
17
+ /**
18
+ * Override the B3 API URL at runtime. Called by `B3Provider` when an
19
+ * `apiUrl` prop is provided. Pass `null` to revert to the default.
20
+ */
21
+ export function setB3ApiUrl(url: string | null): void {
22
+ _apiUrlOverride = url;
23
+ }
24
+
25
+ /** Get the current B3 API URL (prefers runtime override, then env var). */
26
+ export function getB3ApiUrl(): string {
27
+ return _apiUrlOverride || B3_API_URL;
28
+ }
10
29
 
11
30
  export const authenticate = async (
12
31
  app: ClientApplication,
13
32
  accessToken: string,
14
33
  identityToken: string,
15
34
  params?: Record<string, any>,
16
- ) => {
35
+ ): Promise<Record<string, any> | null> => {
17
36
  const fullToken = `${accessToken}+${identityToken}`;
18
37
 
19
38
  // Do not authenticate if there is no token
@@ -33,12 +52,14 @@ export const authenticate = async (
33
52
  },
34
53
  );
35
54
 
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
- }
55
+ const token = Cookies.get(B3_AUTH_COOKIE_NAME);
56
+ if (token) {
57
+ const days = getSessionDurationDays(response?.user?.preferences, params?.partnerId);
58
+ Cookies.set(B3_AUTH_COOKIE_NAME, token, {
59
+ ...(days > 0 ? { expires: days } : {}),
60
+ secure: true,
61
+ sameSite: "Lax",
62
+ });
42
63
  }
43
64
 
44
65
  return response;
@@ -77,7 +77,11 @@ const app = createClient(socketio(socket), {
77
77
  storageKey: B3_AUTH_COOKIE_NAME,
78
78
  });
79
79
 
80
- export const authenticate = async (accessToken: string, identityToken: string, params?: Record<string, any>) => {
80
+ export const authenticate = async (
81
+ accessToken: string,
82
+ identityToken: string,
83
+ params?: Record<string, any>,
84
+ ): Promise<Record<string, any> | null> => {
81
85
  const fullToken = `${accessToken}+${identityToken}`;
82
86
 
83
87
  // Do not authenticate if there is no token
@@ -0,0 +1,43 @@
1
+ import { createAuthClient } from "better-auth/client";
2
+ import { twoFactorClient } from "better-auth/client/plugins";
3
+ import { getB3ApiUrl } from "../app.shared";
4
+
5
+ export type B3BetterAuthClient = ReturnType<typeof createB3BetterAuthClient>;
6
+
7
+ export function createB3BetterAuthClient(baseURL?: string) {
8
+ return createAuthClient({
9
+ baseURL: baseURL ?? getB3ApiUrl(),
10
+ basePath: "/auth",
11
+ fetchOptions: {
12
+ credentials: "include",
13
+ },
14
+ plugins: [twoFactorClient()],
15
+ });
16
+ }
17
+
18
+ // Lazily-initialized singleton. Recreated when the API URL changes via
19
+ // `resetBetterAuthClient()` (called by B3Provider when `apiUrl` changes).
20
+ let _client: B3BetterAuthClient | null = null;
21
+ let _clientUrl: string | null = null;
22
+
23
+ /** Get the shared BetterAuth client, creating it if needed. */
24
+ export function getBetterAuthClient(): B3BetterAuthClient {
25
+ const url = getB3ApiUrl();
26
+ if (!_client || _clientUrl !== url) {
27
+ _client = createB3BetterAuthClient(url);
28
+ _clientUrl = url;
29
+ }
30
+ return _client;
31
+ }
32
+
33
+ /** Force-recreate the client on next access (e.g. after API URL change). */
34
+ export function resetBetterAuthClient(): void {
35
+ _client = null;
36
+ _clientUrl = null;
37
+ }
38
+
39
+ /**
40
+ * @deprecated Use `getBetterAuthClient()` instead. This static singleton
41
+ * does not reflect runtime API URL changes via `B3Provider apiUrl` prop.
42
+ */
43
+ export const betterAuthClient = createB3BetterAuthClient();
@@ -80,7 +80,11 @@ const app = createClient(socketio(socket), {
80
80
  storageKey: BSMNT_AUTH_COOKIE_NAME,
81
81
  });
82
82
 
83
- export const authenticate = async (accessToken: string, identityToken: string, params?: Record<string, any>) => {
83
+ export const authenticate = async (
84
+ accessToken: string,
85
+ identityToken: string,
86
+ params?: Record<string, any>,
87
+ ): Promise<Record<string, any> | null> => {
84
88
  const fullToken = `${accessToken}+${identityToken}`;
85
89
 
86
90
  // Do not authenticate if there is no token
@@ -42,7 +42,11 @@ const app = createClient(socketio(socket), {
42
42
  storageKey: BSMNT_AUTH_COOKIE_NAME,
43
43
  });
44
44
 
45
- export const authenticate = async (accessToken: string, identityToken: string, params?: Record<string, any>) => {
45
+ export const authenticate = async (
46
+ accessToken: string,
47
+ identityToken: string,
48
+ params?: Record<string, any>,
49
+ ): Promise<Record<string, any> | null> => {
46
50
  const fullToken = `${accessToken}+${identityToken}`;
47
51
 
48
52
  // Do not authenticate if there is no token
@@ -73,13 +77,10 @@ export const resetSocket = () => {
73
77
  // reset the socket connection
74
78
  };
75
79
 
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
- export const authenticateWithB3JWT = async (fullToken: string, params?: Record<string, any>) => {
80
+ export const authenticateWithB3JWT = async (
81
+ fullToken: string,
82
+ params?: Record<string, any>,
83
+ ): Promise<Record<string, any> | null> => {
83
84
  // Do not authenticate if there is no token
84
85
  if (!fullToken) {
85
86
  console.log("No token found, not authenticating");
@@ -2,7 +2,7 @@ import { ClientApplication, createClient } from "@b3dotfun/b3-api";
2
2
  import rest from "@feathersjs/rest-client";
3
3
  import socketio from "@feathersjs/socketio-client";
4
4
  import io from "socket.io-client";
5
- import { authenticate as authenticateB3, B3_API_URL, clientOptions } from "../app.shared";
5
+ import { authenticate as authenticateB3, getB3ApiUrl, clientOptions } from "../app.shared";
6
6
 
7
7
  export type ClientType = "socket" | "rest";
8
8
 
@@ -13,17 +13,21 @@ let currentClient: ClientApplication | null = null;
13
13
  // Socket client instance
14
14
  let socketClient: ClientApplication | null = null;
15
15
  let socketInstance: any = null;
16
+ let socketClientUrl: string | null = null;
16
17
 
17
18
  // REST client instance
18
19
  let restClient: ClientApplication | null = null;
20
+ let restClientUrl: string | null = null;
19
21
 
20
22
  /**
21
23
  * Creates a socket client
22
24
  */
23
25
  function createSocketClient(): ClientApplication {
24
- if (!socketClient) {
25
- socketInstance = io(B3_API_URL, { transports: ["websocket"] });
26
+ const url = getB3ApiUrl();
27
+ if (!socketClient || socketClientUrl !== url) {
28
+ socketInstance = io(url, { transports: ["websocket"] });
26
29
  socketClient = createClient(socketio(socketInstance), clientOptions);
30
+ socketClientUrl = url;
27
31
  }
28
32
  return socketClient;
29
33
  }
@@ -40,13 +44,24 @@ function resolveFetch(): typeof fetch {
40
44
  }
41
45
 
42
46
  function createRestClient(): ClientApplication {
43
- if (!restClient) {
44
- const connection = rest(B3_API_URL).fetch(resolveFetch());
47
+ const url = getB3ApiUrl();
48
+ if (!restClient || restClientUrl !== url) {
49
+ const connection = rest(url).fetch(resolveFetch());
45
50
  restClient = createClient(connection, clientOptions);
51
+ restClientUrl = url;
46
52
  }
47
53
  return restClient;
48
54
  }
49
55
 
56
+ /** Reset all cached clients (called when API URL changes). */
57
+ export function resetClients(): void {
58
+ socketClient = null;
59
+ socketClientUrl = null;
60
+ restClient = null;
61
+ restClientUrl = null;
62
+ currentClient = null;
63
+ }
64
+
50
65
  /**
51
66
  * Sets the active client type and creates the appropriate client
52
67
  *
@@ -99,7 +114,11 @@ export function resetSocket(): void {
99
114
  /**
100
115
  * Authenticates with the current active client
101
116
  */
102
- export const authenticate = async (accessToken: string, identityToken: string, params?: Record<string, any>) => {
117
+ export const authenticate = async (
118
+ accessToken: string,
119
+ identityToken: string,
120
+ params?: Record<string, any>,
121
+ ): Promise<Record<string, any> | null> => {
103
122
  return authenticateB3(getClient(), accessToken, identityToken, params);
104
123
  };
105
124
 
@@ -111,7 +130,7 @@ export const authenticateWithClient = async (
111
130
  accessToken: string,
112
131
  identityToken: string,
113
132
  params?: Record<string, any>,
114
- ) => {
133
+ ): Promise<Record<string, any> | null> => {
115
134
  const client = getClientByType(clientType);
116
135
  return authenticateB3(client, accessToken, identityToken, params);
117
136
  };
@@ -119,7 +138,15 @@ export const authenticateWithClient = async (
119
138
  /**
120
139
  * Authenticates with both clients in parallel (useful for migration scenarios)
121
140
  */
122
- export const authenticateBoth = async (accessToken: string, identityToken: string, params?: Record<string, any>) => {
141
+ export const authenticateBoth = async (
142
+ accessToken: string,
143
+ identityToken: string,
144
+ params?: Record<string, any>,
145
+ ): Promise<{
146
+ socket: Record<string, any> | null;
147
+ rest: Record<string, any> | null;
148
+ success: boolean;
149
+ }> => {
123
150
  const [socketResult, restResult] = await Promise.allSettled([
124
151
  authenticateWithClient("socket", accessToken, identityToken, params),
125
152
  authenticateWithClient("rest", accessToken, identityToken, params),
@@ -135,7 +162,12 @@ export const authenticateBoth = async (accessToken: string, identityToken: strin
135
162
  /**
136
163
  * Switches the client type and authenticates
137
164
  */
138
- export async function switchClientAndAuth(type: ClientType, access: string, id: string, params?: any) {
165
+ export async function switchClientAndAuth(
166
+ type: ClientType,
167
+ access: string,
168
+ id: string,
169
+ params?: any,
170
+ ): Promise<Record<string, any> | null> {
139
171
  setClientType(type);
140
172
  return authenticateWithClient(type, access, id, params);
141
173
  }
@@ -13,7 +13,7 @@ import { validateImageUrl } from "@b3dotfun/sdk/global-account/react/utils/profi
13
13
  import { cn } from "@b3dotfun/sdk/shared/utils/cn";
14
14
  import { debugB3React } from "@b3dotfun/sdk/shared/utils/debug";
15
15
  import { getIpfsUrl } from "@b3dotfun/sdk/shared/utils/ipfs";
16
- import { client } from "@b3dotfun/sdk/shared/utils/thirdweb";
16
+ import { uploadFile as uploadToB3 } from "@b3dotfun/sdk/shared/utils/upload";
17
17
  import { Loader2, Upload, X } from "lucide-react";
18
18
  import { useCallback, useRef, useState } from "react";
19
19
  import type { Area } from "react-easy-crop";
@@ -21,7 +21,6 @@ import Cropper from "react-easy-crop";
21
21
  import "react-easy-crop/react-easy-crop.css";
22
22
 
23
23
  import { useActiveAccount } from "thirdweb/react";
24
- import { upload } from "thirdweb/storage";
25
24
  import { useModalStore } from "../../stores";
26
25
  import ModalHeader from "../ModalHeader/ModalHeader";
27
26
 
@@ -62,6 +61,8 @@ export function AvatarEditor({ onSetAvatar, className }: AvatarEditorProps) {
62
61
  const setB3ModalContentType = useModalStore(state => state.setB3ModalContentType);
63
62
  const contentType = useModalStore(state => state.contentType);
64
63
 
64
+ const { authStrategy } = useB3Config();
65
+ const isBetterAuth = authStrategy === "better-auth";
65
66
  const account = useActiveAccount();
66
67
  const { data: profile, refetch: refreshProfile } = useProfile({
67
68
  address: account?.address,
@@ -162,7 +163,7 @@ export function AvatarEditor({ onSetAvatar, className }: AvatarEditorProps) {
162
163
  };
163
164
 
164
165
  const handleSaveChanges = async () => {
165
- if (!account?.address) {
166
+ if (!isBetterAuth && !account?.address) {
166
167
  toast.error("No account connected");
167
168
  return;
168
169
  }
@@ -241,22 +242,18 @@ export function AvatarEditor({ onSetAvatar, className }: AvatarEditorProps) {
241
242
  }
242
243
  }
243
244
 
244
- // Upload to IPFS if we have a file
245
+ // Upload file if we have one
245
246
  if (fileToUpload) {
246
- debug("Starting upload to IPFS", fileToUpload);
247
+ debug("Starting upload", fileToUpload);
247
248
 
248
- // Upload to IPFS using Thirdweb
249
- const ipfsUrl = await upload({
250
- client,
251
- files: [fileToUpload],
252
- });
249
+ const avatarUrl = await uploadToB3(fileToUpload);
253
250
 
254
- debug("Upload successful", ipfsUrl);
251
+ debug("Upload successful", avatarUrl);
255
252
 
256
253
  // Save avatar URL using profiles service
257
254
  const user = await app.service("users").setAvatar(
258
255
  {
259
- avatar: ipfsUrl,
256
+ avatar: avatarUrl,
260
257
  },
261
258
  // @ts-expect-error - our typed client is expecting context even though it's set elsewhere
262
259
  {},
@@ -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,7 @@ export interface B3ConfigContextType {
25
27
  partnerId: string;
26
28
  stripePublishableKey?: string;
27
29
  createClientReferenceId?: (params: CreateOrderParams | CreateOnrampOrderParams) => Promise<string>;
30
+ authStrategy: AuthStrategy;
28
31
  }
29
32
 
30
33
  const B3ConfigContext = createContext<B3ConfigContextType | null>(null);
@@ -40,6 +43,7 @@ export function B3ConfigProvider({
40
43
  partnerId,
41
44
  stripePublishableKey,
42
45
  createClientReferenceId,
46
+ authStrategy = "thirdweb",
43
47
  }: {
44
48
  children: React.ReactNode;
45
49
  accountOverride?: Account;
@@ -51,6 +55,7 @@ export function B3ConfigProvider({
51
55
  partnerId: string;
52
56
  stripePublishableKey?: string;
53
57
  createClientReferenceId?: (params: CreateOrderParams | CreateOnrampOrderParams) => Promise<string>;
58
+ authStrategy?: AuthStrategy;
54
59
  }) {
55
60
  return (
56
61
  <B3ConfigContext.Provider
@@ -64,6 +69,7 @@ export function B3ConfigProvider({
64
69
  partnerId,
65
70
  stripePublishableKey,
66
71
  createClientReferenceId,
72
+ authStrategy,
67
73
  }}
68
74
  >
69
75
  {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
  }