0xtrails 0.2.5 → 0.2.6

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 (116) hide show
  1. package/dist/abortController.d.ts +8 -0
  2. package/dist/abortController.d.ts.map +1 -0
  3. package/dist/{ccip-CXlshvBY.js → ccip-Xjh9d1gb.js} +7 -7
  4. package/dist/constants.d.ts +2 -0
  5. package/dist/constants.d.ts.map +1 -1
  6. package/dist/fees.d.ts +19 -0
  7. package/dist/fees.d.ts.map +1 -0
  8. package/dist/{index-_QuyGrjU.js → index-BnhdZ8Ho.js} +34769 -34247
  9. package/dist/index.js +726 -520
  10. package/dist/prepareSend.d.ts +11 -77
  11. package/dist/prepareSend.d.ts.map +1 -1
  12. package/dist/transactions.d.ts +4 -2
  13. package/dist/transactions.d.ts.map +1 -1
  14. package/dist/widget/components/AccountIntentTransactionHistoryButton.d.ts +4 -0
  15. package/dist/widget/components/AccountIntentTransactionHistoryButton.d.ts.map +1 -0
  16. package/dist/widget/components/AccountSettings.d.ts.map +1 -1
  17. package/dist/widget/components/ChainFilterDropdown.d.ts.map +1 -1
  18. package/dist/widget/components/ClassicSwap.d.ts +2 -2
  19. package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
  20. package/dist/widget/components/ConnectWallet.d.ts.map +1 -1
  21. package/dist/widget/components/DynamicInputStyles.d.ts +18 -0
  22. package/dist/widget/components/DynamicInputStyles.d.ts.map +1 -0
  23. package/dist/widget/components/Earn.d.ts +2 -2
  24. package/dist/widget/components/Earn.d.ts.map +1 -1
  25. package/dist/widget/components/ErrorAnimationIcon.d.ts +2 -0
  26. package/dist/widget/components/ErrorAnimationIcon.d.ts.map +1 -0
  27. package/dist/widget/components/FeeBreakdown.d.ts +9 -0
  28. package/dist/widget/components/FeeBreakdown.d.ts.map +1 -0
  29. package/dist/widget/components/Fund.d.ts +2 -2
  30. package/dist/widget/components/Fund.d.ts.map +1 -1
  31. package/dist/widget/components/FundSwap.d.ts +2 -2
  32. package/dist/widget/components/FundSwap.d.ts.map +1 -1
  33. package/dist/widget/components/FundingMethodSelectorButton.d.ts.map +1 -1
  34. package/dist/widget/components/Identicon.d.ts.map +1 -1
  35. package/dist/widget/components/MeshConnectExchanges.d.ts +0 -3
  36. package/dist/widget/components/MeshConnectExchanges.d.ts.map +1 -1
  37. package/dist/widget/components/Modal.d.ts.map +1 -1
  38. package/dist/widget/components/Pay.d.ts +2 -2
  39. package/dist/widget/components/Pay.d.ts.map +1 -1
  40. package/dist/widget/components/PoolDeposit.d.ts +3 -2
  41. package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
  42. package/dist/widget/components/PoolWithdraw.d.ts +3 -2
  43. package/dist/widget/components/PoolWithdraw.d.ts.map +1 -1
  44. package/dist/widget/components/QuoteDetails.d.ts +1 -0
  45. package/dist/widget/components/QuoteDetails.d.ts.map +1 -1
  46. package/dist/widget/components/Receipt.d.ts.map +1 -1
  47. package/dist/widget/components/RecipientSelectorButton.d.ts.map +1 -1
  48. package/dist/widget/components/ScreenHeader.d.ts.map +1 -1
  49. package/dist/widget/components/Swap.d.ts +2 -2
  50. package/dist/widget/components/Swap.d.ts.map +1 -1
  51. package/dist/widget/components/ThemeProvider.d.ts.map +1 -1
  52. package/dist/widget/components/TokenDisplayNonSelectable.d.ts +11 -0
  53. package/dist/widget/components/TokenDisplayNonSelectable.d.ts.map +1 -0
  54. package/dist/widget/components/TokenSelector.d.ts.map +1 -1
  55. package/dist/widget/components/TokenSelectorButton.d.ts.map +1 -1
  56. package/dist/widget/components/Tooltip.d.ts +9 -0
  57. package/dist/widget/components/Tooltip.d.ts.map +1 -0
  58. package/dist/widget/components/WaasFeeOptions.d.ts +1 -0
  59. package/dist/widget/components/WaasFeeOptions.d.ts.map +1 -1
  60. package/dist/widget/components/WalletConfirmation.d.ts.map +1 -1
  61. package/dist/widget/components/WalletConnect.d.ts.map +1 -1
  62. package/dist/widget/css/compiled.css +1 -1
  63. package/dist/widget/hooks/useQuote.d.ts +83 -0
  64. package/dist/widget/hooks/useQuote.d.ts.map +1 -0
  65. package/dist/widget/hooks/useSendForm.d.ts +2 -2
  66. package/dist/widget/hooks/useSendForm.d.ts.map +1 -1
  67. package/dist/widget/index.js +2 -2
  68. package/dist/widget/widget.d.ts +5 -0
  69. package/dist/widget/widget.d.ts.map +1 -1
  70. package/package.json +2 -2
  71. package/src/abortController.ts +35 -0
  72. package/src/constants.ts +3 -0
  73. package/src/fees.ts +199 -0
  74. package/src/prepareSend.ts +225 -398
  75. package/src/trails.ts +3 -3
  76. package/src/transactions.ts +62 -18
  77. package/src/widget/compiled.css +1 -1
  78. package/src/widget/components/AccountIntentTransactionHistoryButton.tsx +22 -0
  79. package/src/widget/components/AccountSettings.tsx +48 -36
  80. package/src/widget/components/ChainFilterDropdown.tsx +24 -3
  81. package/src/widget/components/ClassicSwap.tsx +24 -62
  82. package/src/widget/components/ConnectWallet.tsx +4 -1
  83. package/src/widget/components/ConnectedWallets.tsx +21 -21
  84. package/src/widget/components/DynamicInputStyles.tsx +76 -0
  85. package/src/widget/components/Earn.tsx +34 -29
  86. package/src/widget/components/ErrorAnimationIcon.tsx +130 -0
  87. package/src/widget/components/FeeBreakdown.tsx +155 -0
  88. package/src/widget/components/Fund.tsx +10 -26
  89. package/src/widget/components/FundSwap.tsx +2 -2
  90. package/src/widget/components/FundingMethodSelectorButton.tsx +24 -14
  91. package/src/widget/components/Identicon.tsx +164 -95
  92. package/src/widget/components/MeshConnectExchanges.tsx +2 -15
  93. package/src/widget/components/Modal.tsx +0 -12
  94. package/src/widget/components/Pay.tsx +65 -63
  95. package/src/widget/components/PoolDeposit.tsx +206 -230
  96. package/src/widget/components/PoolWithdraw.tsx +219 -238
  97. package/src/widget/components/PriceImpactWarning.tsx +1 -1
  98. package/src/widget/components/QuoteDetails.tsx +25 -8
  99. package/src/widget/components/Receipt.tsx +16 -2
  100. package/src/widget/components/RecipientSelectorButton.tsx +7 -5
  101. package/src/widget/components/Recipients.tsx +1 -1
  102. package/src/widget/components/ScreenHeader.tsx +60 -36
  103. package/src/widget/components/Swap.tsx +2 -2
  104. package/src/widget/components/ThemeProvider.tsx +2 -1
  105. package/src/widget/components/TokenDisplayNonSelectable.tsx +40 -0
  106. package/src/widget/components/TokenImage.tsx +1 -1
  107. package/src/widget/components/TokenSelector.tsx +62 -53
  108. package/src/widget/components/TokenSelectorButton.tsx +38 -15
  109. package/src/widget/components/Tooltip.tsx +51 -0
  110. package/src/widget/components/TransferPendingVertical.tsx +1 -1
  111. package/src/widget/components/WaasFeeOptions.tsx +124 -5
  112. package/src/widget/components/WalletConfirmation.tsx +23 -13
  113. package/src/widget/components/WalletConnect.tsx +93 -29
  114. package/src/widget/hooks/useQuote.ts +413 -0
  115. package/src/widget/hooks/useSendForm.ts +8 -4
  116. package/src/widget/widget.tsx +175 -190
