@b3dotfun/sdk 0.1.70-alpha.1 → 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 (292) 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/AnySpendBondKit.d.ts +1 -1
  5. package/dist/cjs/anyspend/react/components/AnySpendBondKit.js +2 -2
  6. package/dist/cjs/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  7. package/dist/cjs/anyspend/react/components/AnySpendBuySpin.js +2 -2
  8. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  9. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +21 -14
  10. package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +9 -3
  11. package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
  12. package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.js +2 -2
  13. package/dist/cjs/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
  14. package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +2 -2
  15. package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
  16. package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +2 -2
  17. package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
  18. package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.js +2 -2
  19. package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
  20. package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.js +2 -2
  21. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
  22. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +2 -2
  23. package/dist/cjs/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
  24. package/dist/cjs/anyspend/react/components/AnyspendSignatureMint.js +2 -2
  25. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  26. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.js +2 -2
  27. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
  28. package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckoutTrigger.js +2 -2
  29. package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
  30. package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.js +13 -3
  31. package/dist/cjs/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  32. package/dist/cjs/anyspend/utils/chain.d.ts +39 -1
  33. package/dist/cjs/anyspend/utils/chain.js +23 -2
  34. package/dist/cjs/anyspend/utils/token.d.ts +2 -0
  35. package/dist/cjs/anyspend/utils/token.js +15 -1
  36. package/dist/cjs/app.shared.d.ts +9 -1
  37. package/dist/cjs/app.shared.js +19 -0
  38. package/dist/cjs/global-account/app.native.d.ts +1 -1
  39. package/dist/cjs/global-account/better-auth-client.d.ts +3314 -36
  40. package/dist/cjs/global-account/better-auth-client.js +28 -3
  41. package/dist/cjs/global-account/bsmnt.d.ts +2 -2
  42. package/dist/cjs/global-account/bsmnt.native.d.ts +1 -1
  43. package/dist/cjs/global-account/client-manager.d.ts +7 -5
  44. package/dist/cjs/global-account/client-manager.js +19 -4
  45. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +6 -11
  46. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +1 -5
  47. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.js +1 -2
  48. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +8 -13
  49. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +24 -3
  50. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.js +48 -8
  51. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +1 -1
  52. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -5
  53. package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
  54. package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.js +1 -3
  55. package/dist/cjs/global-account/react/components/index.d.ts +0 -2
  56. package/dist/cjs/global-account/react/components/index.js +3 -7
  57. package/dist/cjs/global-account/react/hooks/index.d.ts +0 -1
  58. package/dist/cjs/global-account/react/hooks/index.js +2 -4
  59. package/dist/cjs/global-account/react/hooks/useAuth.d.ts +3 -3
  60. package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +1 -1
  61. package/dist/cjs/global-account/react/hooks/useAuthentication.js +1 -1
  62. package/dist/cjs/global-account/react/hooks/useBetterAuth.d.ts +1656 -21
  63. package/dist/cjs/global-account/react/hooks/useBetterAuth.js +13 -14
  64. package/dist/cjs/global-account/react/hooks/useClient.d.ts +3 -3
  65. package/dist/cjs/global-account/react/hooks/useNativeBalance.js +2 -2
  66. package/dist/cjs/global-account/react/hooks/useSiwe.d.ts +1 -1
  67. package/dist/cjs/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  68. package/dist/cjs/global-account/react/hooks/useTWAuth.d.ts +1 -1
  69. package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +20 -17
  70. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +28 -0
  71. package/dist/cjs/global-account/types/b3-api.types.d.ts +5 -0
  72. package/dist/cjs/global-account/types/feature-flags.d.ts +5 -5
  73. package/dist/cjs/notifications/services/api.js +1 -0
  74. package/dist/cjs/shared/constants/chains/b3Chain.d.ts +6 -54
  75. package/dist/cjs/shared/constants/chains/b3Chain.js +5 -41
  76. package/dist/cjs/shared/constants/chains/supported.d.ts +1 -49
  77. package/dist/cjs/shared/constants/chains/supported.js +8 -36
  78. package/dist/cjs/shared/utils/chain-transformers.d.ts +4 -4
  79. package/dist/cjs/shared/utils/chain-transformers.js +38 -37
  80. package/dist/cjs/shared/utils/thirdweb-insights.js +2 -2
  81. package/dist/cjs/shared/utils/upload.d.ts +9 -0
  82. package/dist/cjs/shared/utils/upload.js +34 -0
  83. package/dist/esm/anyspend/constants/rpc.d.ts +2 -1
  84. package/dist/esm/anyspend/constants/rpc.js +3 -1
  85. package/dist/esm/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
  86. package/dist/esm/anyspend/react/components/AnySpendBondKit.js +2 -2
  87. package/dist/esm/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  88. package/dist/esm/anyspend/react/components/AnySpendBuySpin.js +2 -2
  89. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  90. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +21 -14
  91. package/dist/esm/anyspend/react/components/AnySpendDeposit.js +10 -4
  92. package/dist/esm/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
  93. package/dist/esm/anyspend/react/components/AnySpendDepositUpside.js +2 -2
  94. package/dist/esm/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
  95. package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +2 -2
  96. package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
  97. package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +2 -2
  98. package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
  99. package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.js +2 -2
  100. package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
  101. package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.js +2 -2
  102. package/dist/esm/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
  103. package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +2 -2
  104. package/dist/esm/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
  105. package/dist/esm/anyspend/react/components/AnyspendSignatureMint.js +2 -2
  106. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  107. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.js +2 -2
  108. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
  109. package/dist/esm/anyspend/react/components/checkout/AnySpendCheckoutTrigger.js +2 -2
  110. package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
  111. package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.js +14 -4
  112. package/dist/esm/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  113. package/dist/esm/anyspend/utils/chain.d.ts +39 -1
  114. package/dist/esm/anyspend/utils/chain.js +24 -3
  115. package/dist/esm/anyspend/utils/token.d.ts +2 -0
  116. package/dist/esm/anyspend/utils/token.js +13 -0
  117. package/dist/esm/app.shared.d.ts +9 -1
  118. package/dist/esm/app.shared.js +17 -0
  119. package/dist/esm/global-account/app.native.d.ts +1 -1
  120. package/dist/esm/global-account/better-auth-client.d.ts +3314 -36
  121. package/dist/esm/global-account/better-auth-client.js +27 -4
  122. package/dist/esm/global-account/bsmnt.d.ts +2 -2
  123. package/dist/esm/global-account/bsmnt.native.d.ts +1 -1
  124. package/dist/esm/global-account/client-manager.d.ts +7 -5
  125. package/dist/esm/global-account/client-manager.js +19 -5
  126. package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +6 -11
  127. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +1 -5
  128. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.js +1 -2
  129. package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +8 -13
  130. package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +25 -4
  131. package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.js +48 -8
  132. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +1 -1
  133. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -5
  134. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
  135. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.js +1 -3
  136. package/dist/esm/global-account/react/components/index.d.ts +0 -2
  137. package/dist/esm/global-account/react/components/index.js +0 -2
  138. package/dist/esm/global-account/react/hooks/index.d.ts +0 -1
  139. package/dist/esm/global-account/react/hooks/index.js +0 -1
  140. package/dist/esm/global-account/react/hooks/useAuth.d.ts +3 -3
  141. package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +1 -1
  142. package/dist/esm/global-account/react/hooks/useAuthentication.js +1 -1
  143. package/dist/esm/global-account/react/hooks/useBetterAuth.d.ts +1656 -21
  144. package/dist/esm/global-account/react/hooks/useBetterAuth.js +13 -14
  145. package/dist/esm/global-account/react/hooks/useClient.d.ts +3 -3
  146. package/dist/esm/global-account/react/hooks/useNativeBalance.js +1 -1
  147. package/dist/esm/global-account/react/hooks/useSiwe.d.ts +1 -1
  148. package/dist/esm/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  149. package/dist/esm/global-account/react/hooks/useTWAuth.d.ts +1 -1
  150. package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +20 -17
  151. package/dist/esm/global-account/react/stores/useModalStore.d.ts +28 -0
  152. package/dist/esm/global-account/types/b3-api.types.d.ts +5 -0
  153. package/dist/esm/global-account/types/feature-flags.d.ts +5 -5
  154. package/dist/esm/notifications/services/api.js +1 -0
  155. package/dist/esm/shared/constants/chains/b3Chain.d.ts +6 -54
  156. package/dist/esm/shared/constants/chains/b3Chain.js +4 -38
  157. package/dist/esm/shared/constants/chains/supported.d.ts +1 -49
  158. package/dist/esm/shared/constants/chains/supported.js +7 -35
  159. package/dist/esm/shared/utils/chain-transformers.d.ts +4 -4
  160. package/dist/esm/shared/utils/chain-transformers.js +38 -37
  161. package/dist/esm/shared/utils/thirdweb-insights.js +2 -2
  162. package/dist/esm/shared/utils/upload.d.ts +9 -0
  163. package/dist/esm/shared/utils/upload.js +31 -0
  164. package/dist/styles/index.css +1 -1
  165. package/dist/types/anyspend/constants/rpc.d.ts +2 -1
  166. package/dist/types/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
  167. package/dist/types/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
  168. package/dist/types/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
  169. package/dist/types/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
  170. package/dist/types/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
  171. package/dist/types/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
  172. package/dist/types/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
  173. package/dist/types/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
  174. package/dist/types/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
  175. package/dist/types/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
  176. package/dist/types/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
  177. package/dist/types/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
  178. package/dist/types/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
  179. package/dist/types/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  180. package/dist/types/anyspend/utils/chain.d.ts +39 -1
  181. package/dist/types/anyspend/utils/token.d.ts +2 -0
  182. package/dist/types/app.shared.d.ts +9 -1
  183. package/dist/types/global-account/app.native.d.ts +1 -1
  184. package/dist/types/global-account/better-auth-client.d.ts +3314 -36
  185. package/dist/types/global-account/bsmnt.d.ts +2 -2
  186. package/dist/types/global-account/bsmnt.native.d.ts +1 -1
  187. package/dist/types/global-account/client-manager.d.ts +7 -5
  188. package/dist/types/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +1 -5
  189. package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +8 -13
  190. package/dist/types/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
  191. package/dist/types/global-account/react/components/index.d.ts +0 -2
  192. package/dist/types/global-account/react/hooks/index.d.ts +0 -1
  193. package/dist/types/global-account/react/hooks/useAuth.d.ts +3 -3
  194. package/dist/types/global-account/react/hooks/useAuthentication.d.ts +1 -1
  195. package/dist/types/global-account/react/hooks/useBetterAuth.d.ts +1656 -21
  196. package/dist/types/global-account/react/hooks/useClient.d.ts +3 -3
  197. package/dist/types/global-account/react/hooks/useSiwe.d.ts +1 -1
  198. package/dist/types/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  199. package/dist/types/global-account/react/hooks/useTWAuth.d.ts +1 -1
  200. package/dist/types/global-account/react/stores/useModalStore.d.ts +28 -0
  201. package/dist/types/global-account/types/b3-api.types.d.ts +5 -0
  202. package/dist/types/global-account/types/feature-flags.d.ts +5 -5
  203. package/dist/types/shared/constants/chains/b3Chain.d.ts +6 -54
  204. package/dist/types/shared/constants/chains/supported.d.ts +1 -49
  205. package/dist/types/shared/utils/chain-transformers.d.ts +4 -4
  206. package/dist/types/shared/utils/upload.d.ts +9 -0
  207. package/node_modules/@b3/chain-registry/chains.json +1160 -0
  208. package/node_modules/@b3/chain-registry/package.json +14 -0
  209. package/node_modules/@b3/chain-registry/src/index.ts +169 -0
  210. package/node_modules/@b3/chain-registry/tsconfig.json +16 -0
  211. package/package.json +76 -28
  212. package/src/anyspend/constants/rpc.ts +3 -2
  213. package/src/anyspend/react/components/AnySpendBondKit.tsx +2 -0
  214. package/src/anyspend/react/components/AnySpendBuySpin.tsx +3 -0
  215. package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +29 -14
  216. package/src/anyspend/react/components/AnySpendDeposit.tsx +13 -3
  217. package/src/anyspend/react/components/AnySpendDepositUpside.tsx +3 -0
  218. package/src/anyspend/react/components/AnySpendStakeB3.tsx +3 -0
  219. package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +3 -0
  220. package/src/anyspend/react/components/AnySpendStakeUpsideExactIn.tsx +3 -0
  221. package/src/anyspend/react/components/AnySpendWorkflowTrigger.tsx +4 -0
  222. package/src/anyspend/react/components/AnyspendDepositHype.tsx +3 -0
  223. package/src/anyspend/react/components/AnyspendSignatureMint.tsx +3 -0
  224. package/src/anyspend/react/components/checkout/AnySpendCheckout.tsx +4 -0
  225. package/src/anyspend/react/components/checkout/AnySpendCheckoutTrigger.tsx +4 -0
  226. package/src/anyspend/react/components/checkout/CheckoutPaymentPanel.tsx +97 -79
  227. package/src/anyspend/react/hooks/useAnyspendQuote.ts +13 -13
  228. package/src/anyspend/react/hooks/useCreateDepositFirstOrder.ts +4 -4
  229. package/src/anyspend/types/api_req_res.ts +10 -5
  230. package/src/anyspend/utils/chain.ts +26 -1
  231. package/src/anyspend/utils/token.ts +14 -0
  232. package/src/app.shared.ts +21 -1
  233. package/src/global-account/app.native.ts +5 -1
  234. package/src/global-account/better-auth-client.ts +30 -4
  235. package/src/global-account/bsmnt.native.ts +5 -1
  236. package/src/global-account/bsmnt.ts +9 -2
  237. package/src/global-account/client-manager.ts +41 -9
  238. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +6 -11
  239. package/src/global-account/react/components/B3Provider/B3ConfigProvider.tsx +0 -6
  240. package/src/global-account/react/components/B3Provider/B3Provider.tsx +49 -32
  241. package/src/global-account/react/components/B3Provider/BetterAuthProvider.tsx +53 -8
  242. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +1 -1
  243. package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +1 -4
  244. package/src/global-account/react/components/SignInWithB3/utils/signInUtils.ts +2 -4
  245. package/src/global-account/react/components/index.ts +0 -2
  246. package/src/global-account/react/components/ui/button.tsx +1 -2
  247. package/src/global-account/react/hooks/index.ts +0 -1
  248. package/src/global-account/react/hooks/useAuth.ts +2 -2
  249. package/src/global-account/react/hooks/useAuthentication.ts +2 -2
  250. package/src/global-account/react/hooks/useBetterAuth.ts +14 -15
  251. package/src/global-account/react/hooks/useClient.ts +11 -2
  252. package/src/global-account/react/hooks/useNativeBalance.tsx +1 -1
  253. package/src/global-account/react/hooks/useSiwe.native.tsx +1 -1
  254. package/src/global-account/react/hooks/useSiwe.tsx +1 -1
  255. package/src/global-account/react/hooks/useTWAuth.tsx +1 -1
  256. package/src/global-account/react/hooks/useUnifiedChainSwitchAndExecute.ts +22 -20
  257. package/src/global-account/react/stores/useModalStore.ts +28 -0
  258. package/src/global-account/types/b3-api.types.ts +5 -1
  259. package/src/notifications/services/api.ts +1 -0
  260. package/src/shared/constants/chains/b3Chain.ts +4 -43
  261. package/src/shared/constants/chains/supported.ts +9 -48
  262. package/src/shared/utils/chain-transformers.ts +41 -39
  263. package/src/shared/utils/thirdweb-insights.ts +2 -2
  264. package/src/shared/utils/upload.ts +48 -0
  265. package/src/styles/index.css +27 -0
  266. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +0 -17
  267. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthClientProvider.js +0 -31
  268. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  269. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +0 -46
  270. package/dist/cjs/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  271. package/dist/cjs/global-account/react/hooks/useHandleConnectWithPrivy.js +0 -70
  272. package/dist/cjs/global-account/types/chain-networks.d.ts +0 -44
  273. package/dist/cjs/global-account/types/chain-networks.js +0 -48
  274. package/dist/cjs/shared/generated/chain-networks.json +0 -684
  275. package/dist/esm/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +0 -17
  276. package/dist/esm/global-account/react/components/B3Provider/BetterAuthClientProvider.js +0 -27
  277. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  278. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +0 -43
  279. package/dist/esm/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  280. package/dist/esm/global-account/react/hooks/useHandleConnectWithPrivy.js +0 -67
  281. package/dist/esm/global-account/types/chain-networks.d.ts +0 -44
  282. package/dist/esm/global-account/types/chain-networks.js +0 -45
  283. package/dist/esm/shared/generated/chain-networks.json +0 -684
  284. package/dist/types/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +0 -17
  285. package/dist/types/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  286. package/dist/types/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  287. package/dist/types/global-account/types/chain-networks.d.ts +0 -44
  288. package/src/global-account/react/components/B3Provider/BetterAuthClientProvider.tsx +0 -40
  289. package/src/global-account/react/components/SignInWithB3/SignInWithB3Privy.tsx +0 -63
  290. package/src/global-account/react/hooks/useHandleConnectWithPrivy.tsx +0 -79
  291. package/src/global-account/types/chain-networks.ts +0 -54
  292. package/src/shared/generated/chain-networks.json +0 -684
