@b3dotfun/sdk 0.1.70-alpha.2 → 0.1.70-alpha.21

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 (355) hide show
  1. package/README.md +3 -3
  2. package/constants/chains/b3Chain.js +3 -1
  3. package/dist/cjs/anyspend/constants/rpc.d.ts +3 -1
  4. package/dist/cjs/anyspend/constants/rpc.js +6 -2
  5. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +9 -1
  6. package/dist/cjs/anyspend/react/components/AnySpend.js +123 -46
  7. package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +8 -10
  8. package/dist/cjs/anyspend/react/components/AnySpendDeposit.d.ts +15 -3
  9. package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +78 -25
  10. package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +32 -13
  11. package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +32 -10
  12. package/dist/cjs/anyspend/react/components/QRDeposit.d.ts +22 -3
  13. package/dist/cjs/anyspend/react/components/QRDeposit.js +25 -16
  14. package/dist/cjs/anyspend/react/components/checkout/CryptoPayPanel.js +18 -11
  15. package/dist/cjs/anyspend/react/components/common/PureTransferView.d.ts +30 -0
  16. package/dist/cjs/anyspend/react/components/common/PureTransferView.js +64 -0
  17. package/dist/cjs/anyspend/react/components/common/TokenBalance.js +4 -5
  18. package/dist/cjs/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  19. package/dist/cjs/anyspend/react/hooks/useSigMint.d.ts +1 -1
  20. package/dist/cjs/anyspend/utils/address.d.ts +2 -1
  21. package/dist/cjs/anyspend/utils/address.js +12 -9
  22. package/dist/cjs/anyspend/utils/chain.d.ts +84 -1
  23. package/dist/cjs/anyspend/utils/chain.js +73 -3
  24. package/dist/cjs/anyspend/utils/token.d.ts +2 -0
  25. package/dist/cjs/anyspend/utils/token.js +15 -1
  26. package/dist/cjs/app.shared.d.ts +9 -1
  27. package/dist/cjs/app.shared.js +19 -0
  28. package/dist/cjs/global-account/app.native.d.ts +1 -1
  29. package/dist/cjs/global-account/better-auth-client.d.ts +3314 -36
  30. package/dist/cjs/global-account/better-auth-client.js +28 -3
  31. package/dist/cjs/global-account/bsmnt.d.ts +2 -2
  32. package/dist/cjs/global-account/bsmnt.native.d.ts +1 -1
  33. package/dist/cjs/global-account/client-manager.d.ts +7 -5
  34. package/dist/cjs/global-account/client-manager.js +51 -4
  35. package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +6 -11
  36. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +11 -0
  37. package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.js +12 -0
  38. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +12 -2
  39. package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +25 -3
  40. package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.js +45 -4
  41. package/dist/cjs/global-account/react/components/B3Provider/RelayKitProviderWrapper.d.ts +1 -2
  42. package/dist/cjs/global-account/react/components/B3Provider/RelayKitProviderWrapper.js +11 -5
  43. package/dist/cjs/global-account/react/components/ManageAccount/ContentTokens.js +23 -15
  44. package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +2 -2
  45. package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +8 -6
  46. package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +1 -1
  47. package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +17 -8
  48. package/dist/cjs/global-account/react/components/Send/Send.js +15 -11
  49. package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +3 -1
  50. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -5
  51. package/dist/cjs/global-account/react/components/SignInWithB3/components/AuthButton.js +2 -1
  52. package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +1 -0
  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 +3 -3
  55. package/dist/cjs/global-account/react/components/index.d.ts +1 -1
  56. package/dist/cjs/global-account/react/components/index.js +3 -3
  57. package/dist/cjs/global-account/react/hooks/index.d.ts +2 -3
  58. package/dist/cjs/global-account/react/hooks/index.js +7 -10
  59. package/dist/cjs/global-account/react/hooks/useAuth.d.ts +5 -4
  60. package/dist/cjs/global-account/react/hooks/useAuth.js +1 -0
  61. package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +3 -2
  62. package/dist/cjs/global-account/react/hooks/useAuthentication.js +2 -1
  63. package/dist/cjs/global-account/react/hooks/useBetterAuth.d.ts +1657 -22
  64. package/dist/cjs/global-account/react/hooks/useBetterAuth.js +7 -7
  65. package/dist/cjs/global-account/react/hooks/useClient.d.ts +3 -3
  66. package/dist/cjs/global-account/react/hooks/useFirstEOA.d.ts +4 -7666
  67. package/dist/cjs/global-account/react/hooks/useFirstEOA.js +1 -0
  68. package/dist/cjs/global-account/react/hooks/useNativeBalance.js +2 -2
  69. package/dist/cjs/global-account/react/hooks/usePortfolioBalance.d.ts +15 -0
  70. package/dist/cjs/global-account/react/hooks/usePortfolioBalance.js +76 -0
  71. package/dist/cjs/global-account/react/hooks/usePortfolioCollectibles.d.ts +12 -0
  72. package/dist/cjs/global-account/react/hooks/usePortfolioCollectibles.js +178 -0
  73. package/dist/cjs/global-account/react/hooks/useSiwe.d.ts +1 -1
  74. package/dist/cjs/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  75. package/dist/cjs/global-account/react/hooks/useTWAuth.d.ts +1 -1
  76. package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.d.ts +1 -0
  77. package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +37 -27
  78. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +14 -2
  79. package/dist/cjs/global-account/types/b3-api.types.d.ts +5 -0
  80. package/dist/cjs/global-account/types/feature-flags.d.ts +5 -5
  81. package/dist/cjs/notifications/services/api.js +1 -0
  82. package/dist/cjs/shared/constants/chains/b3Chain.d.ts +30 -54
  83. package/dist/cjs/shared/constants/chains/b3Chain.js +5 -41
  84. package/dist/cjs/shared/constants/chains/supported.d.ts +1 -49
  85. package/dist/cjs/shared/constants/chains/supported.js +8 -36
  86. package/dist/cjs/shared/constants/index.d.ts +4 -0
  87. package/dist/cjs/shared/utils/chain-transformers.d.ts +4 -4
  88. package/dist/cjs/shared/utils/chain-transformers.js +38 -37
  89. package/dist/cjs/shared/utils/thirdweb-insights.js +2 -2
  90. package/dist/cjs/shared/utils/upload.d.ts +9 -0
  91. package/dist/cjs/shared/utils/upload.js +34 -0
  92. package/dist/cjs/shared/utils/zerionPositions.d.ts +96 -0
  93. package/dist/cjs/shared/utils/zerionPositions.js +188 -0
  94. package/dist/esm/anyspend/constants/rpc.d.ts +3 -1
  95. package/dist/esm/anyspend/constants/rpc.js +5 -1
  96. package/dist/esm/anyspend/react/components/AnySpend.d.ts +9 -1
  97. package/dist/esm/anyspend/react/components/AnySpend.js +124 -47
  98. package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +9 -11
  99. package/dist/esm/anyspend/react/components/AnySpendDeposit.d.ts +15 -3
  100. package/dist/esm/anyspend/react/components/AnySpendDeposit.js +80 -27
  101. package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +33 -14
  102. package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +33 -11
  103. package/dist/esm/anyspend/react/components/QRDeposit.d.ts +22 -3
  104. package/dist/esm/anyspend/react/components/QRDeposit.js +27 -18
  105. package/dist/esm/anyspend/react/components/checkout/CryptoPayPanel.js +21 -14
  106. package/dist/esm/anyspend/react/components/common/PureTransferView.d.ts +30 -0
  107. package/dist/esm/anyspend/react/components/common/PureTransferView.js +61 -0
  108. package/dist/esm/anyspend/react/components/common/TokenBalance.js +6 -7
  109. package/dist/esm/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  110. package/dist/esm/anyspend/react/hooks/useSigMint.d.ts +1 -1
  111. package/dist/esm/anyspend/utils/address.d.ts +2 -1
  112. package/dist/esm/anyspend/utils/address.js +9 -6
  113. package/dist/esm/anyspend/utils/chain.d.ts +84 -1
  114. package/dist/esm/anyspend/utils/chain.js +73 -5
  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 +51 -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 +11 -0
  128. package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.js +11 -0
  129. package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +12 -2
  130. package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +26 -4
  131. package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.js +46 -5
  132. package/dist/esm/global-account/react/components/B3Provider/RelayKitProviderWrapper.d.ts +1 -2
  133. package/dist/esm/global-account/react/components/B3Provider/RelayKitProviderWrapper.js +11 -5
  134. package/dist/esm/global-account/react/components/ManageAccount/ContentTokens.js +24 -16
  135. package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +3 -3
  136. package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +9 -7
  137. package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +1 -1
  138. package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +18 -9
  139. package/dist/esm/global-account/react/components/Send/Send.js +16 -12
  140. package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +3 -1
  141. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -5
  142. package/dist/esm/global-account/react/components/SignInWithB3/components/AuthButton.js +2 -1
  143. package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +1 -0
  144. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
  145. package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.js +3 -3
  146. package/dist/esm/global-account/react/components/index.d.ts +1 -1
  147. package/dist/esm/global-account/react/components/index.js +1 -1
  148. package/dist/esm/global-account/react/hooks/index.d.ts +2 -3
  149. package/dist/esm/global-account/react/hooks/index.js +2 -3
  150. package/dist/esm/global-account/react/hooks/useAuth.d.ts +5 -4
  151. package/dist/esm/global-account/react/hooks/useAuth.js +1 -0
  152. package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +3 -2
  153. package/dist/esm/global-account/react/hooks/useAuthentication.js +2 -1
  154. package/dist/esm/global-account/react/hooks/useBetterAuth.d.ts +1657 -22
  155. package/dist/esm/global-account/react/hooks/useBetterAuth.js +8 -8
  156. package/dist/esm/global-account/react/hooks/useClient.d.ts +3 -3
  157. package/dist/esm/global-account/react/hooks/useFirstEOA.d.ts +4 -7666
  158. package/dist/esm/global-account/react/hooks/useFirstEOA.js +1 -0
  159. package/dist/esm/global-account/react/hooks/useNativeBalance.js +1 -1
  160. package/dist/esm/global-account/react/hooks/usePortfolioBalance.d.ts +15 -0
  161. package/dist/esm/global-account/react/hooks/usePortfolioBalance.js +72 -0
  162. package/dist/esm/global-account/react/hooks/usePortfolioCollectibles.d.ts +12 -0
  163. package/dist/esm/global-account/react/hooks/usePortfolioCollectibles.js +175 -0
  164. package/dist/esm/global-account/react/hooks/useSiwe.d.ts +1 -1
  165. package/dist/esm/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  166. package/dist/esm/global-account/react/hooks/useTWAuth.d.ts +1 -1
  167. package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.d.ts +1 -0
  168. package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +37 -27
  169. package/dist/esm/global-account/react/stores/useModalStore.d.ts +14 -2
  170. package/dist/esm/global-account/types/b3-api.types.d.ts +5 -0
  171. package/dist/esm/global-account/types/feature-flags.d.ts +5 -5
  172. package/dist/esm/notifications/services/api.js +1 -0
  173. package/dist/esm/shared/constants/chains/b3Chain.d.ts +30 -54
  174. package/dist/esm/shared/constants/chains/b3Chain.js +4 -38
  175. package/dist/esm/shared/constants/chains/supported.d.ts +1 -49
  176. package/dist/esm/shared/constants/chains/supported.js +7 -35
  177. package/dist/esm/shared/constants/index.d.ts +4 -0
  178. package/dist/esm/shared/utils/chain-transformers.d.ts +4 -4
  179. package/dist/esm/shared/utils/chain-transformers.js +38 -37
  180. package/dist/esm/shared/utils/thirdweb-insights.js +2 -2
  181. package/dist/esm/shared/utils/upload.d.ts +9 -0
  182. package/dist/esm/shared/utils/upload.js +31 -0
  183. package/dist/esm/shared/utils/zerionPositions.d.ts +96 -0
  184. package/dist/esm/shared/utils/zerionPositions.js +180 -0
  185. package/dist/styles/index.css +1 -1
  186. package/dist/types/anyspend/constants/rpc.d.ts +3 -1
  187. package/dist/types/anyspend/react/components/AnySpend.d.ts +9 -1
  188. package/dist/types/anyspend/react/components/AnySpendDeposit.d.ts +15 -3
  189. package/dist/types/anyspend/react/components/QRDeposit.d.ts +22 -3
  190. package/dist/types/anyspend/react/components/common/PureTransferView.d.ts +30 -0
  191. package/dist/types/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
  192. package/dist/types/anyspend/react/hooks/useSigMint.d.ts +1 -1
  193. package/dist/types/anyspend/utils/address.d.ts +2 -1
  194. package/dist/types/anyspend/utils/chain.d.ts +84 -1
  195. package/dist/types/anyspend/utils/token.d.ts +2 -0
  196. package/dist/types/app.shared.d.ts +9 -1
  197. package/dist/types/global-account/app.native.d.ts +1 -1
  198. package/dist/types/global-account/better-auth-client.d.ts +3314 -36
  199. package/dist/types/global-account/bsmnt.d.ts +2 -2
  200. package/dist/types/global-account/bsmnt.native.d.ts +1 -1
  201. package/dist/types/global-account/client-manager.d.ts +7 -5
  202. package/dist/types/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +11 -0
  203. package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +12 -2
  204. package/dist/types/global-account/react/components/B3Provider/RelayKitProviderWrapper.d.ts +1 -2
  205. package/dist/types/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
  206. package/dist/types/global-account/react/components/index.d.ts +1 -1
  207. package/dist/types/global-account/react/hooks/index.d.ts +2 -3
  208. package/dist/types/global-account/react/hooks/useAuth.d.ts +5 -4
  209. package/dist/types/global-account/react/hooks/useAuthentication.d.ts +3 -2
  210. package/dist/types/global-account/react/hooks/useBetterAuth.d.ts +1657 -22
  211. package/dist/types/global-account/react/hooks/useClient.d.ts +3 -3
  212. package/dist/types/global-account/react/hooks/useFirstEOA.d.ts +4 -7666
  213. package/dist/types/global-account/react/hooks/usePortfolioBalance.d.ts +15 -0
  214. package/dist/types/global-account/react/hooks/usePortfolioCollectibles.d.ts +12 -0
  215. package/dist/types/global-account/react/hooks/useSiwe.d.ts +1 -1
  216. package/dist/types/global-account/react/hooks/useSiwe.native.d.ts +1 -1
  217. package/dist/types/global-account/react/hooks/useTWAuth.d.ts +1 -1
  218. package/dist/types/global-account/react/hooks/useUnifiedChainSwitchAndExecute.d.ts +1 -0
  219. package/dist/types/global-account/react/stores/useModalStore.d.ts +14 -2
  220. package/dist/types/global-account/types/b3-api.types.d.ts +5 -0
  221. package/dist/types/global-account/types/feature-flags.d.ts +5 -5
  222. package/dist/types/shared/constants/chains/b3Chain.d.ts +30 -54
  223. package/dist/types/shared/constants/chains/supported.d.ts +1 -49
  224. package/dist/types/shared/constants/index.d.ts +4 -0
  225. package/dist/types/shared/utils/chain-transformers.d.ts +4 -4
  226. package/dist/types/shared/utils/upload.d.ts +9 -0
  227. package/dist/types/shared/utils/zerionPositions.d.ts +96 -0
  228. package/node_modules/@b3/chain-registry/chains.json +1225 -0
  229. package/node_modules/@b3/chain-registry/dist/chains.json +1225 -0
  230. package/node_modules/@b3/chain-registry/dist/index.cjs +1676 -0
  231. package/node_modules/@b3/chain-registry/dist/index.d.cts +195 -0
  232. package/node_modules/@b3/chain-registry/dist/index.d.ts +195 -0
  233. package/node_modules/@b3/chain-registry/dist/index.mjs +1604 -0
  234. package/node_modules/@b3/chain-registry/dist/src/index.d.ts +193 -0
  235. package/node_modules/@b3/chain-registry/dist/src/index.js +408 -0
  236. package/node_modules/@b3/chain-registry/package.json +66 -0
  237. package/node_modules/@b3/chain-registry/src/index.test.ts +432 -0
  238. package/node_modules/@b3/chain-registry/src/index.ts +672 -0
  239. package/package.json +81 -30
  240. package/src/anyspend/README.md +2 -2
  241. package/src/anyspend/constants/rpc.ts +5 -2
  242. package/src/anyspend/docs/components.md +6 -6
  243. package/src/anyspend/docs/contributing.md +1 -1
  244. package/src/anyspend/docs/hooks.md +3 -3
  245. package/src/anyspend/docs/installation.md +2 -2
  246. package/src/anyspend/react/components/AnySpend.tsx +163 -47
  247. package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +10 -11
  248. package/src/anyspend/react/components/AnySpendDeposit.tsx +130 -31
  249. package/src/anyspend/react/components/AnySpendStakeB3.tsx +55 -14
  250. package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +55 -11
  251. package/src/anyspend/react/components/QRDeposit.tsx +101 -22
  252. package/src/anyspend/react/components/__tests__/QRDeposit.test.tsx +331 -0
  253. package/src/anyspend/react/components/checkout/CryptoPayPanel.tsx +38 -16
  254. package/src/anyspend/react/components/common/PureTransferView.tsx +212 -0
  255. package/src/anyspend/react/components/common/TokenBalance.tsx +10 -7
  256. package/src/anyspend/react/hooks/useAnyspendQuote.ts +13 -13
  257. package/src/anyspend/react/hooks/useCreateDepositFirstOrder.ts +4 -4
  258. package/src/anyspend/services/gas.test.ts +95 -18
  259. package/src/anyspend/types/api_req_res.ts +10 -5
  260. package/src/anyspend/utils/__tests__/address.test.ts +39 -0
  261. package/src/anyspend/utils/__tests__/deprecatedChains.test.ts +44 -0
  262. package/src/anyspend/utils/__tests__/toRegistryChainId.test.ts +17 -0
  263. package/src/anyspend/utils/address.ts +8 -6
  264. package/src/anyspend/utils/chain.ts +79 -3
  265. package/src/anyspend/utils/token.ts +14 -0
  266. package/src/app.shared.ts +21 -1
  267. package/src/global-account/app.native.ts +5 -1
  268. package/src/global-account/better-auth-client.ts +30 -4
  269. package/src/global-account/bsmnt.native.ts +5 -1
  270. package/src/global-account/bsmnt.ts +9 -2
  271. package/src/global-account/client-manager.ts +74 -9
  272. package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +6 -11
  273. package/src/global-account/react/components/B3Provider/B3ConfigProvider.tsx +12 -0
  274. package/src/global-account/react/components/B3Provider/B3Provider.tsx +40 -4
  275. package/src/global-account/react/components/B3Provider/BetterAuthProvider.tsx +51 -5
  276. package/src/global-account/react/components/B3Provider/RelayKitProviderWrapper.tsx +11 -11
  277. package/src/global-account/react/components/ManageAccount/ContentTokens.tsx +50 -21
  278. package/src/global-account/react/components/ManageAccount/NFTContent.tsx +5 -3
  279. package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +10 -6
  280. package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +1 -1
  281. package/src/global-account/react/components/ManageAccount/TokenContent.tsx +22 -9
  282. package/src/global-account/react/components/Send/Send.tsx +39 -15
  283. package/src/global-account/react/components/SignInWithB3/BetterAuthSignIn.tsx +12 -1
  284. package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +1 -4
  285. package/src/global-account/react/components/SignInWithB3/components/AuthButton.tsx +9 -1
  286. package/src/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.tsx +1 -0
  287. package/src/global-account/react/components/SignInWithB3/utils/signInUtils.ts +4 -4
  288. package/src/global-account/react/components/index.ts +1 -1
  289. package/src/global-account/react/components/ui/button.tsx +1 -2
  290. package/src/global-account/react/hooks/__tests__/useUnifiedChainSwitchAndExecute.test.tsx +156 -0
  291. package/src/global-account/react/hooks/index.ts +2 -3
  292. package/src/global-account/react/hooks/useAuth.ts +5 -4
  293. package/src/global-account/react/hooks/useAuthentication.ts +5 -4
  294. package/src/global-account/react/hooks/useBetterAuth.ts +10 -10
  295. package/src/global-account/react/hooks/useClient.ts +11 -2
  296. package/src/global-account/react/hooks/useFirstEOA.tsx +9 -2
  297. package/src/global-account/react/hooks/useNativeBalance.tsx +1 -1
  298. package/src/global-account/react/hooks/usePortfolioBalance.ts +89 -0
  299. package/src/global-account/react/hooks/usePortfolioCollectibles.ts +212 -0
  300. package/src/global-account/react/hooks/useSiwe.native.tsx +1 -1
  301. package/src/global-account/react/hooks/useSiwe.tsx +1 -1
  302. package/src/global-account/react/hooks/useTWAuth.tsx +1 -1
  303. package/src/global-account/react/hooks/useUnifiedChainSwitchAndExecute.ts +47 -31
  304. package/src/global-account/react/stores/useModalStore.ts +14 -2
  305. package/src/global-account/types/b3-api.types.ts +5 -1
  306. package/src/notifications/services/api.ts +1 -0
  307. package/src/shared/constants/chains/b3Chain.ts +4 -43
  308. package/src/shared/constants/chains/supported.ts +9 -48
  309. package/src/shared/constants/index.ts +8 -0
  310. package/src/shared/react/hooks/__tests__/useCurrencyConversion.test.ts +54 -43
  311. package/src/shared/utils/__tests__/zerionPositions.test.ts +248 -0
  312. package/src/shared/utils/chain-transformers.ts +41 -39
  313. package/src/shared/utils/thirdweb-insights.ts +2 -2
  314. package/src/shared/utils/upload.ts +48 -0
  315. package/src/shared/utils/zerionPositions.ts +247 -0
  316. package/src/styles/index.css +27 -0
  317. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  318. package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +0 -46
  319. package/dist/cjs/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  320. package/dist/cjs/global-account/react/hooks/useHandleConnectWithPrivy.js +0 -70
  321. package/dist/cjs/global-account/react/hooks/useSimBalance.d.ts +0 -59
  322. package/dist/cjs/global-account/react/hooks/useSimBalance.js +0 -98
  323. package/dist/cjs/global-account/react/hooks/useSimCollectibles.d.ts +0 -45
  324. package/dist/cjs/global-account/react/hooks/useSimCollectibles.js +0 -190
  325. package/dist/cjs/global-account/react/utils/simdune.d.ts +0 -7
  326. package/dist/cjs/global-account/react/utils/simdune.js +0 -21
  327. package/dist/cjs/global-account/types/chain-networks.d.ts +0 -44
  328. package/dist/cjs/global-account/types/chain-networks.js +0 -48
  329. package/dist/cjs/shared/generated/chain-networks.json +0 -684
  330. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  331. package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +0 -43
  332. package/dist/esm/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  333. package/dist/esm/global-account/react/hooks/useHandleConnectWithPrivy.js +0 -67
  334. package/dist/esm/global-account/react/hooks/useSimBalance.d.ts +0 -59
  335. package/dist/esm/global-account/react/hooks/useSimBalance.js +0 -93
  336. package/dist/esm/global-account/react/hooks/useSimCollectibles.d.ts +0 -45
  337. package/dist/esm/global-account/react/hooks/useSimCollectibles.js +0 -187
  338. package/dist/esm/global-account/react/utils/simdune.d.ts +0 -7
  339. package/dist/esm/global-account/react/utils/simdune.js +0 -17
  340. package/dist/esm/global-account/types/chain-networks.d.ts +0 -44
  341. package/dist/esm/global-account/types/chain-networks.js +0 -45
  342. package/dist/esm/shared/generated/chain-networks.json +0 -684
  343. package/dist/types/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
  344. package/dist/types/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
  345. package/dist/types/global-account/react/hooks/useSimBalance.d.ts +0 -59
  346. package/dist/types/global-account/react/hooks/useSimCollectibles.d.ts +0 -45
  347. package/dist/types/global-account/react/utils/simdune.d.ts +0 -7
  348. package/dist/types/global-account/types/chain-networks.d.ts +0 -44
  349. package/src/global-account/react/components/SignInWithB3/SignInWithB3Privy.tsx +0 -63
  350. package/src/global-account/react/hooks/useHandleConnectWithPrivy.tsx +0 -79
  351. package/src/global-account/react/hooks/useSimBalance.ts +0 -164
  352. package/src/global-account/react/hooks/useSimCollectibles.ts +0 -238
  353. package/src/global-account/react/utils/simdune.ts +0 -20
  354. package/src/global-account/types/chain-networks.ts +0 -54
  355. package/src/shared/generated/chain-networks.json +0 -684
