@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
@@ -44,6 +44,8 @@ export interface SignInWithB3ModalProps extends BaseModalProps {
44
44
  source?: "signInWithB3Button" | "requestPermissions";
45
45
  /** Whether to show the signers enabled modal */
46
46
  signersEnabled?: boolean;
47
+ /** URL Better Auth redirects to after server-side email verification. */
48
+ verifyEmailRedirectTo?: string;
47
49
  }
48
50
 
49
51
  /**
@@ -139,6 +141,8 @@ export interface AnySpendModalProps extends BaseModalProps {
139
141
  disableUrlParamManagement?: boolean;
140
142
  /** Staging environment support */
141
143
  isStaging?: boolean;
144
+ /** Whether to show the "Pay with Fiat" tab. Defaults to true. When false, the fiat tab is hidden and activeTab is forced to "crypto". */
145
+ showFiatOption?: boolean;
142
146
  }
143
147
 
144
148
  /**
@@ -156,6 +160,8 @@ export interface AnySpendNftProps extends BaseModalProps {
156
160
  onSuccess?: (txHash?: string) => void;
157
161
  /** Client-provided reference ID for tracking orders */
158
162
  clientReferenceId?: string;
163
+ /** Whether to show fiat payment option. Defaults to true. */
164
+ showFiatOption?: boolean;
159
165
  }
160
166
 
161
167
  /**
@@ -234,6 +240,8 @@ export interface AnySpendStakeB3Props extends BaseModalProps {
234
240
  stakeAmount?: string;
235
241
  /** Callback function called when the stake is successful */
236
242
  onSuccess?: () => void;
243
+ /** Whether to show fiat payment option. Defaults to true. */
244
+ showFiatOption?: boolean;
237
245
  }
238
246
 
239
247
  /**
@@ -249,6 +257,8 @@ export interface AnySpendStakeB3ExactInProps extends BaseModalProps {
249
257
  stakeAmount?: string;
250
258
  /** Callback function called when the stake is successful */
251
259
  onSuccess?: () => void;
260
+ /** Whether to show fiat payment option. Defaults to true. */
261
+ showFiatOption?: boolean;
252
262
  }
253
263
 
254
264
  /**
@@ -270,6 +280,8 @@ export interface AnySpendStakeUpsideProps extends BaseModalProps {
270
280
  activeTab?: "crypto" | "fiat";
271
281
  /** Callback function called when the stake is successful */
272
282
  onSuccess?: () => void;
283
+ /** Whether to show fiat payment option. Defaults to true. */
284
+ showFiatOption?: boolean;
273
285
  }
274
286
 
275
287
  /**
@@ -287,6 +299,8 @@ export interface AnySpendStakeUpsideExactInProps extends BaseModalProps {
287
299
  token: components["schemas"]["Token"];
288
300
  /** Callback function called when the stake is successful */
289
301
  onSuccess?: () => void;
302
+ /** Whether to show fiat payment option. Defaults to true. */
303
+ showFiatOption?: boolean;
290
304
  }
291
305
 
292
306
  /**
@@ -310,6 +324,8 @@ export interface AnySpendDepositUpsideProps extends BaseModalProps {
310
324
  destinationTokenAmount?: string;
311
325
  /** Callback function called when the deposit is successful */
312
326
  onSuccess?: () => void;
327
+ /** Whether to show fiat payment option. Defaults to true. */
328
+ showFiatOption?: boolean;
313
329
  }
314
330
 
315
331
  /**
@@ -329,6 +345,8 @@ export interface AnySpendBuySpinProps extends BaseModalProps {
329
345
  onSuccess?: (txHash?: string) => void;
330
346
  /** Prefill quantity of spins to purchase */
331
347
  prefillQuantity?: string;
348
+ /** Whether to show fiat payment option. Defaults to true. */
349
+ showFiatOption?: boolean;
332
350
  }
333
351
 
334
352
  /**
@@ -344,6 +362,8 @@ export interface AnySpendSignatureMintProps extends BaseModalProps {
344
362
  imageUrl?: string;
345
363
  /** Callback function called when minting is successful */