@@ -3,60 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.baseMainnet = exports.b3Testnet = exports.b3Mainnet = exports.b3TestnetThirdWeb = exports.b3MainnetThirdWeb = exports.coingeckoChains = exports.supportedChainNetworks = exports.supportedChainsTW = exports.supportedChains = void 0;
6
+ exports.baseMainnet = exports.b3Mainnet = exports.b3MainnetThirdWeb = exports.coingeckoChains = exports.supportedChainNetworks = exports.supportedChainsTW = exports.supportedChains = void 0;
7
7
  exports.getCoingeckoChainInfo = getCoingeckoChainInfo;
8
8
  exports.getThirdwebChain = getThirdwebChain;
9
9
  exports.getChainLogo = getChainLogo;
10
+ const chain_registry_1 = require("@b3/chain-registry");
10
11
  const chain_transformers_1 = require("../../../shared/utils/chain-transformers");
11
12
  const invariant_1 = __importDefault(require("invariant"));
12
- // Import the JSON directly
13
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
- // @ts-ignore
15
- const chain_networks_json_1 = __importDefault(require("../../generated/chain-networks.json"));
16
13
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
17
14
  // @ts-ignore
18
15
  const coingecko_chains_json_1 = __importDefault(require("../../generated/coingecko-chains.json"));