@@ -1,4 +1,3 @@
1
- import { ChainNetworks } from "../../../global-account/types/chain-networks";
2
1
  import { Chain as ThirdwebChain } from "thirdweb";
3
2
  import { Chain } from "viem";
4
3
  export declare const nullAddress = "0x0000000000000000000000000000000000000000";
@@ -33,17 +32,29 @@ export declare const b3Mainnet: {
33
32
  experimental_preconfirmationTime?: number | undefined | undefined;
34
33
  rpcUrls: {
35
34
  readonly default: {
36
- readonly http: readonly ["https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2"];
37
- readonly ws: readonly ["wss://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2"];
35
+ readonly http: readonly ["https://mainnet-rpc.b3.fun"];
36
+ readonly ws: readonly ["wss://mainnet-rpc.b3.fun/ws"];
38
37
  };
39
38
  };
40
39
  sourceId?: number | undefined | undefined;
40
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
41
41
  testnet?: boolean | undefined | undefined;
42
42
  custom?: Record<string, unknown> | undefined;
43
+ extendSchema?: Record<string, unknown> | undefined;
43
44
  fees?: import("viem").ChainFees<undefined> | undefined;
44
45
  formatters?: undefined;
46
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
47
+ client: import("viem").Client;
48
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
49
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
50
+ client: import("viem").Client;
51
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
52
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
53
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
54
+ }] | undefined;
45
55
  serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