346
364
  onSuccess?: (txHash?: string) => void;
365
+ /** Whether to show fiat payment option. Defaults to true. */
366
+ showFiatOption?: boolean;
347
367
  }
348
368
 
349
369
  /**
@@ -369,6 +389,8 @@ export interface AnySpendBondKitProps extends BaseModalProps {
369
389
  b3Amount?: string;
370
390
  /** Callback function called when purchase is successful */
371
391
  onSuccess?: (txHash?: string) => void;
392
+ /** Whether to show fiat payment option. Defaults to true. */
393
+ showFiatOption?: boolean;
372
394
  }
373
395
 
374
396
  export interface LinkAccountModalProps extends BaseModalProps {
@@ -418,6 +440,8 @@ export interface AnySpendDepositHypeProps extends BaseModalProps {
418
440
  customRecipientLabel?: string;
419
441
  /** Custom label for the return home button (overrides "Return to Home" / "Close") */
420
442
  returnHomeLabel?: string;
443
+ /** Whether to show fiat payment option. Defaults to true. */
444
+ showFiatOption?: boolean;
421
445
  }
422
446
 
423
447
  export interface AvatarEditorModalProps extends BaseModalProps {
@@ -451,6 +475,16 @@ export interface SendModalProps extends BaseModalProps {
451
475
  onSuccess?: (txHash?: string) => void;
452
476
  }
453
477
 
478
+ /**
479
+ * Props for the Session Duration modal
480
+ * Allows users to configure how long they stay signed in
481
+ */
482
+ export interface SessionDurationModalProps extends BaseModalProps {
483
+ type: "sessionDuration";
484
+ partnerId: string;
485
+ chain: Chain;
486
+ }
487
+
454
488
  /**
455
489
  * Props for the Notifications modal
456
490
  * Allows users to manage notification settings and channels
@@ -499,6 +533,8 @@ export interface AnySpendCollectorClubPurchaseProps extends BaseModalProps {
499
533
  isStaging?: boolean;
500
534
  /** Optional discount code to apply to the purchase */
501
535
  discountCode?: string;
536
+ /** Whether to show the "Pay with fiat" tab. Defaults to true. */
537
+ showFiatOption?: boolean;
502
538
  }
503
539
 
504
540
  /**
@@ -557,6 +593,8 @@ export interface AnySpendCheckoutTriggerModalProps extends BaseModalProps {
557
593
  returnUrl?: string;
558
594
  /** Label for the return button */
559
595
  returnLabel?: string;
596
+ /** Whether to show fiat payment options (card + coinbase). Defaults to true. */
597
+ showFiatOption?: boolean;
560
598
  }
561
599
 
