0xtrails 0.6.6 → 0.7.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 (365) hide show
  1. package/dist/aave.d.ts +10 -2
  2. package/dist/aave.d.ts.map +1 -1
  3. package/dist/analytics.d.ts +26 -0
  4. package/dist/analytics.d.ts.map +1 -1
  5. package/dist/{ccip-CbJrlK-L.js → ccip-fConRNoG.js} +21 -21
  6. package/dist/chains.d.ts +23 -8
  7. package/dist/chains.d.ts.map +1 -1
  8. package/dist/constants.d.ts +5 -5
  9. package/dist/constants.d.ts.map +1 -1
  10. package/dist/customTokens.d.ts +12 -0
  11. package/dist/customTokens.d.ts.map +1 -0
  12. package/dist/decoders.d.ts +2 -2
  13. package/dist/decoders.d.ts.map +1 -1
  14. package/dist/error.d.ts.map +1 -1
  15. package/dist/fees.d.ts +37 -2
  16. package/dist/fees.d.ts.map +1 -1
  17. package/dist/gasless.d.ts +15 -36
  18. package/dist/gasless.d.ts.map +1 -1
  19. package/dist/{index-w7_dK4c5.js → index-BbajxCG_.js} +59269 -77146
  20. package/dist/index.d.ts +8 -6
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +828 -359
  23. package/dist/indexerClient.d.ts.map +1 -1
  24. package/dist/intentReceiptMonitor.d.ts +1 -1
  25. package/dist/intentReceiptMonitor.d.ts.map +1 -1
  26. package/dist/intentReceiptPoller.d.ts +1 -1
  27. package/dist/intentReceiptPoller.d.ts.map +1 -1
  28. package/dist/intents.d.ts +3 -2
  29. package/dist/intents.d.ts.map +1 -1
  30. package/dist/mode.d.ts +1 -1
  31. package/dist/mode.d.ts.map +1 -1
  32. package/dist/mutations.d.ts +2 -2
  33. package/dist/mutations.d.ts.map +1 -1
  34. package/dist/prepareSend.d.ts +2 -2
  35. package/dist/prepareSend.d.ts.map +1 -1
  36. package/dist/prices.d.ts +1 -1
  37. package/dist/prices.d.ts.map +1 -1
  38. package/dist/sequenceWallet.d.ts +2 -2
  39. package/dist/sequenceWallet.d.ts.map +1 -1
  40. package/dist/time.d.ts +6 -0
  41. package/dist/time.d.ts.map +1 -1
  42. package/dist/tokenBalances.d.ts +40 -25
  43. package/dist/tokenBalances.d.ts.map +1 -1
  44. package/dist/tokens.d.ts +54 -14
  45. package/dist/tokens.d.ts.map +1 -1
  46. package/dist/trailsClient.d.ts +1 -1
  47. package/dist/trailsClient.d.ts.map +1 -1
  48. package/dist/trailsRouter.d.ts +2 -1
  49. package/dist/trailsRouter.d.ts.map +1 -1
  50. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts +3 -2
  51. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts.map +1 -1
  52. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts +2 -1
  53. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts.map +1 -1
  54. package/dist/transactionIntent/execution/transactionState.d.ts +1 -1
  55. package/dist/transactionIntent/execution/transactionState.d.ts.map +1 -1
  56. package/dist/transactionIntent/handlers/crossChain.d.ts +5 -3
  57. package/dist/transactionIntent/handlers/crossChain.d.ts.map +1 -1
  58. package/dist/transactionIntent/handlers/sameChainSameToken.d.ts +5 -3
  59. package/dist/transactionIntent/handlers/sameChainSameToken.d.ts.map +1 -1
  60. package/dist/transactionIntent/quote/feeExtractors.d.ts +1 -6
  61. package/dist/transactionIntent/quote/feeExtractors.d.ts.map +1 -1
  62. package/dist/transactionIntent/quote/normalizeQuote.d.ts +4 -2
  63. package/dist/transactionIntent/quote/normalizeQuote.d.ts.map +1 -1
  64. package/dist/transactionIntent/quote/quoteHelpers.d.ts +1 -1
  65. package/dist/transactionIntent/quote/quoteHelpers.d.ts.map +1 -1
  66. package/dist/transactionIntent/types.d.ts +28 -5
  67. package/dist/transactionIntent/types.d.ts.map +1 -1
  68. package/dist/transactionIntent/utils/testnetHelpers.d.ts +0 -1
  69. package/dist/transactionIntent/utils/testnetHelpers.d.ts.map +1 -1
  70. package/dist/transactionIntent/validators.d.ts +0 -2
  71. package/dist/transactionIntent/validators.d.ts.map +1 -1
  72. package/dist/transactions.d.ts +2 -2
  73. package/dist/transactions.d.ts.map +1 -1
  74. package/dist/utils.d.ts +7 -0
  75. package/dist/utils.d.ts.map +1 -1
  76. package/dist/wallets.d.ts +1 -0
  77. package/dist/wallets.d.ts.map +1 -1
  78. package/dist/widget/components/AccountIntentTransactionHistory.d.ts.map +1 -1
  79. package/dist/widget/components/AddressWalletIcon.d.ts +6 -0
  80. package/dist/widget/components/AddressWalletIcon.d.ts.map +1 -0
  81. package/dist/widget/components/ChainFilterDropdown.d.ts +2 -6
  82. package/dist/widget/components/ChainFilterDropdown.d.ts.map +1 -1
  83. package/dist/widget/components/ChainImage.d.ts.map +1 -1
  84. package/dist/widget/components/ChainList.d.ts +0 -5
  85. package/dist/widget/components/ChainList.d.ts.map +1 -1
  86. package/dist/widget/components/ClassicSwap.d.ts +6 -6
  87. package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
  88. package/dist/widget/components/ConnectWallet.d.ts.map +1 -1
  89. package/dist/widget/components/ConnectedWallets.d.ts.map +1 -1
  90. package/dist/widget/components/DebugMenu.d.ts +1 -1
  91. package/dist/widget/components/DebugMenu.d.ts.map +1 -1
  92. package/dist/widget/components/DebugScreensList.d.ts.map +1 -1
  93. package/dist/widget/components/DepositTracker.d.ts.map +1 -1
  94. package/dist/widget/components/Earn.d.ts +5 -5
  95. package/dist/widget/components/Earn.d.ts.map +1 -1
  96. package/dist/widget/components/FeeOption.d.ts +1 -1
  97. package/dist/widget/components/FeeOption.d.ts.map +1 -1
  98. package/dist/widget/components/FeeOptions.d.ts +2 -2
  99. package/dist/widget/components/FeeOptions.d.ts.map +1 -1
  100. package/dist/widget/components/Footer.d.ts +1 -1
  101. package/dist/widget/components/Footer.d.ts.map +1 -1
  102. package/dist/widget/components/Fund.d.ts +5 -5
  103. package/dist/widget/components/Fund.d.ts.map +1 -1
  104. package/dist/widget/components/FundMethods.d.ts +0 -1
  105. package/dist/widget/components/FundMethods.d.ts.map +1 -1
  106. package/dist/widget/components/FundSwap.d.ts +6 -6
  107. package/dist/widget/components/FundSwap.d.ts.map +1 -1
  108. package/dist/widget/components/HookModalContent.d.ts +8 -0
  109. package/dist/widget/components/HookModalContent.d.ts.map +1 -0
  110. package/dist/widget/components/OriginSelectionAmount.d.ts +11 -0
  111. package/dist/widget/components/OriginSelectionAmount.d.ts.map +1 -0
  112. package/dist/widget/components/Pay.d.ts +5 -5
  113. package/dist/widget/components/Pay.d.ts.map +1 -1
  114. package/dist/widget/components/PoolDeposit.d.ts +5 -5
  115. package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
  116. package/dist/widget/components/PoolWithdraw.d.ts +3 -3
  117. package/dist/widget/components/PoolWithdraw.d.ts.map +1 -1
  118. package/dist/widget/components/QuoteDetails.d.ts.map +1 -1
  119. package/dist/widget/components/Receipt.d.ts +2 -1
  120. package/dist/widget/components/Receipt.d.ts.map +1 -1
  121. package/dist/widget/components/RecentTokens.d.ts +4 -4
  122. package/dist/widget/components/RecentTokens.d.ts.map +1 -1
  123. package/dist/widget/components/RecipientSelectorButton.d.ts.map +1 -1
  124. package/dist/widget/components/ShadowPortal.d.ts +6 -0
  125. package/dist/widget/components/ShadowPortal.d.ts.map +1 -0
  126. package/dist/widget/components/Swap.d.ts +6 -6
  127. package/dist/widget/components/Swap.d.ts.map +1 -1
  128. package/dist/widget/components/ThemeProvider.d.ts +1 -1
  129. package/dist/widget/components/ThemeProvider.d.ts.map +1 -1
  130. package/dist/widget/components/TokenList.d.ts +3 -4
  131. package/dist/widget/components/TokenList.d.ts.map +1 -1
  132. package/dist/widget/components/TokenSelector.d.ts +3 -4
  133. package/dist/widget/components/TokenSelector.d.ts.map +1 -1
  134. package/dist/widget/components/Tooltip.d.ts +6 -1
  135. package/dist/widget/components/Tooltip.d.ts.map +1 -1
  136. package/dist/widget/components/TrailsHookModal.d.ts +10 -0
  137. package/dist/widget/components/TrailsHookModal.d.ts.map +1 -0
  138. package/dist/widget/components/WaasFeeOptions.d.ts +3 -0
  139. package/dist/widget/components/WaasFeeOptions.d.ts.map +1 -1
  140. package/dist/widget/components/WalletConfirmation.d.ts.map +1 -1
  141. package/dist/widget/components/WalletConnect.d.ts.map +1 -1
  142. package/dist/widget/components/WidgetProviders.d.ts +14 -0
  143. package/dist/widget/components/WidgetProviders.d.ts.map +1 -0
  144. package/dist/widget/css/compiled.css +1 -1
  145. package/dist/widget/hooks/useAddressWalletIcon.d.ts +10 -0
  146. package/dist/widget/hooks/useAddressWalletIcon.d.ts.map +1 -0
  147. package/dist/widget/hooks/useBalanceVisible.d.ts +1 -1
  148. package/dist/widget/hooks/useBalanceVisible.d.ts.map +1 -1
  149. package/dist/widget/hooks/useChainFilter.d.ts +1 -1
  150. package/dist/widget/hooks/useChainFilter.d.ts.map +1 -1
  151. package/dist/widget/hooks/useCheckout.d.ts +13 -1
  152. package/dist/widget/hooks/useCheckout.d.ts.map +1 -1
  153. package/dist/widget/hooks/useConnector.d.ts +4 -0
  154. package/dist/widget/hooks/useConnector.d.ts.map +1 -0
  155. package/dist/widget/hooks/useCurrentScreen.d.ts +1 -1
  156. package/dist/widget/hooks/useCurrentScreen.d.ts.map +1 -1
  157. package/dist/widget/hooks/useCustomTokenFetch.d.ts +19 -0
  158. package/dist/widget/hooks/useCustomTokenFetch.d.ts.map +1 -0
  159. package/dist/widget/hooks/useCustomTokenSearch.d.ts +20 -0
  160. package/dist/widget/hooks/useCustomTokenSearch.d.ts.map +1 -0
  161. package/dist/widget/hooks/useDebounce.d.ts +10 -0
  162. package/dist/widget/hooks/useDebounce.d.ts.map +1 -0
  163. package/dist/widget/hooks/useDebugScreens.d.ts +7 -2
  164. package/dist/widget/hooks/useDebugScreens.d.ts.map +1 -1
  165. package/dist/widget/hooks/useDefaultTokenSelection.d.ts +3 -19
  166. package/dist/widget/hooks/useDefaultTokenSelection.d.ts.map +1 -1
  167. package/dist/widget/hooks/useDestinationSelectedToken.d.ts +1 -14
  168. package/dist/widget/hooks/useDestinationSelectedToken.d.ts.map +1 -1
  169. package/dist/widget/hooks/useEarnPool.d.ts +1 -1
  170. package/dist/widget/hooks/useEarnPool.d.ts.map +1 -1
  171. package/dist/widget/hooks/useIntentTransactionHistory.d.ts.map +1 -1
  172. package/dist/widget/hooks/useIsMobile.d.ts +5 -0
  173. package/dist/widget/hooks/useIsMobile.d.ts.map +1 -0
  174. package/dist/widget/hooks/useMode.d.ts +2 -2
  175. package/dist/widget/hooks/useMode.d.ts.map +1 -1
  176. package/dist/widget/hooks/useOriginSelectedToken.d.ts +2 -15
  177. package/dist/widget/hooks/useOriginSelectedToken.d.ts.map +1 -1
  178. package/dist/widget/hooks/usePayMessage.d.ts.map +1 -1
  179. package/dist/widget/hooks/usePriceImpactWarning.d.ts +1 -1
  180. package/dist/widget/hooks/usePriceImpactWarning.d.ts.map +1 -1
  181. package/dist/widget/hooks/useQuote.d.ts +173 -4
  182. package/dist/widget/hooks/useQuote.d.ts.map +1 -1
  183. package/dist/widget/hooks/useRecentTokens.d.ts +3 -3
  184. package/dist/widget/hooks/useRecentTokens.d.ts.map +1 -1
  185. package/dist/widget/hooks/useRecipients.d.ts +1 -1
  186. package/dist/widget/hooks/useRecipients.d.ts.map +1 -1
  187. package/dist/widget/hooks/useSelectedFeeOption.d.ts +2 -2
  188. package/dist/widget/hooks/useSelectedFeeOption.d.ts.map +1 -1
  189. package/dist/widget/hooks/useSelectedFundMethod.d.ts +1 -1
  190. package/dist/widget/hooks/useSelectedFundMethod.d.ts.map +1 -1
  191. package/dist/widget/hooks/useSelectedRecipient.d.ts +1 -1
  192. package/dist/widget/hooks/useSelectedRecipient.d.ts.map +1 -1
  193. package/dist/widget/hooks/useSendForm.d.ts +9 -31
  194. package/dist/widget/hooks/useSendForm.d.ts.map +1 -1
  195. package/dist/widget/hooks/useSwapAmount.d.ts +1 -1
  196. package/dist/widget/hooks/useSwapAmount.d.ts.map +1 -1
  197. package/dist/widget/hooks/useTheme.d.ts +1 -1
  198. package/dist/widget/hooks/useTheme.d.ts.map +1 -1
  199. package/dist/widget/hooks/useTokenList.d.ts +7 -31
  200. package/dist/widget/hooks/useTokenList.d.ts.map +1 -1
  201. package/dist/widget/hooks/useTrailsSendTransaction.d.ts +83 -0
  202. package/dist/widget/hooks/useTrailsSendTransaction.d.ts.map +1 -0
  203. package/dist/widget/hooks/useWalletConnectUri.d.ts +11 -0
  204. package/dist/widget/hooks/useWalletConnectUri.d.ts.map +1 -0
  205. package/dist/widget/hooks/useWidgetProps.d.ts +5 -0
  206. package/dist/widget/hooks/useWidgetProps.d.ts.map +1 -1
  207. package/dist/widget/index.d.ts +2 -0
  208. package/dist/widget/index.d.ts.map +1 -1
  209. package/dist/widget/index.js +8 -5
  210. package/dist/widget/providers/TrailsModalProvider.d.ts +65 -0
  211. package/dist/widget/providers/TrailsModalProvider.d.ts.map +1 -0
  212. package/dist/widget/providers/TrailsProvider.d.ts +1 -1
  213. package/dist/widget/providers/TrailsProvider.d.ts.map +1 -1
  214. package/dist/widget/types.d.ts +11 -18
  215. package/dist/widget/types.d.ts.map +1 -1
  216. package/dist/widget/widget.d.ts +20 -11
  217. package/dist/widget/widget.d.ts.map +1 -1
  218. package/package.json +45 -49
  219. package/src/aave.ts +387 -138
  220. package/src/analytics.ts +208 -2
  221. package/src/chains.ts +65 -64
  222. package/src/constants.ts +18 -14
  223. package/src/customTokens.ts +151 -0
  224. package/src/decoders.ts +4 -7
  225. package/src/error.ts +7 -3
  226. package/src/fees.ts +239 -125
  227. package/src/gasless.ts +54 -108
  228. package/src/index.ts +29 -9
  229. package/src/indexerClient.ts +2 -0
  230. package/src/intentReceiptMonitor.ts +1 -4
  231. package/src/intentReceiptPoller.ts +2 -2
  232. package/src/intents.ts +16 -5
  233. package/src/mode.ts +1 -1
  234. package/src/mutations.ts +7 -3
  235. package/src/prepareSend.ts +19 -14
  236. package/src/prices.ts +1 -1
  237. package/src/sequenceWallet.ts +2 -2
  238. package/src/time.ts +28 -0
  239. package/src/tokenBalances.ts +348 -153
  240. package/src/tokens.ts +393 -142
  241. package/src/trailsClient.ts +1 -1
  242. package/src/trailsRouter.ts +4 -5
  243. package/src/transactionIntent/deposits/depositOrchestrator.ts +6 -2
  244. package/src/transactionIntent/deposits/gaslessDeposit.ts +13 -7
  245. package/src/transactionIntent/deposits/standardDeposit.ts +1 -1
  246. package/src/transactionIntent/execution/transactionState.ts +1 -1
  247. package/src/transactionIntent/handlers/crossChain.ts +75 -37
  248. package/src/transactionIntent/handlers/sameChainSameToken.ts +66 -20
  249. package/src/transactionIntent/quote/feeExtractors.ts +1 -29
  250. package/src/transactionIntent/quote/normalizeQuote.ts +99 -7
  251. package/src/transactionIntent/quote/quoteHelpers.ts +1 -1
  252. package/src/transactionIntent/types.ts +31 -6
  253. package/src/transactionIntent/utils/testnetHelpers.ts +0 -5
  254. package/src/transactionIntent/validators.ts +0 -30
  255. package/src/transactions.ts +3 -3
  256. package/src/utils.ts +18 -0
  257. package/src/wallets.ts +32 -10
  258. package/src/widget/compiled.css +1 -1
  259. package/src/widget/components/AccountIntentTransactionHistory.tsx +2 -1
  260. package/src/widget/components/AccountIntentTransactionHistoryButton.tsx +2 -2
  261. package/src/widget/components/AddressWalletIcon.tsx +29 -0
  262. package/src/widget/components/ChainFilterDropdown.tsx +2 -8
  263. package/src/widget/components/ChainImage.tsx +8 -5
  264. package/src/widget/components/ChainList.tsx +6 -8
  265. package/src/widget/components/ClassicSwap.tsx +93 -85
  266. package/src/widget/components/ConnectWallet.tsx +1 -2
  267. package/src/widget/components/ConnectedWallets.tsx +17 -4
  268. package/src/widget/components/DebugMenu.tsx +2 -2
  269. package/src/widget/components/DebugScreensList.tsx +0 -1
  270. package/src/widget/components/DepositTracker.tsx +20 -34
  271. package/src/widget/components/Earn.tsx +7 -6
  272. package/src/widget/components/FeeOption.tsx +4 -4
  273. package/src/widget/components/FeeOptions.tsx +19 -39
  274. package/src/widget/components/Footer.tsx +1 -1
  275. package/src/widget/components/Fund.tsx +23 -119
  276. package/src/widget/components/FundMethods.tsx +9 -6
  277. package/src/widget/components/FundSwap.tsx +6 -5
  278. package/src/widget/components/FundingMethodSelectorButton.tsx +2 -2
  279. package/src/widget/components/HookModalContent.tsx +306 -0
  280. package/src/widget/components/Modal.tsx +1 -1
  281. package/src/widget/components/OriginSelectionAmount.tsx +135 -0
  282. package/src/widget/components/Pay.tsx +66 -124
  283. package/src/widget/components/PoolDeposit.tsx +11 -55
  284. package/src/widget/components/PoolWithdraw.tsx +3 -3
  285. package/src/widget/components/QuoteDetails.tsx +473 -728
  286. package/src/widget/components/Receipt.tsx +74 -7
  287. package/src/widget/components/RecentTokens.tsx +8 -8
  288. package/src/widget/components/RecipientSelectorButton.tsx +4 -2
  289. package/src/widget/components/ScreenHeader.tsx +2 -2
  290. package/src/widget/components/SearchInputField.tsx +1 -1
  291. package/src/widget/components/ShadowPortal.tsx +58 -0
  292. package/src/widget/components/Swap.tsx +6 -5
  293. package/src/widget/components/ThemeProvider.tsx +1 -1
  294. package/src/widget/components/TokenList.tsx +3 -4
  295. package/src/widget/components/TokenSelector.tsx +211 -80
  296. package/src/widget/components/Tooltip.tsx +18 -7
  297. package/src/widget/components/TrailsHookModal.tsx +118 -0
  298. package/src/widget/components/WaasFeeOptions.tsx +333 -138
  299. package/src/widget/components/WalletConfirmation.tsx +7 -2
  300. package/src/widget/components/WalletConnect.tsx +197 -235
  301. package/src/widget/components/WidgetProviders.tsx +75 -0
  302. package/src/widget/hooks/useAddressWalletIcon.ts +53 -0
  303. package/src/widget/hooks/useBalanceVisible.tsx +1 -1
  304. package/src/widget/hooks/useChainFilter.tsx +1 -1
  305. package/src/widget/hooks/useCheckout.ts +13 -1
  306. package/src/widget/hooks/useConnector.tsx +18 -0
  307. package/src/widget/hooks/useCurrentScreen.tsx +3 -3
  308. package/src/widget/hooks/useCustomTokenFetch.tsx +72 -0
  309. package/src/widget/hooks/useCustomTokenSearch.tsx +402 -0
  310. package/src/widget/hooks/useDebounce.ts +25 -0
  311. package/src/widget/hooks/useDebugScreens.ts +26 -10
  312. package/src/widget/hooks/useDefaultTokenSelection.tsx +99 -143
  313. package/src/widget/hooks/useDestinationSelectedToken.tsx +1 -14
  314. package/src/widget/hooks/useEarnPool.tsx +1 -1
  315. package/src/widget/hooks/useIntentTransactionHistory.ts +20 -11
  316. package/src/widget/hooks/useIsMobile.tsx +50 -0
  317. package/src/widget/hooks/useMode.ts +2 -3
  318. package/src/widget/hooks/useOriginSelectedToken.tsx +2 -15
  319. package/src/widget/hooks/usePayMessage.tsx +31 -11
  320. package/src/widget/hooks/usePriceImpactWarning.ts +1 -1
  321. package/src/widget/hooks/useQuote.ts +189 -6
  322. package/src/widget/hooks/useRecentTokens.ts +6 -6
  323. package/src/widget/hooks/useRecipients.ts +1 -1
  324. package/src/widget/hooks/useSelectedFeeOption.tsx +2 -2
  325. package/src/widget/hooks/useSelectedFundMethod.tsx +1 -1
  326. package/src/widget/hooks/useSelectedRecipient.tsx +1 -1
  327. package/src/widget/hooks/useSendForm.ts +328 -152
  328. package/src/widget/hooks/useSwapAmount.tsx +1 -1
  329. package/src/widget/hooks/useTheme.tsx +1 -1
  330. package/src/widget/hooks/useTokenList.ts +672 -400
  331. package/src/widget/hooks/useTrailsSendTransaction.ts +949 -0
  332. package/src/widget/hooks/useWalletConnectUri.tsx +228 -0
  333. package/src/widget/hooks/useWidgetProps.tsx +3 -1
  334. package/src/widget/index.tsx +12 -0
  335. package/src/widget/providers/TrailsModalProvider.tsx +195 -0
  336. package/src/widget/providers/TrailsProvider.tsx +9 -3
  337. package/src/widget/types.ts +12 -20
  338. package/src/widget/widget.tsx +598 -385
  339. package/dist/cctp.d.ts +0 -3
  340. package/dist/cctp.d.ts.map +0 -1
  341. package/dist/lifi.d.ts +0 -4
  342. package/dist/lifi.d.ts.map +0 -1
  343. package/dist/meshconnect.d.ts +0 -171
  344. package/dist/meshconnect.d.ts.map +0 -1
  345. package/dist/relaySdk.d.ts +0 -87
  346. package/dist/relaySdk.d.ts.map +0 -1
  347. package/dist/widget/components/MeshConnectExchanges.d.ts +0 -7
  348. package/dist/widget/components/MeshConnectExchanges.d.ts.map +0 -1
  349. package/dist/widget/components/MeshConnectFlow.d.ts +0 -13
  350. package/dist/widget/components/MeshConnectFlow.d.ts.map +0 -1
  351. package/dist/widget/components/MeshConnectIframe.d.ts +0 -15
  352. package/dist/widget/components/MeshConnectIframe.d.ts.map +0 -1
  353. package/dist/widget/components/Receive.d.ts +0 -12
  354. package/dist/widget/components/Receive.d.ts.map +0 -1
  355. package/dist/widget/hooks/useSelectedMeshExchange.d.ts +0 -14
  356. package/dist/widget/hooks/useSelectedMeshExchange.d.ts.map +0 -1
  357. package/src/cctp.ts +0 -54
  358. package/src/lifi.ts +0 -108
  359. package/src/meshconnect.ts +0 -531
  360. package/src/relaySdk.ts +0 -703
  361. package/src/widget/components/MeshConnectExchanges.tsx +0 -290
  362. package/src/widget/components/MeshConnectFlow.tsx +0 -90
  363. package/src/widget/components/MeshConnectIframe.tsx +0 -500
  364. package/src/widget/components/Receive.tsx +0 -175
  365. package/src/widget/hooks/useSelectedMeshExchange.tsx +0 -46