@@ -0,0 +1,83 @@
1
+ import { TransactionReceipt } from 'viem';
2
+ import { TradeType, PrepareSendFees } from '../../prepareSend.js';
3
+ import { Chain } from '../../chains.js';
4
+ import { SupportedToken } from '../../tokens.js';
5
+ import { TransactionState } from '../../transactions.js';
6
+ import { MetaTxnReceipt, RelayerEnv } from '../../relayer.js';
7
+ import { SequenceEnv } from '../../config.js';
8
+ export type UseQuoteProps = {
9
+ walletClient?: any;
10
+ fromTokenAddress?: string | null;
11
+ fromChainId?: number | null;
12
+ toTokenAddress?: string | null;
13
+ toChainId?: number | null;
14
+ toCalldata?: string | null;
15
+ swapAmount?: string | bigint;
16
+ toRecipient?: string | null;
17
+ tradeType?: TradeType | null;
18
+ slippageTolerance?: string | number | null;
19
+ onStatusUpdate?: ((transactionStates: TransactionState[]) => void) | null;
20
+ quoteProvider?: string | null;
21
+ gasless?: boolean;
22
+ paymasterUrl?: string;
23
+ selectedFeeToken?: {
24
+ tokenAddress: string;
25
+ tokenSymbol?: string;
26
+ } | null;
27
+ abortSignal?: AbortSignal;
28
+ };
29
+ export type SwapReturn = {
30
+ originTransaction: {
31
+ transactionHash?: string | null;
32
+ explorerUrl?: string | null;
33
+ receipt: TransactionReceipt | MetaTxnReceipt | null;
34
+ };
35
+ destinationTransaction: {
36
+ transactionHash?: string | null;
37
+ explorerUrl?: string | null;
38
+ receipt: MetaTxnReceipt | null;
39
+ };
40
+ totalCompletionSeconds?: number;
41
+ };
42
+ export type QuoteProviderInfo = {
43
+ id: string;
44
+ name: string;
45
+ url: string;
46
+ };
47
+ export type Quote = {
48
+ fromAmount: string;
49
+ fromAmountMin: string;
50
+ toAmount: string;
51
+ toAmountMin: string;
52
+ originToken: SupportedToken;
53
+ destinationToken: SupportedToken;
54
+ originChain: Chain;
55
+ destinationChain: Chain;
56
+ fees: PrepareSendFees;
57
+ slippageTolerance: string;
58
+ priceImpact: string;
59
+ completionEstimateSeconds: number;
60
+ transactionStates?: TransactionState[];
61
+ originTokenRate?: string;
62
+ quoteProvider?: QuoteProviderInfo | null;
63
+ destinationTokenRate?: string;
64
+ fromAmountUsdDisplay?: string;
65
+ toAmountUsdDisplay?: string;
66
+ gasCostUsd?: number;
67
+ gasCostUsdDisplay?: string;
68
+ gasCost?: string;
69
+ gasCostFormatted?: string;
70
+ };
71
+ export type UseQuoteReturn = {
72
+ quote: Quote | null;
73
+ swap: (() => Promise<SwapReturn | null>) | null;
74
+ isLoadingQuote: boolean;
75
+ quoteError: unknown;
76
+ refetchQuote: () => void;
77
+ abort: () => void;
78
+ };
79
+ export declare function useQuote({ walletClient, fromTokenAddress, fromChainId, toTokenAddress, toChainId, swapAmount, tradeType, toRecipient, toCalldata, slippageTolerance, onStatusUpdate, quoteProvider, gasless, paymasterUrl, selectedFeeToken, relayerEnv, nodeGatewayEnv, abortSignal: externalAbortSignal, }?: Partial<UseQuoteProps & {
80
+ relayerEnv?: RelayerEnv;
81
+ nodeGatewayEnv?: SequenceEnv;
82
+ }>): UseQuoteReturn;
83
+ //# sourceMappingURL=useQuote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useQuote.d.ts","sourceRoot":"","sources":["../../../src/widget/hooks/useQuote.ts"],"names":[],"mappings":"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"}
@@ -40,14 +40,14 @@ export type OnCompleteProps = {
40
40
  transactionStates: TransactionState[];
41
41
  };