19
- const chainNetworks = chain_networks_json_1.default;
20
- // Convert custom chains to Viem format
21
- const viemChains = chainNetworks.map(chain_transformers_1.toViemChain);
22
- // TODO: link to doc explaining why we don't support all chains and how to add more
23
- // These are the chains that are supported for things such as bridging and fetching balances
24
- exports.supportedChains = [...viemChains];
25
- // ThirdWeb format chains
26
- exports.supportedChainsTW = [
27
- ...chainNetworks
28
- .map(chain => {
29
- const networkData = chainNetworks.find(n => n.id === chain.id);
30
- return networkData ? (0, chain_transformers_1.toThirdwebChain)(networkData) : undefined;
31
- })
32
- .filter((chain) => chain !== undefined),
33
- ];
34
- // Original format from chain-networks.json
35
- exports.supportedChainNetworks = chainNetworks;
36
- // CoinGecko chain mapping
16
+ exports.supportedChains = chain_registry_1.ANYSPEND_EVM_CHAINS.map(chain_transformers_1.toViemChain);
17
+ exports.supportedChainsTW = chain_registry_1.ANYSPEND_EVM_CHAINS.map(chain_transformers_1.toThirdwebChain);
18
+ exports.supportedChainNetworks = chain_registry_1.ANYSPEND_EVM_CHAINS;
37
19
  exports.coingeckoChains = coingecko_chains_json_1.default;
38
- // Helper function to get CoinGecko chain info
39
20
  function getCoingeckoChainInfo(chainId) {
40
21
  return exports.coingeckoChains[chainId];
41
22
  }
42
- const _b3MainnetThirdWeb = exports.supportedChainsTW.find(chain => chain.id === 8333);
23
+ const _b3MainnetThirdWeb = exports.supportedChainsTW.find(c => c.id === 8333);
43
24
  (0, invariant_1.default)(_b3MainnetThirdWeb, "B3 mainnet chain not found in supported chains TW");
44
25
  exports.b3MainnetThirdWeb = _b3MainnetThirdWeb;
45
- const _b3TestnetThirdWeb = exports.supportedChainsTW.find(chain => chain.id === 1993);
46
- (0, invariant_1.default)(_b3TestnetThirdWeb, "B3 testnet chain not found in supported chains TW");
47
- exports.b3TestnetThirdWeb = _b3TestnetThirdWeb;
48
- const _b3Mainnet = exports.supportedChains.find(chain => chain.id === 8333);
26
+ const _b3Mainnet = exports.supportedChains.find(c => c.id === 8333);
49
27
  (0, invariant_1.default)(_b3Mainnet, "B3 mainnet chain not found in supported chains");
50
28
  exports.b3Mainnet = _b3Mainnet;
51
- const _b3Testnet = exports.supportedChains.find(chain => chain.id === 1993);
52
- (0, invariant_1.default)(_b3Testnet, "B3 testnet chain not found in supported chains");
53
- exports.b3Testnet = _b3Testnet;
54
- const _baseMainnet = exports.supportedChains.find(chain => chain.id === 8453);
29
+ const _baseMainnet = exports.supportedChains.find(c => c.id === 8453);
55
30
  (0, invariant_1.default)(_baseMainnet, "Base mainnet chain not found in supported chains");
56
31
  exports.baseMainnet = _baseMainnet;