562
600
  export interface AnySpendWorkflowTriggerModalProps extends BaseModalProps {
@@ -586,6 +624,8 @@ export interface AnySpendWorkflowTriggerModalProps extends BaseModalProps {
586
624
  actionLabel?: string;
587
625
  /** Custom class names */
588
626
  classes?: AnySpendAllClasses;
627
+ /** Whether to show fiat payment option. Defaults to true. */
628
+ showFiatOption?: boolean;
589
629
  }
590
630
 
591
631
  export interface AnySpendDepositModalProps extends BaseModalProps {
@@ -625,6 +665,8 @@ export interface AnySpendDepositModalProps extends BaseModalProps {
625
665
  actionLabel?: string;
626
666
  /** Whether to show chain selection step. Defaults to true if sourceTokenChainId is not provided */
627
667
  showChainSelection?: boolean;
668
+ /** Whether to show the "Fund with Fiat" option in the deposit options list. Defaults to true */
669
+ showFiatOption?: boolean;
628
670
  /** Minimum pool size for filtering tokens (default: 1,000,000) */
629
671
  minPoolSize?: number;
630
672
  /** Custom title for chain selection step */
@@ -677,6 +719,7 @@ export type ModalContentType =
677
719
  | DepositModalProps
678
720
  | SendModalProps
679
721
  | NotificationsModalProps
722
+ | SessionDurationModalProps
680
723
  | AnySpendCollectorClubPurchaseProps
681
724
  | AnySpendDepositModalProps
682
725
  | AnySpendWorkflowTriggerModalProps
@@ -1,9 +1,8 @@
1
+ import { createWalletConfig } from "@b3dotfun/sdk/wallet/utils/createWalletConfig";
1
2
  import { ecosystemWalletId } from "@b3dotfun/sdk/shared/constants";
2
- import { supportedChains } from "@b3dotfun/sdk/shared/constants/chains/supported";
3
3
  import { client } from "@b3dotfun/sdk/shared/utils/thirdweb";
4
4
  import { inAppWalletConnector } from "@thirdweb-dev/wagmi-adapter";
5
- import { http } from "viem";
6
- import { createConfig, type CreateConnectorFn } from "wagmi";
5
+ import type { CreateConnectorFn } from "wagmi";
7
6
 
8
7
  export interface CreateWagmiConfigOptions {
9
8
  partnerId: string;
@@ -13,7 +12,8 @@ export interface CreateWagmiConfigOptions {
13
12
  }
14
13
 
15
14
  /**
16
- * Creates a wagmi config with optional custom RPC URLs and connectors
15
+ * Creates a wagmi config with the B3 ecosystem wallet connector.
16
+ * Delegates to createWalletConfig and adds the ecosystem connector on top.
17
17
  * @param options.partnerId - Partner ID for the ecosystem wallet
18
18
  * @param options.rpcUrls - Optional mapping of chain IDs to RPC URLs
19
19
  * @param options.connectors - Additional connectors to include
@@ -32,27 +32,8 @@ export function createWagmiConfig(options: CreateWagmiConfigOptions) {
32
32
 
33
33
  const finalConnectors = overrideDefaultConnectors ? connectors : [...defaultConnectors, ...connectors];
34
34
 
35
- return createConfig({
36
- chains: [supportedChains[0], ...supportedChains.slice(1)],
37
- transports: Object.fromEntries(supportedChains.map(chain => [chain.id, http(rpcUrls?.[chain.id])])),
35
+ return createWalletConfig({
38
36
  connectors: finalConnectors,
37
+ rpcUrls,
39
38
  });
40
39
  }
41
-
42
- /** Module-level cache — wagmi configs must not be recreated on every render. */
43
- const wagmiConfigCache = new Map<string, ReturnType<typeof createWagmiConfig>>();
44
-
45
- /**
46
- * Returns a cached wagmi config for the given partnerId.
47
- * Use this instead of calling createWagmiConfig() directly inside React components or hooks
48
- * to avoid registering duplicate EventEmitter listeners on every render.
49
- */
50
- export function getCachedWagmiConfig(options: CreateWagmiConfigOptions) {
51
- const key = options.partnerId;
52
- let config = wagmiConfigCache.get(key);
53
- if (!config) {
54
- config = createWagmiConfig(options);
55
- wagmiConfigCache.set(key, config);
56
- }
57
- return config;
58
- }
@@ -1,4 +1,3 @@
1
1
  export * from "./notificationsAPI";
2
2
  export * from "./profileDisplay";
3
3
  export * from "./toast";
4
- export * from "./updateAvatar";
@@ -3,6 +3,21 @@ import { type Profile } from "thirdweb/wallets";
3
3
 
4
4
  const debug = debugB3React("profileDisplay");
5
5
 
6
+ const ALLOWED_IPFS_GATEWAYS = [
7
+ "ipfs.io",
8
+ "gateway.pinata.cloud",
9
+ "cloudflare-ipfs.com",
10
+ "dweb.link",
11
+ "nftstorage.link",
12
+ "w3s.link",
13
+ ];
14
+
15
+ const BLOCKED_HOSTNAMES = ["models.readyplayer.me", "readyplayer.me"];
16
+
17
+ function isHostnameInList(hostname: string, list: string[]): boolean {
18
+ return list.some(entry => hostname === entry || hostname.endsWith(`.${entry}`));
19
+ }
20
+
6
21
  /**
7
22
  * Validates that an image URL uses an allowed schema
8
23
  * @param url - The URL to validate
@@ -31,30 +46,17 @@ export function validateImageUrl(url: string | null | undefined): string | null
31
46
  return null;
32
47
  }
33
48
 
34
- // Whitelist of allowed IPFS gateway hostnames
35
- const allowedIpfsGateways = [
36
- "ipfs.io",
37
- "gateway.pinata.cloud",
38
- "cloudflare-ipfs.com",
39
- "dweb.link",
40
- "nftstorage.link",
41
- "w3s.link",
42
- ];
43
-
44
- // Check if hostname matches allowed IPFS gateways
45
49
  const hostname = parsedUrl.hostname.toLowerCase();
46
- const isAllowedIpfsGateway = allowedIpfsGateways.some(gateway => {
47
- // Exact match or subdomain of the gateway
48
- return hostname === gateway || hostname.endsWith(`.${gateway}`);
49
- });
50
50
 
51
- if (isAllowedIpfsGateway) {
51
+ if (isHostnameInList(hostname, ALLOWED_IPFS_GATEWAYS)) {
52
52
  return url;
53
53
  }
54
54
 
55
- // For standard HTTP(S) URLs from trusted sources
56
- // Add additional hostname validation here if needed
57
- // For now, allow all HTTP(S) URLs (can be restricted further if needed)
55
+ if (isHostnameInList(hostname, BLOCKED_HOSTNAMES)) {
56
+ debug("Rejected deprecated avatar service:", hostname, url);
57
+ return null;
58
+ }
59
+
58
60
  return url;
59
61
  } catch (error) {
60
62
  // Invalid URL format
@@ -10,11 +10,14 @@ type ObjectId = string;
10
10
 
11
11
  // Partner IDs interface
12
12
  interface PartnerIds {
13
+ /** @deprecated Privy is no longer used for authentication. This field exists for legacy data compatibility only. */
13
14
  privyId?: string;
14
15
  thirdwebId?: string;
15
16
  }
16
17
 
17
- // Privy linked account interface
18
+ /**
19
+ * @deprecated Privy is no longer used for authentication. This type exists for legacy data compatibility only.
20
+ */
18
21
  interface PrivyLinkedAccount {
19
22
  type: string; // "wallet" | "smart_wallet" | "google_oauth"
20
23
  address?: string;
@@ -76,6 +79,7 @@ interface User {
76
79
 
77
80
  // Partner integrations
78
81
  partnerIds: PartnerIds;
82
+ /** @deprecated Privy is no longer used for authentication. This field exists for legacy data compatibility only. */
79
83
  privyLinkedAccounts?: PrivyLinkedAccount[];
80
84
  twProfiles?: TWProfile[];
81
85
  }
@@ -8,6 +8,7 @@ import type {
8
8
  UserData,
9
9
  } from "../types";
10
10
 
11
+ // Hardcoded default; consumers override via `B3Provider.notificationsApiUrl`.
11
12
  const DEFAULT_API_URL = "https://notifications.b3.fun";
12
13
 
13
14
  let apiUrl: string = DEFAULT_API_URL;
@@ -1,6 +1,5 @@
1
1
  import { defineChain as defineThirdwebChain, Chain as ThirdwebChain } from "thirdweb";
2
2
  import { Chain, defineChain } from "viem";
3
- import { ChainNetworks } from "@b3dotfun/sdk/global-account/types/chain-networks";
4
3
 
5
4
  export const nullAddress = "0x0000000000000000000000000000000000000000";
6
5
 
@@ -84,28 +83,6 @@ export const b3Mainnet = defineChain({
84
83
  },
85
84
  });
86
85
 
87
- export const getViemChainConfig = (config: ChainNetworks) =>
88
- defineChain({
89
- id: config.id,
90
- name: config.name,
91
- rpc: config.rpcUrls.default.http,
92
- rpcUrls: {
93
- default: {
94
- http: [config.rpcUrls.default.http],
95
- ws: [config.rpcUrls.default.ws],
96
- },
97
- },
98
- icon: config.icon,
99
- blockExplorers: {
100
- default: {
101
- name: config.blockExplorers.explorerTitle,
102
- url: config.blockExplorers.default,
103
- },
104
- },
105
- nativeCurrency: config.nativeCurrency,
106
- testnet: config.testnet ? true : undefined,
107
- });
108
-
109
86
  export const thirdwebB3Testnet: ThirdwebChain = defineThirdwebChain({
110
87
  id: 1993,
111
88
  name: "B3 Sepolia",
@@ -133,7 +110,7 @@ export const thirdwebB3Testnet: ThirdwebChain = defineThirdwebChain({
133
110
  export const thirdwebB3Mainnet: ThirdwebChain = defineThirdwebChain({
134
111
  id: 8333,
135
112
  name: "B3",
136
- rpc: "https://mainnet-rpc.b3.fun/http",
113
+ rpc: "https://mainnet-rpc.b3.fun",
137
114
  icon: {
138
115
  url: "https://cdn.b3.fun/b3_logo.svg",
139
116
  width: 32,
@@ -153,22 +130,6 @@ export const thirdwebB3Mainnet: ThirdwebChain = defineThirdwebChain({
153
130
  },
154
131
  });
155
132
 
156
- export const getThirdwebChainConfig = (config: ChainNetworks): ThirdwebChain =>
157
- defineThirdwebChain({
158
- id: config.id,
159
- name: config.name,
160
- rpc: config.rpcUrls.default.http,
161
- icon: config.icon,
162
- blockExplorers: [
163
- {
164
- name: config.blockExplorers.explorerTitle,
165
- url: config.blockExplorers.default,
166
- },
167
- ],
168
- nativeCurrency: config.nativeCurrency,
169
- testnet: config.testnet ? true : undefined,
170
- });
171
-
172
133
  export const b3Chain = process.env.NEXT_PUBLIC_B3_CHAINID === "8333" ? b3Mainnet : b3Testnet;
173
134
  export const thirdwebB3Chain: ThirdwebChain =
174
135
  process.env.NEXT_PUBLIC_B3_CHAINID === "8333" ? thirdwebB3Mainnet : thirdwebB3Testnet;
@@ -0,0 +1,18 @@
1
+ import { B3_PUBLIC_RPC } from "@b3dotfun/sdk/anyspend/constants/rpc";
2
+ import type { Chain } from "viem";
3
+ import { b3 as viemB3 } from "viem/chains";
4
+
5
+ /**
6
+ * Viem's built-in `b3` chain points at mainnet-rpc.b3.fun; we spread it and override
7
+ * RPC URLs so all SDK call sites stay aligned with {@link B3_PUBLIC_RPC}.
8
+ */
9
+ export const b3Viem: Chain = {
10
+ ...viemB3,
11
+ rpcUrls: {
12
+ ...viemB3.rpcUrls,
13
+ default: {
14
+ ...viemB3.rpcUrls.default,
15
+ http: [B3_PUBLIC_RPC],
16
+ },
17
+ },
18
+ };
@@ -1,75 +1,36 @@
1
- import type { ChainNetworks } from "@b3dotfun/sdk/global-account/types/chain-networks";
1
+ import { ANYSPEND_EVM_CHAINS } from "@b3/chain-registry";
2
2
  import { toThirdwebChain, toViemChain } from "@b3dotfun/sdk/shared/utils/chain-transformers";
3
3
  import invariant from "invariant";
4
-
5
4
  import type { Chain as ThirdwebChain } from "thirdweb";
6
- // Import the JSON directly
7
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
- // @ts-ignore
9
- import chainNetworksJSON from "../../generated/chain-networks.json" with { type: "json" };
10
5
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
6
  // @ts-ignore
12
7
  import coingeckoChainsJSON from "../../generated/coingecko-chains.json" with { type: "json" };
13
8
 
14
- const chainNetworks = chainNetworksJSON as ChainNetworks[];
15
-
16
- // Convert custom chains to Viem format
17
- const viemChains = chainNetworks.map(toViemChain);
18
-
19
- // TODO: link to doc explaining why we don't support all chains and how to add more
20
- // These are the chains that are supported for things such as bridging and fetching balances
21
- export const supportedChains = [...viemChains];
22
-
23
- // ThirdWeb format chains
24
- export const supportedChainsTW: ThirdwebChain[] = [
25
- ...chainNetworks
26
- .map(chain => {
27
- const networkData = chainNetworks.find(n => n.id === chain.id);
28
- return networkData ? toThirdwebChain(networkData) : undefined;
29
- })
30
- .filter((chain): chain is NonNullable<typeof chain> => chain !== undefined),
31
- ];
9
+ export const supportedChains = ANYSPEND_EVM_CHAINS.map(toViemChain);
10
+ export const supportedChainsTW: ThirdwebChain[] = ANYSPEND_EVM_CHAINS.map(toThirdwebChain);
11
+ export const supportedChainNetworks = ANYSPEND_EVM_CHAINS;
32
12
 
33
- // Original format from chain-networks.json
34
- export const supportedChainNetworks = chainNetworks;
35
-
36
- // CoinGecko chain mapping
37
13
  export const coingeckoChains = coingeckoChainsJSON as Record<
38
14
  number,
39
- {
40
- coingecko_id: string;
41
- name: string;
42
- native_coin_id: string;
43
- }
15
+ { coingecko_id: string; name: string; native_coin_id: string }
44
16
  >;
45
- // Helper function to get CoinGecko chain info
17
+
46
18
  export function getCoingeckoChainInfo(chainId: number) {
47
19
  return coingeckoChains[chainId];
48
20
  }
49
21
 
50
- const _b3MainnetThirdWeb: ThirdwebChain | undefined = supportedChainsTW.find(chain => chain.id === 8333);
22
+ const _b3MainnetThirdWeb = supportedChainsTW.find(c => c.id === 8333);
51
23
  invariant(_b3MainnetThirdWeb, "B3 mainnet chain not found in supported chains TW");
52
24
  export const b3MainnetThirdWeb = _b3MainnetThirdWeb;
53
25
 
54
- const _b3TestnetThirdWeb: ThirdwebChain | undefined = supportedChainsTW.find(chain => chain.id === 1993);
55
- invariant(_b3TestnetThirdWeb, "B3 testnet chain not found in supported chains TW");
56
- export const b3TestnetThirdWeb = _b3TestnetThirdWeb;
57
-
58
- const _b3Mainnet = supportedChains.find(chain => chain.id === 8333);
26
+ const _b3Mainnet = supportedChains.find(c => c.id === 8333);
59
27
  invariant(_b3Mainnet, "B3 mainnet chain not found in supported chains");
60
28
  export const b3Mainnet = _b3Mainnet;
61
29
 
62
- const _b3Testnet = supportedChains.find(chain => chain.id === 1993);
63
- invariant(_b3Testnet, "B3 testnet chain not found in supported chains");
64
- export const b3Testnet = _b3Testnet;
65
-
66
- const _baseMainnet = supportedChains.find(chain => chain.id === 8453);
30
+ const _baseMainnet = supportedChains.find(c => c.id === 8453);
67
31
  invariant(_baseMainnet, "Base mainnet chain not found in supported chains");
68
32
  export const baseMainnet = _baseMainnet;
69
33
 
70
- /**
71
- * Get a Thirdweb chain by chain ID from supportedChainsTW
72
- */
73
34
  export function getThirdwebChain(chainId: number): ThirdwebChain {
74
35
  const chain = supportedChainsTW.find(c => c.id === chainId);
75
36
  if (!chain) {
@@ -32,3 +32,5 @@ export const B3_AUTH_COOKIE_NAME = "b3-auth";
32
32
  export const ENS_GATEWAY_URL = "https://ens-gateway.b3.fun/";
33
33
 
34
34
  export const PUBLIC_BASE_RPC_URL = "https://base-rpc.publicnode.com";
35
+
36
+ export const AVATAR_COLORS = ["#3368ef", "#272727", "#6366f1", "#06b6d4", "#eeb0d9", "#ba3fbf", "#ff777b", "#dfbb53"];
@@ -1,51 +1,53 @@
1
- import type { ChainNetworks } from "@b3dotfun/sdk/global-account/types/chain-networks";
1
+ import type { ChainDefinition } from "@b3/chain-registry";
2
2
  import type { Chain as ThirdwebChain } from "thirdweb";
3
3
  import { defineChain as defineThirdwebChain } from "thirdweb";
4
- import { Chain } from "viem";
4
+ import type { Chain } from "viem";
5
5
 
6
- export function toViemChain(network: ChainNetworks): Chain {
6
+ // fallbackRpc is validated non-null at chain-registry module init for every
7
+ // anyspend EVM chain (see ANYSPEND_EVM_CHAINS in @b3/chain-registry). Callers
8
+ // outside the anyspend EVM set must ensure their own data shape.
9
+
10
+ // Derive icon format from URL extension. Thirdweb chain config carries an
11
+ // explicit `format` field; the old chain-networks.json had per-chain values
12
+ // (svg/png/etc.) but @b3/chain-registry only stores `logoUrl`. URL extension
13
+ // is reliable across our current chain set — 9/11 anyspend chains use .png
14
+ // (trustwallet/relay/coinmarketcap), 2 use .svg (Base, Plume from cdn.b3.fun).
15
+ function inferIconFormat(url: string): string {
16
+ const match = url.toLowerCase().match(/\.([a-z0-9]+)(?:\?|#|$)/);
17
+ const ext = match?.[1];
18
+ if (ext === "png" || ext === "jpg" || ext === "jpeg" || ext === "gif" || ext === "webp") return ext;
19
+ return "svg";
20
+ }
21
+
22
+ export function toViemChain(chain: ChainDefinition): Chain {
23
+ if (!chain.fallbackRpc) {
24
+ throw new Error(`toViemChain: chain ${chain.chainId} (${chain.key}) has no fallbackRpc`);
25
+ }
7
26
  return {
8
- id: network.id,
9
- name: network.name,
10
- nativeCurrency: network.nativeCurrency,
11
- rpcUrls: {
12
- default: {
13
- http: [network.rpcUrls.default.http],
14
- webSocket: network.rpcUrls.default.ws ? [network.rpcUrls.default.ws] : undefined,
15
- },
16
- },
27
+ id: chain.chainId,
28
+ name: chain.name,
29
+ nativeCurrency: chain.nativeCurrency,
30
+ rpcUrls: { default: { http: [chain.fallbackRpc] } },
17
31
  blockExplorers: {
18
- default: {
19
- name: network.blockExplorers.explorerTitle,
20
- url: network.blockExplorers.default,
21
- },
32
+ default: { name: `${chain.name} Explorer`, url: chain.explorer },
22
33
  },
23
- contracts: network.contracts,
24
- testnet: network.testnet,
25
- sourceId: network.sourceId,
26
- formatters: network.formatters,
27
- fees: network.fees,
34
+ testnet: chain.isTestnet,
28
35
  };
29
36
  }
30
37
 
31
- export function toThirdwebChain(network: ChainNetworks): ThirdwebChain {
38
+ export function toThirdwebChain(chain: ChainDefinition): ThirdwebChain {
39
+ if (!chain.fallbackRpc) {
40
+ throw new Error(`toThirdwebChain: chain ${chain.chainId} (${chain.key}) has no fallbackRpc`);
41
+ }
32
42
  return defineThirdwebChain({
33
- id: network.id,
34
- name: network.name,
35
- nativeCurrency: network.nativeCurrency,
36
- rpc: network.rpcUrls.default.http,
37
- icon: {
38
- url: network.icon.url,
39
- width: network.icon.width,
40
- height: network.icon.height,
41
- format: network.icon.format,
42
- },
43
- blockExplorers: [
44
- {
45
- name: network.blockExplorers.explorerTitle,
46
- url: network.blockExplorers.default,
47
- },
48
- ],
49
- testnet: network.testnet ? true : undefined,
43
+ id: chain.chainId,
44
+ name: chain.name,
45
+ nativeCurrency: chain.nativeCurrency,
46
+ rpc: chain.fallbackRpc,
47
+ icon: chain.logoUrl
48
+ ? { url: chain.logoUrl, width: 32, height: 32, format: inferIconFormat(chain.logoUrl) }
49
+ : undefined,
50
+ blockExplorers: [{ name: `${chain.name} Explorer`, url: chain.explorer }],
51
+ testnet: chain.isTestnet ? true : undefined,
50
52
  });
51
53
  }
@@ -1,5 +1,6 @@
1
+ import { b3Viem } from "@b3dotfun/sdk/shared/constants/chains/b3Viem";
1
2
  import { supportedChains } from "@b3dotfun/sdk/shared/constants/chains/supported";
2
- import { b3, Chain } from "viem/chains";
3
+ import type { Chain } from "viem";
3
4
 
4
5
  const baseChainBaseUrl = "https://basescan.org";
5
6
 
@@ -13,7 +14,7 @@ export function chainIdToName(id: number) {
13
14
  }
14
15
 
15
16
  export function getExplorerUrl(chain: Chain, txHash: string): string {
16
- if (chain.id === b3.id) {
17
+ if (chain.id === b3Viem.id) {
17
18
  return "https://explorer.b3.fun/b3/tx/" + txHash;
18
19
  }
19
20
  let baseUrl = chain.blockExplorers?.default.url;
@@ -0,0 +1,64 @@
1
+ const STORAGE_KEY_PREFIX = "b3-session-duration";
2
+ const DEFAULT_DAYS = 7;
3
+
4
+ // 0 = session cookie (expires when browser closes)
5
+ export const SESSION_DURATION_OPTIONS = [0, 1, 7, 14, 30] as const;
6
+ export type SessionDurationDays = (typeof SESSION_DURATION_OPTIONS)[number];
7
+
8
+ function storageKey(partnerId?: string) {
9
+ return partnerId ? `${STORAGE_KEY_PREFIX}_${partnerId}` : STORAGE_KEY_PREFIX;
10
+ }
11
+
12
+ /**
13
+ * Read session duration for a specific partner.
14
+ *
15
+ * preferences shape: { [partnerId]: { sessionDuration: number }, sessionDuration?: number }
16
+ *
17
+ * Priority: user.preferences[partnerId].sessionDuration
18
+ * → user.preferences.sessionDuration (global fallback)
19
+ * → localStorage (per-partner) → localStorage (global) → default 7d
20
+ */
21
+ export function getSessionDurationDays(userPreferences?: Record<string, any>, partnerId?: string): SessionDurationDays {
22
+ if (userPreferences) {
23
+ if (partnerId) {
24
+ const v = userPreferences[partnerId]?.sessionDuration;
25
+ if (SESSION_DURATION_OPTIONS.includes(v as SessionDurationDays)) return v as SessionDurationDays;
26
+ }
27
+ const v = userPreferences["sessionDuration"];
28
+ if (SESSION_DURATION_OPTIONS.includes(v as SessionDurationDays)) return v as SessionDurationDays;
29
+ }
30
+ try {
31
+ if (partnerId) {
32
+ const stored = localStorage.getItem(storageKey(partnerId));
33
+ if (stored !== null) {
34
+ const parsed = Number(stored);
35
+ if (SESSION_DURATION_OPTIONS.includes(parsed as SessionDurationDays)) return parsed as SessionDurationDays;
36
+ }
37
+ }
38
+ const stored = localStorage.getItem(STORAGE_KEY_PREFIX);
39
+ if (stored !== null) {
40
+ const parsed = Number(stored);
41
+ if (SESSION_DURATION_OPTIONS.includes(parsed as SessionDurationDays)) return parsed as SessionDurationDays;
42
+ }
43
+ } catch {
44
+ // localStorage unavailable (e.g. SSR)
45
+ }
46
+ return DEFAULT_DAYS;
47
+ }
48
+
49
+ export const SESSION_DURATION_LABELS: Record<SessionDurationDays, string> = {
50
+ 0: "Session only",
51
+ 1: "1 day",
52
+ 7: "7 days",
53
+ 14: "14 days",
54
+ 30: "30 days",
55
+ };
56
+
57
+ /** Cache the preference locally so it's available immediately on next login */
58
+ export function setSessionDurationDays(days: SessionDurationDays, partnerId?: string): void {
59
+ try {
60
+ localStorage.setItem(storageKey(partnerId), String(days));
61
+ } catch {
62
+ // ignore
63
+ }
64
+ }