0xtrails 0.13.2 → 0.14.0

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 (753) hide show
  1. package/dist/abis/trailsHydrate.d.ts +5 -42
  2. package/dist/abis/trailsHydrate.d.ts.map +1 -1
  3. package/dist/abis/trailsRouter.d.ts +1 -1
  4. package/dist/abis/trailsRouter.d.ts.map +1 -1
  5. package/dist/{widget/analytics → analytics/hooks}/useWidgetAnalytics.d.ts +2 -4
  6. package/dist/analytics/hooks/useWidgetAnalytics.d.ts.map +1 -0
  7. package/dist/analytics.d.ts.map +1 -1
  8. package/dist/chainSwitch.d.ts.map +1 -1
  9. package/dist/chains-C1NhDLF_.js +4 -0
  10. package/dist/chains-CcoarGia.js +658 -0
  11. package/dist/chains.d.ts +0 -1
  12. package/dist/chains.d.ts.map +1 -1
  13. package/dist/committedIntentStore.d.ts +5 -0
  14. package/dist/committedIntentStore.d.ts.map +1 -0
  15. package/dist/config.d.ts +2 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/constants.d.ts +2 -1
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/error.d.ts +73 -4
  20. package/dist/error.d.ts.map +1 -1
  21. package/dist/hooks/useAddressWalletIcon.d.ts.map +1 -0
  22. package/dist/hooks/useAmountUsd.d.ts.map +1 -0
  23. package/dist/hooks/useBalanceVisible.d.ts.map +1 -0
  24. package/dist/hooks/useChainFilter.d.ts.map +1 -0
  25. package/dist/{widget/hooks → hooks}/useCheckout.d.ts +15 -15
  26. package/dist/hooks/useCheckout.d.ts.map +1 -0
  27. package/dist/hooks/useClickTracking.d.ts.map +1 -0
  28. package/dist/{widget/hooks → hooks}/useCombinedHistory.d.ts +3 -2
  29. package/dist/hooks/useCombinedHistory.d.ts.map +1 -0
  30. package/dist/hooks/useConnector.d.ts.map +1 -0
  31. package/dist/{widget/hooks → hooks}/useCustomTokenSearch.d.ts +1 -1
  32. package/dist/hooks/useCustomTokenSearch.d.ts.map +1 -0
  33. package/dist/hooks/useDebounce.d.ts.map +1 -0
  34. package/dist/{widget/hooks → hooks}/useDebugScreens.d.ts +2 -2
  35. package/dist/hooks/useDebugScreens.d.ts.map +1 -0
  36. package/dist/{widget/hooks → hooks}/useDefaultDestinationToken.d.ts +1 -1
  37. package/dist/hooks/useDefaultDestinationToken.d.ts.map +1 -0
  38. package/dist/{widget/hooks → hooks}/useDefaultOriginToken.d.ts +1 -1
  39. package/dist/hooks/useDefaultOriginToken.d.ts.map +1 -0
  40. package/dist/hooks/useDepositMonitor.d.ts.map +1 -0
  41. package/dist/{widget/hooks → hooks}/useDestinationSelectedToken.d.ts +2 -2
  42. package/dist/hooks/useDestinationSelectedToken.d.ts.map +1 -0
  43. package/dist/hooks/useDisplayCurrencyPreference.d.ts.map +1 -0
  44. package/dist/{widget/hooks → hooks}/useEarnPool.d.ts +1 -1
  45. package/dist/hooks/useEarnPool.d.ts.map +1 -0
  46. package/dist/hooks/useEffectiveFundBalance.d.ts +28 -0
  47. package/dist/hooks/useEffectiveFundBalance.d.ts.map +1 -0
  48. package/dist/hooks/useExecutingIntentsCount.d.ts.map +1 -0
  49. package/dist/{widget/hooks → hooks}/useExternalFundingReceiptSync.d.ts +1 -1
  50. package/dist/hooks/useExternalFundingReceiptSync.d.ts.map +1 -0
  51. package/dist/{widget/hooks → hooks}/useFiatOnRampCurrencies.d.ts +1 -1
  52. package/dist/hooks/useFiatOnRampCurrencies.d.ts.map +1 -0
  53. package/dist/hooks/useFiatSelectedCurrency.d.ts.map +1 -0
  54. package/dist/hooks/useGetIntent.d.ts.map +1 -0
  55. package/dist/{widget/hooks → hooks}/useIntentReceiptBalances.d.ts +1 -1
  56. package/dist/hooks/useIntentReceiptBalances.d.ts.map +1 -0
  57. package/dist/{widget/hooks → hooks}/useIntentTransactionHistory.d.ts +2 -1
  58. package/dist/hooks/useIntentTransactionHistory.d.ts.map +1 -0
  59. package/dist/hooks/useIsMobile.d.ts.map +1 -0
  60. package/dist/hooks/useIsSequenceWallet.d.ts.map +1 -0
  61. package/dist/hooks/useLocalePreference.d.ts.map +1 -0
  62. package/dist/hooks/useMeldTransactionHistory.d.ts.map +1 -0
  63. package/dist/hooks/useMeldTransactionStatus.d.ts.map +1 -0
  64. package/dist/hooks/useOnRampCountryDefaults.d.ts.map +1 -0
  65. package/dist/{widget/hooks → hooks}/useOnRampPaymentMethods.d.ts +2 -2
  66. package/dist/hooks/useOnRampPaymentMethods.d.ts.map +1 -0
  67. package/dist/{widget/hooks → hooks}/useOnRampProviderWidget.d.ts +1 -1
  68. package/dist/hooks/useOnRampProviderWidget.d.ts.map +1 -0
  69. package/dist/{widget/hooks → hooks}/useOnRampQuote.d.ts +3 -3
  70. package/dist/hooks/useOnRampQuote.d.ts.map +1 -0
  71. package/dist/{widget/hooks → hooks}/useOnRampTransactionStatus.d.ts +1 -1
  72. package/dist/hooks/useOnRampTransactionStatus.d.ts.map +1 -0
  73. package/dist/{widget/hooks → hooks}/useOriginSelectedToken.d.ts +1 -1
  74. package/dist/hooks/useOriginSelectedToken.d.ts.map +1 -0
  75. package/dist/hooks/usePayMessage.d.ts.map +1 -0
  76. package/dist/hooks/usePriceImpactWarning.d.ts.map +1 -0
  77. package/dist/hooks/useQuote.d.ts +439 -0
  78. package/dist/hooks/useQuote.d.ts.map +1 -0
  79. package/dist/{widget/hooks → hooks}/useRecentTokens.d.ts +1 -1
  80. package/dist/hooks/useRecentTokens.d.ts.map +1 -0
  81. package/dist/hooks/useRecipients.d.ts.map +1 -0
  82. package/dist/hooks/useSelectedFeeOption.d.ts.map +1 -0
  83. package/dist/{widget/hooks → hooks}/useSelectedFundMethod.d.ts +11 -1
  84. package/dist/hooks/useSelectedFundMethod.d.ts.map +1 -0
  85. package/dist/hooks/useSelectedRecipient.d.ts.map +1 -0
  86. package/dist/{widget/hooks → hooks}/useSendForm.d.ts +6 -11
  87. package/dist/hooks/useSendForm.d.ts.map +1 -0
  88. package/dist/hooks/useSwapAmount.d.ts.map +1 -0
  89. package/dist/{widget/hooks → hooks}/useSwapState.d.ts +1 -1
  90. package/dist/hooks/useSwapState.d.ts.map +1 -0
  91. package/dist/hooks/useTargetAmount.d.ts.map +1 -0
  92. package/dist/hooks/useTheme.d.ts.map +1 -0
  93. package/dist/{widget/hooks → hooks}/useTokenList.d.ts +2 -2
  94. package/dist/hooks/useTokenList.d.ts.map +1 -0
  95. package/dist/{widget/hooks → hooks}/useTrailsSendTransaction.d.ts +1 -1
  96. package/dist/hooks/useTrailsSendTransaction.d.ts.map +1 -0
  97. package/dist/{widget/hooks → hooks}/useViewManager.d.ts +1 -1
  98. package/dist/hooks/useViewManager.d.ts.map +1 -0
  99. package/dist/hooks/useWalletConnectUri.d.ts +19 -0
  100. package/dist/hooks/useWalletConnectUri.d.ts.map +1 -0
  101. package/dist/hooks/useWalletConnectionContext.d.ts.map +1 -0
  102. package/dist/{widget/hooks → hooks}/useWidgetProps.d.ts +1 -1
  103. package/dist/hooks/useWidgetProps.d.ts.map +1 -0
  104. package/dist/hydrate/builder.d.ts +131 -0
  105. package/dist/hydrate/builder.d.ts.map +1 -0
  106. package/dist/hydrate/constants.d.ts +13 -0
  107. package/dist/hydrate/constants.d.ts.map +1 -0
  108. package/dist/hydrate/encodeExecute.d.ts +73 -0
  109. package/dist/hydrate/encodeExecute.d.ts.map +1 -0
  110. package/dist/hydrate/index.d.ts +6 -0
  111. package/dist/hydrate/index.d.ts.map +1 -0
  112. package/dist/hydrate/index.js +11 -0
  113. package/dist/hydrate/payload.d.ts +38 -0
  114. package/dist/hydrate/payload.d.ts.map +1 -0
  115. package/dist/hydrate/selectors.d.ts +28 -0
  116. package/dist/hydrate/selectors.d.ts.map +1 -0
  117. package/dist/hydrate/types.d.ts +19 -0
  118. package/dist/hydrate/types.d.ts.map +1 -0
  119. package/dist/hydrate/utils.d.ts +8 -0
  120. package/dist/hydrate/utils.d.ts.map +1 -0
  121. package/dist/hydrate-Cr9eaeDK.js +654 -0
  122. package/dist/index.d.ts +19 -13
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +157 -662
  125. package/dist/intentConfigStore.d.ts +8 -0
  126. package/dist/intentConfigStore.d.ts.map +1 -0
  127. package/dist/intentProtocolApi.d.ts +11 -0
  128. package/dist/intentProtocolApi.d.ts.map +1 -0
  129. package/dist/intentProtocolEncoding.d.ts +25 -0
  130. package/dist/intentProtocolEncoding.d.ts.map +1 -0
  131. package/dist/intentProtocolResolver.d.ts +28 -0
  132. package/dist/intentProtocolResolver.d.ts.map +1 -0
  133. package/dist/intentReceiptPoller.d.ts.map +1 -1
  134. package/dist/intentValidation.d.ts +5 -0
  135. package/dist/intentValidation.d.ts.map +1 -0
  136. package/dist/intents.d.ts.map +1 -1
  137. package/dist/keymachine/index.d.ts +20 -0
  138. package/dist/keymachine/index.d.ts.map +1 -1
  139. package/dist/mutations.d.ts.map +1 -1
  140. package/dist/offlineRecovery.d.ts +24 -0
  141. package/dist/offlineRecovery.d.ts.map +1 -0
  142. package/dist/onramp/MeshConnectFlow.d.ts +9 -0
  143. package/dist/onramp/MeshConnectFlow.d.ts.map +1 -1
  144. package/dist/onramp/MeshConnectIframe.d.ts +9 -0
  145. package/dist/onramp/MeshConnectIframe.d.ts.map +1 -1
  146. package/dist/onramp/TrailsOnRampProvider.d.ts.map +1 -1
  147. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts +10 -0
  148. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts.map +1 -0
  149. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts +13 -0
  150. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts.map +1 -0
  151. package/dist/{widget → onramp/mesh}/components/MeshExchangeSelection.d.ts +1 -0
  152. package/dist/onramp/mesh/components/MeshExchangeSelection.d.ts.map +1 -0
  153. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts +15 -0
  154. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts.map +1 -0
  155. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts +9 -0
  156. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts.map +1 -0
  157. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts +11 -0
  158. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts.map +1 -0
  159. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts +71 -0
  160. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts.map +1 -0
  161. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts +32 -0
  162. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts.map +1 -0
  163. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts +19 -0
  164. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts.map +1 -0
  165. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts +15 -0
  166. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts.map +1 -0
  167. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts +7 -0
  168. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts.map +1 -0
  169. package/dist/onramp/meshSessionStorage.d.ts +13 -0
  170. package/dist/onramp/meshSessionStorage.d.ts.map +1 -0
  171. package/dist/onramp/meshconnect.d.ts +6 -4
  172. package/dist/onramp/meshconnect.d.ts.map +1 -1
  173. package/dist/onramp/trailsOnramp.d.ts +8 -0
  174. package/dist/onramp/trailsOnramp.d.ts.map +1 -1
  175. package/dist/onrampClient.d.ts.map +1 -1
  176. package/dist/prepareSend.d.ts +3 -2
  177. package/dist/prepareSend.d.ts.map +1 -1
  178. package/dist/query/intentProtocol.queries.d.ts +32 -0
  179. package/dist/query/intentProtocol.queries.d.ts.map +1 -0
  180. package/dist/recover.d.ts +70 -24
  181. package/dist/recover.d.ts.map +1 -1
  182. package/dist/src-4HYDQv2T.js +48798 -0
  183. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts +2 -3
  184. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts.map +1 -1
  185. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts +2 -3
  186. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts.map +1 -1
  187. package/dist/transactionIntent/deposits/standardDeposit.d.ts +2 -5
  188. package/dist/transactionIntent/deposits/standardDeposit.d.ts.map +1 -1
  189. package/dist/transactionIntent/handlers/intentHandler.d.ts +4 -4
  190. package/dist/transactionIntent/handlers/intentHandler.d.ts.map +1 -1
  191. package/dist/transactionIntent/quote/quoteHelpers.d.ts +2 -2
  192. package/dist/transactionIntent/quote/quoteHelpers.d.ts.map +1 -1
  193. package/dist/transactionIntent/types.d.ts +3 -3
  194. package/dist/transactionIntent/types.d.ts.map +1 -1
  195. package/dist/transactions.d.ts +1 -0
  196. package/dist/transactions.d.ts.map +1 -1
  197. package/dist/umd/trails.min.js +1370 -410
  198. package/dist/utils/localStorageGc.d.ts +22 -0
  199. package/dist/utils/localStorageGc.d.ts.map +1 -0
  200. package/dist/walletUtils.d.ts.map +1 -1
  201. package/dist/widget/components/AccountIntentTransactionHistory.d.ts.map +1 -1
  202. package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
  203. package/dist/widget/components/ConnectedWallets.d.ts +1 -1
  204. package/dist/widget/components/ConnectedWallets.d.ts.map +1 -1
  205. package/dist/widget/components/Earn.d.ts +2 -6
  206. package/dist/widget/components/Earn.d.ts.map +1 -1
  207. package/dist/widget/components/FeeOption.d.ts +1 -1
  208. package/dist/widget/components/FeeOption.d.ts.map +1 -1
  209. package/dist/widget/components/FeeOptions.d.ts +1 -1
  210. package/dist/widget/components/FeeOptions.d.ts.map +1 -1
  211. package/dist/widget/components/FiatSelector.d.ts +1 -1
  212. package/dist/widget/components/FiatSelector.d.ts.map +1 -1
  213. package/dist/widget/components/FiatSelectorButton.d.ts +1 -1
  214. package/dist/widget/components/FiatSelectorButton.d.ts.map +1 -1
  215. package/dist/widget/components/Fund.d.ts +1 -1
  216. package/dist/widget/components/Fund.d.ts.map +1 -1
  217. package/dist/widget/components/FundMethods.d.ts.map +1 -1
  218. package/dist/widget/components/FundingMethodSelectorButton.d.ts +1 -1
  219. package/dist/widget/components/FundingMethodSelectorButton.d.ts.map +1 -1
  220. package/dist/widget/components/MeldHistory.d.ts +1 -1
  221. package/dist/widget/components/MeldHistory.d.ts.map +1 -1
  222. package/dist/widget/components/MeldTransactionStatus.d.ts +1 -1
  223. package/dist/widget/components/MeldTransactionStatus.d.ts.map +1 -1
  224. package/dist/widget/components/MeshExchangeAccountHeader.d.ts +9 -0
  225. package/dist/widget/components/MeshExchangeAccountHeader.d.ts.map +1 -0
  226. package/dist/widget/components/OnrampHistoryRow.d.ts +1 -1
  227. package/dist/widget/components/OnrampHistoryRow.d.ts.map +1 -1
  228. package/dist/widget/components/OnrampProviderConfirmation.d.ts +1 -1
  229. package/dist/widget/components/OnrampProviderConfirmation.d.ts.map +1 -1
  230. package/dist/widget/components/Pay.d.ts.map +1 -1
  231. package/dist/widget/components/PoolDeposit.d.ts +2 -6
  232. package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
  233. package/dist/widget/components/PoolWithdraw.d.ts +2 -2
  234. package/dist/widget/components/PoolWithdraw.d.ts.map +1 -1
  235. package/dist/widget/components/PulsatingButton.d.ts +9 -0
  236. package/dist/widget/components/PulsatingButton.d.ts.map +1 -0
  237. package/dist/widget/components/Receipt.d.ts +1 -1
  238. package/dist/widget/components/Receipt.d.ts.map +1 -1
  239. package/dist/widget/components/RecipientSelectorButton.d.ts.map +1 -1
  240. package/dist/widget/components/Recipients.d.ts.map +1 -1
  241. package/dist/widget/components/Swap.d.ts +2 -6
  242. package/dist/widget/components/Swap.d.ts.map +1 -1
  243. package/dist/widget/components/TokenList.d.ts +1 -0
  244. package/dist/widget/components/TokenList.d.ts.map +1 -1
  245. package/dist/widget/components/TokenSelector.d.ts +1 -2
  246. package/dist/widget/components/TokenSelector.d.ts.map +1 -1
  247. package/dist/widget/components/TransactionDetails.d.ts +1 -0
  248. package/dist/widget/components/TransactionDetails.d.ts.map +1 -1
  249. package/dist/widget/components/TransactionHistoryItem.d.ts +1 -0
  250. package/dist/widget/components/TransactionHistoryItem.d.ts.map +1 -1
  251. package/dist/widget/components/TransferPendingVertical.d.ts +1 -1
  252. package/dist/widget/components/TransferPendingVertical.d.ts.map +1 -1
  253. package/dist/widget/components/WalletAccountHeader.d.ts +7 -0
  254. package/dist/widget/components/WalletAccountHeader.d.ts.map +1 -0
  255. package/dist/widget/components/WalletConfirmation.d.ts +2 -1
  256. package/dist/widget/components/WalletConfirmation.d.ts.map +1 -1
  257. package/dist/widget/components/WalletConnect.d.ts.map +1 -1
  258. package/dist/widget/components/WidgetProviders.d.ts.map +1 -1
  259. package/dist/widget/components/Withdraw.d.ts.map +1 -1
  260. package/dist/widget/index.d.ts +13 -0
  261. package/dist/widget/index.d.ts.map +1 -1
  262. package/dist/widget/index.js +16 -8
  263. package/dist/widget/modes/EarnWidget.d.ts +83 -0
  264. package/dist/widget/modes/EarnWidget.d.ts.map +1 -0
  265. package/dist/widget/modes/FundWidget.d.ts +103 -0
  266. package/dist/widget/modes/FundWidget.d.ts.map +1 -0
  267. package/dist/widget/modes/PayWidget.d.ts +86 -0
  268. package/dist/widget/modes/PayWidget.d.ts.map +1 -0
  269. package/dist/widget/modes/SwapWidget.d.ts +82 -0
  270. package/dist/widget/modes/SwapWidget.d.ts.map +1 -0
  271. package/dist/widget/modes/WithdrawWidget.d.ts +71 -0
  272. package/dist/widget/modes/WithdrawWidget.d.ts.map +1 -0
  273. package/dist/widget/providers/TrailsProvider.d.ts +3 -0
  274. package/dist/widget/providers/TrailsProvider.d.ts.map +1 -1
  275. package/dist/widget/shared/mapSharedProps.d.ts +9 -0
  276. package/dist/widget/shared/mapSharedProps.d.ts.map +1 -0
  277. package/dist/widget/shared/methodMap.d.ts +18 -0
  278. package/dist/widget/shared/methodMap.d.ts.map +1 -0
  279. package/dist/widget/shared/resolution.d.ts +22 -0
  280. package/dist/widget/shared/resolution.d.ts.map +1 -0
  281. package/dist/widget/shared/resolvePaymentSource.d.ts +34 -0
  282. package/dist/widget/shared/resolvePaymentSource.d.ts.map +1 -0
  283. package/dist/widget/shared/types.d.ts +94 -0
  284. package/dist/widget/shared/types.d.ts.map +1 -0
  285. package/dist/widget/types/commonProps.d.ts +3 -7
  286. package/dist/widget/types/commonProps.d.ts.map +1 -1
  287. package/dist/widget/utils/fundMethodSwitchState.d.ts +1 -0
  288. package/dist/widget/utils/fundMethodSwitchState.d.ts.map +1 -1
  289. package/dist/widget/utils/viewManagerGuards.d.ts +1 -1
  290. package/dist/widget/utils/viewManagerGuards.d.ts.map +1 -1
  291. package/dist/widget/widget.d.ts +21 -16
  292. package/dist/widget/widget.d.ts.map +1 -1
  293. package/package.json +17 -23
  294. package/dist/buffer.d.ts +0 -3
  295. package/dist/buffer.d.ts.map +0 -1
  296. package/dist/ccip-CT_An6eM.js +0 -230
  297. package/dist/index-RfqL5Foz.js +0 -114567
  298. package/dist/paymasterSend.d.ts +0 -90
  299. package/dist/paymasterSend.d.ts.map +0 -1
  300. package/dist/sendUserOp.d.ts +0 -122
  301. package/dist/sendUserOp.d.ts.map +0 -1
  302. package/dist/toSimpleSmartAccount.d.ts +0 -95
  303. package/dist/toSimpleSmartAccount.d.ts.map +0 -1
  304. package/dist/transactionIntent/utils/erc20Approval.d.ts +0 -34
  305. package/dist/transactionIntent/utils/erc20Approval.d.ts.map +0 -1
  306. package/dist/utils/allowance.d.ts +0 -19
  307. package/dist/utils/allowance.d.ts.map +0 -1
  308. package/dist/widget/analytics/useWidgetAnalytics.d.ts.map +0 -1
  309. package/dist/widget/components/FeeBreakdown.d.ts +0 -9
  310. package/dist/widget/components/FeeBreakdown.d.ts.map +0 -1
  311. package/dist/widget/components/HideBalances.d.ts +0 -4
  312. package/dist/widget/components/HideBalances.d.ts.map +0 -1
  313. package/dist/widget/components/MeshExchangeSelection.d.ts.map +0 -1
  314. package/dist/widget/components/OnrampDeposit.d.ts +0 -10
  315. package/dist/widget/components/OnrampDeposit.d.ts.map +0 -1
  316. package/dist/widget/components/SwapSettings.d.ts +0 -4
  317. package/dist/widget/components/SwapSettings.d.ts.map +0 -1
  318. package/dist/widget/components/TruncatedAddress.d.ts +0 -12
  319. package/dist/widget/components/TruncatedAddress.d.ts.map +0 -1
  320. package/dist/widget/components/WalletImage.d.ts +0 -8
  321. package/dist/widget/components/WalletImage.d.ts.map +0 -1
  322. package/dist/widget/css/compiled.css +0 -26
  323. package/dist/widget/css/index.css +0 -686
  324. package/dist/widget/hooks/useAddressWalletIcon.d.ts.map +0 -1
  325. package/dist/widget/hooks/useAmountUsd.d.ts.map +0 -1
  326. package/dist/widget/hooks/useBalanceVisible.d.ts.map +0 -1
  327. package/dist/widget/hooks/useChainFilter.d.ts.map +0 -1
  328. package/dist/widget/hooks/useCheckout.d.ts.map +0 -1
  329. package/dist/widget/hooks/useClickTracking.d.ts.map +0 -1
  330. package/dist/widget/hooks/useCombinedHistory.d.ts.map +0 -1
  331. package/dist/widget/hooks/useConnector.d.ts.map +0 -1
  332. package/dist/widget/hooks/useCustomTokenSearch.d.ts.map +0 -1
  333. package/dist/widget/hooks/useDebounce.d.ts.map +0 -1
  334. package/dist/widget/hooks/useDebugScreens.d.ts.map +0 -1
  335. package/dist/widget/hooks/useDefaultDestinationToken.d.ts.map +0 -1
  336. package/dist/widget/hooks/useDefaultOriginToken.d.ts.map +0 -1
  337. package/dist/widget/hooks/useDepositMonitor.d.ts.map +0 -1
  338. package/dist/widget/hooks/useDestinationSelectedToken.d.ts.map +0 -1
  339. package/dist/widget/hooks/useDisplayCurrencyPreference.d.ts.map +0 -1
  340. package/dist/widget/hooks/useEarnPool.d.ts.map +0 -1
  341. package/dist/widget/hooks/useExecutingIntentsCount.d.ts.map +0 -1
  342. package/dist/widget/hooks/useExternalFundingReceiptSync.d.ts.map +0 -1
  343. package/dist/widget/hooks/useFiatOnRampCurrencies.d.ts.map +0 -1
  344. package/dist/widget/hooks/useFiatSelectedCurrency.d.ts.map +0 -1
  345. package/dist/widget/hooks/useGetIntent.d.ts.map +0 -1
  346. package/dist/widget/hooks/useIntentReceiptBalances.d.ts.map +0 -1
  347. package/dist/widget/hooks/useIntentTransactionHistory.d.ts.map +0 -1
  348. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts +0 -7
  349. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts.map +0 -1
  350. package/dist/widget/hooks/useIsMobile.d.ts.map +0 -1
  351. package/dist/widget/hooks/useIsSequenceWallet.d.ts.map +0 -1
  352. package/dist/widget/hooks/useLocalePreference.d.ts.map +0 -1
  353. package/dist/widget/hooks/useMeldTransactionHistory.d.ts.map +0 -1
  354. package/dist/widget/hooks/useMeldTransactionStatus.d.ts.map +0 -1
  355. package/dist/widget/hooks/useOnRampCountryDefaults.d.ts.map +0 -1
  356. package/dist/widget/hooks/useOnRampPaymentMethods.d.ts.map +0 -1
  357. package/dist/widget/hooks/useOnRampProviderWidget.d.ts.map +0 -1
  358. package/dist/widget/hooks/useOnRampQuote.d.ts.map +0 -1
  359. package/dist/widget/hooks/useOnRampTransactionStatus.d.ts.map +0 -1
  360. package/dist/widget/hooks/useOriginSelectedToken.d.ts.map +0 -1
  361. package/dist/widget/hooks/usePayMessage.d.ts.map +0 -1
  362. package/dist/widget/hooks/usePriceImpactWarning.d.ts.map +0 -1
  363. package/dist/widget/hooks/useQuote.d.ts +0 -378
  364. package/dist/widget/hooks/useQuote.d.ts.map +0 -1
  365. package/dist/widget/hooks/useRecentTokens.d.ts.map +0 -1
  366. package/dist/widget/hooks/useRecipients.d.ts.map +0 -1
  367. package/dist/widget/hooks/useScreenTracking.d.ts +0 -2
  368. package/dist/widget/hooks/useScreenTracking.d.ts.map +0 -1
  369. package/dist/widget/hooks/useSelectedFeeOption.d.ts.map +0 -1
  370. package/dist/widget/hooks/useSelectedFundMethod.d.ts.map +0 -1
  371. package/dist/widget/hooks/useSelectedRecipient.d.ts.map +0 -1
  372. package/dist/widget/hooks/useSendForm.d.ts.map +0 -1
  373. package/dist/widget/hooks/useSwapAmount.d.ts.map +0 -1
  374. package/dist/widget/hooks/useSwapState.d.ts.map +0 -1
  375. package/dist/widget/hooks/useTargetAmount.d.ts.map +0 -1
  376. package/dist/widget/hooks/useTheme.d.ts.map +0 -1
  377. package/dist/widget/hooks/useTokenList.d.ts.map +0 -1
  378. package/dist/widget/hooks/useTrailsSendTransaction.d.ts.map +0 -1
  379. package/dist/widget/hooks/useViewManager.d.ts.map +0 -1
  380. package/dist/widget/hooks/useWalletConnectUri.d.ts +0 -11
  381. package/dist/widget/hooks/useWalletConnectUri.d.ts.map +0 -1
  382. package/dist/widget/hooks/useWalletConnectionContext.d.ts.map +0 -1
  383. package/dist/widget/hooks/useWidgetProps.d.ts.map +0 -1
  384. package/dist/widget/types.d.ts +0 -44
  385. package/dist/widget/types.d.ts.map +0 -1
  386. package/dist/widget/utils/historyUtils.d.ts +0 -18
  387. package/dist/widget/utils/historyUtils.d.ts.map +0 -1
  388. package/src/abi.ts +0 -38
  389. package/src/abis/erc20.ts +0 -60
  390. package/src/abis/trailsHydrate.ts +0 -185
  391. package/src/abis/trailsRouter.ts +0 -121
  392. package/src/abis/trailsSweep.ts +0 -32
  393. package/src/abortController.ts +0 -35
  394. package/src/analytics.ts +0 -2029
  395. package/src/buffer.ts +0 -10
  396. package/src/chainSwitch.ts +0 -95
  397. package/src/chains.ts +0 -570
  398. package/src/config.ts +0 -118
  399. package/src/constants.ts +0 -239
  400. package/src/contractUtils.ts +0 -46
  401. package/src/cssUtils.ts +0 -5
  402. package/src/customChains.ts +0 -24
  403. package/src/customTokens.ts +0 -168
  404. package/src/decoders.ts +0 -365
  405. package/src/ens.ts +0 -74
  406. package/src/error.ts +0 -268
  407. package/src/estimate.ts +0 -480
  408. package/src/explorer.ts +0 -38
  409. package/src/fees.ts +0 -362
  410. package/src/gasless.ts +0 -638
  411. package/src/index.ts +0 -205
  412. package/src/indexerClient.ts +0 -118
  413. package/src/intentReceiptMonitor.ts +0 -99
  414. package/src/intentReceiptPoller.ts +0 -327
  415. package/src/intents.ts +0 -1133
  416. package/src/keyMachineClient.ts +0 -29
  417. package/src/keymachine/index.ts +0 -175
  418. package/src/keymachine/key-machine.gen.ts +0 -993
  419. package/src/localeUtils.ts +0 -244
  420. package/src/logger/index.ts +0 -95
  421. package/src/logger/useSyncLoggerDebug.ts +0 -11
  422. package/src/logger.ts +0 -1
  423. package/src/meld/components/MeldCountriesList.tsx +0 -237
  424. package/src/meld/components/MeldFundMethods.tsx +0 -265
  425. package/src/meld/components/MeldProvidersList.tsx +0 -187
  426. package/src/meld/components/MeldTokensList.tsx +0 -321
  427. package/src/meld/components/SimpleHeader.tsx +0 -35
  428. package/src/meld/utils/meld.ts +0 -77
  429. package/src/mutations.ts +0 -166
  430. package/src/onramp/MeshConnectFlow.tsx +0 -86
  431. package/src/onramp/MeshConnectIframe.tsx +0 -661
  432. package/src/onramp/SendFromExchangeButton.tsx +0 -81
  433. package/src/onramp/TrailsOnRampProvider.tsx +0 -59
  434. package/src/onramp/index.ts +0 -31
  435. package/src/onramp/meshconnect.ts +0 -277
  436. package/src/onramp/trailsOnramp.tsx +0 -130
  437. package/src/onramp-client/index.ts +0 -52
  438. package/src/onrampClient.ts +0 -46
  439. package/src/paymasterSend.ts +0 -521
  440. package/src/placeholder.ts +0 -92
  441. package/src/poolUtils.ts +0 -222
  442. package/src/pools.ts +0 -120
  443. package/src/prepareSend.ts +0 -553
  444. package/src/query/balance.fetchers.ts +0 -753
  445. package/src/query/balance.hooks.ts +0 -357
  446. package/src/query/balance.queries.ts +0 -307
  447. package/src/query/chains.hooks.ts +0 -45
  448. package/src/query/chains.queries.ts +0 -17
  449. package/src/query/client.ts +0 -20
  450. package/src/query/fiat.fetchers.ts +0 -33
  451. package/src/query/fiat.hooks.ts +0 -71
  452. package/src/query/fiat.queries.ts +0 -67
  453. package/src/query/geo.fetchers.ts +0 -100
  454. package/src/query/geo.hooks.ts +0 -16
  455. package/src/query/geo.queries.ts +0 -36
  456. package/src/query/helpers.ts +0 -81
  457. package/src/query/meld.fetchers.ts +0 -97
  458. package/src/query/meld.hooks.ts +0 -18
  459. package/src/query/meld.queries.ts +0 -184
  460. package/src/query/persister.ts +0 -11
  461. package/src/query/price.fetchers.ts +0 -53
  462. package/src/query/price.hooks.ts +0 -46
  463. package/src/query/price.queries.ts +0 -364
  464. package/src/query/tokenList.queries.ts +0 -118
  465. package/src/queryParams.ts +0 -100
  466. package/src/recover.ts +0 -1728
  467. package/src/sendUserOp.ts +0 -512
  468. package/src/theme.ts +0 -2
  469. package/src/toSimpleSmartAccount.ts +0 -567
  470. package/src/toast.ts +0 -110
  471. package/src/tokens.ts +0 -1862
  472. package/src/trailsClient.ts +0 -40
  473. package/src/transactionIntent/constants.ts +0 -15
  474. package/src/transactionIntent/deposits/depositOrchestrator.ts +0 -243
  475. package/src/transactionIntent/deposits/gaslessDeposit.ts +0 -705
  476. package/src/transactionIntent/deposits/index.ts +0 -3
  477. package/src/transactionIntent/deposits/standardDeposit.ts +0 -590
  478. package/src/transactionIntent/execution/index.ts +0 -1
  479. package/src/transactionIntent/execution/transactionState.ts +0 -38
  480. package/src/transactionIntent/handlers/index.ts +0 -1
  481. package/src/transactionIntent/handlers/intentHandler.ts +0 -1613
  482. package/src/transactionIntent/helpers/index.ts +0 -1
  483. package/src/transactionIntent/helpers/transactionStateHelpers.ts +0 -440
  484. package/src/transactionIntent/index.ts +0 -10
  485. package/src/transactionIntent/quote/feeExtractors.ts +0 -61
  486. package/src/transactionIntent/quote/index.ts +0 -3
  487. package/src/transactionIntent/quote/normalizeQuote.ts +0 -559
  488. package/src/transactionIntent/quote/quoteHelpers.ts +0 -117
  489. package/src/transactionIntent/types.ts +0 -241
  490. package/src/transactionIntent/utils/balanceChecker.ts +0 -103
  491. package/src/transactionIntent/utils/erc20Approval.ts +0 -171
  492. package/src/transactionIntent/utils/index.ts +0 -2
  493. package/src/transactionIntent/utils/resilientDepositTracker.ts +0 -171
  494. package/src/transactionIntent/utils/testnetHelpers.ts +0 -5
  495. package/src/transactionIntent/validators.ts +0 -27
  496. package/src/transactions.ts +0 -429
  497. package/src/types.d.ts +0 -16
  498. package/src/umd.tsx +0 -33
  499. package/src/utils/address.ts +0 -78
  500. package/src/utils/allowance.ts +0 -47
  501. package/src/utils/fiat.ts +0 -32
  502. package/src/utils/format.ts +0 -625
  503. package/src/utils/passthrough.ts +0 -93
  504. package/src/utils/time.ts +0 -118
  505. package/src/utils/validation.ts +0 -104
  506. package/src/utils.ts +0 -112
  507. package/src/version.ts +0 -8
  508. package/src/vite-env.d.ts +0 -4
  509. package/src/walletUtils.ts +0 -293
  510. package/src/wallets.ts +0 -544
  511. package/src/widget/analytics/useWidgetAnalytics.ts +0 -56
  512. package/src/widget/assets/Exchange-icon-black.svg +0 -5
  513. package/src/widget/assets/MetaMask-icon-fox-with-margins.svg +0 -31
  514. package/src/widget/assets/MetaMask-icon-fox.svg +0 -26
  515. package/src/widget/assets/MetaMask-logo-black.svg +0 -3
  516. package/src/widget/assets/MetaMask-logo-white.svg +0 -16
  517. package/src/widget/assets/Trails-logo-black.svg +0 -13
  518. package/src/widget/assets/Trails-logo-white.svg +0 -13
  519. package/src/widget/assets/WalletChange-black.svg +0 -5
  520. package/src/widget/assets/WalletConnect-logo-black.svg +0 -14
  521. package/src/widget/assets/WalletConnect-logo-blue.svg +0 -14
  522. package/src/widget/assets/WalletConnect-logo-white.svg +0 -14
  523. package/src/widget/assets/WalletConnect-logo.svg +0 -40
  524. package/src/widget/assets/aave.svg +0 -14
  525. package/src/widget/assets/morpho.svg +0 -14
  526. package/src/widget/compiled.css +0 -26
  527. package/src/widget/components/AccountActionsDropdown.tsx +0 -31
  528. package/src/widget/components/AccountIntentTransactionHistory.tsx +0 -756
  529. package/src/widget/components/AccountIntentTransactionHistoryButton.tsx +0 -34
  530. package/src/widget/components/AccountSettings.tsx +0 -168
  531. package/src/widget/components/AddressOrEnsName.tsx +0 -24
  532. package/src/widget/components/AddressWalletIcon.tsx +0 -49
  533. package/src/widget/components/AllChainsIcon.tsx +0 -54
  534. package/src/widget/components/ChainFilterDropdown.tsx +0 -220
  535. package/src/widget/components/ChainImage.tsx +0 -40
  536. package/src/widget/components/ChainList.tsx +0 -158
  537. package/src/widget/components/ClassicSwap.tsx +0 -1761
  538. package/src/widget/components/ConfigDisplay.tsx +0 -158
  539. package/src/widget/components/ConnectWallet.tsx +0 -566
  540. package/src/widget/components/ConnectedWallets.tsx +0 -414
  541. package/src/widget/components/CopyButton.tsx +0 -108
  542. package/src/widget/components/CountryFilterDropdown.tsx +0 -179
  543. package/src/widget/components/DebugMenu.tsx +0 -50
  544. package/src/widget/components/DebugScreensList.tsx +0 -70
  545. package/src/widget/components/DebugToast.tsx +0 -63
  546. package/src/widget/components/DepositTracker.tsx +0 -326
  547. package/src/widget/components/DirectTransfer.tsx +0 -305
  548. package/src/widget/components/Disconnect.tsx +0 -68
  549. package/src/widget/components/DynamicInputStyles.tsx +0 -121
  550. package/src/widget/components/DynamicSizeInputField.tsx +0 -245
  551. package/src/widget/components/ENSAvatar.tsx +0 -33
  552. package/src/widget/components/Earn.tsx +0 -160
  553. package/src/widget/components/EarnPools.tsx +0 -417
  554. package/src/widget/components/EarnPoolsFilters.tsx +0 -165
  555. package/src/widget/components/ErrorAnimationIcon.tsx +0 -130
  556. package/src/widget/components/ErrorDisplay.tsx +0 -152
  557. package/src/widget/components/ExecutingIntentsBadge.tsx +0 -24
  558. package/src/widget/components/ExecutionStatusBadge.tsx +0 -53
  559. package/src/widget/components/FeeBreakdown.tsx +0 -155
  560. package/src/widget/components/FeeOption.tsx +0 -170
  561. package/src/widget/components/FeeOptions.tsx +0 -247
  562. package/src/widget/components/FiatSelector.tsx +0 -308
  563. package/src/widget/components/FiatSelectorButton.tsx +0 -68
  564. package/src/widget/components/Footer.tsx +0 -67
  565. package/src/widget/components/Fund.tsx +0 -2463
  566. package/src/widget/components/FundMethods.tsx +0 -423
  567. package/src/widget/components/FundWalletSelection.tsx +0 -60
  568. package/src/widget/components/FundingMethodSelectorButton.tsx +0 -106
  569. package/src/widget/components/GreenCheckAnimation.tsx +0 -119
  570. package/src/widget/components/HideBalances.tsx +0 -24
  571. package/src/widget/components/HighPriceImpactBlock.tsx +0 -44
  572. package/src/widget/components/HookModalContent.tsx +0 -377
  573. package/src/widget/components/Identicon.tsx +0 -228
  574. package/src/widget/components/LoadingSpinner.tsx +0 -9
  575. package/src/widget/components/MeldForm.tsx +0 -780
  576. package/src/widget/components/MeldHistory.tsx +0 -433
  577. package/src/widget/components/MeldStepsFlow.tsx +0 -1651
  578. package/src/widget/components/MeldTransactionStatus.tsx +0 -255
  579. package/src/widget/components/MeshExchangeSelection.tsx +0 -218
  580. package/src/widget/components/Modal.tsx +0 -86
  581. package/src/widget/components/OFTProgressBar.tsx +0 -89
  582. package/src/widget/components/OnRampProviderSelector.tsx +0 -263
  583. package/src/widget/components/OnrampDeposit.tsx +0 -122
  584. package/src/widget/components/OnrampErrorScreen.tsx +0 -163
  585. package/src/widget/components/OnrampHistoryRow.tsx +0 -321
  586. package/src/widget/components/OnrampPaymentMethods.tsx +0 -81
  587. package/src/widget/components/OnrampProviderConfirmation.tsx +0 -1060
  588. package/src/widget/components/OriginSelectionAmount.tsx +0 -144
  589. package/src/widget/components/OriginTransferInformation.tsx +0 -59
  590. package/src/widget/components/Pay.tsx +0 -1165
  591. package/src/widget/components/PaymentMethods.tsx +0 -198
  592. package/src/widget/components/PercentageMaxButtons.tsx +0 -112
  593. package/src/widget/components/PoolDeposit.tsx +0 -642
  594. package/src/widget/components/PoolWithdraw.tsx +0 -761
  595. package/src/widget/components/PriceImpactWarning.tsx +0 -87
  596. package/src/widget/components/QRCodeOptions.tsx +0 -65
  597. package/src/widget/components/QRCodeWalletSelect.tsx +0 -80
  598. package/src/widget/components/QrCode.tsx +0 -216
  599. package/src/widget/components/QuoteDetails.tsx +0 -1275
  600. package/src/widget/components/Receipt.tsx +0 -673
  601. package/src/widget/components/ReceiptRecoverableFunds.tsx +0 -135
  602. package/src/widget/components/RecentTokens.tsx +0 -66
  603. package/src/widget/components/RecipientSelectorButton.tsx +0 -50
  604. package/src/widget/components/Recipients.tsx +0 -413
  605. package/src/widget/components/RefundWarning.tsx +0 -61
  606. package/src/widget/components/RequiredPropsError.tsx +0 -33
  607. package/src/widget/components/ScreenHeader.tsx +0 -123
  608. package/src/widget/components/SearchInputField.tsx +0 -99
  609. package/src/widget/components/SessionTimeoutScreen.tsx +0 -103
  610. package/src/widget/components/ShadowPortal.tsx +0 -99
  611. package/src/widget/components/ShadowRootContext.tsx +0 -17
  612. package/src/widget/components/SimpleRecipientInputScreen.tsx +0 -91
  613. package/src/widget/components/SlippageToleranceSettings.tsx +0 -279
  614. package/src/widget/components/Swap.tsx +0 -50
  615. package/src/widget/components/SwapDisplay.tsx +0 -68
  616. package/src/widget/components/SwapSettings.tsx +0 -52
  617. package/src/widget/components/ThemeProvider.tsx +0 -115
  618. package/src/widget/components/ThemeSyncer.tsx +0 -47
  619. package/src/widget/components/Toast.tsx +0 -336
  620. package/src/widget/components/TokenDisplayNonSelectable.tsx +0 -40
  621. package/src/widget/components/TokenImage.tsx +0 -156
  622. package/src/widget/components/TokenList.tsx +0 -107
  623. package/src/widget/components/TokenSelector.tsx +0 -807
  624. package/src/widget/components/TokenSelectorButton.tsx +0 -123
  625. package/src/widget/components/TokenSkeleton.tsx +0 -53
  626. package/src/widget/components/Tooltip.tsx +0 -64
  627. package/src/widget/components/TrailsHookModal.tsx +0 -107
  628. package/src/widget/components/TransactionDetails.tsx +0 -534
  629. package/src/widget/components/TransactionHistoryItem.tsx +0 -767
  630. package/src/widget/components/TransferPendingVertical.tsx +0 -591
  631. package/src/widget/components/TruncatedAddress.tsx +0 -68
  632. package/src/widget/components/TruncatedTransactionHash.tsx +0 -74
  633. package/src/widget/components/UserPreferences.tsx +0 -570
  634. package/src/widget/components/WaasFeeOptions.tsx +0 -588
  635. package/src/widget/components/WalletConfirmation.tsx +0 -220
  636. package/src/widget/components/WalletConnect.tsx +0 -348
  637. package/src/widget/components/WalletConnectionPending.tsx +0 -178
  638. package/src/widget/components/WalletImage.tsx +0 -52
  639. package/src/widget/components/WalletList.tsx +0 -125
  640. package/src/widget/components/WidgetProviders.tsx +0 -82
  641. package/src/widget/components/Withdraw.tsx +0 -1106
  642. package/src/widget/components/YellowWarningAnimation.tsx +0 -146
  643. package/src/widget/hooks/useAddressWalletIcon.ts +0 -55
  644. package/src/widget/hooks/useAmountUsd.ts +0 -44
  645. package/src/widget/hooks/useBalanceVisible.tsx +0 -95
  646. package/src/widget/hooks/useChainFilter.tsx +0 -56
  647. package/src/widget/hooks/useCheckout.ts +0 -361
  648. package/src/widget/hooks/useClickTracking.ts +0 -74
  649. package/src/widget/hooks/useCombinedHistory.ts +0 -420
  650. package/src/widget/hooks/useConnector.tsx +0 -24
  651. package/src/widget/hooks/useCustomTokenSearch.tsx +0 -369
  652. package/src/widget/hooks/useDebounce.ts +0 -25
  653. package/src/widget/hooks/useDebugScreens.ts +0 -600
  654. package/src/widget/hooks/useDefaultDestinationToken.tsx +0 -179
  655. package/src/widget/hooks/useDefaultOriginToken.tsx +0 -407
  656. package/src/widget/hooks/useDepositMonitor.ts +0 -118
  657. package/src/widget/hooks/useDestinationSelectedToken.tsx +0 -310
  658. package/src/widget/hooks/useDisplayCurrencyPreference.tsx +0 -145
  659. package/src/widget/hooks/useEarnPool.tsx +0 -36
  660. package/src/widget/hooks/useExecutingIntentsCount.ts +0 -78
  661. package/src/widget/hooks/useExternalFundingReceiptSync.ts +0 -79
  662. package/src/widget/hooks/useFiatOnRampCurrencies.ts +0 -46
  663. package/src/widget/hooks/useFiatSelectedCurrency.tsx +0 -123
  664. package/src/widget/hooks/useGetIntent.ts +0 -54
  665. package/src/widget/hooks/useIntentReceiptBalances.ts +0 -141
  666. package/src/widget/hooks/useIntentTransactionHistory.ts +0 -790
  667. package/src/widget/hooks/useIsConnectedWalletSmartContract.ts +0 -43
  668. package/src/widget/hooks/useIsMobile.tsx +0 -50
  669. package/src/widget/hooks/useIsSequenceWallet.ts +0 -17
  670. package/src/widget/hooks/useLocalePreference.tsx +0 -187
  671. package/src/widget/hooks/useMeldTransactionHistory.ts +0 -184
  672. package/src/widget/hooks/useMeldTransactionStatus.ts +0 -707
  673. package/src/widget/hooks/useOnRampCountryDefaults.ts +0 -57
  674. package/src/widget/hooks/useOnRampPaymentMethods.ts +0 -72
  675. package/src/widget/hooks/useOnRampProviderWidget.ts +0 -184
  676. package/src/widget/hooks/useOnRampQuote.ts +0 -340
  677. package/src/widget/hooks/useOnRampTransactionStatus.ts +0 -196
  678. package/src/widget/hooks/useOriginSelectedToken.tsx +0 -253
  679. package/src/widget/hooks/usePayMessage.tsx +0 -496
  680. package/src/widget/hooks/usePriceImpactWarning.ts +0 -17
  681. package/src/widget/hooks/useQuote.ts +0 -1239
  682. package/src/widget/hooks/useRecentTokens.ts +0 -159
  683. package/src/widget/hooks/useRecipients.ts +0 -167
  684. package/src/widget/hooks/useScreenTracking.ts +0 -14
  685. package/src/widget/hooks/useSelectedFeeOption.tsx +0 -323
  686. package/src/widget/hooks/useSelectedFundMethod.tsx +0 -93
  687. package/src/widget/hooks/useSelectedRecipient.tsx +0 -75
  688. package/src/widget/hooks/useSendForm.ts +0 -1389
  689. package/src/widget/hooks/useSwapAmount.tsx +0 -50
  690. package/src/widget/hooks/useSwapState.tsx +0 -121
  691. package/src/widget/hooks/useTargetAmount.ts +0 -26
  692. package/src/widget/hooks/useTheme.tsx +0 -80
  693. package/src/widget/hooks/useTokenList.ts +0 -1168
  694. package/src/widget/hooks/useTrailsSendTransaction.ts +0 -987
  695. package/src/widget/hooks/useViewManager.tsx +0 -506
  696. package/src/widget/hooks/useWalletConnectUri.tsx +0 -307
  697. package/src/widget/hooks/useWalletConnectionContext.tsx +0 -128
  698. package/src/widget/hooks/useWidgetProps.tsx +0 -33
  699. package/src/widget/index.css +0 -686
  700. package/src/widget/index.tsx +0 -28
  701. package/src/widget/providers/TrailsModalProvider.tsx +0 -238
  702. package/src/widget/providers/TrailsProvider.tsx +0 -155
  703. package/src/widget/providers/UserActivityProvider.tsx +0 -78
  704. package/src/widget/providers/WidgetProviderTree.tsx +0 -90
  705. package/src/widget/styles.ts +0 -26
  706. package/src/widget/types/analytics.ts +0 -22
  707. package/src/widget/types/commonProps.ts +0 -56
  708. package/src/widget/types/svg.d.ts +0 -8
  709. package/src/widget/types.ts +0 -51
  710. package/src/widget/utils/countryUtils.ts +0 -89
  711. package/src/widget/utils/createWagmiConfig.ts +0 -43
  712. package/src/widget/utils/forexRateStore.ts +0 -120
  713. package/src/widget/utils/fundMethodSwitchState.ts +0 -27
  714. package/src/widget/utils/historyFilters.ts +0 -157
  715. package/src/widget/utils/historyUtils.ts +0 -101
  716. package/src/widget/utils/localeStore.ts +0 -68
  717. package/src/widget/utils/meldProviderUtils.ts +0 -26
  718. package/src/widget/utils/meshSupportedTokens.ts +0 -28
  719. package/src/widget/utils/onrampConfig.ts +0 -15
  720. package/src/widget/utils/statusLabel.ts +0 -3
  721. package/src/widget/utils/tokens.ts +0 -138
  722. package/src/widget/utils/trailsOnrampConfig.ts +0 -39
  723. package/src/widget/utils/transactionFailure.ts +0 -52
  724. package/src/widget/utils/viewManagerGuards.ts +0 -49
  725. package/src/widget/utils/windowUtils.ts +0 -138
  726. package/src/widget/widget.tsx +0 -3400
  727. /package/dist/{widget/hooks → hooks}/useAddressWalletIcon.d.ts +0 -0
  728. /package/dist/{widget/hooks → hooks}/useAmountUsd.d.ts +0 -0
  729. /package/dist/{widget/hooks → hooks}/useBalanceVisible.d.ts +0 -0
  730. /package/dist/{widget/hooks → hooks}/useChainFilter.d.ts +0 -0
  731. /package/dist/{widget/hooks → hooks}/useClickTracking.d.ts +0 -0
  732. /package/dist/{widget/hooks → hooks}/useConnector.d.ts +0 -0
  733. /package/dist/{widget/hooks → hooks}/useDebounce.d.ts +0 -0
  734. /package/dist/{widget/hooks → hooks}/useDepositMonitor.d.ts +0 -0
  735. /package/dist/{widget/hooks → hooks}/useDisplayCurrencyPreference.d.ts +0 -0
  736. /package/dist/{widget/hooks → hooks}/useExecutingIntentsCount.d.ts +0 -0
  737. /package/dist/{widget/hooks → hooks}/useFiatSelectedCurrency.d.ts +0 -0
  738. /package/dist/{widget/hooks → hooks}/useGetIntent.d.ts +0 -0
  739. /package/dist/{widget/hooks → hooks}/useIsMobile.d.ts +0 -0
  740. /package/dist/{widget/hooks → hooks}/useIsSequenceWallet.d.ts +0 -0
  741. /package/dist/{widget/hooks → hooks}/useLocalePreference.d.ts +0 -0
  742. /package/dist/{widget/hooks → hooks}/useMeldTransactionHistory.d.ts +0 -0
  743. /package/dist/{widget/hooks → hooks}/useMeldTransactionStatus.d.ts +0 -0
  744. /package/dist/{widget/hooks → hooks}/useOnRampCountryDefaults.d.ts +0 -0
  745. /package/dist/{widget/hooks → hooks}/usePayMessage.d.ts +0 -0
  746. /package/dist/{widget/hooks → hooks}/usePriceImpactWarning.d.ts +0 -0
  747. /package/dist/{widget/hooks → hooks}/useRecipients.d.ts +0 -0
  748. /package/dist/{widget/hooks → hooks}/useSelectedFeeOption.d.ts +0 -0
  749. /package/dist/{widget/hooks → hooks}/useSelectedRecipient.d.ts +0 -0
  750. /package/dist/{widget/hooks → hooks}/useSwapAmount.d.ts +0 -0
  751. /package/dist/{widget/hooks → hooks}/useTargetAmount.d.ts +0 -0
  752. /package/dist/{widget/hooks → hooks}/useTheme.d.ts +0 -0
  753. /package/dist/{widget/hooks → hooks}/useWalletConnectionContext.d.ts +0 -0