46
- readonly rpc: "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2";
56
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
57
+ readonly rpc: "https://mainnet-rpc.b3.fun";
47
58
  readonly icon: {
48
59
  readonly url: "https://cdn.b3.fun/b3_logo.svg";
49
60
  readonly width: 32;
@@ -51,55 +62,8 @@ export declare const b3Mainnet: {
51
62
  readonly format: "svg";
52
63
  };
53
64
  };
54
- export declare const getViemChainConfig: (config: ChainNetworks) => {
55
- blockExplorers: {
56
- readonly default: {
57
- readonly name: string;
58
- readonly url: string;
59
- };
60
- };
61
- blockTime?: number | undefined | undefined;
62
- contracts?: {
63
- [x: string]: import("viem").ChainContract | {
64
- [sourceId: number]: import("viem").ChainContract | undefined;
65
- } | undefined;
66
- ensRegistry?: import("viem").ChainContract | undefined;
67
- ensUniversalResolver?: import("viem").ChainContract | undefined;
68
- multicall3?: import("viem").ChainContract | undefined;
69
- erc6492Verifier?: import("viem").ChainContract | undefined;
70
- } | undefined;
71
- ensTlds?: readonly string[] | undefined;
72
- id: number;
73
- name: string;
74
- nativeCurrency: {
75
- symbol: string;
76
- name: string;
77
- decimals: number;
78
- };
79
- experimental_preconfirmationTime?: number | undefined | undefined;
80
- rpcUrls: {
81
- readonly default: {
82
- readonly http: readonly [string];
83
- readonly ws: readonly [string];
84
- };
85
- };
86
- sourceId?: number | undefined | undefined;
87
- testnet: true | undefined;
88
- custom?: Record<string, unknown> | undefined;
89
- fees?: import("viem").ChainFees<undefined> | undefined;
90
- formatters?: undefined;
91
- serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
92
- readonly rpc: string;
93
- readonly icon: {
94
- format: string;
95
- url: string;
96
- width: number;
97
- height: number;
98
- };
99
- };
100
65
  export declare const thirdwebB3Testnet: ThirdwebChain;
