@b3dotfun/sdk 0.1.69 → 0.1.70-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/dist/cjs/anyspend/constants/rpc.d.ts +1 -1
  2. package/dist/cjs/anyspend/constants/rpc.js +1 -1
  3. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +2 -0
  4. package/dist/cjs/anyspend/react/components/AnySpend.js +12 -4
  5. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  6. package/dist/cjs/anyspend/react/components/AnySpendCollectorClubPurchase.js +2 -2
  7. package/dist/cjs/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  8. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +7 -3
  9. package/dist/cjs/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  10. package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +3 -3
  11. package/dist/cjs/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  12. package/dist/cjs/anyspend/react/components/AnySpendNFT.js +4 -4
  13. package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +1 -1
  14. package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +1 -1
  15. package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  16. package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.js +2 -2
  17. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  18. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.js +15 -6
  19. package/dist/cjs/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  20. package/dist/cjs/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  21. package/dist/cjs/anyspend/react/components/checkout/CartSummary.js +13 -11
  22. package/dist/cjs/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  23. package/dist/cjs/anyspend/react/components/checkout/CheckoutCartPanel.js +5 -4
  24. package/dist/cjs/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  25. package/dist/cjs/anyspend/react/components/checkout/CheckoutFormPanel.js +2 -2
  26. package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.js +2 -4
  27. package/dist/cjs/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  28. package/dist/cjs/anyspend/react/components/checkout/CheckoutSuccess.js +5 -3
  29. package/dist/cjs/anyspend/react/components/checkout/CryptoPayPanel.js +43 -23
  30. package/dist/cjs/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  31. package/dist/cjs/anyspend/react/components/checkout/DiscountCodeInput.js +3 -6
  32. package/dist/cjs/anyspend/react/components/checkout/FiatCheckoutPanel.js +1 -2
  33. package/dist/cjs/anyspend/react/components/checkout/KycGate.js +1 -2
  34. package/dist/cjs/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  35. package/dist/cjs/anyspend/react/components/checkout/PriceSkeleton.js +9 -0
  36. package/dist/cjs/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  37. package/dist/cjs/anyspend/react/components/checkout/ShippingSelector.js +3 -2
  38. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  39. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +10 -9
  40. package/dist/cjs/anyspend/react/components/common/InsufficientDepositPayment.js +2 -2
  41. package/dist/cjs/anyspend/react/components/common/OrderDetails.js +7 -2
  42. package/dist/cjs/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -2
  43. package/dist/cjs/anyspend/react/components/common/OrderStatus.js +37 -6
  44. package/dist/cjs/anyspend/react/components/common/StepProgress.d.ts +2 -0
  45. package/dist/cjs/anyspend/react/components/common/StepProgress.js +7 -2
  46. package/dist/cjs/anyspend/react/components/common/TransferCryptoDetails.js +2 -2
  47. package/dist/cjs/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +4 -6
  48. package/dist/cjs/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  49. package/dist/cjs/anyspend/react/hooks/useKycStatus.js +11 -7
  50. package/dist/cjs/anyspend/utils/chain.js +8 -7
  51. package/dist/cjs/app.shared.js +9 -7
  52. package/dist/cjs/global-account/better-auth-client.d.ts +1883 -0
  53. package/dist/cjs/global-account/better-auth-client.js +17 -0
  54. package/dist/cjs/global-account/bsmnt.d.ts +0 -1
  55. package/dist/cjs/global-account/bsmnt.js +0 -6
  56. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +3 -1
  57. package/dist/cjs/global-account/react/components/B3DynamicModal.js +5 -2
  58. package/dist/cjs/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  59. package/dist/cjs/global-account/react/components/B3Provider/AuthenticationProvider.js +2 -1
  60. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +8 -1
  61. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.js +3 -1
  62. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +27 -2
  63. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +11 -13
  64. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.native.js +6 -8
  65. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +17 -0
  66. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthClientProvider.js +31 -0
  67. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  68. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.js +121 -0
  69. package/dist/cjs/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  70. package/dist/cjs/global-account/react/components/B3Provider/LocalSDKProvider.js +3 -1
  71. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  72. package/dist/cjs/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +4 -2
  73. package/dist/cjs/global-account/react/components/LinkAccount/LinkedAccountItem.js +2 -1
  74. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +4 -2
  75. package/dist/cjs/global-account/react/components/ManageAccount/Header.js +36 -4
  76. package/dist/cjs/global-account/react/components/ManageAccount/HomeContent.js +4 -1
  77. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +6 -0
  78. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +17 -6
  79. package/dist/cjs/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  80. package/dist/cjs/global-account/react/components/ManageAccount/SessionDurationContent.js +57 -0
  81. package/dist/cjs/global-account/react/components/ManageAccount/SettingsContent.js +14 -29
  82. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +27 -16
  83. package/dist/cjs/global-account/react/components/Send/Send.js +5 -2
  84. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  85. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthResetPassword.js +68 -0
  86. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  87. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +173 -0
  88. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  89. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.js +85 -0
  90. package/dist/cjs/global-account/react/components/SignInWithB3/SignIn.js +14 -4
  91. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  92. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +14 -5
  93. package/dist/cjs/global-account/react/components/SignInWithB3/components/AuthButton.js +10 -1
  94. package/dist/cjs/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  95. package/dist/cjs/global-account/react/components/SignInWithB3/components/PasswordInput.js +10 -0
  96. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  97. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +141 -0
  98. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +96 -15
  99. package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
  100. package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.js +20 -3
  101. package/dist/cjs/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.js +2 -1
  102. package/dist/cjs/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  103. package/dist/cjs/global-account/react/components/Toast/ToastContext.js +30 -7
  104. package/dist/cjs/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  105. package/dist/cjs/global-account/react/components/UserAvatar/UserAvatar.js +27 -0
  106. package/dist/cjs/global-account/react/components/custom/Button.d.ts +1 -1
  107. package/dist/cjs/global-account/react/components/index.d.ts +6 -0
  108. package/dist/cjs/global-account/react/components/index.js +14 -3
  109. package/dist/cjs/global-account/react/components/ui/button.d.ts +1 -1
  110. package/dist/cjs/global-account/react/hooks/index.d.ts +1 -0
  111. package/dist/cjs/global-account/react/hooks/index.js +5 -2
  112. package/dist/cjs/global-account/react/hooks/useAuth.js +26 -15
  113. package/dist/cjs/global-account/react/hooks/useAuthentication.js +23 -12
  114. package/dist/cjs/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  115. package/dist/cjs/global-account/react/hooks/useAutoSelectWallet.js +31 -3
  116. package/dist/cjs/global-account/react/hooks/useBetterAuth.d.ts +973 -0
  117. package/dist/cjs/global-account/react/hooks/useBetterAuth.js +159 -0
  118. package/dist/cjs/global-account/react/hooks/useConnect.d.ts +2 -2
  119. package/dist/cjs/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  120. package/dist/cjs/global-account/react/hooks/useTWAuth.js +0 -1
  121. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +14 -1
  122. package/dist/cjs/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  123. package/dist/cjs/global-account/react/utils/createWagmiConfig.js +5 -24
  124. package/dist/cjs/global-account/react/utils/index.d.ts +0 -1
  125. package/dist/cjs/global-account/react/utils/index.js +0 -1
  126. package/dist/cjs/global-account/react/utils/profileDisplay.js +17 -18
  127. package/dist/cjs/shared/constants/chains/b3Chain.d.ts +7 -7
  128. package/dist/cjs/shared/constants/chains/b3Chain.js +4 -4
  129. package/dist/cjs/shared/constants/chains/b3Viem.d.ts +6 -0
  130. package/dist/cjs/shared/constants/chains/b3Viem.js +19 -0
  131. package/dist/cjs/shared/constants/chains/supported.d.ts +1 -1
  132. package/dist/cjs/shared/constants/index.d.ts +1 -0
  133. package/dist/cjs/shared/constants/index.js +2 -1
  134. package/dist/cjs/shared/generated/chain-networks.json +2 -2
  135. package/dist/cjs/shared/utils/chains.d.ts +1 -1
  136. package/dist/cjs/shared/utils/chains.js +2 -2
  137. package/dist/cjs/shared/utils/session-duration.d.ts +15 -0
  138. package/dist/cjs/shared/utils/session-duration.js +69 -0
  139. package/dist/cjs/wallet/react/components/ConnectWallet.d.ts +11 -0
  140. package/dist/cjs/wallet/react/components/ConnectWallet.js +467 -0
  141. package/dist/cjs/wallet/react/components/WalletProvider.d.ts +35 -0
  142. package/dist/cjs/wallet/react/components/WalletProvider.js +20 -0
  143. package/dist/cjs/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  144. package/dist/cjs/wallet/react/hooks/useWalletDisconnect.js +22 -0
  145. package/dist/cjs/wallet/react/hooks/useWalletState.d.ts +31 -0
  146. package/dist/cjs/wallet/react/hooks/useWalletState.js +63 -0
  147. package/dist/cjs/wallet/react/index.d.ts +5 -0
  148. package/dist/cjs/wallet/react/index.js +16 -0
  149. package/dist/cjs/wallet/utils/createWalletConfig.d.ts +21 -0
  150. package/dist/cjs/wallet/utils/createWalletConfig.js +24 -0
  151. package/dist/esm/anyspend/constants/rpc.d.ts +1 -1
  152. package/dist/esm/anyspend/constants/rpc.js +1 -1
  153. package/dist/esm/anyspend/react/components/AnySpend.d.ts +2 -0
  154. package/dist/esm/anyspend/react/components/AnySpend.js +12 -4
  155. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  156. package/dist/esm/anyspend/react/components/AnySpendCollectorClubPurchase.js +2 -2
  157. package/dist/esm/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  158. package/dist/esm/anyspend/react/components/AnySpendCustom.js +7 -3
  159. package/dist/esm/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  160. package/dist/esm/anyspend/react/components/AnySpendDeposit.js +3 -3
  161. package/dist/esm/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  162. package/dist/esm/anyspend/react/components/AnySpendNFT.js +4 -4
  163. package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +2 -2
  164. package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +2 -2
  165. package/dist/esm/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  166. package/dist/esm/anyspend/react/components/AnySpendStakeUpside.js +2 -2
  167. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  168. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.js +15 -6
  169. package/dist/esm/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  170. package/dist/esm/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  171. package/dist/esm/anyspend/react/components/checkout/CartSummary.js +13 -11
  172. package/dist/esm/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  173. package/dist/esm/anyspend/react/components/checkout/CheckoutCartPanel.js +5 -4
  174. package/dist/esm/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  175. package/dist/esm/anyspend/react/components/checkout/CheckoutFormPanel.js +2 -2
  176. package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.js +2 -4
  177. package/dist/esm/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  178. package/dist/esm/anyspend/react/components/checkout/CheckoutSuccess.js +5 -3
  179. package/dist/esm/anyspend/react/components/checkout/CryptoPayPanel.js +44 -24
  180. package/dist/esm/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  181. package/dist/esm/anyspend/react/components/checkout/DiscountCodeInput.js +3 -6
  182. package/dist/esm/anyspend/react/components/checkout/FiatCheckoutPanel.js +2 -3
  183. package/dist/esm/anyspend/react/components/checkout/KycGate.js +2 -3
  184. package/dist/esm/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  185. package/dist/esm/anyspend/react/components/checkout/PriceSkeleton.js +6 -0
  186. package/dist/esm/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  187. package/dist/esm/anyspend/react/components/checkout/ShippingSelector.js +3 -2
  188. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  189. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +9 -8
  190. package/dist/esm/anyspend/react/components/common/InsufficientDepositPayment.js +2 -2
  191. package/dist/esm/anyspend/react/components/common/OrderDetails.js +8 -3
  192. package/dist/esm/anyspend/react/components/common/OrderDetailsCollapsible.js +2 -2
  193. package/dist/esm/anyspend/react/components/common/OrderStatus.js +34 -3
  194. package/dist/esm/anyspend/react/components/common/StepProgress.d.ts +2 -0
  195. package/dist/esm/anyspend/react/components/common/StepProgress.js +4 -2
  196. package/dist/esm/anyspend/react/components/common/TransferCryptoDetails.js +2 -2
  197. package/dist/esm/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +5 -7
  198. package/dist/esm/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  199. package/dist/esm/anyspend/react/hooks/useKycStatus.js +9 -5
  200. package/dist/esm/anyspend/utils/chain.js +10 -9
  201. package/dist/esm/app.shared.js +9 -7
  202. package/dist/esm/global-account/better-auth-client.d.ts +1883 -0
  203. package/dist/esm/global-account/better-auth-client.js +13 -0
  204. package/dist/esm/global-account/bsmnt.d.ts +0 -1
  205. package/dist/esm/global-account/bsmnt.js +0 -5
  206. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +3 -1
  207. package/dist/esm/global-account/react/components/B3DynamicModal.js +5 -2
  208. package/dist/esm/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  209. package/dist/esm/global-account/react/components/B3Provider/AuthenticationProvider.js +2 -1
  210. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +8 -1
  211. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.js +3 -1
  212. package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +27 -2
  213. package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +6 -8
  214. package/dist/esm/global-account/react/components/B3Provider/B3Provider.native.js +4 -6
  215. package/dist/esm/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +17 -0
  216. package/dist/esm/global-account/react/components/B3Provider/BetterAuthClientProvider.js +27 -0
  217. package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  218. package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.js +116 -0
  219. package/dist/esm/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  220. package/dist/esm/global-account/react/components/B3Provider/LocalSDKProvider.js +3 -1
  221. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  222. package/dist/esm/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.js +4 -2
  223. package/dist/esm/global-account/react/components/LinkAccount/LinkedAccountItem.js +2 -1
  224. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +5 -3
  225. package/dist/esm/global-account/react/components/ManageAccount/Header.js +37 -5
  226. package/dist/esm/global-account/react/components/ManageAccount/HomeContent.js +4 -1
  227. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +7 -1
  228. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +16 -8
  229. package/dist/esm/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  230. package/dist/esm/global-account/react/components/ManageAccount/SessionDurationContent.js +52 -0
  231. package/dist/esm/global-account/react/components/ManageAccount/SettingsContent.js +16 -31
  232. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +27 -16
  233. package/dist/esm/global-account/react/components/Send/Send.js +5 -2
  234. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  235. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthResetPassword.js +65 -0
  236. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  237. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +170 -0
  238. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  239. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.js +82 -0
  240. package/dist/esm/global-account/react/components/SignInWithB3/SignIn.js +15 -5
  241. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  242. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +14 -5
  243. package/dist/esm/global-account/react/components/SignInWithB3/components/AuthButton.js +11 -2
  244. package/dist/esm/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  245. package/dist/esm/global-account/react/components/SignInWithB3/components/PasswordInput.js +7 -0
  246. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  247. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +138 -0
  248. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepCustom.js +100 -19
  249. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
  250. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.js +19 -2
  251. package/dist/esm/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.js +2 -1
  252. package/dist/esm/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  253. package/dist/esm/global-account/react/components/Toast/ToastContext.js +30 -7
  254. package/dist/esm/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  255. package/dist/esm/global-account/react/components/UserAvatar/UserAvatar.js +21 -0
  256. package/dist/esm/global-account/react/components/custom/Button.d.ts +1 -1
  257. package/dist/esm/global-account/react/components/index.d.ts +6 -0
  258. package/dist/esm/global-account/react/components/index.js +6 -0
  259. package/dist/esm/global-account/react/components/ui/button.d.ts +1 -1
  260. package/dist/esm/global-account/react/hooks/index.d.ts +1 -0
  261. package/dist/esm/global-account/react/hooks/index.js +1 -0
  262. package/dist/esm/global-account/react/hooks/useAuth.js +28 -17
  263. package/dist/esm/global-account/react/hooks/useAuthentication.js +24 -13
  264. package/dist/esm/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  265. package/dist/esm/global-account/react/hooks/useAutoSelectWallet.js +33 -5
  266. package/dist/esm/global-account/react/hooks/useBetterAuth.d.ts +973 -0
  267. package/dist/esm/global-account/react/hooks/useBetterAuth.js +151 -0
  268. package/dist/esm/global-account/react/hooks/useConnect.d.ts +2 -2
  269. package/dist/esm/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  270. package/dist/esm/global-account/react/hooks/useTWAuth.js +0 -1
  271. package/dist/esm/global-account/react/stores/useModalStore.d.ts +14 -1
  272. package/dist/esm/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  273. package/dist/esm/global-account/react/utils/createWagmiConfig.js +5 -23
  274. package/dist/esm/global-account/react/utils/index.d.ts +0 -1
  275. package/dist/esm/global-account/react/utils/index.js +0 -1
  276. package/dist/esm/global-account/react/utils/profileDisplay.js +17 -18
  277. package/dist/esm/shared/constants/chains/b3Chain.d.ts +7 -7
  278. package/dist/esm/shared/constants/chains/b3Chain.js +4 -4
  279. package/dist/esm/shared/constants/chains/b3Viem.d.ts +6 -0
  280. package/dist/esm/shared/constants/chains/b3Viem.js +16 -0
  281. package/dist/esm/shared/constants/chains/supported.d.ts +1 -1
  282. package/dist/esm/shared/constants/index.d.ts +1 -0
  283. package/dist/esm/shared/constants/index.js +1 -0
  284. package/dist/esm/shared/generated/chain-networks.json +2 -2
  285. package/dist/esm/shared/utils/chains.d.ts +1 -1
  286. package/dist/esm/shared/utils/chains.js +2 -2
  287. package/dist/esm/shared/utils/session-duration.d.ts +15 -0
  288. package/dist/esm/shared/utils/session-duration.js +64 -0
  289. package/dist/esm/wallet/react/components/ConnectWallet.d.ts +11 -0
  290. package/dist/esm/wallet/react/components/ConnectWallet.js +431 -0
  291. package/dist/esm/wallet/react/components/WalletProvider.d.ts +35 -0
  292. package/dist/esm/wallet/react/components/WalletProvider.js +17 -0
  293. package/dist/esm/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  294. package/dist/esm/wallet/react/hooks/useWalletDisconnect.js +19 -0
  295. package/dist/esm/wallet/react/hooks/useWalletState.d.ts +31 -0
  296. package/dist/esm/wallet/react/hooks/useWalletState.js +60 -0
  297. package/dist/esm/wallet/react/index.d.ts +5 -0
  298. package/dist/esm/wallet/react/index.js +8 -0
  299. package/dist/esm/wallet/utils/createWalletConfig.d.ts +21 -0
  300. package/dist/esm/wallet/utils/createWalletConfig.js +21 -0
  301. package/dist/styles/index.css +1 -1
  302. package/dist/types/anyspend/constants/rpc.d.ts +1 -1
  303. package/dist/types/anyspend/react/components/AnySpend.d.ts +2 -0
  304. package/dist/types/anyspend/react/components/AnySpendCollectorClubPurchase.d.ts +5 -1
  305. package/dist/types/anyspend/react/components/AnySpendCustom.d.ts +2 -0
  306. package/dist/types/anyspend/react/components/AnySpendDeposit.d.ts +3 -1
  307. package/dist/types/anyspend/react/components/AnySpendNFT.d.ts +3 -1
  308. package/dist/types/anyspend/react/components/AnySpendStakeUpside.d.ts +3 -1
  309. package/dist/types/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  310. package/dist/types/anyspend/react/components/checkout/CartItemRow.d.ts +2 -1
  311. package/dist/types/anyspend/react/components/checkout/CartSummary.d.ts +6 -4
  312. package/dist/types/anyspend/react/components/checkout/CheckoutCartPanel.d.ts +3 -1
  313. package/dist/types/anyspend/react/components/checkout/CheckoutFormPanel.d.ts +3 -1
  314. package/dist/types/anyspend/react/components/checkout/CheckoutSuccess.d.ts +2 -1
  315. package/dist/types/anyspend/react/components/checkout/DiscountCodeInput.d.ts +3 -1
  316. package/dist/types/anyspend/react/components/checkout/PriceSkeleton.d.ts +5 -0
  317. package/dist/types/anyspend/react/components/checkout/ShippingSelector.d.ts +3 -1
  318. package/dist/types/anyspend/react/components/common/CryptoPaymentMethod.d.ts +8 -0
  319. package/dist/types/anyspend/react/components/common/StepProgress.d.ts +2 -0
  320. package/dist/types/anyspend/react/hooks/useKycStatus.d.ts +3 -1
  321. package/dist/types/global-account/better-auth-client.d.ts +1883 -0
  322. package/dist/types/global-account/bsmnt.d.ts +0 -1
  323. package/dist/types/global-account/react/components/B3Provider/AuthenticationProvider.d.ts +3 -1
  324. package/dist/types/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +8 -1
  325. package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +27 -2
  326. package/dist/types/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +17 -0
  327. package/dist/types/global-account/react/components/B3Provider/BetterAuthProvider.d.ts +16 -0
  328. package/dist/types/global-account/react/components/B3Provider/LocalSDKProvider.d.ts +3 -1
  329. package/dist/types/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.d.ts +3 -1
  330. package/dist/types/global-account/react/components/ManageAccount/SessionDurationContent.d.ts +5 -0
  331. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthResetPassword.d.ts +21 -0
  332. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthSignIn.d.ts +39 -0
  333. package/dist/types/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.d.ts +37 -0
  334. package/dist/types/global-account/react/components/SignInWithB3/SignInWithB3Flow.d.ts +1 -1
  335. package/dist/types/global-account/react/components/SignInWithB3/components/PasswordInput.d.ts +10 -0
  336. package/dist/types/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.d.ts +8 -0
  337. package/dist/types/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +5 -3
  338. package/dist/types/global-account/react/components/Toast/ToastContext.d.ts +3 -0
  339. package/dist/types/global-account/react/components/UserAvatar/UserAvatar.d.ts +18 -0
  340. package/dist/types/global-account/react/components/custom/Button.d.ts +1 -1
  341. package/dist/types/global-account/react/components/index.d.ts +6 -0
  342. package/dist/types/global-account/react/components/ui/button.d.ts +1 -1
  343. package/dist/types/global-account/react/hooks/index.d.ts +1 -0
  344. package/dist/types/global-account/react/hooks/useAutoSelectWallet.d.ts +6 -3
  345. package/dist/types/global-account/react/hooks/useBetterAuth.d.ts +973 -0
  346. package/dist/types/global-account/react/hooks/useConnect.d.ts +2 -2
  347. package/dist/types/global-account/react/hooks/useFirstEOA.d.ts +8 -8
  348. package/dist/types/global-account/react/stores/useModalStore.d.ts +14 -1
  349. package/dist/types/global-account/react/utils/createWagmiConfig.d.ts +4 -31
  350. package/dist/types/global-account/react/utils/index.d.ts +0 -1
  351. package/dist/types/shared/constants/chains/b3Chain.d.ts +7 -7
  352. package/dist/types/shared/constants/chains/b3Viem.d.ts +6 -0
  353. package/dist/types/shared/constants/chains/supported.d.ts +1 -1
  354. package/dist/types/shared/constants/index.d.ts +1 -0
  355. package/dist/types/shared/utils/chains.d.ts +1 -1
  356. package/dist/types/shared/utils/session-duration.d.ts +15 -0
  357. package/dist/types/wallet/react/components/ConnectWallet.d.ts +11 -0
  358. package/dist/types/wallet/react/components/WalletProvider.d.ts +35 -0
  359. package/dist/types/wallet/react/hooks/useWalletDisconnect.d.ts +13 -0
  360. package/dist/types/wallet/react/hooks/useWalletState.d.ts +31 -0
  361. package/dist/types/wallet/react/index.d.ts +5 -0
  362. package/dist/types/wallet/utils/createWalletConfig.d.ts +21 -0
  363. package/package.json +15 -6
  364. package/src/anyspend/constants/rpc.ts +2 -1
  365. package/src/anyspend/react/components/AnySpend.tsx +24 -12
  366. package/src/anyspend/react/components/AnySpendCollectorClubPurchase.tsx +6 -0
  367. package/src/anyspend/react/components/AnySpendCustom.tsx +12 -2
  368. package/src/anyspend/react/components/AnySpendDeposit.tsx +38 -31
  369. package/src/anyspend/react/components/AnySpendNFT.tsx +6 -2
  370. package/src/anyspend/react/components/AnySpendStakeB3.tsx +2 -2
  371. package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +2 -2
  372. package/src/anyspend/react/components/AnySpendStakeUpside.tsx +4 -0
  373. package/src/anyspend/react/components/checkout/AnySpendCheckout.tsx +25 -5
  374. package/src/anyspend/react/components/checkout/CartItemRow.tsx +2 -1
  375. package/src/anyspend/react/components/checkout/CartSummary.tsx +24 -20
  376. package/src/anyspend/react/components/checkout/CheckoutCartPanel.tsx +12 -3
  377. package/src/anyspend/react/components/checkout/CheckoutFormPanel.tsx +5 -0
  378. package/src/anyspend/react/components/checkout/CheckoutPaymentPanel.tsx +2 -4
  379. package/src/anyspend/react/components/checkout/CheckoutSuccess.tsx +13 -3
  380. package/src/anyspend/react/components/checkout/CryptoPayPanel.tsx +45 -27
  381. package/src/anyspend/react/components/checkout/DiscountCodeInput.tsx +15 -5
  382. package/src/anyspend/react/components/checkout/FiatCheckoutPanel.tsx +9 -3
  383. package/src/anyspend/react/components/checkout/KycGate.tsx +8 -3
  384. package/src/anyspend/react/components/checkout/PriceSkeleton.tsx +19 -0
  385. package/src/anyspend/react/components/checkout/ShippingSelector.tsx +5 -1
  386. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +10 -8
  387. package/src/anyspend/react/components/common/InsufficientDepositPayment.tsx +2 -2
  388. package/src/anyspend/react/components/common/OrderDetails.tsx +10 -2
  389. package/src/anyspend/react/components/common/OrderDetailsCollapsible.tsx +4 -4
  390. package/src/anyspend/react/components/common/OrderStatus.tsx +38 -3
  391. package/src/anyspend/react/components/common/StepProgress.tsx +15 -5
  392. package/src/anyspend/react/components/common/TransferCryptoDetails.tsx +2 -2
  393. package/src/anyspend/react/hooks/useAnyspendCreateOnrampOrder.ts +5 -7
  394. package/src/anyspend/react/hooks/useKycStatus.ts +8 -5
  395. package/src/anyspend/utils/chain.ts +9 -9
  396. package/src/app.shared.ts +9 -8
  397. package/src/global-account/better-auth-client.ts +17 -0
  398. package/src/global-account/bsmnt.ts +0 -6
  399. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +3 -1
  400. package/src/global-account/react/components/B3DynamicModal.tsx +5 -2
  401. package/src/global-account/react/components/B3Provider/AuthenticationProvider.tsx +4 -0
  402. package/src/global-account/react/components/B3Provider/B3ConfigProvider.tsx +12 -0
  403. package/src/global-account/react/components/B3Provider/B3Provider.native.tsx +16 -21
  404. package/src/global-account/react/components/B3Provider/B3Provider.tsx +78 -38
  405. package/src/global-account/react/components/B3Provider/BetterAuthClientProvider.tsx +40 -0
  406. package/src/global-account/react/components/B3Provider/BetterAuthProvider.tsx +128 -0
  407. package/src/global-account/react/components/B3Provider/LocalSDKProvider.tsx +5 -0
  408. package/src/global-account/react/components/IPFSMediaRenderer/IPFSMediaRenderer.tsx +17 -10
  409. package/src/global-account/react/components/LinkAccount/LinkedAccountItem.tsx +2 -1
  410. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +18 -14
  411. package/src/global-account/react/components/ManageAccount/Header.tsx +71 -4
  412. package/src/global-account/react/components/ManageAccount/HomeContent.tsx +25 -19
  413. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +13 -0
  414. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +40 -15
  415. package/src/global-account/react/components/ManageAccount/SessionDurationContent.tsx +107 -0
  416. package/src/global-account/react/components/ManageAccount/SettingsContent.tsx +35 -54
  417. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +31 -22
  418. package/src/global-account/react/components/Send/Send.tsx +8 -5
  419. package/src/global-account/react/components/SignInWithB3/BetterAuthResetPassword.tsx +145 -0
  420. package/src/global-account/react/components/SignInWithB3/BetterAuthSignIn.tsx +446 -0
  421. package/src/global-account/react/components/SignInWithB3/BetterAuthVerifyEmail.tsx +155 -0
  422. package/src/global-account/react/components/SignInWithB3/SignIn.tsx +42 -13
  423. package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +20 -4
  424. package/src/global-account/react/components/SignInWithB3/components/AuthButton.tsx +21 -2
  425. package/src/global-account/react/components/SignInWithB3/components/PasswordInput.tsx +62 -0
  426. package/src/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.tsx +315 -0
  427. package/src/global-account/react/components/SignInWithB3/steps/LoginStepCustom.tsx +207 -54
  428. package/src/global-account/react/components/SignInWithB3/utils/signInUtils.ts +24 -4
  429. package/src/global-account/react/components/SingleUserSearchSelector/SingleUserSearchSelector.tsx +2 -1
  430. package/src/global-account/react/components/Toast/ToastContext.tsx +39 -7
  431. package/src/global-account/react/components/UserAvatar/UserAvatar.tsx +45 -0
  432. package/src/global-account/react/components/index.ts +12 -0
  433. package/src/global-account/react/hooks/index.ts +1 -0
  434. package/src/global-account/react/hooks/useAuth.ts +28 -17
  435. package/src/global-account/react/hooks/useAuthentication.ts +24 -13
  436. package/src/global-account/react/hooks/useAutoSelectWallet.ts +40 -6
  437. package/src/global-account/react/hooks/useBetterAuth.ts +193 -0
  438. package/src/global-account/react/hooks/useConnect.tsx +2 -2
  439. package/src/global-account/react/hooks/useTWAuth.tsx +0 -1
  440. package/src/global-account/react/stores/useModalStore.ts +15 -0
  441. package/src/global-account/react/utils/createWagmiConfig.tsx +6 -25
  442. package/src/global-account/react/utils/index.ts +0 -1
  443. package/src/global-account/react/utils/profileDisplay.ts +21 -19
  444. package/src/shared/constants/chains/b3Chain.ts +5 -5
  445. package/src/shared/constants/chains/b3Viem.ts +18 -0
  446. package/src/shared/constants/index.ts +2 -0
  447. package/src/shared/generated/chain-networks.json +2 -2
  448. package/src/shared/utils/chains.ts +3 -2
  449. package/src/shared/utils/session-duration.ts +64 -0
  450. package/src/types/torph.d.ts +4 -0
  451. package/src/wallet/__tests__/createWalletConfig.test.ts +39 -0
  452. package/src/wallet/react/components/ConnectWallet.tsx +665 -0
  453. package/src/wallet/react/components/WalletProvider.tsx +64 -0
  454. package/src/wallet/react/hooks/useWalletDisconnect.ts +22 -0
  455. package/src/wallet/react/hooks/useWalletState.ts +93 -0
  456. package/src/wallet/react/index.ts +10 -0
  457. package/src/wallet/utils/createWalletConfig.ts +39 -0
  458. package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  459. package/dist/cjs/global-account/react/components/AvatarCreator/AvatarCreator.js +0 -54
  460. package/dist/cjs/global-account/react/components/ProfileAvatar.d.ts +0 -0
  461. package/dist/cjs/global-account/react/components/ProfileAvatar.js +0 -127
  462. package/dist/cjs/global-account/react/hooks/useRPMToken.d.ts +0 -7
  463. package/dist/cjs/global-account/react/hooks/useRPMToken.js +0 -11
  464. package/dist/cjs/global-account/react/utils/updateAvatar.d.ts +0 -4
  465. package/dist/cjs/global-account/react/utils/updateAvatar.js +0 -54
  466. package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  467. package/dist/esm/global-account/react/components/AvatarCreator/AvatarCreator.js +0 -51
  468. package/dist/esm/global-account/react/components/ProfileAvatar.d.ts +0 -0
  469. package/dist/esm/global-account/react/components/ProfileAvatar.js +0 -127
  470. package/dist/esm/global-account/react/hooks/useRPMToken.d.ts +0 -7
  471. package/dist/esm/global-account/react/hooks/useRPMToken.js +0 -8
  472. package/dist/esm/global-account/react/utils/updateAvatar.d.ts +0 -4
  473. package/dist/esm/global-account/react/utils/updateAvatar.js +0 -18
  474. package/dist/types/global-account/react/components/AvatarCreator/AvatarCreator.d.ts +0 -6
  475. package/dist/types/global-account/react/components/ProfileAvatar.d.ts +0 -0
  476. package/dist/types/global-account/react/hooks/useRPMToken.d.ts +0 -7
  477. package/dist/types/global-account/react/utils/updateAvatar.d.ts +0 -4
  478. package/src/global-account/react/components/AvatarCreator/AvatarCreator.tsx +0 -90
  479. package/src/global-account/react/components/ProfileAvatar.tsx +0 -138
  480. package/src/global-account/react/hooks/useRPMToken.ts +0 -17
  481. package/src/global-account/react/utils/updateAvatar.ts +0 -21
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SESSION_DURATION_LABELS = exports.SESSION_DURATION_OPTIONS = void 0;
4
+ exports.getSessionDurationDays = getSessionDurationDays;
5
+ exports.setSessionDurationDays = setSessionDurationDays;
6
+ const STORAGE_KEY_PREFIX = "b3-session-duration";
7
+ const DEFAULT_DAYS = 7;
8
+ // 0 = session cookie (expires when browser closes)
9
+ exports.SESSION_DURATION_OPTIONS = [0, 1, 7, 14, 30];
10
+ function storageKey(partnerId) {
11
+ return partnerId ? `${STORAGE_KEY_PREFIX}_${partnerId}` : STORAGE_KEY_PREFIX;
12
+ }
13
+ /**
14
+ * Read session duration for a specific partner.
15
+ *
16
+ * preferences shape: { [partnerId]: { sessionDuration: number }, sessionDuration?: number }
17
+ *
18
+ * Priority: user.preferences[partnerId].sessionDuration
19
+ * → user.preferences.sessionDuration (global fallback)
20
+ * → localStorage (per-partner) → localStorage (global) → default 7d
21
+ */
22
+ function getSessionDurationDays(userPreferences, partnerId) {
23
+ if (userPreferences) {
24
+ if (partnerId) {
25
+ const v = userPreferences[partnerId]?.sessionDuration;
26
+ if (exports.SESSION_DURATION_OPTIONS.includes(v))
27
+ return v;
28
+ }
29
+ const v = userPreferences["sessionDuration"];
30
+ if (exports.SESSION_DURATION_OPTIONS.includes(v))
31
+ return v;
32
+ }
33
+ try {
34
+ if (partnerId) {
35
+ const stored = localStorage.getItem(storageKey(partnerId));
36
+ if (stored !== null) {
37
+ const parsed = Number(stored);
38
+ if (exports.SESSION_DURATION_OPTIONS.includes(parsed))
39
+ return parsed;
40
+ }
41
+ }
42
+ const stored = localStorage.getItem(STORAGE_KEY_PREFIX);
43
+ if (stored !== null) {
44
+ const parsed = Number(stored);
45
+ if (exports.SESSION_DURATION_OPTIONS.includes(parsed))
46
+ return parsed;
47
+ }
48
+ }
49
+ catch {
50
+ // localStorage unavailable (e.g. SSR)
51
+ }
52
+ return DEFAULT_DAYS;
53
+ }
54
+ exports.SESSION_DURATION_LABELS = {
55
+ 0: "Session only",
56
+ 1: "1 day",
57
+ 7: "7 days",
58
+ 14: "14 days",
59
+ 30: "30 days",
60
+ };
61
+ /** Cache the preference locally so it's available immediately on next login */
62
+ function setSessionDurationDays(days, partnerId) {
63
+ try {
64
+ localStorage.setItem(storageKey(partnerId), String(days));
65
+ }
66
+ catch {
67
+ // ignore
68
+ }
69
+ }
@@ -0,0 +1,11 @@
1
+ export interface ConnectWalletProps {
2
+ /** Theme for the modal and button. Defaults to "light". */
3
+ theme?: "light" | "dark";
4
+ /** Label for the connect button. Defaults to "Connect Wallet". */
5
+ buttonLabel?: string;
6
+ }
7
+ /**
8
+ * Drop-in wallet connection component styled to match the B3 design system.
9
+ * Uses inline styles — works in any app without tailwind configuration.
10
+ */
11
+ export declare function ConnectWallet({ theme: themeProp, buttonLabel }: ConnectWalletProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,467 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ConnectWallet = ConnectWallet;
37
+ const jsx_runtime_1 = require("react/jsx-runtime");
38
+ const DialogPrimitive = __importStar(require("@radix-ui/react-dialog"));
39
+ const react_1 = require("@web3icons/react");
40
+ const utils_1 = require("../../../shared/utils");
41
+ const lucide_react_1 = require("lucide-react");
42
+ const react_2 = require("react");
43
+ const useWalletDisconnect_1 = require("../hooks/useWalletDisconnect");
44
+ const useWalletState_1 = require("../hooks/useWalletState");
45
+ /** Injects the spinner keyframe once into the document head (idempotent via DOM id). */
46
+ function SpinnerKeyframes() {
47
+ (0, react_2.useEffect)(() => {
48
+ if (document.getElementById("b3-spin-keyframes"))
49
+ return;
50
+ const style = document.createElement("style");
51
+ style.id = "b3-spin-keyframes";
52
+ style.textContent = "@keyframes b3-spin { to { transform: rotate(360deg) } }";
53
+ document.head.appendChild(style);
54
+ }, []);
55
+ return null;
56
+ }
57
+ const WALLET_DOWNLOAD_URLS = {
58
+ metamask: "https://metamask.io/download/",
59
+ "coinbase wallet": "https://www.coinbase.com/wallet/downloads",
60
+ phantom: "https://phantom.app/download",
61
+ rabby: "https://rabby.io/",
62
+ rainbow: "https://rainbow.me/download",
63
+ walletconnect: "https://walletconnect.com/",
64
+ };
65
+ function getWalletIcon(name, size = 24) {
66
+ switch (name.toLowerCase()) {
67
+ case "metamask":
68
+ return (0, jsx_runtime_1.jsx)(react_1.WalletMetamask, { width: size, height: size });
69
+ case "coinbase wallet":
70
+ return (0, jsx_runtime_1.jsx)(react_1.WalletCoinbase, { width: size, height: size });
71
+ case "phantom":
72
+ return (0, jsx_runtime_1.jsx)(react_1.WalletPhantom, { width: size, height: size });
73
+ case "walletconnect":
74
+ return (0, jsx_runtime_1.jsx)(react_1.WalletWalletConnect, { width: size, height: size });
75
+ case "rabby wallet":
76
+ case "rabby":
77
+ return (0, jsx_runtime_1.jsx)(react_1.WalletRabby, { width: size, height: size });
78
+ case "rainbow":
79
+ return (0, jsx_runtime_1.jsx)(react_1.WalletRainbow, { width: size, height: size });
80
+ default:
81
+ return (0, jsx_runtime_1.jsx)(lucide_react_1.Wallet, { width: size, height: size });
82
+ }
83
+ }
84
+ // B3 brand colors
85
+ const B3_BLUE = "#3368ef";
86
+ const B3_BLUE_HOVER = "#2554d4";
87
+ const theme = {
88
+ light: {
89
+ bg: "#ffffff",
90
+ cardBg: "#ffffff",
91
+ text: "#1a1a2e",
92
+ textSecondary: "#64748b",
93
+ textTertiary: "#94a3b8",
94
+ border: "#D1D1D6",
95
+ borderLight: "#e2e8f0",
96
+ hoverBg: "#f1f5f9",
97
+ iconBg: "#f1f5f9",
98
+ shadow: "0 20px 24px -4px rgba(10,13,18,0.08), 0 8px 8px -4px rgba(10,13,18,0.03), 0 3px 3px -1.5px rgba(10,13,18,0.04)",
99
+ popoverShadow: "0 10px 30px -5px rgba(10,13,18,0.1), 0 4px 6px -4px rgba(10,13,18,0.05)",
100
+ overlayBg: "rgba(0,0,0,0.8)",
101
+ badgeInstalledBg: "#ecfdf5",
102
+ badgeInstalledText: "#059669",
103
+ badgeInstallBg: "#f1f5f9",
104
+ badgeInstallText: "#64748b",
105
+ connectedDot: "#10b981",
106
+ disconnectBorder: "#fca5a5",
107
+ disconnectText: "#dc2626",
108
+ disconnectHoverBg: "#fef2f2",
109
+ copyHoverBg: "#f1f5f9",
110
+ },
111
+ dark: {
112
+ bg: "#0f0f14",
113
+ cardBg: "#1a1a24",
114
+ text: "#f1f5f9",
115
+ textSecondary: "#94a3b8",
116
+ textTertiary: "#64748b",
117
+ border: "#2a2a3a",
118
+ borderLight: "#2a2a3a",
119
+ hoverBg: "#22222e",
120
+ iconBg: "#22222e",
121
+ shadow: "0 20px 24px -4px rgba(0,0,0,0.3), 0 8px 8px -4px rgba(0,0,0,0.2)",
122
+ popoverShadow: "0 10px 30px -5px rgba(0,0,0,0.4)",
123
+ overlayBg: "rgba(0,0,0,0.85)",
124
+ badgeInstalledBg: "#052e16",
125
+ badgeInstalledText: "#34d399",
126
+ badgeInstallBg: "#22222e",
127
+ badgeInstallText: "#64748b",
128
+ connectedDot: "#34d399",
129
+ disconnectBorder: "#7f1d1d",
130
+ disconnectText: "#f87171",
131
+ disconnectHoverBg: "#1c1017",
132
+ copyHoverBg: "#22222e",
133
+ },
134
+ };
135
+ /**
136
+ * Drop-in wallet connection component styled to match the B3 design system.
137
+ * Uses inline styles — works in any app without tailwind configuration.
138
+ */
139
+ function ConnectWallet({ theme: themeProp = "light", buttonLabel = "Connect Wallet" }) {
140
+ const { address, isConnected, chain, connectors } = (0, useWalletState_1.useWalletState)();
141
+ const { disconnect } = (0, useWalletDisconnect_1.useWalletDisconnect)();
142
+ const [modalOpen, setModalOpen] = (0, react_2.useState)(false);
143
+ const [popoverOpen, setPopoverOpen] = (0, react_2.useState)(false);
144
+ const [copied, setCopied] = (0, react_2.useState)(false);
145
+ const [hoveredUid, setHoveredUid] = (0, react_2.useState)(null);
146
+ const [btnHover, setBtnHover] = (0, react_2.useState)(false);
147
+ const [disconnectHover, setDisconnectHover] = (0, react_2.useState)(false);
148
+ const [copyHover, setCopyHover] = (0, react_2.useState)(false);
149
+ const [connectingUid, setConnectingUid] = (0, react_2.useState)(null);
150
+ const [connectError, setConnectError] = (0, react_2.useState)(null);
151
+ const [connectSuccess, setConnectSuccess] = (0, react_2.useState)(false);
152
+ const t = theme[themeProp];
153
+ const successTimerRef = (0, react_2.useRef)(null);
154
+ const resetConnectState = (0, react_2.useCallback)(() => {
155
+ setConnectingUid(null);
156
+ setConnectError(null);
157
+ setConnectSuccess(false);
158
+ if (successTimerRef.current) {
159
+ clearTimeout(successTimerRef.current);
160
+ successTimerRef.current = null;
161
+ }
162
+ }, []);
163
+ // Cleanup success timer on unmount
164
+ (0, react_2.useEffect)(() => {
165
+ return () => {
166
+ if (successTimerRef.current)
167
+ clearTimeout(successTimerRef.current);
168
+ };
169
+ }, []);
170
+ const handleConnect = (0, react_2.useCallback)(async (connector) => {
171
+ if (!connector.isInstalled) {
172
+ const url = WALLET_DOWNLOAD_URLS[connector.name.toLowerCase()];
173
+ if (url)
174
+ window.open(url, "_blank", "noopener,noreferrer");
175
+ return;
176
+ }
177
+ setConnectingUid(connector.uid);
178
+ setConnectError(null);
179
+ setConnectSuccess(false);
180
+ try {
181
+ await connector.connect();
182
+ setConnectSuccess(true);
183
+ successTimerRef.current = setTimeout(() => {
184
+ setModalOpen(false);
185
+ resetConnectState();
186
+ }, 800);
187
+ }
188
+ catch (err) {
189
+ const message = err instanceof Error ? err.message : "Connection failed";
190
+ if (message.includes("rejected") || message.includes("denied") || message.includes("User rejected")) {
191
+ setConnectError("Connection rejected");
192
+ }
193
+ else {
194
+ setConnectError(message.length > 60 ? message.slice(0, 60) + "..." : message);
195
+ }
196
+ setConnectingUid(null);
197
+ }
198
+ }, [resetConnectState]);
199
+ const handleDisconnect = (0, react_2.useCallback)(() => {
200
+ disconnect();
201
+ setPopoverOpen(false);
202
+ }, [disconnect]);
203
+ const handleCopyAddress = (0, react_2.useCallback)(async () => {
204
+ if (address) {
205
+ try {
206
+ await navigator.clipboard.writeText(address);
207
+ setCopied(true);
208
+ }
209
+ catch {
210
+ // Clipboard API may be denied
211
+ }
212
+ }
213
+ }, [address]);
214
+ (0, react_2.useEffect)(() => {
215
+ if (!copied)
216
+ return;
217
+ const timer = setTimeout(() => setCopied(false), 2000);
218
+ return () => clearTimeout(timer);
219
+ }, [copied]);
220
+ // Close popover on Escape key
221
+ (0, react_2.useEffect)(() => {
222
+ if (!popoverOpen)
223
+ return;
224
+ const handleKeyDown = (e) => {
225
+ if (e.key === "Escape")
226
+ setPopoverOpen(false);
227
+ };
228
+ document.addEventListener("keydown", handleKeyDown);
229
+ return () => document.removeEventListener("keydown", handleKeyDown);
230
+ }, [popoverOpen]);
231
+ // --- Connected state ---
232
+ if (isConnected && address) {
233
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
234
+ position: "relative",
235
+ display: "inline-block",
236
+ fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
237
+ }, children: [(0, jsx_runtime_1.jsxs)("button", { onClick: () => setPopoverOpen(!popoverOpen), "aria-expanded": popoverOpen, "aria-haspopup": "true", style: {
238
+ display: "flex",
239
+ alignItems: "center",
240
+ gap: 10,
241
+ padding: "10px 16px",
242
+ borderRadius: 12,
243
+ border: `1.5px solid ${t.border}`,
244
+ background: t.cardBg,
245
+ color: t.text,
246
+ fontSize: 14,
247
+ fontWeight: 600,
248
+ cursor: "pointer",
249
+ letterSpacing: "-0.01em",
250
+ transition: "all 150ms ease",
251
+ }, children: [(0, jsx_runtime_1.jsx)("span", { style: {
252
+ width: 8,
253
+ height: 8,
254
+ borderRadius: "50%",
255
+ background: t.connectedDot,
256
+ display: "inline-block",
257
+ boxShadow: `0 0 6px ${t.connectedDot}`,
258
+ } }), (0, jsx_runtime_1.jsx)("span", { style: { fontFamily: "'SF Mono', 'Fira Code', 'Cascadia Code', monospace", fontSize: 13 }, children: (0, utils_1.truncateAddress)(address) }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { size: 14, color: t.textTertiary, style: { transition: "transform 200ms", transform: popoverOpen ? "rotate(180deg)" : "none" } })] }), popoverOpen && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: { position: "fixed", inset: 0, zIndex: 40 }, onClick: () => setPopoverOpen(false) }), (0, jsx_runtime_1.jsxs)("div", { role: "dialog", "aria-label": "Wallet details", onClick: e => e.stopPropagation(), style: {
259
+ position: "absolute",
260
+ right: 0,
261
+ top: "100%",
262
+ marginTop: 8,
263
+ width: 320,
264
+ borderRadius: 16,
265
+ border: `1.5px solid ${t.border}`,
266
+ background: t.cardBg,
267
+ boxShadow: t.popoverShadow,
268
+ zIndex: 50,
269
+ overflow: "hidden",
270
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
271
+ padding: "16px 20px 14px",
272
+ borderBottom: `1px solid ${t.borderLight}`,
273
+ display: "flex",
274
+ alignItems: "center",
275
+ justifyContent: "space-between",
276
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [(0, jsx_runtime_1.jsx)("span", { style: {
277
+ width: 8,
278
+ height: 8,
279
+ borderRadius: "50%",
280
+ background: t.connectedDot,
281
+ display: "inline-block",
282
+ boxShadow: `0 0 6px ${t.connectedDot}`,
283
+ } }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: 13, fontWeight: 600, color: t.text, letterSpacing: "-0.01em" }, children: "Connected" })] }), chain && ((0, jsx_runtime_1.jsx)("span", { style: {
284
+ fontSize: 11,
285
+ fontWeight: 600,
286
+ padding: "3px 10px",
287
+ borderRadius: 99,
288
+ background: t.iconBg,
289
+ color: t.textSecondary,
290
+ letterSpacing: "0.02em",
291
+ textTransform: "uppercase",
292
+ }, children: chain.name }))] }), (0, jsx_runtime_1.jsxs)("div", { style: { padding: "12px 12px 16px" }, children: [(0, jsx_runtime_1.jsxs)("button", { onClick: handleCopyAddress, onMouseEnter: () => setCopyHover(true), onMouseLeave: () => setCopyHover(false), style: {
293
+ display: "flex",
294
+ alignItems: "center",
295
+ gap: 10,
296
+ width: "100%",
297
+ padding: "10px 12px",
298
+ borderRadius: 10,
299
+ border: "none",
300
+ background: copyHover ? t.copyHoverBg : "transparent",
301
+ textAlign: "left",
302
+ fontFamily: "'SF Mono', 'Fira Code', 'Cascadia Code', monospace",
303
+ fontSize: 12,
304
+ color: t.text,
305
+ cursor: "pointer",
306
+ marginBottom: 8,
307
+ wordBreak: "break-all",
308
+ lineHeight: 1.5,
309
+ transition: "background 150ms ease",
310
+ }, children: [(0, jsx_runtime_1.jsx)("span", { style: { flex: 1 }, children: address }), copied ? ((0, jsx_runtime_1.jsx)(lucide_react_1.Check, { size: 14, color: t.connectedDot, style: { flexShrink: 0 } })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.Copy, { size: 14, color: t.textTertiary, style: { flexShrink: 0 } }))] }), (0, jsx_runtime_1.jsxs)("button", { onClick: handleDisconnect, onMouseEnter: () => setDisconnectHover(true), onMouseLeave: () => setDisconnectHover(false), style: {
311
+ display: "flex",
312
+ alignItems: "center",
313
+ justifyContent: "center",
314
+ gap: 8,
315
+ width: "100%",
316
+ padding: "10px 16px",
317
+ borderRadius: 10,
318
+ border: `1.5px solid ${t.disconnectBorder}`,
319
+ background: disconnectHover ? t.disconnectHoverBg : "transparent",
320
+ color: t.disconnectText,
321
+ fontSize: 13,
322
+ fontWeight: 600,
323
+ cursor: "pointer",
324
+ transition: "all 150ms ease",
325
+ }, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.LogOut, { size: 15 }), "Disconnect"] })] })] })] }))] }));
326
+ }
327
+ // --- Disconnected state ---
328
+ return ((0, jsx_runtime_1.jsxs)(DialogPrimitive.Root, { open: modalOpen, onOpenChange: open => {
329
+ setModalOpen(open);
330
+ if (!open)
331
+ resetConnectState();
332
+ }, children: [(0, jsx_runtime_1.jsx)(DialogPrimitive.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("button", { onMouseEnter: () => setBtnHover(true), onMouseLeave: () => setBtnHover(false), style: {
333
+ padding: "12px 24px",
334
+ borderRadius: 12,
335
+ border: "none",
336
+ background: btnHover ? B3_BLUE_HOVER : B3_BLUE,
337
+ color: "#ffffff",
338
+ fontSize: 14,
339
+ fontWeight: 600,
340
+ cursor: "pointer",
341
+ letterSpacing: "-0.01em",
342
+ transition: "all 150ms ease",
343
+ boxShadow: btnHover ? `0 4px 12px ${B3_BLUE}40, 0 1px 3px rgba(0,0,0,0.1)` : `0 2px 8px ${B3_BLUE}30`,
344
+ fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
345
+ }, children: buttonLabel }) }), (0, jsx_runtime_1.jsx)(SpinnerKeyframes, {}), (0, jsx_runtime_1.jsxs)(DialogPrimitive.Portal, { children: [(0, jsx_runtime_1.jsx)(DialogPrimitive.Overlay, { style: {
346
+ position: "fixed",
347
+ inset: 0,
348
+ zIndex: 50,
349
+ background: t.overlayBg,
350
+ backdropFilter: "blur(20px)",
351
+ WebkitBackdropFilter: "blur(20px)",
352
+ } }), (0, jsx_runtime_1.jsxs)(DialogPrimitive.Content, { style: {
353
+ position: "fixed",
354
+ left: "50%",
355
+ top: "50%",
356
+ transform: "translate(-50%, -50%)",
357
+ zIndex: 50,
358
+ width: "calc(100% - 32px)",
359
+ maxWidth: 400,
360
+ borderRadius: 20,
361
+ border: `1.5px solid ${t.border}`,
362
+ background: t.cardBg,
363
+ color: t.text,
364
+ boxShadow: t.shadow,
365
+ overflow: "hidden",
366
+ fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
367
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
368
+ display: "flex",
369
+ alignItems: "center",
370
+ justifyContent: "space-between",
371
+ padding: "20px 24px 16px",
372
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(DialogPrimitive.Title, { style: {
373
+ fontSize: 18,
374
+ fontWeight: 700,
375
+ margin: 0,
376
+ letterSpacing: "-0.02em",
377
+ color: t.text,
378
+ }, children: "Connect Wallet" }), (0, jsx_runtime_1.jsx)("p", { style: { fontSize: 13, color: t.textSecondary, margin: "4px 0 0", letterSpacing: "-0.01em" }, children: "Choose your preferred wallet" })] }), (0, jsx_runtime_1.jsx)(DialogPrimitive.Close, { style: {
379
+ background: t.iconBg,
380
+ border: "none",
381
+ cursor: "pointer",
382
+ padding: 8,
383
+ borderRadius: 10,
384
+ color: t.textSecondary,
385
+ display: "flex",
386
+ alignItems: "center",
387
+ justifyContent: "center",
388
+ transition: "all 150ms ease",
389
+ }, children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 16 }) })] }), connectError && ((0, jsx_runtime_1.jsxs)("div", { style: {
390
+ margin: "0 12px 8px",
391
+ padding: "10px 14px",
392
+ borderRadius: 10,
393
+ background: themeProp === "dark" ? "#1c1017" : "#fef2f2",
394
+ border: `1px solid ${t.disconnectBorder}`,
395
+ display: "flex",
396
+ alignItems: "center",
397
+ gap: 8,
398
+ fontSize: 13,
399
+ color: t.disconnectText,
400
+ }, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.AlertCircle, { size: 16, style: { flexShrink: 0 } }), (0, jsx_runtime_1.jsx)("span", { style: { flex: 1 }, children: connectError }), (0, jsx_runtime_1.jsx)("button", { onClick: () => setConnectError(null), style: { background: "none", border: "none", cursor: "pointer", color: t.disconnectText, padding: 2 }, children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 14 }) })] })), (0, jsx_runtime_1.jsx)("div", { style: { padding: "0 12px 16px" }, children: connectors.length === 0 ? ((0, jsx_runtime_1.jsx)("p", { style: { padding: "40px 0", textAlign: "center", fontSize: 14, color: t.textSecondary }, children: "No wallets detected" })) : ((0, jsx_runtime_1.jsx)("div", { style: { display: "flex", flexDirection: "column", gap: 4 }, children: connectors.map(connector => {
401
+ const isLoading = connectingUid === connector.uid;
402
+ const isSuccess = connectSuccess && connectingUid === connector.uid;
403
+ const isDisabled = connectingUid !== null && connectingUid !== connector.uid;
404
+ return ((0, jsx_runtime_1.jsxs)("button", { onClick: () => !connectingUid && handleConnect(connector), onMouseEnter: () => setHoveredUid(connector.uid), onMouseLeave: () => setHoveredUid(null), style: {
405
+ display: "flex",
406
+ alignItems: "center",
407
+ gap: 14,
408
+ width: "100%",
409
+ padding: "14px 16px",
410
+ borderRadius: 14,
411
+ border: isLoading
412
+ ? `1.5px solid ${B3_BLUE}`
413
+ : isSuccess
414
+ ? `1.5px solid ${t.connectedDot}`
415
+ : hoveredUid === connector.uid && !isDisabled
416
+ ? `1.5px solid ${B3_BLUE}40`
417
+ : "1.5px solid transparent",
418
+ background: isLoading
419
+ ? themeProp === "dark"
420
+ ? "#1a1a30"
421
+ : "#eff6ff"
422
+ : isSuccess
423
+ ? themeProp === "dark"
424
+ ? "#0a1f15"
425
+ : "#ecfdf5"
426
+ : hoveredUid === connector.uid && !isDisabled
427
+ ? t.hoverBg
428
+ : "transparent",
429
+ textAlign: "left",
430
+ cursor: isDisabled ? "default" : "pointer",
431
+ color: t.text,
432
+ opacity: isDisabled ? 0.4 : 1,
433
+ transition: "all 150ms ease",
434
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
435
+ width: 44,
436
+ height: 44,
437
+ borderRadius: 12,
438
+ background: t.iconBg,
439
+ display: "flex",
440
+ alignItems: "center",
441
+ justifyContent: "center",
442
+ flexShrink: 0,
443
+ border: `1px solid ${t.borderLight}`,
444
+ }, children: getWalletIcon(connector.name, 24) }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1, minWidth: 0 }, children: [(0, jsx_runtime_1.jsx)("div", { style: { fontSize: 14, fontWeight: 600, letterSpacing: "-0.01em" }, children: connector.name }), isLoading && ((0, jsx_runtime_1.jsx)("div", { style: { fontSize: 12, color: B3_BLUE, marginTop: 2 }, children: "Waiting for approval..." })), isSuccess && ((0, jsx_runtime_1.jsx)("div", { style: { fontSize: 12, color: t.connectedDot, marginTop: 2 }, children: "Connected" }))] }), isLoading && ((0, jsx_runtime_1.jsx)(lucide_react_1.Loader2, { size: 18, color: B3_BLUE, style: { flexShrink: 0, animation: "b3-spin 1s linear infinite" } })), isSuccess && (0, jsx_runtime_1.jsx)(lucide_react_1.Check, { size: 18, color: t.connectedDot, style: { flexShrink: 0 } }), !isLoading && !isSuccess && !connector.isInstalled && ((0, jsx_runtime_1.jsx)("span", { style: {
445
+ fontSize: 11,
446
+ fontWeight: 600,
447
+ padding: "4px 10px",
448
+ borderRadius: 99,
449
+ background: t.badgeInstallBg,
450
+ color: t.badgeInstallText,
451
+ letterSpacing: "0.01em",
452
+ }, children: "Install" }))] }, connector.uid));
453
+ }) })) }), (0, jsx_runtime_1.jsxs)("div", { style: {
454
+ padding: "12px 24px 16px",
455
+ borderTop: `1px solid ${t.borderLight}`,
456
+ display: "flex",
457
+ alignItems: "center",
458
+ justifyContent: "center",
459
+ gap: 6,
460
+ }, children: [(0, jsx_runtime_1.jsx)("img", { src: "https://cdn.b3.fun/b3_logo.svg", alt: "B3", width: 16, height: 16 }), (0, jsx_runtime_1.jsx)("span", { style: {
461
+ fontSize: 11,
462
+ fontWeight: 700,
463
+ color: B3_BLUE,
464
+ letterSpacing: "0.06em",
465
+ textTransform: "uppercase",
466
+ }, children: "Powered by B3" })] })] })] })] }));
467
+ }
@@ -0,0 +1,35 @@
1
+ import { QueryClient } from "@tanstack/react-query";
2
+ import { type Config, type CreateConnectorFn } from "wagmi";
3
+ import type { Chain } from "viem";
4
+ export interface WalletProviderProps {
5
+ children: React.ReactNode;
6
+ /**
7
+ * Chains to support. Defaults to SDK's supportedChains.
8
+ * Must be memoized or defined outside the component — inline arrays cause the
9
+ * wagmi config to rebuild on every render, losing wallet connection state.
10
+ */
11
+ chains?: Chain[];
12
+ /**
13
+ * Wagmi connectors. Must be memoized or defined outside the component — inline
14
+ * arrays cause the wagmi config to rebuild on every render, losing wallet connection state.
15
+ */
16
+ connectors?: CreateConnectorFn[];
17
+ /**
18
+ * Optional RPC URL overrides per chain ID.
19
+ * Must be memoized or defined outside the component — inline objects cause the
20
+ * wagmi config to rebuild on every render, losing wallet connection state.
21
+ */
22
+ rpcUrls?: Record<number, string>;
23
+ /** Escape hatch: pass a fully custom wagmi config. Overrides chains/connectors/rpcUrls. */
24
+ wagmiConfig?: Config;
25
+ /** Provide your own QueryClient for React Query. Defaults to an internal instance. */
26
+ queryClient?: QueryClient;
27
+ /** Whether to auto-reconnect the last wallet on mount. Defaults to false. */
28
+ reconnectOnMount?: boolean;
29
+ }
30
+ /**
31
+ * Standalone wallet connection provider.
32
+ * Wraps ThirdwebProvider, WagmiProvider, and QueryClientProvider.
33
+ * Use wagmi hooks (useAccount, useConnect, useDisconnect) directly inside.
34
+ */
35
+ export declare function WalletProvider({ children, chains, connectors, rpcUrls, wagmiConfig: wagmiConfigProp, queryClient: queryClientProp, reconnectOnMount, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletProvider = WalletProvider;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_query_1 = require("@tanstack/react-query");
6
+ const react_1 = require("react");
7
+ const react_2 = require("thirdweb/react");
8
+ const wagmi_1 = require("wagmi");
9
+ const createWalletConfig_1 = require("../../utils/createWalletConfig");
10
+ /**
11
+ * Standalone wallet connection provider.
12
+ * Wraps ThirdwebProvider, WagmiProvider, and QueryClientProvider.
13
+ * Use wagmi hooks (useAccount, useConnect, useDisconnect) directly inside.
14
+ */
15
+ function WalletProvider({ children, chains, connectors, rpcUrls, wagmiConfig: wagmiConfigProp, queryClient: queryClientProp, reconnectOnMount = false, }) {
16
+ const [defaultQueryClient] = (0, react_1.useState)(() => new react_query_1.QueryClient());
17
+ const queryClient = queryClientProp ?? defaultQueryClient;
18
+ const wagmiConfig = (0, react_1.useMemo)(() => wagmiConfigProp ?? (0, createWalletConfig_1.createWalletConfig)({ chains, connectors, rpcUrls }), [wagmiConfigProp, chains, connectors, rpcUrls]);
19
+ return ((0, jsx_runtime_1.jsx)(react_2.ThirdwebProvider, { children: (0, jsx_runtime_1.jsx)(wagmi_1.WagmiProvider, { config: wagmiConfig, reconnectOnMount: reconnectOnMount, children: (0, jsx_runtime_1.jsx)(react_query_1.QueryClientProvider, { client: queryClient, children: children }) }) }));
20
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Disconnect the current wallet via wagmi.
3
+ * Consumers should use this instead of wagmi's useDisconnect directly
4
+ * to ensure a consistent disconnect API across the wallet module.
5
+ *
6
+ * Note: this only disconnects the wagmi layer. When used inside B3Provider,
7
+ * the thirdweb auth session is managed separately by B3Provider's own logout
8
+ * flow (useAuthentication). ConnectWallet is intended for standalone
9
+ * WalletProvider usage where thirdweb auth is not involved.
10
+ */
11
+ export declare function useWalletDisconnect(): {
12
+ disconnect: () => void;
13
+ };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useWalletDisconnect = useWalletDisconnect;
4
+ const react_1 = require("react");
5
+ const wagmi_1 = require("wagmi");
6
+ /**
7
+ * Disconnect the current wallet via wagmi.
8
+ * Consumers should use this instead of wagmi's useDisconnect directly
9
+ * to ensure a consistent disconnect API across the wallet module.
10
+ *
11
+ * Note: this only disconnects the wagmi layer. When used inside B3Provider,
12
+ * the thirdweb auth session is managed separately by B3Provider's own logout
13
+ * flow (useAuthentication). ConnectWallet is intended for standalone
14
+ * WalletProvider usage where thirdweb auth is not involved.
15
+ */
16
+ function useWalletDisconnect() {
17
+ const { disconnect: wagmiDisconnect } = (0, wagmi_1.useDisconnect)();
18
+ const disconnect = (0, react_1.useCallback)(() => {
19
+ wagmiDisconnect();
20
+ }, [wagmiDisconnect]);
21
+ return { disconnect };
22
+ }