@@ -1,753 +0,0 @@
1
- /**
2
- * Pure async fetcher functions and helpers for balance queries.
3
- * This is a leaf module — NO React imports, NO queryClient, NO balanceKeys.
4
- */
5
- import type {
6
- NativeTokenBalance,
7
- Page,
8
- SequenceIndexerGateway,
9
- TokenBalance,
10
- } from "@0xsequence/indexer"
11
- import { ContractVerificationStatus } from "@0xsequence/indexer"
12
- import type { TokenPrice } from "@0xtrails/api"
13
- import { erc20Abi, parseUnits, zeroAddress } from "viem"
14
- import { getTokenPrices } from "./price.queries.js"
15
- import { getChainInfo, getChainRpcClient } from "../chains.js"
16
- import { getTokenImageUrl, type Token } from "../tokens.js"
17
- import type { TrailsClient } from "../trailsClient.js"
18
- import { logger } from "../logger.js"
19
- import {
20
- addressEqual,
21
- isNativeToken as isNativeTokenAddress,
22
- } from "../utils/address.js"
23
- import {
24
- formatBalanceFields,
25
- formatPriceFields,
26
- formatUsdFields,
27
- getTokenBalanceUsd,
28
- rawAmountToNumber,
29
- type Price,
30
- } from "../utils/format.js"
31
- import { isNetworkError } from "./helpers.js"
32
-
33
- // ============================================================================
34
- // Types
35
- // ============================================================================
36
-
37
- export type GetTokenBalancesParams = {
38
- account: string
39
- tokenAddress?: string | null
40
- indexerGatewayClient: SequenceIndexerGateway
41
- page?: number
42
- pageSize?: number
43
- }
44
-
45
- export type GetTokenBalancesForMultipleAccountsParams = {
46
- accounts: string[]
47
- indexerGatewayClient: SequenceIndexerGateway
48
- page?: number
49
- pageSize?: number
50
- }
51
-
52
- /**
53
- * Flat balance data for a single account using Token type (converted from raw gateway data)
54
- */
55
- export type FlatTokenBalancesData = {
56
- /** All tokens (native + ERC20) converted to Token type */
57
- tokens: Token[]
58
- /** Native tokens only (converted to Token type) */
59
- nativeTokens: Token[]
60
- /** ERC20 tokens only (converted to Token type) */
61
- erc20Tokens: Token[]
62
- page: Page
63
- }
64
-
65
- export type GetTokenBalancesForMultipleAccountsReturn = {
66
- [account: string]: FlatTokenBalancesData
67
- }
68
-
69
- export type GetTokenBalancesWithPricesParams = {
70
- account: string
71
- indexerGatewayClient: SequenceIndexerGateway
72
- trailsClient: TrailsClient
73
- }
74
-
75
- export type GetTokenBalancesWithPriceReturn = {
76
- balances: Token[]
77
- }
78
-
79
- type TokenBalancesSummary = Awaited<
80
- ReturnType<SequenceIndexerGateway["getTokenBalancesSummary"]>
81
- >
82
-
83
- // ============================================================================
84
- // Helper Functions
85
- // ============================================================================
86
-
87
- /**
88
- * Helper to add price and USD fields to a Token result
89
- * Extracts common logic for handling price and balance USD calculations
90
- */
91
- function addPriceAndUsdFields(
92
- result: Token,
93
- token: TokenBalance | NativeTokenBalance,
94
- priceData?: TokenPrice,
95
- ): void {
96
- // Get prices from both sources
97
- const apiPriceUSD =
98
- "priceUSD" in token && typeof token.priceUSD === "string"
99
- ? token.priceUSD
100
- : undefined
101
- const apiBalanceUSD =
102
- "balanceUSD" in token && typeof token.balanceUSD === "string"
103
- ? token.balanceUSD
104
- : undefined
105
- const coinApiPrice = priceData?.priceUsd
106
- const parsedIndexerPrice = apiPriceUSD ? parseFloat(apiPriceUSD) : Number.NaN
107
- const indexerPrice = Number.isNaN(parsedIndexerPrice)
108
- ? undefined
109
- : parsedIndexerPrice
110
-
111
- // Use coin prices API as primary source, fall back to indexer price
112
- const priceUsd = coinApiPrice !== undefined ? coinApiPrice : indexerPrice
113
-
114
- if (priceUsd !== undefined) {
115
- const priceFields = formatPriceFields(priceUsd)
116
- result.priceUsd = priceFields.priceUsd
117
- result.priceUsdFormatted = priceFields.priceUsdFormatted
118
- result.priceUsdDisplay = priceFields.priceUsdDisplay
119
-
120
- if (token.balance) {
121
- const price: Price = {
122
- value: priceUsd,
123
- currency: "USD",
124
- }
125
- const balanceUsd = getTokenBalanceUsd(token, price)
126
- if (balanceUsd !== undefined) {
127
- const usdFields = formatUsdFields(balanceUsd)
128
- result.balanceUsd = usdFields.balanceUsd
129
- result.balanceUsdFormatted = usdFields.balanceUsdFormatted
130
- result.balanceUsdDisplay = usdFields.balanceUsdDisplay
131
- result.balanceUsdLocaleDisplay = usdFields.balanceUsdLocaleDisplay
132
- }
133
- } else if (apiBalanceUSD !== undefined) {
134
- // Fallback to API balance if we can't calculate
135
- const parsedBalanceUsd = parseFloat(apiBalanceUSD)
136
- if (Number.isNaN(parsedBalanceUsd)) return
137
- const usdFields = formatUsdFields(parsedBalanceUsd)
138
- result.balanceUsd = usdFields.balanceUsd
139
- result.balanceUsdFormatted = usdFields.balanceUsdFormatted
140
- result.balanceUsdDisplay = usdFields.balanceUsdDisplay
141
- result.balanceUsdLocaleDisplay = usdFields.balanceUsdLocaleDisplay
142
- }
143
- }
144
- }
145
-
146
- // ============================================================================
147
- // Conversion Helpers for TokenBalance -> Token
148
- // ============================================================================
149
-
150
- /**
151
- * Converts TokenBalance to Token
152
- */
153
- export function convertTokenBalanceToToken(
154
- token: TokenBalance,
155
- priceData?: TokenPrice,
156
- chainInfo?: ReturnType<typeof getChainInfo>,
157
- ): Token {
158
- const chainId = token.contractInfo?.chainId || 0
159
- const chain = chainInfo || getChainInfo(chainId)
160
- const contractAddress = token.contractAddress || zeroAddress
161
-
162
- const result: Token = {
163
- symbol: token.contractInfo?.symbol || "???",
164
- name: token.contractInfo?.name || "Unknown Token",
165
- decimals: token.contractInfo?.decimals ?? 18,
166
- contractAddress,
167
- chainId,
168
- chainName: chain?.name || `Chain ${chainId}`,
169
- imageUrl: getTokenImageUrl({
170
- chainId,
171
- contractAddress,
172
- symbol: token.contractInfo?.symbol || "???",
173
- fallbackImageUrl: token.contractInfo?.logoURI,
174
- }),
175
- isNativeToken: false,
176
- }
177
-
178
- // Format balance if available
179
- if (token.balance) {
180
- const decimals = result.decimals
181
- const balanceFields = formatBalanceFields(token.balance, decimals)
182
- result.balance = balanceFields.balance
183
- result.balanceFormatted = balanceFields.balanceFormatted
184
- result.balanceDisplay = balanceFields.balanceDisplay
185
- result.balanceLocaleDisplay = balanceFields.balanceLocaleDisplay
186
- }
187
-
188
- // Add price and USD balance
189
- addPriceAndUsdFields(result, token, priceData)
190
-
191
- // Default isSufficientBalance to true
192
- result.isSufficientBalance = true
193
-
194
- return result
195
- }
196
-
197
- /**
198
- * Converts NativeTokenBalance to Token
199
- */
200
- export function convertNativeTokenBalanceToToken(
201
- token: NativeTokenBalance,
202
- priceData?: TokenPrice,
203
- chainInfo?: ReturnType<typeof getChainInfo>,
204
- ): Token {
205
- const chainId = token.chainId
206
- const chain = chainInfo || getChainInfo(chainId)
207
- const symbol = chain?.nativeCurrency.symbol || "Unknown"
208
-
209
- const result: Token = {
210
- symbol,
211
- name: chain?.nativeCurrency.name || "Unknown",
212
- decimals: chain?.nativeCurrency.decimals ?? 18,
213
- contractAddress: zeroAddress,
214
- chainId,
215
- chainName: chain?.name || `Chain ${chainId}`,
216
- imageUrl: getTokenImageUrl({
217
- chainId,
218
- contractAddress: zeroAddress,
219
- symbol,
220
- }),
221
- isNativeToken: true,
222
- }
223
-
224
- // Format balance if available
225
- if (token.balance) {
226
- const decimals = result.decimals
227
- const balanceFields = formatBalanceFields(token.balance, decimals)
228
- result.balance = balanceFields.balance
229
- result.balanceFormatted = balanceFields.balanceFormatted
230
- result.balanceDisplay = balanceFields.balanceDisplay
231
- result.balanceLocaleDisplay = balanceFields.balanceLocaleDisplay
232
- }
233
-
234
- // Add price and USD balance
235
- addPriceAndUsdFields(result, token, priceData)
236
-
237
- // Default isSufficientBalance to true
238
- result.isSufficientBalance = true
239
-
240
- return result
241
- }
242
-
243
- type BalanceEntry = TokenBalance | NativeTokenBalance
244
-
245
- function convertBalanceToTokenOrNull(
246
- token: BalanceEntry,
247
- priceData?: TokenPrice,
248
- ): Token | null {
249
- try {
250
- if (isNativeToken(token)) {
251
- return convertNativeTokenBalanceToToken(token, priceData)
252
- }
253
-
254
- return convertTokenBalanceToToken(token, priceData)
255
- } catch (err) {
256
- logger.console.warn(
257
- "[trails-sdk] Skipping malformed token balance:",
258
- token,
259
- err,
260
- )
261
- return null
262
- }
263
- }
264
-
265
- // Default empty page info for query fallback
266
- export const defaultPage = { page: 1, pageSize: 10, more: false }
267
-
268
- function getPageRequest(page?: number, pageSize?: number): Page | undefined {
269
- if (page === undefined && pageSize === undefined) return undefined
270
- return {
271
- page,
272
- pageSize,
273
- }
274
- }
275
-
276
- function createEmptyMultiAccountResult(
277
- accounts: string[],
278
- ): GetTokenBalancesForMultipleAccountsReturn {
279
- const result: GetTokenBalancesForMultipleAccountsReturn = {}
280
- for (const account of accounts) {
281
- result[account.toLowerCase()] = {
282
- tokens: [],
283
- nativeTokens: [],
284
- erc20Tokens: [],
285
- page: defaultPage,
286
- }
287
- }
288
- return result
289
- }
290
-
291
- function mapChainEntryResults<T extends BalanceEntry>(
292
- entries: Array<{ chainId: number; results?: T[] }>,
293
- result: GetTokenBalancesForMultipleAccountsReturn,
294
- toToken: (entry: T) => Token | null,
295
- bucket: "erc20Tokens" | "nativeTokens",
296
- ): void {
297
- for (const chainEntry of entries) {
298
- if (!getChainInfo(chainEntry.chainId)) {
299
- logger.console.warn(
300
- `[tokenBalances] Skipping unsupported chain ID: ${chainEntry.chainId}`,
301
- )
302
- continue
303
- }
304
-
305
- for (const entry of chainEntry.results || []) {
306
- const accountAddr = entry.accountAddress?.toLowerCase()
307
- const accountEntry = accountAddr ? result[accountAddr] : undefined
308
- if (!accountEntry) continue
309
-
310
- const token = toToken(entry)
311
- if (!token) continue
312
-
313
- accountEntry[bucket].push(token)
314
- accountEntry.tokens.push(token)
315
- }
316
- }
317
- }
318
-
319
- function toTokenPriceKey(chainId: number, tokenAddress?: string): string {
320
- return `${chainId}:${tokenAddress || zeroAddress}`
321
- }
322
-
323
- function createTokenMapFromGatewaySummary(
324
- summary: TokenBalancesSummary,
325
- ): Map<string, TokenBalance | NativeTokenBalance> {
326
- const tokenMap = new Map<string, TokenBalance | NativeTokenBalance>()
327
-
328
- for (const chainEntry of summary.balances) {
329
- for (const tokenBalance of chainEntry.results) {
330
- if (!("contractAddress" in tokenBalance)) continue
331
- if (!("contractInfo" in tokenBalance)) continue
332
- tokenMap.set(
333
- `${tokenBalance.contractAddress}-${tokenBalance.chainId}-${tokenBalance.contractInfo?.symbol}`,
334
- tokenBalance,
335
- )
336
- }
337
- }
338
-
339
- for (const chainEntry of summary.nativeBalances) {
340
- for (const nativeBalance of chainEntry.results) {
341
- tokenMap.set(
342
- `${zeroAddress}-${nativeBalance.chainId}-native`,
343
- nativeBalance,
344
- )
345
- }
346
- }
347
-
348
- return tokenMap
349
- }
350
-
351
- // Type guard for native token balance
352
- export function isNativeToken(
353
- token: TokenBalance | NativeTokenBalance,
354
- ): token is NativeTokenBalance {
355
- if (!("contractAddress" in token)) {
356
- return true
357
- }
358
- if (token.contractAddress === zeroAddress) {
359
- return true
360
- }
361
- return false
362
- }
363
-
364
- /**
365
- * Sort function for Token by priority
366
- */
367
- export function sortTokensByPriority(a: Token, b: Token): number {
368
- // First sort by USD balance if available
369
- const aUsdBalance = a.balanceUsd ?? 0
370
- const bUsdBalance = b.balanceUsd ?? 0
371
-
372
- // If both have non-zero balances, sort by balance
373
- if (aUsdBalance > 0 && bUsdBalance > 0) {
374
- return bUsdBalance - aUsdBalance // Higher USD balance first
375
- }
376
-
377
- // If one has balance and other doesn't, prioritize the one with balance
378
- if (aUsdBalance > 0 && bUsdBalance === 0) return -1
379
- if (aUsdBalance === 0 && bUsdBalance > 0) return 1
380
-
381
- // If both have zero balance, sort by price volume (if available)
382
- if (aUsdBalance === 0 && bUsdBalance === 0) {
383
- // Note: price24hVol is not in Token, so we skip volume sorting
384
- // This can be added later if needed
385
- }
386
-
387
- // Then sort by native token status
388
- if (a.isNativeToken && !b.isNativeToken) return -1
389
- if (!a.isNativeToken && b.isNativeToken) return 1
390
-
391
- // Then sort by token balance
392
- try {
393
- const balanceA = BigInt(a.balance || "0")
394
- const balanceB = BigInt(b.balance || "0")
395
- if (balanceA > balanceB) return -1
396
- if (balanceA < balanceB) return 1
397
- } catch (err) {
398
- logger.console.warn("[trails-sdk] Failed to compare token balances:", {
399
- tokenA: a.symbol,
400
- tokenB: b.symbol,
401
- err,
402
- })
403
- }
404
-
405
- return 0
406
- }
407
-
408
- // ============================================================================
409
- // Pure Fetcher Functions
410
- // ============================================================================
411
-
412
- /**
413
- * Fetch token balances summary for a single account
414
- * Returns chain-grouped data: { balances: [{ chainId, results: [...] }] }
415
- */
416
- export async function fetchTokenBalancesSummary({
417
- account,
418
- tokenAddress,
419
- indexerGatewayClient,
420
- page,
421
- pageSize,
422
- }: GetTokenBalancesParams): Promise<TokenBalancesSummary> {
423
- if (!account || !indexerGatewayClient) {
424
- throw new Error("Account address and indexer client are required")
425
- }
426
-
427
- try {
428
- const summaryFromGateway =
429
- await indexerGatewayClient.getTokenBalancesSummary({
430
- filter: {
431
- accountAddresses: [account],
432
- contractStatus: ContractVerificationStatus.VERIFIED,
433
- contractTypes: ["ERC20"],
434
- contractWhitelist: tokenAddress ? [tokenAddress] : undefined,
435
- omitNativeBalances: false,
436
- },
437
- page: getPageRequest(page, pageSize),
438
- })
439
-
440
- return summaryFromGateway
441
- } catch (error) {
442
- if (isNetworkError(error)) {
443
- logger.console.warn(
444
- "[trails-sdk] Network error fetching token balances, returning empty result:",
445
- { error, account },
446
- )
447
- return {
448
- balances: [],
449
- nativeBalances: [],
450
- page: defaultPage,
451
- }
452
- }
453
-
454
- logger.console.error(
455
- "[trails-sdk] Failed to fetch token balances summary:",
456
- error,
457
- )
458
- throw error
459
- }
460
- }
461
-
462
- /**
463
- * Fetch token balances summary for multiple accounts in a single API call
464
- */
465
- export async function fetchMultiAccountBalances({
466
- accounts,
467
- indexerGatewayClient,
468
- page,
469
- pageSize,
470
- }: GetTokenBalancesForMultipleAccountsParams): Promise<GetTokenBalancesForMultipleAccountsReturn> {
471
- if (!accounts.length || !indexerGatewayClient) {
472
- throw new Error(
473
- "At least one account address and indexer client are required",
474
- )
475
- }
476
-
477
- // Filter out empty/null accounts
478
- const validAccounts = accounts.filter((a) => a && a.length > 0)
479
- if (!validAccounts.length) {
480
- return {}
481
- }
482
-
483
- try {
484
- const summaryFromGateway =
485
- await indexerGatewayClient.getTokenBalancesSummary({
486
- filter: {
487
- accountAddresses: validAccounts,
488
- contractStatus: ContractVerificationStatus.VERIFIED,
489
- contractTypes: ["ERC20"],
490
- omitNativeBalances: false,
491
- },
492
- page: getPageRequest(page, pageSize),
493
- })
494
-
495
- const result = createEmptyMultiAccountResult(validAccounts)
496
-
497
- mapChainEntryResults(
498
- summaryFromGateway.balances,
499
- result,
500
- convertBalanceToTokenOrNull,
501
- "erc20Tokens",
502
- )
503
-
504
- mapChainEntryResults(
505
- summaryFromGateway.nativeBalances,
506
- result,
507
- convertBalanceToTokenOrNull,
508
- "nativeTokens",
509
- )
510
-
511
- // Set page info from gateway response
512
- for (const account of validAccounts) {
513
- const accountEntry = result[account.toLowerCase()]
514
- if (accountEntry) {
515
- accountEntry.page = summaryFromGateway.page ?? defaultPage
516
- }
517
- }
518
-
519
- return result
520
- } catch (error) {
521
- if (isNetworkError(error)) {
522
- logger.console.warn(
523
- "[trails-sdk] Network error fetching token balances, returning empty result:",
524
- { error, accounts },
525
- )
526
- return createEmptyMultiAccountResult(validAccounts)
527
- }
528
-
529
- logger.console.error(
530
- "[trails-sdk] Failed to fetch token balances summary for multiple accounts:",
531
- error,
532
- )
533
- throw error
534
- }
535
- }
536
-
537
- // ============================================================================
538
- // Composite Fetcher — replaces the imperative getTokenBalancesWithPrices chain
539
- // ============================================================================
540
-
541
- /**
542
- * Fetches token balances for an account, enriches them with price data,
543
- * and returns an array of Token objects with balance and price fields.
544
- *
545
- * This is a pure function — no queryClient, no balanceKeys.
546
- */
547
- export async function fetchBalancesWithPrices({
548
- account,
549
- indexerGatewayClient,
550
- trailsClient,
551
- }: GetTokenBalancesWithPricesParams): Promise<GetTokenBalancesWithPriceReturn> {
552
- const summaryFromGateway = await fetchTokenBalancesSummary({
553
- account,
554
- indexerGatewayClient,
555
- })
556
- const tokenMap = createTokenMapFromGatewaySummary(summaryFromGateway)
557
- const tokens = Array.from(tokenMap.values())
558
-
559
- let tokenPrices: Awaited<ReturnType<typeof getTokenPrices>> = []
560
- try {
561
- tokenPrices = await getTokenPrices(
562
- trailsClient,
563
- tokens.map((t) => ({
564
- chainId: t.chainId,
565
- tokenAddress: isNativeToken(t) ? zeroAddress : t.contractAddress,
566
- tokenSymbol: isNativeToken(t) ? "" : t.contractInfo?.symbol || "",
567
- })),
568
- )
569
- } catch (err) {
570
- logger.console.warn(
571
- "[trails-sdk] Price fetch failed, returning balances without prices:",
572
- err,
573
- )
574
- }
575
-
576
- const tokenPriceMap = new Map<string, TokenPrice>()
577
- for (const tokenPrice of tokenPrices) {
578
- tokenPriceMap.set(
579
- toTokenPriceKey(tokenPrice.token.chainId, tokenPrice.token.tokenAddress),
580
- tokenPrice,
581
- )
582
- }
583
-
584
- const balancesWithPrices: Token[] = tokens.flatMap((b) => {
585
- const priceData = tokenPriceMap.get(
586
- toTokenPriceKey(
587
- b.chainId,
588
- isNativeToken(b) ? zeroAddress : b.contractAddress,
589
- ),
590
- )
591
- const token = convertBalanceToTokenOrNull(b, priceData)
592
- return token ? [token] : []
593
- })
594
-
595
- return {
596
- balances: balancesWithPrices,
597
- }
598
- }
599
-
600
- // ============================================================================
601
- // On-chain Balance Fetcher — bypasses the indexer entirely
602
- // ============================================================================
603
-
604
- export type FetchTokenBalanceOnchainParams = {
605
- token: Token
606
- accountAddress: string
607
- }
608
-
609
- export type FetchTokenBalanceOnchainWithPricesParams = {
610
- token: Token
611
- accountAddress: string
612
- trailsClient: TrailsClient
613
- }
614
-
615
- export type FetchTokenBalanceOnchainReturn = {
616
- token: Token
617
- }
618
-
619
- /**
620
- * Reads the on-chain balance for a single token via RPC.
621
- * Fast path — only a single RPC call, no price API.
622
- *
623
- * Returns a Token with fresh balance fields (balance, balanceFormatted,
624
- * balanceDisplay, balanceLocaleDisplay).
625
- */
626
- export async function fetchTokenBalanceOnchain({
627
- token,
628
- accountAddress,
629
- }: FetchTokenBalanceOnchainParams): Promise<FetchTokenBalanceOnchainReturn> {
630
- const chainId = token.chainId
631
- if (!chainId) {
632
- throw new Error("Token must have a chainId")
633
- }
634
-
635
- const publicClient = getChainRpcClient(chainId)
636
- const isNative = isNativeTokenAddress(token.contractAddress)
637
-
638
- let rawBalance: bigint
639
- if (isNative) {
640
- rawBalance = await publicClient.getBalance({
641
- address: accountAddress as `0x${string}`,
642
- })
643
- } else {
644
- rawBalance = (await publicClient.readContract({
645
- address: token.contractAddress as `0x${string}`,
646
- abi: erc20Abi,
647
- functionName: "balanceOf",
648
- args: [accountAddress as `0x${string}`],
649
- })) as bigint
650
- }
651
-
652
- const balanceFields = formatBalanceFields(
653
- rawBalance.toString(),
654
- token.decimals,
655
- )
656
-
657
- return {
658
- token: {
659
- ...token,
660
- ...balanceFields,
661
- isSufficientBalance: true,
662
- },
663
- }
664
- }
665
-
666
- /**
667
- * Reads the on-chain balance via RPC, then enriches it with price and USD
668
- * data from the Trails price API.
669
- *
670
- * Use this variant only when the caller needs balanceUsd / priceUsd fields.
671
- */
672
- export async function fetchTokenBalanceOnchainWithPrices({
673
- token,
674
- accountAddress,
675
- trailsClient,
676
- }: FetchTokenBalanceOnchainWithPricesParams): Promise<FetchTokenBalanceOnchainReturn> {
677
- const { token: tokenWithBalance } = await fetchTokenBalanceOnchain({
678
- token,
679
- accountAddress,
680
- })
681
-
682
- const chainId = token.chainId!
683
- const isNative = isNativeTokenAddress(token.contractAddress)
684
-
685
- let priceUsd: number | undefined
686
- try {
687
- const tokenPrices = await getTokenPrices(trailsClient, [
688
- {
689
- chainId,
690
- tokenAddress: isNative ? zeroAddress : token.contractAddress,
691
- tokenSymbol: isNative ? "" : token.symbol,
692
- },
693
- ])
694
- if (tokenPrices.length > 0 && tokenPrices[0]?.priceUsd !== undefined) {
695
- priceUsd = tokenPrices[0].priceUsd
696
- }
697
- } catch (err) {
698
- logger.console.warn(
699
- "[trails-sdk] Price fetch failed, returning balance without prices:",
700
- err,
701
- )
702
- }
703
-
704
- const priceFields = priceUsd !== undefined ? formatPriceFields(priceUsd) : {}
705
-
706
- let usdFields: ReturnType<typeof formatUsdFields> = {}
707
- if (priceUsd !== undefined && tokenWithBalance.balance) {
708
- const balanceNum = rawAmountToNumber(
709
- tokenWithBalance.balance,
710
- token.decimals,
711
- )
712
- const balanceUsdValue = balanceNum * priceUsd
713
- if (Number.isFinite(balanceUsdValue)) {
714
- usdFields = formatUsdFields(balanceUsdValue)
715
- }
716
- }
717
-
718
- return {
719
- token: {
720
- ...tokenWithBalance,
721
- ...priceFields,
722
- ...usdFields,
723
- },
724
- }
725
- }
726
-
727
- // ============================================================================
728
- // Pure Sufficiency Check
729
- // ============================================================================
730
-
731
- /**
732
- * Checks if a specific token has sufficient balance for a given amount.
733
- * Pure function — no queryClient, no React.
734
- */
735
- export function checkSufficientToken(
736
- balances: Token[],
737
- token: string,
738
- amount: string,
739
- chainId: number,
740
- ): boolean {
741
- const tb = balances.find(
742
- (b) =>
743
- (b.chainId ?? 0) === chainId &&
744
- (addressEqual(b.contractAddress, token) ||
745
- (!b.contractAddress && token === zeroAddress)),
746
- )
747
- if (!tb?.balance || tb.decimals == null) return false
748
- try {
749
- return BigInt(tb.balance) >= parseUnits(amount, tb.decimals)
750
- } catch {
751
- return false
752
- }
753
- }