42
42
  export type UseSendProps = {
43
- account: Account;
43
+ account?: Account;
44
44
  toAmount?: string;
45
45
  toRecipient?: string;
46
46
  toChainId?: number;
47
47
  toToken?: string;
48
48
  toCalldata?: string;
49
49
  refundAddress?: string;
50
- walletClient: WalletClient;
50
+ walletClient?: WalletClient;
51
51
  onTransactionStateChange: (transactionStates: TransactionState[]) => void;
52
52
  onError: (error: Error | string | null) => void;
53
53
  onWaitingForWalletConfirm: (quote: PrepareSendQuote) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useSendForm.d.ts","sourceRoot":"","sources":["../../../src/widget/hooks/useSendForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSendForm.d.ts","sourceRoot":"","sources":["../../../src/widget/hooks/useSendForm.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { af as r, ae as o } from "../index-_QuyGrjU.js";
1
+ import { ai as e, ah as o } from "../index-BnhdZ8Ho.js";
2
2
  export {
3
- r as TrailsWidget,
3
+ e as TrailsWidget,
4
4
  o as createModalController
5
5
  };
@@ -6,6 +6,11 @@ import { RelayerEnv } from '../relayer.js';
6
6
  import { Theme } from '../theme.js';
7
7
  import { TransactionState } from '../transactions.js';
8
8
  export declare const aaveClient: AaveClient;
9
+ interface ModalContextType {
10
+ closeModal: () => void;
11
+ isModalOpen: boolean;
12
+ }
13
+ export declare const useModal: () => ModalContextType;
9
14
  export type TrailsWidgetProps = {
10
15
  appId?: string;
11
16
  projectAccessKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/widget/widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/widget/widget.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "0xtrails",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "SDK for Trails",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -35,7 +35,7 @@
35
35
  "@0xsequence/relayer": "0.0.0-20251021104024",
36
36
  "@0xsequence/sessions": "^2.3.30",
37
37
  "@0xsequence/signhub": "^2.3.30",
38
- "@0xsequence/trails-api": "^0.1.3",
38
+ "@0xsequence/trails-api": "^0.1.4",
39
39
  "@0xsequence/wallet-core": "0.0.0-20251021104024",
40
40
  "@0xsequence/wallet-primitives": "0.0.0-20251021104024",
41
41
  "@aave/react": "^0.7.0",
@@ -0,0 +1,35 @@
1
+ import { logger } from "./logger.js"
2
+
3
+ // Global abort controller registry to track active polling operations
4
+ const activeAbortControllers = new Map<string, AbortController>()
5
+
6
+ // Registry functions for managing abort controllers
7
+ export const abortControllerRegistry = {
8
+ register: (id: string, controller: AbortController) => {
9
+ logger.console.log("[trails-sdk] Registering abort controller:", id)
10
+ activeAbortControllers.set(id, controller)
11
+ },
12
+ unregister: (id: string) => {
13
+ logger.console.log("[trails-sdk] Unregistering abort controller:", id)
14
+ activeAbortControllers.delete(id)
15
+ },
16
+ abort: (id: string) => {
17
+ const controller = activeAbortControllers.get(id)
18
+ if (controller) {
19
+ controller.abort()
20
+ activeAbortControllers.delete(id)
21
+ }
22
+ },
23
+ abortAll: () => {
24
+ logger.console.log(
25
+ "[trails-sdk] Aborting all active operations:",
26
+ activeAbortControllers.size,
27
+ )
28
+ for (const [id, controller] of activeAbortControllers) {
29
+ logger.console.log("[trails-sdk] Aborting operation:", id)
30
+ controller.abort()
31
+ }
32
+ activeAbortControllers.clear()
33
+ },
34
+ getAll: () => Array.from(activeAbortControllers.keys()),
35
+ }
package/src/constants.ts CHANGED
@@ -55,3 +55,6 @@ export const DEFAULT_WALLETCONNECT_PROJECT_ID =
55
55
  export const SITE_URL = "https://trails.build/"
56
56
 
57
57
  export const DEFAULT_SLIPPAGE_TOLERANCE = "0.05" // 0.001 = 0.1%, 0.005 = 0.5%, 0.03 = 3%, 0.05 = 5%
58
+
59
+ export const DEFAULT_MODE = "pay"
60
+ export const DEFAULT_THEME = "light"
package/src/fees.ts ADDED
@@ -0,0 +1,199 @@
1
+ import type { GetIntentCallsPayloadsReturn } from "./intents.js"
2
+ import { getTokenInfo } from "./tokens.js"
3
+ import { formatRawAmount, formatUsdAmountDisplay } from "./tokenBalances.js"
4
+ import { zeroAddress } from "viem"
5
+
6
+ export interface FeeItem {
7
+ amount: string
8
+ tokenSymbol: string
9
+ tokenAddress: string
10
+ chainId: number
11
+ usdValue: string
12
+ }
13
+
14
+ export interface TrailsFeeBreakdown {
15
+ originRelayFee?: FeeItem
16
+ destinationRelayFee?: FeeItem
17
+ providerFee?: FeeItem
18
+ trailsFee?: FeeItem
19
+ totalUsdValue?: string
20
+ originChainId?: number
21
+ destinationChainId?: number
22
+ }
23
+
24
+ // Helper function to format token amounts with proper decimal conversion
25
+ async function formatTokenAmount(
26
+ amount: string | number | undefined,
27
+ tokenAddress: string,
28
+ chainId: number,
29
+ ): Promise<string> {
30
+ if (!amount) return "0"
31
+ const num = typeof amount === "string" ? parseFloat(amount) : amount
32
+ if (num === 0) return "0"
33
+
34
+ // Get token info to determine decimals
35
+ const tokenInfo = await getTokenInfo(chainId, tokenAddress)
36
+ if (!tokenInfo?.decimals) {
37
+ throw new Error(
38
+ `Token decimals not found for token ${tokenAddress} on chain ${chainId}`,
39
+ )
40
+ }
41
+
42
+ // Use existing formatRawAmount utility
43
+ const formatted = formatRawAmount(BigInt(Math.floor(num)), tokenInfo.decimals)
44
+
45
+ // Handle very small amounts
46
+ const numFormatted = parseFloat(formatted)
47
+ if (numFormatted < 0.000001 && numFormatted > 0) return "<0.000001"
48
+
49
+ return formatted
50
+ }
51
+
52
+ // Extract fee breakdown from intent data
53
+ export async function extractTrailsFeeBreakdown(
54
+ intent: GetIntentCallsPayloadsReturn,
55
+ ): Promise<TrailsFeeBreakdown | null> {
56
+ const trailsFee = intent.payloads?.trailsFee
57
+ if (!trailsFee?.executeQuote?.chainQuotes) {
58
+ return null
59
+ }
60
+
61
+ const chainQuotes = trailsFee.executeQuote.chainQuotes
62
+
63
+ // Get chain IDs from the calls array to determine origin and destination chains
64
+ const calls = intent.payloads?.calls || []
65
+ const originChainId = calls[0]?.chainId // First call is origin chain
66
+ const destinationChainId = calls[1]?.chainId // Second call is destination chain
67
+
68
+ // Find quotes by chainId
69
+ const originChainQuote = chainQuotes.find(
70
+ (quote: any) => quote.chainId === originChainId,
71
+ )
72
+ const destinationChainQuote = chainQuotes.find(
73
+ (quote: any) => quote.chainId === destinationChainId,
74
+ )
75
+
76
+ // If we can't find any chain quotes, return null
77
+ if (!originChainQuote && !destinationChainQuote) {
78
+ console.warn(
79
+ "[trails-sdk] Could not find any chain quotes for fee breakdown",
80
+ {
81
+ originChainId,
82
+ destinationChainId,
83
+ availableChainIds: chainQuotes.map((q: any) => q.chainId),
84
+ },
85
+ )
86
+ return null
87
+ }
88
+
89
+ const breakdown: TrailsFeeBreakdown = {}
90
+
91
+ // Extract origin relay fee if available
92
+ if (originChainQuote) {
93
+ const originTokenSymbol = originChainQuote.nativeTokenSymbol || "ETH"
94
+ const originChainIdNum = parseInt(originChainId || "0", 10)
95
+ const nativeTokenAddress = zeroAddress
96
+
97
+ breakdown.originRelayFee = {
98
+ amount: await formatTokenAmount(
99
+ originChainQuote.totalFeeAmount,
100
+ nativeTokenAddress,
101
+ originChainIdNum,
102
+ ),
103
+ tokenSymbol: originTokenSymbol,
104
+ tokenAddress: nativeTokenAddress,
105
+ chainId: originChainIdNum,
106
+ usdValue: formatUsdAmountDisplay(originChainQuote.totalFeeUSD),
107
+ }
108
+ breakdown.originChainId = originChainIdNum
109
+ }
110
+
111
+ // Extract destination relay fee if available
112
+ if (destinationChainQuote) {
113
+ const destinationTokenSymbol =
114
+ destinationChainQuote.nativeTokenSymbol || "ETH"
115
+ const destinationChainIdNum = parseInt(destinationChainId || "0", 10)
116
+ const nativeTokenAddress = zeroAddress
117
+
118
+ breakdown.destinationRelayFee = {
119
+ amount: await formatTokenAmount(
120
+ destinationChainQuote.totalFeeAmount,
121
+ nativeTokenAddress,
122
+ destinationChainIdNum,
123
+ ),
124
+ tokenSymbol: destinationTokenSymbol,
125
+ tokenAddress: nativeTokenAddress,
126
+ chainId: destinationChainIdNum,
127
+ usdValue: formatUsdAmountDisplay(destinationChainQuote.totalFeeUSD),
128
+ }
129
+ breakdown.destinationChainId = destinationChainIdNum
130
+ }
131
+
132
+ // Extract provider fee from crossChainFee if available
133
+ const providerFeeAmount = trailsFee.crossChainFee?.providerFeeUSD
134
+ const providerFeeRawAmount = trailsFee.crossChainFee?.providerFee
135
+ if (providerFeeAmount !== undefined || providerFeeRawAmount !== undefined) {
136
+ const feeTokenAddress = trailsFee.feeToken || zeroAddress
137
+ const originChainIdNum = parseInt(originChainId || "0", 10)
138
+
139
+ // Get token info to determine the actual token symbol
140
+ const feeTokenInfo = await getTokenInfo(originChainIdNum, feeTokenAddress)
141
+ if (!feeTokenInfo?.symbol) {
142
+ throw new Error(
143
+ `Token symbol not found for provider fee token ${feeTokenAddress} on chain ${originChainIdNum}`,
144
+ )
145
+ }
146
+
147
+ breakdown.providerFee = {
148
+ amount: await formatTokenAmount(
149
+ providerFeeRawAmount,
150
+ feeTokenAddress,
151
+ originChainIdNum,
152
+ ),
153
+ tokenSymbol: feeTokenInfo.symbol,
154
+ tokenAddress: feeTokenAddress,
155
+ chainId: originChainIdNum,
156
+ usdValue: formatUsdAmountDisplay(providerFeeAmount),
157
+ }
158
+ }
159
+
160
+ // Extract Trails platform fee from crossChainFee if available
161
+ const trailsFeeAmount = trailsFee.crossChainFee?.trailsSwapFeeUSD
162
+ const trailsFeeRawAmount = trailsFee.crossChainFee?.trailsSwapFee
163
+ if (trailsFeeAmount !== undefined || trailsFeeRawAmount !== undefined) {
164
+ const feeTokenAddress = trailsFee.feeToken || zeroAddress
165
+ const originChainIdNum = parseInt(originChainId || "0", 10)
166
+
167
+ // Get token info to determine the actual token symbol
168
+ const feeTokenInfo = await getTokenInfo(originChainIdNum, feeTokenAddress)
169
+ if (!feeTokenInfo?.symbol) {
170
+ throw new Error(
171
+ `Token symbol not found for trails fee token ${feeTokenAddress} on chain ${originChainIdNum}`,
172
+ )
173
+ }
174
+
175
+ breakdown.trailsFee = {
176
+ amount: await formatTokenAmount(
177
+ trailsFeeRawAmount,
178
+ feeTokenAddress,
179
+ originChainIdNum,
180
+ ),
181
+ tokenSymbol: feeTokenInfo.symbol,
182
+ tokenAddress: feeTokenAddress,
183
+ chainId: originChainIdNum,
184
+ usdValue: formatUsdAmountDisplay(trailsFeeAmount),
185
+ }
186
+ }
187
+
188
+ // Calculate total USD value from the actual data
189
+ const originUsd = parseFloat(originChainQuote?.totalFeeUSD || "0")
190
+ const destinationUsd = parseFloat(destinationChainQuote?.totalFeeUSD || "0")
191
+ const providerUsd =
192
+ typeof providerFeeAmount === "number" ? providerFeeAmount : 0
193
+ const trailsUsd = typeof trailsFeeAmount === "number" ? trailsFeeAmount : 0
194
+ const totalUsd = originUsd + destinationUsd + providerUsd + trailsUsd
195
+
196
+ breakdown.totalUsdValue = formatUsdAmountDisplay(totalUsd)
197
+
198
+ return breakdown
199
+ }