101
66
  export declare const thirdwebB3Mainnet: ThirdwebChain;
102
- export declare const getThirdwebChainConfig: (config: ChainNetworks) => ThirdwebChain;
103
67
  export declare const b3Chain: Chain | {
104
68
  blockExplorers: {
105
69
  readonly default: {
@@ -128,17 +92,29 @@ export declare const b3Chain: Chain | {
128
92
  experimental_preconfirmationTime?: number | undefined | undefined;
129
93
  rpcUrls: {
130
94
  readonly default: {
131
- readonly http: readonly ["https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2"];
132
- readonly ws: readonly ["wss://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2"];
95
+ readonly http: readonly ["https://mainnet-rpc.b3.fun"];
96
+ readonly ws: readonly ["wss://mainnet-rpc.b3.fun/ws"];
133
97
  };
134
98
  };
135
99
  sourceId?: number | undefined | undefined;
100
+ supportsTransactionReplacementDetection?: boolean | undefined | undefined;
136
101
  testnet?: boolean | undefined | undefined;
137
102
  custom?: Record<string, unknown> | undefined;
103
+ extendSchema?: Record<string, unknown> | undefined;
138
104
  fees?: import("viem").ChainFees<undefined> | undefined;
139
105
  formatters?: undefined;
106
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
107
+ client: import("viem").Client;
108
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
109
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
110
+ client: import("viem").Client;
111
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
112
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
113
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
114
+ }] | undefined;
140
115
  serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
141
- readonly rpc: "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2";
116
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
117
+ readonly rpc: "https://mainnet-rpc.b3.fun";
142
118
  readonly icon: {
143
119
  readonly url: "https://cdn.b3.fun/b3_logo.svg";
144
120
  readonly width: 32;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.b3Mask = exports.thirdwebB3Chain = exports.b3Chain = exports.getThirdwebChainConfig = exports.thirdwebB3Mainnet = exports.thirdwebB3Testnet = exports.getViemChainConfig = exports.b3Mainnet = exports.b3Testnet = exports.viemToThirdwebChain = exports.avatarsNFTCollectionAddress = exports.nullAddress = void 0;
3
+ exports.b3Mask = exports.thirdwebB3Chain = exports.b3Chain = exports.thirdwebB3Mainnet = exports.thirdwebB3Testnet = exports.b3Mainnet = exports.b3Testnet = exports.viemToThirdwebChain = exports.avatarsNFTCollectionAddress = exports.nullAddress = void 0;
4
4
  const thirdweb_1 = require("thirdweb");
5
5
  const viem_1 = require("viem");
6
6
  exports.nullAddress = "0x0000000000000000000000000000000000000000";
@@ -56,11 +56,11 @@ exports.b3Testnet = (0, viem_1.defineChain)({
56
56
  exports.b3Mainnet = (0, viem_1.defineChain)({
57
57
  id: 8333,
58
58
  name: "B3",
59
- rpc: "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2",
59
+ rpc: "https://mainnet-rpc.b3.fun",
60
60
  rpcUrls: {
61
61
  default: {
62
- http: ["https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2"],
63
- ws: ["wss://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2"],
62
+ http: ["https://mainnet-rpc.b3.fun"],
63
+ ws: ["wss://mainnet-rpc.b3.fun/ws"],
64
64
  },
65
65
  },
66
66
  icon: {
@@ -81,27 +81,6 @@ exports.b3Mainnet = (0, viem_1.defineChain)({
81
81
  decimals: 18,
82
82
  },
83
83
  });
84
- const getViemChainConfig = (config) => (0, viem_1.defineChain)({
85
- id: config.id,
86
- name: config.name,
87
- rpc: config.rpcUrls.default.http,
88
- rpcUrls: {
89
- default: {
90
- http: [config.rpcUrls.default.http],
91
- ws: [config.rpcUrls.default.ws],
92
- },
93
- },
94
- icon: config.icon,
95
- blockExplorers: {
96
- default: {
97
- name: config.blockExplorers.explorerTitle,
98
- url: config.blockExplorers.default,
99
- },
100
- },
101
- nativeCurrency: config.nativeCurrency,
102
- testnet: config.testnet ? true : undefined,
103
- });
104
- exports.getViemChainConfig = getViemChainConfig;
105
84
  exports.thirdwebB3Testnet = (0, thirdweb_1.defineChain)({
106
85
  id: 1993,
107
86
  name: "B3 Sepolia",
@@ -128,7 +107,7 @@ exports.thirdwebB3Testnet = (0, thirdweb_1.defineChain)({
128
107
  exports.thirdwebB3Mainnet = (0, thirdweb_1.defineChain)({
129
108
  id: 8333,
130
109
  name: "B3",
131
- rpc: "https://late-dimensional-yard.b3-mainnet.quiknode.pro/461dbdbd44158cd7a7a764a58ffb01a67eef77f2/",
110
+ rpc: "https://mainnet-rpc.b3.fun",
132
111
  icon: {
133
112
  url: "https://cdn.b3.fun/b3_logo.svg",
134
113
  width: 32,
@@ -147,21 +126,6 @@ exports.thirdwebB3Mainnet = (0, thirdweb_1.defineChain)({
147
126
  decimals: 18,
148
127
  },
149
128
  });
150
- const getThirdwebChainConfig = (config) => (0, thirdweb_1.defineChain)({
151
- id: config.id,
152
- name: config.name,
153
- rpc: config.rpcUrls.default.http,
154
- icon: config.icon,
155
- blockExplorers: [
156
- {
157
- name: config.blockExplorers.explorerTitle,
158
- url: config.blockExplorers.default,
159
- },
160
- ],
161
- nativeCurrency: config.nativeCurrency,
162
- testnet: config.testnet ? true : undefined,
163
- });
164
- exports.getThirdwebChainConfig = getThirdwebChainConfig;
165
129
  exports.b3Chain = process.env.NEXT_PUBLIC_B3_CHAINID === "8333" ? exports.b3Mainnet : exports.b3Testnet;
166
130
  exports.thirdwebB3Chain = process.env.NEXT_PUBLIC_B3_CHAINID === "8333" ? exports.thirdwebB3Mainnet : exports.thirdwebB3Testnet;
167
131
  exports.b3Mask = "polygon( 2.209% 8.111%,2.211% 8.08%,2.212% 8.05%,2.212% 8.05%,2.238% 7.434%,2.295% 6.861%,2.382% 6.331%,2.498% 5.841%,2.644% 5.39%,2.817% 4.976%,3.018% 4.598%,3.247% 4.255%,3.502% 3.943%,3.783% 3.664%,3.783% 3.664%,4.107% 3.401%,4.464% 3.165%,4.857% 2.956%,5.285% 2.774%,5.749% 2.62%,6.249% 2.493%,6.786% 2.394%,7.361% 2.323%,7.974% 2.28%,8.625% 2.266%,8.642% 2.266%,8.66% 2.265%,8.66% 2.265%,16.702% 1.748%,24.751% 1.345%,32.805% 1.053%,40.864% 0.872%,48.924% 0.801%,56.984% 0.836%,65.044% 0.977%,73.101% 1.223%,81.153% 1.571%,89.2% 2.02%,89.2% 2.02%,89.394% 2.037%,89.59% 2.052%,89.789% 2.067%,89.989% 2.08%,90.19% 2.093%,90.393% 2.105%,90.596% 2.117%,90.8% 2.128%,91.004% 2.139%,91.207% 2.15%,91.207% 2.15%,91.357% 2.158%,91.506% 2.166%,91.655% 2.174%,91.803% 2.182%,91.95% 2.19%,92.097% 2.199%,92.242% 2.208%,92.386% 2.217%,92.529% 2.227%,92.67% 2.237%,92.67% 2.237%,93.011% 2.264%,93.347% 2.294%,93.677% 2.329%,94.002% 2.369%,94.321% 2.414%,94.634% 2.466%,94.94% 2.525%,95.239% 2.592%,95.53% 2.667%,95.813% 2.751%,95.813% 2.751%,96.087% 2.844%,96.349% 2.947%,96.6% 3.059%,96.839% 3.181%,97.066% 3.314%,97.282% 3.457%,97.485% 3.612%,97.676% 3.779%,97.855% 3.957%,98.021% 4.148%,98.021% 4.148%,98.172% 4.349%,98.313% 4.567%,98.444% 4.802%,98.563% 5.057%,98.67% 5.332%,98.764% 5.628%,98.845% 5.947%,98.912% 6.289%,98.964% 6.656%,99.001% 7.048%,99.002% 7.052%,99.002% 7.056%,99.002% 7.056%,99.127% 8.717%,99.245% 10.378%,99.355% 12.04%,99.46% 13.703%,99.56% 15.367%,99.654% 17.032%,99.745% 18.697%,99.832% 20.363%,99.917% 22.029%,100% 23.696%,100% 23.696%,100.219% 29.737%,100.382% 35.779%,100.489% 41.822%,100.539% 47.865%,100.534% 53.909%,100.472% 59.953%,100.353% 65.996%,100.179% 72.037%,99.947% 78.077%,99.659% 84.114%,99.659% 84.114%,99.655% 84.186%,99.651% 84.259%,99.646% 84.331%,99.642% 84.404%,99.637% 84.476%,99.633% 84.549%,99.629% 84.621%,99.624% 84.693%,99.615% 84.838%,99.615% 84.838%,99.565% 85.657%,99.515% 86.476%,99.464% 87.294%,99.412% 88.111%,99.36% 88.929%,99.306% 89.746%,99.251% 90.562%,99.194% 91.378%,99.135% 92.194%,99.074% 93.01%,99.072% 93.031%,99.071% 93.052%,99.071% 93.052%,99.049% 93.479%,99.012% 93.894%,98.959% 94.296%,98.89% 94.686%,98.805% 95.062%,98.702% 95.422%,98.582% 95.768%,98.444% 96.096%,98.288% 96.408%,98.113% 96.701%,98.113% 96.701%,97.92% 96.974%,97.703% 97.232%,97.461% 97.475%,97.194% 97.699%,96.898% 97.904%,96.574% 98.088%,96.219% 98.249%,95.833% 98.385%,95.414% 98.495%,94.961% 98.577%,94.961% 98.577%,92.494% 98.801%,90.025% 98.998%,87.553% 99.171%,85.079% 99.324%,82.604% 99.46%,80.126% 99.58%,77.648% 99.689%,75.169% 99.79%,72.689% 99.884%,70.208% 99.975%,69.528% 100%,69.528% 100%,69.528% 100%,69.528% 100%,69.528% 100%,69.528% 100%,69.528% 100%,69.527% 100%,69.527% 100%,69.527% 100%,69.527% 100%,63.379% 100.153%,57.23% 100.245%,51.081% 100.277%,44.931% 100.248%,38.783% 100.158%,32.635% 100.006%,26.489% 99.792%,20.346% 99.515%,14.205% 99.176%,8.068% 98.774%,8.058% 98.773%,8.048% 98.773%,8.048% 98.773%,7.501% 98.746%,6.992% 98.698%,6.518% 98.63%,6.079% 98.545%,5.673% 98.441%,5.299% 98.321%,4.956% 98.186%,4.641% 98.036%,4.354% 97.873%,4.094% 97.697%,4.094% 97.697%,3.862% 97.513%,3.65% 97.317%,3.457% 97.108%,3.281% 96.887%,3.123% 96.654%,2.98% 96.409%,2.852% 96.152%,2.737% 95.884%,2.635% 95.605%,2.545% 95.314%,2.545% 95.314%,2.463% 95.004%,2.391% 94.682%,2.329% 94.349%,2.276% 94.006%,2.23% 93.651%,2.192% 93.286%,2.159% 92.911%,2.131% 92.525%,2.106% 92.129%,2.085% 91.722%,2.085% 91.722%,2.081% 91.635%,2.077% 91.548%,2.073% 91.46%,2.069% 91.371%,2.066% 91.282%,2.062% 91.193%,2.058% 91.103%,2.054% 91.013%,2.051% 90.923%,2.047% 90.832%,2.047% 90.832%,2.033% 90.503%,2.019% 90.171%,2.003% 89.835%,1.986% 89.496%,1.966% 89.156%,1.944% 88.814%,1.918% 88.471%,1.889% 88.127%,1.855% 87.785%,1.817% 87.443%,1.817% 87.443%,1.594% 83.762%,1.403% 80.079%,1.241% 76.394%,1.104% 72.707%,0.99% 69.019%,0.894% 65.329%,0.813% 61.638%,0.744% 57.946%,0.682% 54.254%,0.626% 50.561%,0.626% 50.561%,0.637% 49.992%,0.648% 49.423%,0.659% 48.854%,0.67% 48.286%,0.681% 47.717%,0.692% 47.148%,0.703% 46.58%,0.713% 46.011%,0.724% 45.443%,0.734% 44.874%,0.734% 44.874%,0.782% 42.326%,0.831% 39.779%,0.884% 37.232%,0.941% 34.685%,1.006% 32.14%,1.078% 29.595%,1.161% 27.051%,1.255% 24.508%,1.363% 21.965%,1.485% 19.424%,1.485% 19.424%,1.493% 19.294%,1.5% 19.165%,1.508% 19.035%,1.515% 18.906%,1.523% 18.776%,1.531% 18.647%,1.538% 18.517%,1.546% 18.388%,1.553% 18.258%,1.561% 18.129%,1.561% 18.129%,1.619% 17.124%,1.678% 16.121%,1.737% 15.118%,1.798% 14.116%,1.86% 13.114%,1.925% 12.113%,1.991% 11.112%,2.06% 10.111%,2.133% 9.111%,2.209% 8.111% )";
@@ -1,48 +1,7 @@
1
1
  import type { Chain as ThirdwebChain } from "thirdweb";
2
2
  export declare const supportedChains: import("viem").Chain[];
3
3
  export declare const supportedChainsTW: ThirdwebChain[];
4
- export declare const supportedChainNetworks: {
5
- formatters?: Record<string, any> | undefined;
6
- contracts?: Record<string, {
7
- blockCreated?: number | undefined;
8
- address: string;
9
- }> | undefined;
10
- sourceId?: number | undefined;
11
- testnet?: boolean | undefined;
12
- fees?: Record<string, any> | undefined;
13
- color?: string | undefined;
14
- testnetConfigID?: number | undefined;
15
- badge?: string | undefined;
16
- enabledFeatures?: string[] | undefined;
17
- blockExplorers: {
18
- default: string;
19
- explorerTitle: string;
20
- };
21
- id: number;
22
- name: string;
23
- nativeCurrency: {
24
- symbol: string;
25
- name: string;
26
- decimals: number;
27
- };
28
- rpcUrls: {
29
- default: {
30
- http: string;
31
- ws: string;
32
- };
33
- backups: {
34
- type: "http" | "ws";
35
- uri: string;
36
- }[];
37
- };
38
- _id: string | {};
39
- icon: {
40
- format: string;
41
- url: string;
42
- width: number;
43
- height: number;
44
- };
45
- }[];
4
+ export declare const supportedChainNetworks: import("@b3/chain-registry/runtime").ChainDefinition[];
46
5
  export declare const coingeckoChains: Record<number, {
47
6
  coingecko_id: string;
48
7
  name: string;
@@ -56,14 +15,7 @@ export declare function getCoingeckoChainInfo(chainId: number): {
56
15
  export declare const b3MainnetThirdWeb: Readonly<import("thirdweb/chains").ChainOptions & {
57
16
  rpc: string;
58
17
  }>;
59
- export declare const b3TestnetThirdWeb: Readonly<import("thirdweb/chains").ChainOptions & {
60
- rpc: string;
61
- }>;
62
18
  export declare const b3Mainnet: import("viem").Chain;
63
- export declare const b3Testnet: import("viem").Chain;
64
19
  export declare const baseMainnet: import("viem").Chain;
65
- /**
66
- * Get a Thirdweb chain by chain ID from supportedChainsTW
67
- */
68
20
  export declare function getThirdwebChain(chainId: number): ThirdwebChain;
69
21
  export declare function getChainLogo(chainId: number): string;
@@ -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 runtime_1 = require("@b3/chain-registry/runtime");
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 = runtime_1.ANYSPEND_EVM_CHAINS.map(chain_transformers_1.toViemChain);
17
+ exports.supportedChainsTW = runtime_1.ANYSPEND_EVM_CHAINS.map(chain_transformers_1.toThirdwebChain);
18
+ exports.supportedChainNetworks = runtime_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,7 +1,11 @@
1
+ import type { Wallet } from "thirdweb/wallets";
1
2
  export * from "./currency";
2
3
  export declare const siteURL = "https://basement.fun";
3
4
  export declare const b3CoinIcon = "https://cdn.b3.fun/b3-coin-3d.png";
4
5
  export declare const ecosystemWalletId: `ecosystem.${string}`;
6
+ export type EcosystemWallet = Wallet<`ecosystem.${string}`> & {
7
+ getAuthToken: () => string | null;
8
+ };
5
9
  export declare const tokenIcons: {
6
10
  ETH: string;
7
11
  WETH: string;
@@ -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
+ }
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Canonical browser-side translation of Zerion wallet positions into B3 balance rows.
3
+ *
4
+ * This lives in the published SDK because every browser consumer needs it — the apps in this repo
5
+ * and the sites that install `@b3dotfun/sdk` from npm — and the in-repo Zerion client is a private
6
+ * workspace package that a published package cannot depend on. Backend services keep their own
7
+ * translation: pulling a browser SDK into a Node service to share one function is a worse trade
8
+ * than the second copy.
9
+ *
10
+ * Only the HTTP layer differs between callers. The rules below — which row counts as the chain's
11
+ * native coin, and which rows have no usable identity — must not be re-derived anywhere else.
12
+ */
13
+ /** Address B3 uses for a chain's native coin on EVM. Matches NATIVE_TOKEN_ADDRESSES. */
14
+ export declare const EVM_NATIVE_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
15
+ export declare const SOLANA_NATIVE_TOKEN_ADDRESS: "So11111111111111111111111111111111111111112";
16
+ export declare const SOLANA_ZERION_SLUG: "solana";
17
+ /** Solana's chain id as the chain registry defines it — the id every balance row is keyed by. */
18
+ export declare const SOLANA_CHAIN_ID: 7565164;
19
+ export declare function zerionSlugToChainId(slug: string): number | undefined;
20
+ export declare function chainIdToZerionSlug(chainId: number): string | undefined;
21
+ export interface ZerionPositionQuantity {
22
+ int?: string;
23
+ decimals?: number;
24
+ }
25
+ export interface ZerionPositionImplementation {
26
+ chain_id?: string;
27
+ address?: string | null;
28
+ decimals?: number;
29
+ }
30
+ export interface ZerionPositionFungibleInfo {
31
+ name?: string;
32
+ symbol?: string;
33
+ icon?: {
34
+ url?: string;
35
+ } | null;
36
+ implementations?: ZerionPositionImplementation[];
37
+ }
38
+ export interface ZerionPositionLike {
39
+ id?: string;
40
+ attributes?: {
41
+ quantity?: ZerionPositionQuantity;
42
+ value?: number | null;
43
+ price?: number | null;
44
+ fungible_info?: ZerionPositionFungibleInfo;
45
+ flags?: {
46
+ displayable?: boolean;
47
+ is_trash?: boolean;
48
+ };
49
+ };
50
+ relationships?: {
51
+ chain?: {
52
+ data?: {
53
+ id?: string;
54
+ };
55
+ };
56
+ };
57
+ }
58
+ /** One spendable holding. `amount` is the raw integer; pair it with `decimals` to display. */
59
+ export interface B3TokenBalance {
60
+ chain: string;
61
+ chain_id: number;
62
+ address: string;
63
+ amount: string;
64
+ symbol: string;
65
+ decimals: number;
66
+ /**
67
+ * Whether `address` is the native-coin sentinel rather than a real contract. Callers deciding
68
+ * between a value-bearing send and an ERC-20 `transfer` MUST branch on this, never on the
69
+ * sentinel string: getting it backwards spends gas and moves nothing.
70
+ */
71
+ is_native: boolean;
72
+ name?: string;
73
+ price_usd?: number;
74
+ value_usd?: number;
75
+ token_metadata?: {
76
+ logo: string;
77
+ };
78
+ }
79
+ export declare function nativeTokenAddressForChain(slug: string): string;
80
+ /**
81
+ * Whether `balance` is the token identified by `tokenAddress`.
82
+ *
83
+ * Native coins are matched on the row's `is_native` flag rather than its printed address, because
84
+ * the caller and the adapter rarely spell the native coin the same way.
85
+ */
86
+ export declare function balanceMatchesToken(balance: B3TokenBalance, tokenAddress: string): boolean;
87
+ /**
88
+ * Adapt raw Zerion positions into balance rows, dropping any row we cannot describe honestly.
89
+ *
90
+ * A row is dropped when its chain slug is absent or unmapped, or when neither the quantity nor the
91
+ * chain implementation carries decimals — an amount rendered against a guessed scale is a wrong
92
+ * number presented as a real one, which is worse for the reader than a missing row.
93
+ *
94
+ * @param slugToChainId overrides slug resolution; return undefined to skip a chain entirely.
95
+ */
96
+ export declare function adaptZerionPositions(positions: ZerionPositionLike[], slugToChainId?: (slug: string) => number | undefined): B3TokenBalance[];