@@ -1,290 +0,0 @@
1
- import type React from "react"
2
- import { useEffect, useState } from "react"
3
- import {
4
- getCoinbaseIntegrationId,
5
- getBinanceIntegrationId,
6
- getBitfinexIntegrationId,
7
- getMeshConnectEnvironment,
8
- } from "../../meshconnect.js"
9
- import BitfinexLogo from "../assets/Bitfinex_Icon_Logo.svg"
10
- import BinanceLogo from "../assets/Binance_Icon_Logo.svg"
11
- import CoinbaseLogo from "../assets/Coinbase_Icon_Logo.svg"
12
- import { ScreenHeader } from "./ScreenHeader.js"
13
- import { logger } from "../../logger.js"
14
- import { useSelectedMeshExchange } from "../hooks/useSelectedMeshExchange.js"
15
- import { useCurrentScreen } from "../hooks/useCurrentScreen.js"
16
-
17
- export interface MeshConnectExchangesProps {
18
- onBack?: () => void
19
- onSelectExchange?: (integrationId: string, exchangeName: string) => void
20
- }
21
-
22
- export const MeshConnectExchanges: React.FC<MeshConnectExchangesProps> = ({
23
- onBack,
24
- onSelectExchange,
25
- }) => {
26
- const { setSelectedExchange } = useSelectedMeshExchange()
27
- const { setCurrentScreen } = useCurrentScreen()
28
- const [coinbaseId, setCoinbaseId] = useState<string | null>(null)
29
- const [binanceId, setBinanceId] = useState<string | null>(null)
30
- const [bitfinexId, setBitfinexId] = useState<string | null>(null)
31
- const [loading, setLoading] = useState(true)
32
- const [error, setError] = useState<string | null>(null)
33
-
34
- // Fetch integration IDs on component mount
35
- useEffect(() => {
36
- const fetchIntegrationIds = async () => {
37
- try {
38
- setLoading(true)
39
- setError(null)
40
-
41
- const environment = getMeshConnectEnvironment()
42
-
43
- // Fetch all integration IDs in parallel
44
- const [coinbase, binance, bitfinex] = await Promise.all([
45
- getCoinbaseIntegrationId(environment),
46
- getBinanceIntegrationId(environment),
47
- getBitfinexIntegrationId(environment),
48
- ])
49
-
50
- setCoinbaseId(coinbase || null)
51
- setBinanceId(binance || null)
52
- setBitfinexId(bitfinex || null)
53
-
54
- if (!coinbase && !binance && !bitfinex) {
55
- setError("No supported exchanges found")
56
- }
57
- } catch (err) {
58
- logger.console.error(
59
- "[trails-sdk] Failed to fetch integration IDs:",
60
- err,
61
- )
62
- setError(
63
- err instanceof Error ? err.message : "Failed to load exchanges",
64
- )
65
- } finally {
66
- setLoading(false)
67
- }
68
- }
69
-
70
- fetchIntegrationIds()
71
- }, [])
72
-
73
- const handleExchangeSelect = (
74
- integrationId: string,
75
- exchangeName: string,
76
- ) => {
77
- logger.console.log(
78
- `[trails-sdk] Selected exchange: ${exchangeName} (${integrationId})`,
79
- )
80
-
81
- // If a callback is provided (MeshConnectFlow), use it
82
- if (onSelectExchange) {
83
- onSelectExchange(integrationId, exchangeName)
84
- return
85
- }
86
-
87
- // Otherwise, use the hook-based approach (main widget flow)
88
- // Store the selected exchange
89
- setSelectedExchange({ integrationId, exchangeName })
90
-
91
- // Navigate to home screen
92
- setCurrentScreen("home")
93
- }
94
-
95
- if (loading) {
96
- return (
97
- <div className="flex flex-col h-full">
98
- <ScreenHeader
99
- onBack={onBack}
100
- headerContent="Select Exchange"
101
- headerContentAlign="left"
102
- />
103
-
104
- <div className="flex-1 flex items-center justify-center">
105
- <div className="text-center">
106
- <div className="w-8 h-8 border-solid border-2 border-blue-500 border-t-transparent rounded-full animate-spin mx-auto mb-4"></div>
107
- <p className="text-gray-600 dark:text-gray-400">
108
- Loading available exchanges...
109
- </p>
110
- </div>
111
- </div>
112
- </div>
113
- )
114
- }
115
-
116
- if (error) {
117
- return (
118
- <div className="flex flex-col h-full">
119
- <ScreenHeader
120
- onBack={onBack}
121
- headerContent="Select Exchange"
122
- headerContentAlign="left"
123
- />
124
-
125
- <div className="flex-1 flex items-center justify-center">
126
- <div className="text-center p-4 border border-solid border-red-200 rounded-lg bg-red-50 dark:bg-red-900/20 dark:border-red-800">
127
- <p className="text-red-600 dark:text-red-200 mb-4">{error}</p>
128
- <button
129
- type="button"
130
- onClick={() => window.location.reload()}
131
- className="px-4 py-2 bg-red-600 text-white rounded-lg hover:bg-red-700 transition-colors"
132
- >
133
- Try Again
134
- </button>
135
- </div>
136
- </div>
137
- </div>
138
- )
139
- }
140
-
141
- return (
142
- <div className="flex flex-col h-full">
143
- <ScreenHeader
144
- onBack={onBack}
145
- headerContent="Select Exchange"
146
- headerContentAlign="left"
147
- />
148
-
149
- <div className="flex-1">
150
- <div className="space-y-4">
151
- {coinbaseId && (
152
- <button
153
- type="button"
154
- onClick={() => handleExchangeSelect(coinbaseId, "Coinbase")}
155
- className="w-full flex items-center justify-between cursor-pointer font-semibold py-4 px-6 trails-border-radius-large-button transition-all duration-200 trails-bg-secondary trails-hover-bg trails-text-primary"
156
- >
157
- <div className="flex items-center space-x-3 flex-1">
158
- <div className="w-12 h-12 bg-[#1652f0] rounded-lg flex items-center justify-center">
159
- <img src={CoinbaseLogo} alt="Coinbase" className="w-6 h-6" />
160
- </div>
161
- <div className="flex-1 text-left">
162
- <h4 className="font-semibold text-gray-900 dark:text-gray-100">
163
- Coinbase
164
- </h4>
165
- <p className="text-sm text-gray-600 dark:text-gray-400">
166
- Connect your Coinbase account to transfer funds
167
- </p>
168
- </div>
169
- </div>
170
- <div className="text-gray-400">
171
- <svg
172
- className="w-5 h-5"
173
- fill="none"
174
- stroke="currentColor"
175
- viewBox="0 0 24 24"
176
- aria-label="Chevron right"
177
- >
178
- <path
179
- strokeLinecap="round"
180
- strokeLinejoin="round"
181
- strokeWidth={2}
182
- d="M9 5l7 7-7 7"
183
- />
184
- </svg>
185
- </div>
186
- </button>
187
- )}
188
-
189
- {binanceId && (
190
- <button
191
- type="button"
192
- onClick={() => handleExchangeSelect(binanceId, "Binance")}
193
- className="w-full flex items-center justify-between cursor-pointer font-semibold py-4 px-6 trails-border-radius-large-button transition-all duration-200 trails-bg-secondary trails-hover-bg trails-text-primary"
194
- >
195
- <div className="flex items-center space-x-3 flex-1">
196
- <div className="w-12 h-12 bg-black rounded-lg flex items-center justify-center">
197
- <img src={BinanceLogo} alt="Binance" className="w-6 h-6" />
198
- </div>
199
- <div className="flex-1 text-left">
200
- <h4 className="font-semibold text-gray-900 dark:text-gray-100">
201
- Binance
202
- </h4>
203
- <p className="text-sm text-gray-600 dark:text-gray-400">
204
- Connect your Binance account to transfer funds
205
- </p>
206
- </div>
207
- </div>
208
- <div className="text-gray-400">
209
- <svg
210
- className="w-5 h-5"
211
- fill="none"
212
- stroke="currentColor"
213
- viewBox="0 0 24 24"
214
- aria-label="Chevron right"
215
- >
216
- <path
217
- strokeLinecap="round"
218
- strokeLinejoin="round"
219
- strokeWidth={2}
220
- d="M9 5l7 7-7 7"
221
- />
222
- </svg>
223
- </div>
224
- </button>
225
- )}
226
-
227
- {bitfinexId && (
228
- <button
229
- type="button"
230
- onClick={() => handleExchangeSelect(bitfinexId, "Bitfinex")}
231
- className="w-full flex items-center justify-between cursor-pointer font-semibold py-4 px-6 trails-border-radius-large-button transition-all duration-200 trails-bg-secondary trails-hover-bg trails-text-primary"
232
- >
233
- <div className="flex items-center space-x-3 flex-1">
234
- <div className="w-12 h-12 bg-[#03ca9b] rounded-lg flex items-center justify-center">
235
- <img src={BitfinexLogo} alt="Bitfinex" className="w-6 h-6" />
236
- </div>
237
- <div className="flex-1 text-left">
238
- <h4 className="font-semibold text-gray-900 dark:text-gray-100">
239
- Bitfinex
240
- </h4>
241
- <p className="text-sm text-gray-600 dark:text-gray-400">
242
- Connect your Bitfinex account to transfer funds
243
- </p>
244
- </div>
245
- </div>
246
- <div className="text-gray-400">
247
- <svg
248
- className="w-5 h-5"
249
- fill="none"
250
- stroke="currentColor"
251
- viewBox="0 0 24 24"
252
- aria-label="Chevron right"
253
- >
254
- <path
255
- strokeLinecap="round"
256
- strokeLinejoin="round"
257
- strokeWidth={2}
258
- d="M9 5l7 7-7 7"
259
- />
260
- </svg>
261
- </div>
262
- </button>
263
- )}
264
-
265
- {!coinbaseId && !binanceId && !bitfinexId && (
266
- <div className="text-center p-8 border border-solid border-gray-200 dark:border-gray-700 rounded-lg">
267
- <p className="text-gray-600 dark:text-gray-400">
268
- No supported exchanges are currently available.
269
- </p>
270
- </div>
271
- )}
272
- </div>
273
- </div>
274
-
275
- {/* Sandbox Environment Banner */}
276
- {getMeshConnectEnvironment() === "sandbox" && (
277
- <div className="p-3 bg-yellow-50 dark:bg-yellow-900/20 border border-solid border-yellow-200 dark:border-yellow-800">
278
- <div className="text-center">
279
- <p className="text-sm font-medium text-yellow-800 dark:text-yellow-200">
280
- Sandbox environment
281
- </p>
282
- <p className="text-xs text-yellow-600 dark:text-yellow-300">
283
- No real funds are used
284
- </p>
285
- </div>
286
- </div>
287
- )}
288
- </div>
289
- )
290
- }
@@ -1,90 +0,0 @@
1
- import type React from "react"
2
- import { useState, useEffect } from "react"
3
- import { MeshConnectExchanges } from "./MeshConnectExchanges.js"
4
- import { MeshConnectIframe } from "./MeshConnectIframe.js"
5
- import type { SelectedMeshExchange } from "../hooks/useSelectedMeshExchange.js"
6
-
7
- export interface MeshConnectFlowProps {
8
- onBack?: () => void
9
- onComplete?: (transferData: any) => void
10
- toTokenSymbol?: string
11
- toTokenAmount?: string
12
- toChainId?: number
13
- toRecipientAddress?: string
14
- selectedExchange?: SelectedMeshExchange | null
15
- }
16
-
17
- type Screen = "exchanges" | "connect"
18
-
19
- export const MeshConnectFlow: React.FC<MeshConnectFlowProps> = ({
20
- onBack,
21
- onComplete,
22
- toTokenSymbol,
23
- toTokenAmount,
24
- toChainId,
25
- toRecipientAddress,
26
- selectedExchange,
27
- }) => {
28
- // If an exchange is already selected, start on the connect screen
29
- const [currentScreen, setCurrentScreen] = useState<Screen>(
30
- selectedExchange ? "connect" : "exchanges",
31
- )
32
- const [selectedIntegrationId, setSelectedIntegrationId] = useState<string>(
33
- selectedExchange?.integrationId || "",
34
- )
35
- const [selectedExchangeName, setSelectedExchangeName] = useState<string>(
36
- selectedExchange?.exchangeName || "",
37
- )
38
-
39
- // Update state when selectedExchange prop changes
40
- useEffect(() => {
41
- if (selectedExchange) {
42
- setSelectedIntegrationId(selectedExchange.integrationId)
43
- setSelectedExchangeName(selectedExchange.exchangeName)
44
- setCurrentScreen("connect")
45
- }
46
- }, [selectedExchange])
47
-
48
- const handleSelectExchange = (
49
- integrationId: string,
50
- exchangeName: string,
51
- ) => {
52
- setSelectedIntegrationId(integrationId)
53
- setSelectedExchangeName(exchangeName)
54
- setCurrentScreen("connect")
55
- }
56
-
57
- const handleBackFromConnect = () => {
58
- setCurrentScreen("exchanges")
59
- setSelectedIntegrationId("")
60
- setSelectedExchangeName("")
61
- }
62
-
63
- const handleBackFromExchanges = () => {
64
- if (onBack) {
65
- onBack()
66
- }
67
- }
68
-
69
- if (currentScreen === "connect") {
70
- return (
71
- <MeshConnectIframe
72
- onBack={handleBackFromConnect}
73
- onComplete={onComplete}
74
- toTokenSymbol={toTokenSymbol}
75
- toTokenAmount={toTokenAmount}
76
- toChainId={toChainId}
77
- toRecipientAddress={toRecipientAddress}
78
- integrationId={selectedIntegrationId}
79
- exchangeName={selectedExchangeName}
80
- />
81
- )
82
- }
83
-
84
- return (
85
- <MeshConnectExchanges
86
- onBack={handleBackFromExchanges}
87
- onSelectExchange={handleSelectExchange}
88
- />
89
- )
90
- }