57
- /**
58
- * Get a Thirdweb chain by chain ID from supportedChainsTW
59
- */
60
32
  function getThirdwebChain(chainId) {
61
33
  const chain = exports.supportedChainsTW.find(c => c.id === chainId);
62
34
  if (!chain) {
@@ -1,5 +1,5 @@
1
- import type { ChainNetworks } from "../../global-account/types/chain-networks";
1
+ import type { ChainDefinition } from "@b3/chain-registry";
2
2
  import type { Chain as ThirdwebChain } from "thirdweb";
3
- import { Chain } from "viem";
4
- export declare function toViemChain(network: ChainNetworks): Chain;
5
- export declare function toThirdwebChain(network: ChainNetworks): ThirdwebChain;
3
+ import type { Chain } from "viem";
4
+ export declare function toViemChain(chain: ChainDefinition): Chain;
5
+ export declare function toThirdwebChain(chain: ChainDefinition): ThirdwebChain;
@@ -3,48 +3,49 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toViemChain = toViemChain;
4
4
  exports.toThirdwebChain = toThirdwebChain;
5
5
  const thirdweb_1 = require("thirdweb");
6
- function toViemChain(network) {
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
+ // Derive icon format from URL extension. Thirdweb chain config carries an
10
+ // explicit `format` field; the old chain-networks.json had per-chain values
11
+ // (svg/png/etc.) but @b3/chain-registry only stores `logoUrl`. URL extension
12
+ // is reliable across our current chain set — 9/11 anyspend chains use .png
13
+ // (trustwallet/relay/coinmarketcap), 2 use .svg (Base, Plume from cdn.b3.fun).
14
+ function inferIconFormat(url) {
15
+ const match = url.toLowerCase().match(/\.([a-z0-9]+)(?:\?|#|$)/);
16
+ const ext = match?.[1];
17
+ if (ext === "png" || ext === "jpg" || ext === "jpeg" || ext === "gif" || ext === "webp")
18
+ return ext;
19
+ return "svg";
20
+ }
21
+ function toViemChain(chain) {
22
+ if (!chain.fallbackRpc) {
23
+ throw new Error(`toViemChain: chain ${chain.chainId} (${chain.key}) has no fallbackRpc`);
24
+ }
7
25
  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
- },
26
+ id: chain.chainId,
27
+ name: chain.name,
28
+ nativeCurrency: chain.nativeCurrency,
29
+ rpcUrls: { default: { http: [chain.fallbackRpc] } },
17
30
  blockExplorers: {
18
- default: {
19
- name: network.blockExplorers.explorerTitle,
20
- url: network.blockExplorers.default,
21
- },
31
+ default: { name: `${chain.name} Explorer`, url: chain.explorer },
22
32
  },
23
- contracts: network.contracts,
24
- testnet: network.testnet,
25
- sourceId: network.sourceId,
26
- formatters: network.formatters,
27
- fees: network.fees,
33
+ testnet: chain.isTestnet,
28
34
  };
29
35
  }
30
- function toThirdwebChain(network) {
36
+ function toThirdwebChain(chain) {
37
+ if (!chain.fallbackRpc) {
38
+ throw new Error(`toThirdwebChain: chain ${chain.chainId} (${chain.key}) has no fallbackRpc`);
39
+ }
31
40
  return (0, thirdweb_1.defineChain)({
32
- id: network.id,
33
- name: network.name,
34
- nativeCurrency: network.nativeCurrency,
35
- rpc: network.rpcUrls.default.http,
36
- icon: {
37
- url: network.icon.url,
38
- width: network.icon.width,
39
- height: network.icon.height,
40
- format: network.icon.format,
41
- },
42
- blockExplorers: [
43
- {
44
- name: network.blockExplorers.explorerTitle,
45
- url: network.blockExplorers.default,
46
- },
47
- ],
48
- testnet: network.testnet ? true : undefined,
41
+ id: chain.chainId,
42
+ name: chain.name,
43
+ nativeCurrency: chain.nativeCurrency,
44
+ rpc: chain.fallbackRpc,
45
+ icon: chain.logoUrl
46
+ ? { url: chain.logoUrl, width: 32, height: 32, format: inferIconFormat(chain.logoUrl) }
47
+ : undefined,
48
+ blockExplorers: [{ name: `${chain.name} Explorer`, url: chain.explorer }],
49
+ testnet: chain.isTestnet ? true : undefined,
49
50
  });
50
51
  }
@@ -156,7 +156,7 @@ async function getNativeTokenBalance(address, chainId) {
156
156
  }
157
157
  try {
158
158
  // Find chain info from supported chains
159
- const chainInfo = supported_1.supportedChainNetworks.find(chain => chain.id === chainId);
159
+ const chainInfo = supported_1.supportedChainNetworks.find(chain => chain.chainId === chainId);
160
160
  // Create a chain object from the chainId
161
161
  const chain = (0, thirdweb_1.defineChain)({
162
162
  id: chainId,
@@ -184,7 +184,7 @@ async function getNativeTokenBalance(address, chainId) {
184
184
  decimals: balance.decimals,
185
185
  balance: balance.value.toString(),
186
186
  metadata: {
187
- logoURI: chainInfo?.icon?.url ||
187
+ logoURI: chainInfo?.logoUrl ||
188
188
  "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png",
189
189
  },
190
190
  // Add native token info in extra_metadata
@@ -0,0 +1,9 @@
1
+ interface UploadOptions {
2
+ baseUrl?: string;
3
+ }
4
+ /**
5
+ * Upload a file to the B3 uploads service (Cloudflare R2).
6
+ * Returns the public URL of the uploaded asset.
7
+ */
8
+ export declare function uploadFile(file: File, options?: UploadOptions): Promise<string>;
9
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uploadFile = uploadFile;
4
+ const DEFAULT_UPLOADS_URL = "https://uploads.b3.fun";
5
+ const ALLOWED_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp"];
6
+ const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
7
+ /**
8
+ * Upload a file to the B3 uploads service (Cloudflare R2).
9
+ * Returns the public URL of the uploaded asset.
10
+ */
11
+ async function uploadFile(file, options) {
12
+ if (!ALLOWED_TYPES.includes(file.type)) {
13
+ throw new Error(`Invalid file type. Allowed: ${ALLOWED_TYPES.join(", ")}`);
14
+ }
15
+ if (file.size > MAX_FILE_SIZE) {
16
+ throw new Error(`File too large. Maximum size: ${MAX_FILE_SIZE / 1024 / 1024}MB`);
17
+ }
18
+ const uploadsUrl = options?.baseUrl || DEFAULT_UPLOADS_URL;
19
+ const formData = new FormData();
20
+ formData.append("file", file);
21
+ const res = await fetch(`${uploadsUrl}/upload/image`, {
22
+ method: "POST",
23
+ body: formData,
24
+ });
25
+ if (!res.ok) {
26
+ const body = await res.json().catch(() => ({ success: false, error: "Upload failed" }));
27
+ throw new Error(body.error || `Upload failed (${res.status})`);
28
+ }
29
+ const body = await res.json().catch(() => ({ success: false, error: "Invalid response" }));
30
+ if (!body.success || !body.data) {
31
+ throw new Error(body.error || "Upload failed");
32
+ }
33
+ return body.data.url;
34
+ }
@@ -13,9 +13,10 @@ export declare const OPTIMISM_PUBLIC_RPC = "https://optimism-rpc.publicnode.com"
13
13
  export declare const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
14
14
  export declare const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
15
15
  export declare const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
16
- export declare const B3_PUBLIC_RPC = "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2/";
16
+ export declare const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun";
17
17
  export declare const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
18
18
  export declare const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
19
+ export declare const PLUME_PUBLIC_RPC = "https://rpc.plume.org";
19
20
  /**
20
21
  * Map of chain IDs to their default public RPC URLs.
21
22
  */
@@ -15,9 +15,10 @@ export const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
15
15
  export const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
16
16
  export const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
17
17
  // Chain-specific public endpoints
18
- export const B3_PUBLIC_RPC = "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2/";
18
+ export const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun";
19
19
  export const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
20
20
  export const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
21
+ export const PLUME_PUBLIC_RPC = "https://rpc.plume.org";
21
22
  /**
22
23
  * Map of chain IDs to their default public RPC URLs.
23
24
  */
@@ -32,4 +33,5 @@ export const PUBLIC_RPC_URLS = {
32
33
  8333: B3_PUBLIC_RPC, // B3
33
34
  2741: ABSTRACT_PUBLIC_RPC, // Abstract
34
35
  999: HYPEREVM_PUBLIC_RPC, // HyperEVM
36
+ 98866: PLUME_PUBLIC_RPC, // Plume Network
35
37
  };
@@ -1,6 +1,6 @@
1
1
  import { AnySpendBondKitProps } from "../../../global-account/react/stores/useModalStore";
2
2
  import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
3
- export declare function AnySpendBondKit({ mode, recipientAddress, contractAddress, minTokensOut, imageUrl, b3Amount: initialB3Amount, onSuccess, slots, content, theme, }: AnySpendBondKitProps & {
3
+ export declare function AnySpendBondKit({ mode, recipientAddress, contractAddress, minTokensOut, imageUrl, b3Amount: initialB3Amount, onSuccess, slots, content, theme, showFiatOption, }: AnySpendBondKitProps & {
4
4
  slots?: AnySpendSlots;
5
5
  content?: AnySpendContent;
6
6
  theme?: AnySpendTheme;
@@ -20,7 +20,7 @@ function formatNumberWithCommas(x) {
20
20
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
21
21
  return parts.join(".");
22
22
  }
23
- export function AnySpendBondKit({ mode = "modal", recipientAddress, contractAddress, minTokensOut = "0", imageUrl, b3Amount: initialB3Amount, onSuccess, slots, content, theme, }) {
23
+ export function AnySpendBondKit({ mode = "modal", recipientAddress, contractAddress, minTokensOut = "0", imageUrl, b3Amount: initialB3Amount, onSuccess, slots, content, theme, showFiatOption, }) {
24
24
  const hasMounted = useHasMounted();
25
25
  const [showAmountPrompt, setShowAmountPrompt] = useState(!initialB3Amount);
26
26
  const [b3Amount, setB3Amount] = useState(initialB3Amount || "");
@@ -200,5 +200,5 @@ export function AnySpendBondKit({ mode = "modal", recipientAddress, contractAddr
200
200
  });
201
201
  return (_jsx(AnySpendCustom, { mode: mode, recipientAddress: recipientAddress, orderType: "custom", dstChainId: baseMainnet.id, dstToken: dstToken, dstAmount: parseEther(b3Amount).toString(), contractAddress: contractAddress, encodedData: encodedData, metadata: {
202
202
  action: "BondKit Buy",
203
- }, header: header, onSuccess: onSuccess, showRecipient: true, slots: slots, content: content, theme: theme }));
203
+ }, header: header, onSuccess: onSuccess, showRecipient: true, slots: slots, content: content, theme: theme, showFiatOption: showFiatOption }));
204
204
  }
@@ -1,5 +1,5 @@
1
1
  import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
2
- export declare function AnySpendBuySpin({ loadOrder, mode, spinwheelContractAddress, chainId, recipientAddress, prefillQuantity, onSuccess, senderAddress, slots, content, theme, }: {
2
+ export declare function AnySpendBuySpin({ loadOrder, mode, spinwheelContractAddress, chainId, recipientAddress, prefillQuantity, onSuccess, senderAddress, slots, content, theme, showFiatOption, }: {
3
3
  loadOrder?: string;
4
4
  mode?: "modal" | "page";
5
5
  spinwheelContractAddress: string;
@@ -12,4 +12,5 @@ export declare function AnySpendBuySpin({ loadOrder, mode, spinwheelContractAddr
12
12
  slots?: AnySpendSlots;
13
13
  content?: AnySpendContent;
14
14
  theme?: AnySpendTheme;
15
+ showFiatOption?: boolean;
15
16
  }): import("react/jsx-runtime").JSX.Element;
@@ -84,7 +84,7 @@ const basePublicClient = createPublicClient({
84
84
  chain: baseMainnet,
85
85
  transport: http(PUBLIC_BASE_RPC_URL),
86
86
  });
87
- export function AnySpendBuySpin({ loadOrder, mode = "modal", spinwheelContractAddress, chainId, recipientAddress, prefillQuantity, onSuccess, senderAddress, slots, content, theme, }) {
87
+ export function AnySpendBuySpin({ loadOrder, mode = "modal", spinwheelContractAddress, chainId, recipientAddress, prefillQuantity, onSuccess, senderAddress, slots, content, theme, showFiatOption, }) {
88
88
  const hasMounted = useHasMounted();
89
89
  const { setB3ModalOpen } = useModalStore();
90
90
  // Payment config state
@@ -390,5 +390,5 @@ export function AnySpendBuySpin({ loadOrder, mode = "modal", spinwheelContractAd
390
390
  const encodedData = generateEncodedDataForBuyEntriesAndSpin(address || "", userSpinQuantity);
391
391
  return (_jsx(AnySpendCustom, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, orderType: "custom", dstChainId: chainId, dstToken: B3_TOKEN, dstAmount: totalCost.toString(), contractAddress: spinwheelContractAddress, spenderAddress: paymentConfig.entryModule, encodedData: encodedData, metadata: {
392
392
  action: `buy ${userSpinQuantity} spin${userSpinQuantity !== "1" ? "s" : ""}`,
393
- }, header: header, onSuccess: txHash => onSuccess?.(txHash), showRecipient: false, senderAddress: senderAddress, slots: slots, content: content, theme: theme }));
393
+ }, header: header, onSuccess: txHash => onSuccess?.(txHash), showRecipient: false, senderAddress: senderAddress, slots: slots, content: content, theme: theme, showFiatOption: showFiatOption }));
394
394
  }
@@ -55,6 +55,8 @@ export interface AnySpendCustomExactInProps {
55
55
  content?: AnySpendContent;
56
56
  /** Structured color/theme configuration */
57
57
  theme?: AnySpendTheme;
58
+ /** Whether to show fiat payment option. Defaults to true. When false, paymentType is forced to "crypto". */
59
+ showFiatOption?: boolean;
58
60
  }
59
61
  export declare function AnySpendCustomExactIn(props: AnySpendCustomExactInProps): import("react/jsx-runtime").JSX.Element;
60
62
  export {};
@@ -31,8 +31,9 @@ export function AnySpendCustomExactIn(props) {
31
31
  const fingerprintConfig = getFingerprintConfig();
32
32
  return (_jsx(AnySpendFingerprintWrapper, { fingerprint: fingerprintConfig, children: _jsx(AnySpendCustomizationProvider, { slots: props.slots, content: props.content, theme: props.theme, children: _jsx(AnySpendCustomExactInInner, { ...props }) }) }));
33
33
  }
34
- function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddress, paymentType = "crypto", sourceTokenAddress, sourceTokenChainId, destinationToken, destinationChainId, onSuccess, onOpenCustomModal, mainFooter, onTokenSelect, customUsdInputValues, preferEoa, customExactInConfig, destinationTokenAmount, orderType = "custom_exact_in", minDestinationAmount, header, returnToHomeUrl, customRecipientLabel, returnHomeLabel, classes, allowDirectTransfer = false, callbackMetadata, senderAddress, }) {
34
+ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddress, paymentType = "crypto", sourceTokenAddress, sourceTokenChainId, destinationToken, destinationChainId, onSuccess, onOpenCustomModal, mainFooter, onTokenSelect, customUsdInputValues, preferEoa, customExactInConfig, destinationTokenAmount, orderType = "custom_exact_in", minDestinationAmount, header, returnToHomeUrl, customRecipientLabel, returnHomeLabel, classes, allowDirectTransfer = false, callbackMetadata, senderAddress, showFiatOption = true, }) {
35
35
  const { slots, content } = useAnySpendCustomization();
36
+ const effectivePaymentType = showFiatOption ? paymentType : "crypto";
36
37
  const actionLabel = customExactInConfig?.action ?? "Custom Execution";
37
38
  const setB3ModalOpen = useModalStore(state => state.setB3ModalOpen);
38
39
  const DESTINATION_TOKEN_DETAILS = {
@@ -40,7 +41,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
40
41
  LOGO_URI: destinationToken.metadata?.logoURI ?? "",
41
42
  };
42
43
  const { activePanel, setActivePanel, orderId, setOrderId, oat, selectedSrcChainId, setSelectedSrcChainId, selectedSrcToken, setSelectedSrcToken, selectedDstToken, selectedDstChainId, srcAmount, setSrcAmount, dstAmount, dstAmountInput, setDstAmountInput, isSrcInputDirty, setIsSrcInputDirty, tradeType, selectedCryptoPaymentMethod, effectiveCryptoPaymentMethod, setSelectedCryptoPaymentMethod, selectedFiatPaymentMethod, setSelectedFiatPaymentMethod, selectedRecipientAddress, setSelectedRecipientAddress, recipientName, globalAddress, hasEnoughBalance, isBalanceLoading, anyspendQuote, isLoadingAnyspendQuote, isQuoteLoading, activeInputAmountInWei, activeOutputAmountInWei, geoData, coinbaseAvailablePaymentMethods, stripeWeb2Support, createOrder, isCreatingOrder, createOnrampOrder, isCreatingOnrampOrder, } = useAnyspendFlow({
43
- paymentType,
44
+ paymentType: effectivePaymentType,
44
45
  recipientAddress,
45
46
  loadOrder,
46
47
  onTransactionSuccess: onSuccess,
@@ -59,10 +60,16 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
59
60
  const { executeDirectTransfer, isTransferring: isSwitchingOrExecuting } = useDirectTransfer();
60
61
  // Check if source and destination are the same token on the same chain
61
62
  const isSameChainSameToken = useMemo(() => {
62
- return (paymentType === "crypto" &&
63
+ return (effectivePaymentType === "crypto" &&
63
64
  selectedSrcChainId === selectedDstChainId &&
64
65
  selectedSrcToken?.address?.toLowerCase() === selectedDstToken?.address?.toLowerCase());
65
- }, [paymentType, selectedSrcChainId, selectedDstChainId, selectedSrcToken?.address, selectedDstToken?.address]);
66
+ }, [
67
+ effectivePaymentType,
68
+ selectedSrcChainId,
69
+ selectedDstChainId,
70
+ selectedSrcToken?.address,
71
+ selectedDstToken?.address,
72
+ ]);
66
73
  // Check if this is a direct transfer
67
74
  const isDirectTransfer = isSameChainSameToken && allowDirectTransfer;
68
75
  // State for direct transfer success
@@ -151,7 +158,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
151
158
  };
152
159
  }
153
160
  }
154
- if (paymentType === "crypto") {
161
+ if (effectivePaymentType === "crypto") {
155
162
  if (effectiveCryptoPaymentMethod === CryptoPaymentMethodType.NONE) {
156
163
  return { text: "Choose payment method", disable: false, error: false, loading: false };
157
164
  }
@@ -168,7 +175,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
168
175
  : `Execute ${actionLabel}`;
169
176
  return { text: buttonText, disable: false, error: false, loading: false };
170
177
  }
171
- if (paymentType === "fiat") {
178
+ if (effectivePaymentType === "fiat") {
172
179
  if (selectedFiatPaymentMethod === FiatPaymentMethod.NONE) {
173
180
  return { text: "Select payment method", disable: false, error: false, loading: false };
174
181
  }
@@ -183,7 +190,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
183
190
  isSwitchingOrExecuting,
184
191
  selectedRecipientOrDefault,
185
192
  anyspendQuote,
186
- paymentType,
193
+ effectivePaymentType,
187
194
  effectiveCryptoPaymentMethod,
188
195
  selectedFiatPaymentMethod,
189
196
  hasEnoughBalance,
@@ -209,14 +216,14 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
209
216
  setActivePanel(PanelView.RECIPIENT_SELECTION);
210
217
  return;
211
218
  }
212
- if (paymentType === "crypto") {
219
+ if (effectivePaymentType === "crypto") {
213
220
  if (effectiveCryptoPaymentMethod === CryptoPaymentMethodType.NONE) {
214
221
  setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD);
215
222
  return;
216
223
  }
217
224
  await handleCryptoOrder();
218
225
  }
219
- else if (paymentType === "fiat") {
226
+ else if (effectivePaymentType === "fiat") {
220
227
  if (selectedFiatPaymentMethod === FiatPaymentMethod.NONE) {
221
228
  setActivePanel(PanelView.FIAT_PAYMENT_METHOD);
222
229
  return;
@@ -226,8 +233,8 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
226
233
  };
227
234
  const headerContent = header ? (header({ anyspendPrice: anyspendQuote, isLoadingAnyspendPrice: isLoadingAnyspendQuote })) : (_jsx("div", { className: "mb-4 flex flex-col items-center gap-3 text-center", children: _jsxs("div", { children: [_jsx("h1", { className: "text-as-primary text-xl font-bold", children: actionLabel }), _jsx("p", { className: "text-as-secondary text-sm", children: "Pay from any token to execute a custom exact-in transaction." })] }) }));
228
235
  const mainView = (_jsxs("div", { className: classes?.container ||
229
- "anyspend-custom-exact-in-container mx-auto flex w-full max-w-[460px] flex-col items-center gap-2", children: [headerContent, _jsx("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: _jsxs("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [paymentType === "crypto" ? (_jsx(CryptoPaySection, { selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, isSrcInputDirty: isSrcInputDirty, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: effectiveCryptoPaymentMethod, onSelectCryptoPaymentMethod: () => setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD), anyspendQuote: anyspendQuote, onTokenSelect: onTokenSelect })) : (_jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: _jsx(PanelOnramp, { srcAmountOnRamp: srcAmount, setSrcAmountOnRamp: setSrcAmount, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: setActivePanel, _recipientAddress: selectedRecipientOrDefault, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, dstTokenSymbol: DESTINATION_TOKEN_DETAILS.SYMBOL, hideDstToken: true, destinationAmount: dstAmount, onDestinationTokenChange: () => { }, onDestinationChainChange: () => { }, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION, anyspendQuote: anyspendQuote, onShowPointsDetail: () => setActivePanel(PanelView.POINTS_DETAIL), onShowFeeDetail: () => setActivePanel(PanelView.FEE_DETAIL), customUsdInputValues: customUsdInputValues, customRecipientLabel: customRecipientLabel }) })), _jsx("div", { className: cn("relative -my-1 flex h-0 items-center justify-center", paymentType === "fiat" && "hidden"), children: _jsx(Button, { variant: "ghost", className: classes?.swapDirectionButton ||
230
- "swap-direction-button border-as-stroke bg-as-surface-primary z-10 h-10 w-10 cursor-default rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", children: _jsx("div", { className: "relative flex items-center justify-center transition-opacity", children: _jsx(ArrowDown, { className: "text-as-primary/50 h-5 w-5" }) }) }) }), paymentType === "crypto" && (_jsx(CryptoReceiveSection, { isDepositMode: false, isBuyMode: false, effectiveRecipientAddress: selectedRecipientOrDefault, recipientName: recipientName || undefined, customRecipientLabel: customRecipientLabel, onSelectRecipient: () => setActivePanel(PanelView.RECIPIENT_SELECTION), dstAmount: isSrcInputDirty && !destinationTokenAmount ? dstAmount : dstAmountInput, dstToken: selectedDstToken, dstTokenSymbol: DESTINATION_TOKEN_DETAILS.SYMBOL, dstTokenLogoURI: DESTINATION_TOKEN_DETAILS.LOGO_URI, selectedDstChainId: selectedDstChainId, setSelectedDstChainId: () => { }, setSelectedDstToken: () => { }, isSrcInputDirty: isSrcInputDirty, onChangeDstAmount: value => {
236
+ "anyspend-custom-exact-in-container mx-auto flex w-full max-w-[460px] flex-col items-center gap-2", children: [headerContent, _jsx("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: _jsxs("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [effectivePaymentType === "crypto" ? (_jsx(CryptoPaySection, { selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, isSrcInputDirty: isSrcInputDirty, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: effectiveCryptoPaymentMethod, onSelectCryptoPaymentMethod: () => setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD), anyspendQuote: anyspendQuote, onTokenSelect: onTokenSelect })) : (_jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: _jsx(PanelOnramp, { srcAmountOnRamp: srcAmount, setSrcAmountOnRamp: setSrcAmount, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: setActivePanel, _recipientAddress: selectedRecipientOrDefault, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, dstTokenSymbol: DESTINATION_TOKEN_DETAILS.SYMBOL, hideDstToken: true, destinationAmount: dstAmount, onDestinationTokenChange: () => { }, onDestinationChainChange: () => { }, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION, anyspendQuote: anyspendQuote, onShowPointsDetail: () => setActivePanel(PanelView.POINTS_DETAIL), onShowFeeDetail: () => setActivePanel(PanelView.FEE_DETAIL), customUsdInputValues: customUsdInputValues, customRecipientLabel: customRecipientLabel }) })), _jsx("div", { className: cn("relative -my-1 flex h-0 items-center justify-center", effectivePaymentType === "fiat" && "hidden"), children: _jsx(Button, { variant: "ghost", className: classes?.swapDirectionButton ||
237
+ "swap-direction-button border-as-stroke bg-as-surface-primary z-10 h-10 w-10 cursor-default rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", children: _jsx("div", { className: "relative flex items-center justify-center transition-opacity", children: _jsx(ArrowDown, { className: "text-as-primary/50 h-5 w-5" }) }) }) }), effectivePaymentType === "crypto" && (_jsx(CryptoReceiveSection, { isDepositMode: false, isBuyMode: false, effectiveRecipientAddress: selectedRecipientOrDefault, recipientName: recipientName || undefined, customRecipientLabel: customRecipientLabel, onSelectRecipient: () => setActivePanel(PanelView.RECIPIENT_SELECTION), dstAmount: isSrcInputDirty && !destinationTokenAmount ? dstAmount : dstAmountInput, dstToken: selectedDstToken, dstTokenSymbol: DESTINATION_TOKEN_DETAILS.SYMBOL, dstTokenLogoURI: DESTINATION_TOKEN_DETAILS.LOGO_URI, selectedDstChainId: selectedDstChainId, setSelectedDstChainId: () => { }, setSelectedDstToken: () => { }, isSrcInputDirty: isSrcInputDirty, onChangeDstAmount: value => {
231
238
  setIsSrcInputDirty(false);
232
239
  setDstAmountInput(value);
233
240
  }, disableAmountInput: !!destinationTokenAmount, anyspendQuote: isDirectTransfer ? undefined : anyspendQuote, onShowPointsDetail: isDirectTransfer ? undefined : () => setActivePanel(PanelView.POINTS_DETAIL), onShowFeeDetail: isDirectTransfer ? undefined : () => setActivePanel(PanelView.FEE_DETAIL) }))] }) }), _jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0.2, ease: "easeInOut" }, className: cn("mt-4 flex w-full max-w-[460px] flex-col gap-2"), children: slots.actionButton ? (slots.actionButton({
@@ -238,7 +245,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
238
245
  })) : (_jsx(ShinyButton, { accentColor: "hsl(var(--as-brand))", disabled: btnInfo.disable, onClick: onMainButtonClick, className: (btnInfo.error && classes?.mainButtonError) ||
239
246
  (btnInfo.disable && classes?.mainButtonDisabled) ||
240
247
  classes?.mainButton ||
241
- cn("as-main-button relative w-full", btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand"), textClassName: cn(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white"), children: _jsxs("div", { className: "flex items-center justify-center gap-2", children: [btnInfo.loading && _jsx(Loader2, { className: "h-4 w-4 animate-spin" }), btnInfo.text] }) })) }), gasPriceData && !isLoadingGas && paymentType === "crypto" && !isDirectTransfer && (_jsx(GasIndicator, { gasPrice: gasPriceData, className: classes?.gasIndicator || "mt-2 w-full" })), mainFooter ? mainFooter : null] }));
248
+ cn("as-main-button relative w-full", btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand"), textClassName: cn(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white"), children: _jsxs("div", { className: "flex items-center justify-center gap-2", children: [btnInfo.loading && _jsx(Loader2, { className: "h-4 w-4 animate-spin" }), btnInfo.text] }) })) }), gasPriceData && !isLoadingGas && effectivePaymentType === "crypto" && !isDirectTransfer && (_jsx(GasIndicator, { gasPrice: gasPriceData, className: classes?.gasIndicator || "mt-2 w-full" })), mainFooter ? mainFooter : null] }));
242
249
  const handleCryptoOrder = async () => {
243
250
  try {
244
251
  const isDirectTransfer = isSameChainSameToken && allowDirectTransfer;
@@ -393,7 +400,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
393
400
  toast.error("Failed to create order: " + err.message);
394
401
  }
395
402
  };
396
- const orderDetailsView = (_jsx("div", { className: "mx-auto w-full max-w-[460px]", children: _jsx("div", { className: "relative flex flex-col gap-4", children: oat && (_jsx(OrderDetails, { mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTxs: oat.data.relayTxs, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, cryptoPaymentMethod: paymentType === "fiat" ? CryptoPaymentMethodType.NONE : effectiveCryptoPaymentMethod, selectedCryptoPaymentMethod: effectiveCryptoPaymentMethod, onPaymentMethodChange: setSelectedCryptoPaymentMethod, onBack: () => {
403
+ const orderDetailsView = (_jsx("div", { className: "mx-auto w-full max-w-[460px]", children: _jsx("div", { className: "relative flex flex-col gap-4", children: oat && (_jsx(OrderDetails, { mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTxs: oat.data.relayTxs, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, cryptoPaymentMethod: effectivePaymentType === "fiat" ? CryptoPaymentMethodType.NONE : effectiveCryptoPaymentMethod, selectedCryptoPaymentMethod: effectiveCryptoPaymentMethod, onPaymentMethodChange: setSelectedCryptoPaymentMethod, onBack: () => {
397
404
  setOrderId(undefined);
398
405
  setActivePanel(PanelView.MAIN);
399
406
  }, disableUrlParamManagement: true, points: oat.data.points || undefined, returnToHomeUrl: returnToHomeUrl, returnHomeLabel: returnHomeLabel })) }) }));
@@ -411,7 +418,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
411
418
  setActivePanel(PanelView.MAIN);
412
419
  }, srcAmountOnRamp: srcAmount }));
413
420
  const pointsDetailView = (_jsx(PointsDetailPanel, { pointsAmount: anyspendQuote?.data?.pointsAmount || 0, onBack: () => setActivePanel(PanelView.MAIN) }));
414
- const feeDetailView = anyspendQuote?.data?.fee ? (_jsx(FeeDetailPanel, { fee: anyspendQuote.data.fee, transactionAmountUsd: paymentType === "fiat"
421
+ const feeDetailView = anyspendQuote?.data?.fee ? (_jsx(FeeDetailPanel, { fee: anyspendQuote.data.fee, transactionAmountUsd: effectivePaymentType === "fiat"
415
422
  ? parseFloat(srcAmount)
416
423
  : anyspendQuote.data.currencyIn?.amountUsd
417
424
  ? Number(anyspendQuote.data.currencyIn.amountUsd)
@@ -3,7 +3,7 @@ import { Skeleton, useAccountWallet, useSimBalance, useTokenData } from "../../.
3
3
  import { cn } from "../../../shared/utils/cn.js";
4
4
  import { NetworkArbitrumOne, NetworkBase, NetworkBinanceSmartChain, NetworkEthereum, NetworkOptimism, NetworkPolygonPos, } from "@web3icons/react";
5
5
  import { ChevronRight } from "lucide-react";
6
- import { useMemo, useState } from "react";
6
+ import { useEffect, useMemo, useState } from "react";
7
7
  import { AnySpend } from "./AnySpend.js";
8
8
  import { AnySpendCustomExactIn } from "./AnySpendCustomExactIn.js";
9
9
  import { ChainWarningText } from "./common/WarningText.js";
@@ -99,11 +99,17 @@ export function AnySpendDeposit({ loadOrder, mode = "modal", recipientAddress, p
99
99
  const depositClasses = classes?.deposit;
100
100
  const { connectedEOAWallet } = useAccountWallet();
101
101
  const eoaAddress = connectedEOAWallet?.getAccount()?.address;
102
+ const effectiveInitialPaymentType = !showFiatOption && initialPaymentType === "fiat" ? "crypto" : initialPaymentType;
102
103
  // Determine if we should show chain selection
103
- const shouldShowChainSelection = showChainSelection ?? (!initialSourceChainId && !initialPaymentType);
104
+ const shouldShowChainSelection = showChainSelection ?? (!initialSourceChainId && !effectiveInitialPaymentType);
104
105
  const [step, setStep] = useState(shouldShowChainSelection ? "select-chain" : "deposit");
105
106
  const [selectedChainId, setSelectedChainId] = useState(initialSourceChainId);
106
- const [paymentType, setPaymentType] = useState(initialPaymentType ?? "crypto");
107
+ const [paymentType, setPaymentType] = useState(effectiveInitialPaymentType ?? "crypto");
108
+ useEffect(() => {
109
+ if (!showFiatOption && paymentType === "fiat") {
110
+ setPaymentType("crypto");
111
+ }
112
+ }, [showFiatOption, paymentType]);
107
113
  // Fetch destination token data
108
114
  const { data: destinationTokenData } = useTokenData(destinationTokenChainId, destinationTokenAddress);
109
115
  // Construct full destination token object
@@ -207,5 +213,5 @@ export function AnySpendDeposit({ loadOrder, mode = "modal", recipientAddress, p
207
213
  // Deposit view
208
214
  return (_jsxs("div", { className: depositClasses?.form || "anyspend-deposit anyspend-deposit-form relative", children: [shouldShowChainSelection && (_jsxs("button", { onClick: handleBack, className: depositClasses?.backButton ||
209
215
  "anyspend-deposit-back-button text-as-secondary hover:text-as-primary absolute left-4 top-4 z-10 flex items-center gap-1", children: [_jsx("svg", { className: depositClasses?.backIcon || "anyspend-deposit-back-icon h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) }), _jsx("span", { className: depositClasses?.backText || "anyspend-deposit-back-text text-sm", children: "Back" })] })), onClose && (_jsx("button", { onClick: onClose, className: depositClasses?.closeButton ||
210
- "anyspend-deposit-close-button text-as-secondary hover:text-as-primary absolute right-4 top-4 z-10", children: _jsx("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })), _jsx("div", { className: depositClasses?.formContent || cn("anyspend-deposit-form-content", shouldShowChainSelection && "pt-8"), children: isCustomDeposit ? (_jsx(AnySpendCustomExactIn, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, paymentType: paymentType, sourceTokenAddress: sourceTokenAddress, sourceTokenChainId: selectedChainId, destinationToken: destinationToken, destinationChainId: destinationTokenChainId, orderType: effectiveOrderType, minDestinationAmount: minDestinationAmount, header: header ?? defaultHeader, onSuccess: onSuccess, onOpenCustomModal: onOpenCustomModal, mainFooter: mainFooter, onTokenSelect: onTokenSelect, customUsdInputValues: customUsdInputValues, preferEoa: preferEoa, customExactInConfig: depositContractConfig, returnToHomeUrl: returnToHomeUrl, customRecipientLabel: customRecipientLabel, returnHomeLabel: returnHomeLabel, classes: classes?.customExactIn, allowDirectTransfer: allowDirectTransfer, destinationTokenAmount: destinationTokenAmount, callbackMetadata: callbackMetadata, senderAddress: senderAddress, slots: slots, content: content, theme: theme }, selectedChainId)) : (_jsx(AnySpend, { loadOrder: loadOrder, mode: mode, defaultActiveTab: paymentType, recipientAddress: recipientAddress, sourceChainId: selectedChainId, destinationTokenAddress: destinationTokenAddress, destinationTokenChainId: destinationTokenChainId, onSuccess: txHash => onSuccess?.(txHash ?? ""), onTokenSelect: onTokenSelect, customUsdInputValues: customUsdInputValues, hideHeader: true, hideBottomNavigation: true, disableUrlParamManagement: true, returnToHomeUrl: returnToHomeUrl, customRecipientLabel: customRecipientLabel, returnHomeLabel: returnHomeLabel, classes: classes?.anySpend, allowDirectTransfer: allowDirectTransfer, destinationTokenAmount: destinationTokenAmount, callbackMetadata: callbackMetadata, senderAddress: senderAddress, slots: slots, content: content, theme: theme }, selectedChainId)) }), _jsx(ChainWarningText, { chainId: destinationTokenChainId, classes: classes?.chainWarningText || { root: "px-4 pb-4" } })] }));
216
+ "anyspend-deposit-close-button text-as-secondary hover:text-as-primary absolute right-4 top-4 z-10", children: _jsx("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })), _jsx("div", { className: depositClasses?.formContent || cn("anyspend-deposit-form-content", shouldShowChainSelection && "pt-8"), children: isCustomDeposit ? (_jsx(AnySpendCustomExactIn, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, paymentType: paymentType, sourceTokenAddress: sourceTokenAddress, sourceTokenChainId: selectedChainId, destinationToken: destinationToken, destinationChainId: destinationTokenChainId, orderType: effectiveOrderType, minDestinationAmount: minDestinationAmount, header: header ?? defaultHeader, onSuccess: onSuccess, onOpenCustomModal: onOpenCustomModal, mainFooter: mainFooter, onTokenSelect: onTokenSelect, customUsdInputValues: customUsdInputValues, preferEoa: preferEoa, customExactInConfig: depositContractConfig, returnToHomeUrl: returnToHomeUrl, customRecipientLabel: customRecipientLabel, returnHomeLabel: returnHomeLabel, classes: classes?.customExactIn, allowDirectTransfer: allowDirectTransfer, destinationTokenAmount: destinationTokenAmount, callbackMetadata: callbackMetadata, senderAddress: senderAddress, showFiatOption: showFiatOption, slots: slots, content: content, theme: theme }, selectedChainId)) : (_jsx(AnySpend, { loadOrder: loadOrder, mode: mode, defaultActiveTab: paymentType, recipientAddress: recipientAddress, sourceChainId: selectedChainId, destinationTokenAddress: destinationTokenAddress, destinationTokenChainId: destinationTokenChainId, onSuccess: txHash => onSuccess?.(txHash ?? ""), onTokenSelect: onTokenSelect, customUsdInputValues: customUsdInputValues, hideHeader: true, hideBottomNavigation: true, disableUrlParamManagement: true, returnToHomeUrl: returnToHomeUrl, customRecipientLabel: customRecipientLabel, returnHomeLabel: returnHomeLabel, classes: classes?.anySpend, allowDirectTransfer: allowDirectTransfer, destinationTokenAmount: destinationTokenAmount, callbackMetadata: callbackMetadata, senderAddress: senderAddress, showFiatOption: showFiatOption, slots: slots, content: content, theme: theme }, selectedChainId)) }), _jsx(ChainWarningText, { chainId: destinationTokenChainId, classes: classes?.chainWarningText || { root: "px-4 pb-4" } })] }));
211
217
  }
@@ -1,6 +1,6 @@
1
1
  import { components } from "../../../anyspend/types/api";
2
2
  import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
3
- export declare function AnySpendDepositUpside({ loadOrder, mode, recipientAddress, sourceTokenAddress, sourceTokenChainId, depositContractAddress, token, onSuccess, senderAddress, slots, content, theme, }: {
3
+ export declare function AnySpendDepositUpside({ loadOrder, mode, recipientAddress, sourceTokenAddress, sourceTokenChainId, depositContractAddress, token, onSuccess, senderAddress, showFiatOption, slots, content, theme, }: {
4
4
  loadOrder?: string;
5
5
  mode?: "modal" | "page";
6
6
  recipientAddress: string;
@@ -11,6 +11,7 @@ export declare function AnySpendDepositUpside({ loadOrder, mode, recipientAddres
11
11
  onSuccess?: (amount: string) => void;
12
12
  /** Optional sender (payer) address — pre-fills token balances when the user address is known ahead of time */
13
13
  senderAddress?: string;
14
+ showFiatOption?: boolean;
14
15
  slots?: AnySpendSlots;
15
16
  content?: AnySpendContent;
16
17
  theme?: AnySpendTheme;
@@ -22,7 +22,7 @@ const DEPOSIT_FOR_FUNCTION_ABI = JSON.stringify([
22
22
  type: "function",
23
23
  },
24
24
  ]);
25
- export function AnySpendDepositUpside({ loadOrder, mode = "modal", recipientAddress, sourceTokenAddress, sourceTokenChainId, depositContractAddress, token, onSuccess, senderAddress, slots, content, theme, }) {
25
+ export function AnySpendDepositUpside({ loadOrder, mode = "modal", recipientAddress, sourceTokenAddress, sourceTokenChainId, depositContractAddress, token, onSuccess, senderAddress, showFiatOption, slots, content, theme, }) {
26
26
  if (!recipientAddress)
27
27
  return null;
28
28
  const header = () => (_jsx(_Fragment, { children: _jsx("div", { className: "from-b3-react-background to-as-on-surface-1 w-full rounded-t-lg bg-gradient-to-t", children: _jsx("div", { className: "mb-1 flex w-full flex-col items-center gap-2", children: _jsxs("span", { className: "font-sf-rounded text-2xl font-semibold", children: ["Swap & Deposit ", token.symbol] }) }) }) }));
@@ -34,5 +34,5 @@ export function AnySpendDepositUpside({ loadOrder, mode = "modal", recipientAddr
34
34
  spenderAddress: depositContractAddress,
35
35
  action: `deposit ${token.symbol}`,
36
36
  };
37
- return (_jsx(AnySpendCustomExactIn, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, sourceTokenAddress: sourceTokenAddress, sourceTokenChainId: sourceTokenChainId, destinationToken: token, destinationChainId: base.id, customExactInConfig: customExactInConfig, header: header, onSuccess: onSuccess, senderAddress: senderAddress, slots: slots, content: content, theme: theme }));
37
+ return (_jsx(AnySpendCustomExactIn, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, sourceTokenAddress: sourceTokenAddress, sourceTokenChainId: sourceTokenChainId, destinationToken: token, destinationChainId: base.id, customExactInConfig: customExactInConfig, header: header, onSuccess: onSuccess, senderAddress: senderAddress, showFiatOption: showFiatOption, slots: slots, content: content, theme: theme }));
38
38
  }
@@ -1,5 +1,5 @@
1
1
  import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
2
- export declare function AnySpendStakeB3({ loadOrder, mode, recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, }: {
2
+ export declare function AnySpendStakeB3({ loadOrder, mode, recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, showFiatOption, }: {
3
3
  loadOrder?: string;
4
4
  mode?: "modal" | "page";
5
5
  recipientAddress: string;
@@ -10,4 +10,5 @@ export declare function AnySpendStakeB3({ loadOrder, mode, recipientAddress, sta
10
10
  slots?: AnySpendSlots;
11
11
  content?: AnySpendContent;
12
12
  theme?: AnySpendTheme;
13
+ showFiatOption?: boolean;
13
14
  }): import("react/jsx-runtime").JSX.Element;
@@ -28,7 +28,7 @@ function generateEncodedDataForStakingB3(amount, beneficiary) {
28
28
  });
29
29
  return encodedData;
30
30
  }
31
- export function AnySpendStakeB3({ loadOrder, mode = "modal", recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, }) {
31
+ export function AnySpendStakeB3({ loadOrder, mode = "modal", recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, showFiatOption, }) {
32
32
  const hasMounted = useHasMounted();
33
33
  const { setB3ModalOpen } = useModalStore();
34
34
  // Wagmi hooks for direct staking
@@ -270,5 +270,5 @@ export function AnySpendStakeB3({ loadOrder, mode = "modal", recipientAddress, s
270
270
  const encodedData = generateEncodedDataForStakingB3(userStakeAmount, recipientAddress);
271
271
  return (_jsx(AnySpendCustom, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, orderType: "custom", dstChainId: base.id, dstToken: B3_TOKEN, dstAmount: userStakeAmount, contractAddress: ERC20Staking, encodedData: encodedData, metadata: {
272
272
  action: "stake B3",
273
- }, header: header, onSuccess: onSuccess, showRecipient: true, senderAddress: senderAddress, slots: slots, content: content, theme: theme }));
273
+ }, header: header, onSuccess: onSuccess, showRecipient: true, senderAddress: senderAddress, slots: slots, content: content, theme: theme, showFiatOption: showFiatOption }));
274
274
  }
@@ -1,5 +1,5 @@
1
1
  import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
2
- export declare function AnySpendStakeB3ExactIn({ loadOrder, mode, sourceTokenAddress, sourceTokenChainId, recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, }: {
2
+ export declare function AnySpendStakeB3ExactIn({ loadOrder, mode, sourceTokenAddress, sourceTokenChainId, recipientAddress, stakeAmount, onSuccess, senderAddress, showFiatOption, slots, content, theme, }: {
3
3
  loadOrder?: string;
4
4
  mode?: "modal" | "page";
5
5
  sourceTokenAddress?: string;
@@ -9,6 +9,7 @@ export declare function AnySpendStakeB3ExactIn({ loadOrder, mode, sourceTokenAdd
9
9
  onSuccess?: (amount: string) => void;
10
10
  /** Optional sender (payer) address — pre-fills token balances when the user address is known ahead of time */
11
11
  senderAddress?: string;
12
+ showFiatOption?: boolean;
12
13
  slots?: AnySpendSlots;
13
14
  content?: AnySpendContent;
14
15
  theme?: AnySpendTheme;