@metamask-previews/bridge-controller 77.8.0-preview-5959fe813 → 77.8.0-preview-0d2cbf546

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 (196) hide show
  1. package/CHANGELOG.md +0 -12
  2. package/dist/bridge-controller.cjs +3 -8
  3. package/dist/bridge-controller.cjs.map +1 -1
  4. package/dist/bridge-controller.d.cts +3 -4
  5. package/dist/bridge-controller.d.cts.map +1 -1
  6. package/dist/bridge-controller.d.mts +3 -4
  7. package/dist/bridge-controller.d.mts.map +1 -1
  8. package/dist/bridge-controller.mjs +3 -8
  9. package/dist/bridge-controller.mjs.map +1 -1
  10. package/dist/index.cjs +2 -19
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +4 -12
  13. package/dist/index.d.cts.map +1 -1
  14. package/dist/index.d.mts +4 -12
  15. package/dist/index.d.mts.map +1 -1
  16. package/dist/index.mjs +1 -7
  17. package/dist/index.mjs.map +1 -1
  18. package/dist/selectors.cjs +29 -31
  19. package/dist/selectors.cjs.map +1 -1
  20. package/dist/selectors.d.cts +36410 -5110
  21. package/dist/selectors.d.cts.map +1 -1
  22. package/dist/selectors.d.mts +36410 -5110
  23. package/dist/selectors.d.mts.map +1 -1
  24. package/dist/selectors.mjs +29 -31
  25. package/dist/selectors.mjs.map +1 -1
  26. package/dist/types.cjs.map +1 -1
  27. package/dist/types.d.cts +7 -2
  28. package/dist/types.d.cts.map +1 -1
  29. package/dist/types.d.mts +7 -2
  30. package/dist/types.d.mts.map +1 -1
  31. package/dist/types.mjs.map +1 -1
  32. package/dist/utils/bridge.cjs +5 -1
  33. package/dist/utils/bridge.cjs.map +1 -1
  34. package/dist/utils/bridge.d.cts +19 -2
  35. package/dist/utils/bridge.d.cts.map +1 -1
  36. package/dist/utils/bridge.d.mts +19 -2
  37. package/dist/utils/bridge.d.mts.map +1 -1
  38. package/dist/utils/bridge.mjs +3 -0
  39. package/dist/utils/bridge.mjs.map +1 -1
  40. package/dist/utils/caip-formatters.cjs +3 -0
  41. package/dist/utils/caip-formatters.cjs.map +1 -1
  42. package/dist/utils/caip-formatters.d.cts.map +1 -1
  43. package/dist/utils/caip-formatters.d.mts.map +1 -1
  44. package/dist/utils/caip-formatters.mjs +3 -0
  45. package/dist/utils/caip-formatters.mjs.map +1 -1
  46. package/dist/utils/feature-flags.d.cts +2 -2
  47. package/dist/utils/feature-flags.d.mts +2 -2
  48. package/dist/utils/fetch.cjs +40 -37
  49. package/dist/utils/fetch.cjs.map +1 -1
  50. package/dist/utils/fetch.d.cts +4 -10
  51. package/dist/utils/fetch.d.cts.map +1 -1
  52. package/dist/utils/fetch.d.mts +4 -10
  53. package/dist/utils/fetch.d.mts.map +1 -1
  54. package/dist/utils/fetch.mjs +40 -37
  55. package/dist/utils/fetch.mjs.map +1 -1
  56. package/dist/utils/metrics/properties.cjs +6 -6
  57. package/dist/utils/metrics/properties.cjs.map +1 -1
  58. package/dist/utils/metrics/properties.d.cts +5 -8
  59. package/dist/utils/metrics/properties.d.cts.map +1 -1
  60. package/dist/utils/metrics/properties.d.mts +5 -8
  61. package/dist/utils/metrics/properties.d.mts.map +1 -1
  62. package/dist/utils/metrics/properties.mjs +6 -6
  63. package/dist/utils/metrics/properties.mjs.map +1 -1
  64. package/dist/utils/metrics/types.cjs.map +1 -1
  65. package/dist/utils/metrics/types.d.cts +1 -1
  66. package/dist/utils/metrics/types.d.cts.map +1 -1
  67. package/dist/utils/metrics/types.d.mts +1 -1
  68. package/dist/utils/metrics/types.d.mts.map +1 -1
  69. package/dist/utils/metrics/types.mjs.map +1 -1
  70. package/dist/utils/number-formatters.cjs +1 -74
  71. package/dist/utils/number-formatters.cjs.map +1 -1
  72. package/dist/utils/number-formatters.d.cts +0 -18
  73. package/dist/utils/number-formatters.d.cts.map +1 -1
  74. package/dist/utils/number-formatters.d.mts +0 -18
  75. package/dist/utils/number-formatters.d.mts.map +1 -1
  76. package/dist/utils/number-formatters.mjs +0 -71
  77. package/dist/utils/number-formatters.mjs.map +1 -1
  78. package/dist/utils/quote-fees.cjs +22 -23
  79. package/dist/utils/quote-fees.cjs.map +1 -1
  80. package/dist/utils/quote-fees.d.cts +2 -4
  81. package/dist/utils/quote-fees.d.cts.map +1 -1
  82. package/dist/utils/quote-fees.d.mts +2 -4
  83. package/dist/utils/quote-fees.d.mts.map +1 -1
  84. package/dist/utils/quote-fees.mjs +23 -24
  85. package/dist/utils/quote-fees.mjs.map +1 -1
  86. package/dist/utils/quote-metadata/calculators.cjs +35 -33
  87. package/dist/utils/quote-metadata/calculators.cjs.map +1 -1
  88. package/dist/utils/quote-metadata/calculators.d.cts +14 -20
  89. package/dist/utils/quote-metadata/calculators.d.cts.map +1 -1
  90. package/dist/utils/quote-metadata/calculators.d.mts +14 -20
  91. package/dist/utils/quote-metadata/calculators.d.mts.map +1 -1
  92. package/dist/utils/quote-metadata/calculators.mjs +36 -34
  93. package/dist/utils/quote-metadata/calculators.mjs.map +1 -1
  94. package/dist/utils/quote-metadata/merge.cjs +2 -24
  95. package/dist/utils/quote-metadata/merge.cjs.map +1 -1
  96. package/dist/utils/quote-metadata/merge.d.cts +2 -3
  97. package/dist/utils/quote-metadata/merge.d.cts.map +1 -1
  98. package/dist/utils/quote-metadata/merge.d.mts +2 -3
  99. package/dist/utils/quote-metadata/merge.d.mts.map +1 -1
  100. package/dist/utils/quote-metadata/merge.mjs +2 -24
  101. package/dist/utils/quote-metadata/merge.mjs.map +1 -1
  102. package/dist/utils/slippage.d.cts +1 -1
  103. package/dist/utils/slippage.d.mts +1 -1
  104. package/dist/validators/batch-sell.d.cts +8 -8
  105. package/dist/validators/batch-sell.d.mts +8 -8
  106. package/dist/validators/bridge-asset.cjs +1 -65
  107. package/dist/validators/bridge-asset.cjs.map +1 -1
  108. package/dist/validators/bridge-asset.d.cts +5 -99
  109. package/dist/validators/bridge-asset.d.cts.map +1 -1
  110. package/dist/validators/bridge-asset.d.mts +5 -99
  111. package/dist/validators/bridge-asset.d.mts.map +1 -1
  112. package/dist/validators/bridge-asset.mjs +1 -64
  113. package/dist/validators/bridge-asset.mjs.map +1 -1
  114. package/dist/validators/feature-flags.d.cts +5 -5
  115. package/dist/validators/feature-flags.d.mts +5 -5
  116. package/dist/validators/intent.d.cts +3 -3
  117. package/dist/validators/intent.d.mts +3 -3
  118. package/dist/validators/quote-response-v1.d.cts +179 -179
  119. package/dist/validators/quote-response-v1.d.mts +179 -179
  120. package/dist/validators/quote.cjs +3 -73
  121. package/dist/validators/quote.cjs.map +1 -1
  122. package/dist/validators/quote.d.cts +45 -407
  123. package/dist/validators/quote.d.cts.map +1 -1
  124. package/dist/validators/quote.d.mts +45 -407
  125. package/dist/validators/quote.d.mts.map +1 -1
  126. package/dist/validators/quote.mjs +4 -74
  127. package/dist/validators/quote.mjs.map +1 -1
  128. package/dist/validators/step.cjs +1 -7
  129. package/dist/validators/step.cjs.map +1 -1
  130. package/dist/validators/step.d.cts +26 -197
  131. package/dist/validators/step.d.cts.map +1 -1
  132. package/dist/validators/step.d.mts +26 -197
  133. package/dist/validators/step.d.mts.map +1 -1
  134. package/dist/validators/step.mjs +1 -7
  135. package/dist/validators/step.mjs.map +1 -1
  136. package/dist/validators/token-feature.d.cts +2 -2
  137. package/dist/validators/token-feature.d.mts +2 -2
  138. package/dist/validators/trade.d.cts +2 -2
  139. package/dist/validators/trade.d.mts +2 -2
  140. package/package.json +1 -1
  141. package/dist/coercers/quote-response-v1-to-v2.cjs +0 -137
  142. package/dist/coercers/quote-response-v1-to-v2.cjs.map +0 -1
  143. package/dist/coercers/quote-response-v1-to-v2.d.cts +0 -13
  144. package/dist/coercers/quote-response-v1-to-v2.d.cts.map +0 -1
  145. package/dist/coercers/quote-response-v1-to-v2.d.mts +0 -13
  146. package/dist/coercers/quote-response-v1-to-v2.d.mts.map +0 -1
  147. package/dist/coercers/quote-response-v1-to-v2.mjs +0 -132
  148. package/dist/coercers/quote-response-v1-to-v2.mjs.map +0 -1
  149. package/dist/coercers/quote-response-v2-to-v1.cjs +0 -173
  150. package/dist/coercers/quote-response-v2-to-v1.cjs.map +0 -1
  151. package/dist/coercers/quote-response-v2-to-v1.d.cts +0 -13
  152. package/dist/coercers/quote-response-v2-to-v1.d.cts.map +0 -1
  153. package/dist/coercers/quote-response-v2-to-v1.d.mts +0 -13
  154. package/dist/coercers/quote-response-v2-to-v1.d.mts.map +0 -1
  155. package/dist/coercers/quote-response-v2-to-v1.mjs +0 -169
  156. package/dist/coercers/quote-response-v2-to-v1.mjs.map +0 -1
  157. package/dist/utils/quote-metadata/to-normalized-amounts.cjs +0 -38
  158. package/dist/utils/quote-metadata/to-normalized-amounts.cjs.map +0 -1
  159. package/dist/utils/quote-metadata/to-normalized-amounts.d.cts +0 -10
  160. package/dist/utils/quote-metadata/to-normalized-amounts.d.cts.map +0 -1
  161. package/dist/utils/quote-metadata/to-normalized-amounts.d.mts +0 -10
  162. package/dist/utils/quote-metadata/to-normalized-amounts.d.mts.map +0 -1
  163. package/dist/utils/quote-metadata/to-normalized-amounts.mjs +0 -34
  164. package/dist/utils/quote-metadata/to-normalized-amounts.mjs.map +0 -1
  165. package/dist/utils/quote-metadata/to-quote-metadata-v1.cjs +0 -39
  166. package/dist/utils/quote-metadata/to-quote-metadata-v1.cjs.map +0 -1
  167. package/dist/utils/quote-metadata/to-quote-metadata-v1.d.cts +0 -13
  168. package/dist/utils/quote-metadata/to-quote-metadata-v1.d.cts.map +0 -1
  169. package/dist/utils/quote-metadata/to-quote-metadata-v1.d.mts +0 -13
  170. package/dist/utils/quote-metadata/to-quote-metadata-v1.d.mts.map +0 -1
  171. package/dist/utils/quote-metadata/to-quote-metadata-v1.mjs +0 -36
  172. package/dist/utils/quote-metadata/to-quote-metadata-v1.mjs.map +0 -1
  173. package/dist/utils/quote-metadata/to-quote-metadata-v2.cjs +0 -94
  174. package/dist/utils/quote-metadata/to-quote-metadata-v2.cjs.map +0 -1
  175. package/dist/utils/quote-metadata/to-quote-metadata-v2.d.cts +0 -12
  176. package/dist/utils/quote-metadata/to-quote-metadata-v2.d.cts.map +0 -1
  177. package/dist/utils/quote-metadata/to-quote-metadata-v2.d.mts +0 -12
  178. package/dist/utils/quote-metadata/to-quote-metadata-v2.d.mts.map +0 -1
  179. package/dist/utils/quote-metadata/to-quote-metadata-v2.mjs +0 -90
  180. package/dist/utils/quote-metadata/to-quote-metadata-v2.mjs.map +0 -1
  181. package/dist/validators/amount-and-asset.cjs +0 -27
  182. package/dist/validators/amount-and-asset.cjs.map +0 -1
  183. package/dist/validators/amount-and-asset.d.cts +0 -62
  184. package/dist/validators/amount-and-asset.d.cts.map +0 -1
  185. package/dist/validators/amount-and-asset.d.mts +0 -62
  186. package/dist/validators/amount-and-asset.d.mts.map +0 -1
  187. package/dist/validators/amount-and-asset.mjs +0 -24
  188. package/dist/validators/amount-and-asset.mjs.map +0 -1
  189. package/dist/validators/quote-response.cjs +0 -116
  190. package/dist/validators/quote-response.cjs.map +0 -1
  191. package/dist/validators/quote-response.d.cts +0 -1979
  192. package/dist/validators/quote-response.d.cts.map +0 -1
  193. package/dist/validators/quote-response.d.mts +0 -1979
  194. package/dist/validators/quote-response.d.mts.map +0 -1
  195. package/dist/validators/quote-response.mjs +0 -112
  196. package/dist/validators/quote-response.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"quote-response.d.mts","sourceRoot":"","sources":["../../src/validators/quote-response.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- import { assert, number, optional, string, type, union, intersection, nullable, enums, literal } from "@metamask/superstruct";
2
- import { CaipChainIdStruct, KnownCaipNamespace, parseCaipAssetType, StrictHexStruct } from "@metamask/utils";
3
- import { FeatureId } from "./feature-flags.mjs";
4
- import { FloatStringSchema } from "./number.mjs";
5
- import { QuoteSchemaV2 } from "./quote.mjs";
6
- import { BitcoinTradeDataSchema, StellarTradeDataSchema, TronTradeDataSchema, TxDataSchema } from "./trade.mjs";
7
- const CommonQuoteResponseSchema = type({
8
- quoteId: optional(string()),
9
- quote: QuoteSchemaV2,
10
- estimatedProcessingTimeInSeconds: number(),
11
- /**
12
- * Appended to the quote if there are multiple quote requests in a batch. This
13
- * indicates which quoteRequest the quote is for
14
- */
15
- quoteRequestIndex: optional(number()),
16
- /**
17
- * Appended to the quote response based on the quote requested featureId
18
- */
19
- featureId: optional(enums(Object.values(FeatureId))),
20
- /**
21
- * Appended to the quote response based on the quote request nonEvmFeesInNative flag
22
- *
23
- * @deprecated Use network feeData
24
- */
25
- nonEvmFeesInNative: optional(FloatStringSchema),
26
- /**
27
- * Appended to the quote response based on the quote request l1GasFeesInHexWei flag
28
- *
29
- * @deprecated Use network feeData
30
- */
31
- l1GasFeesInHexWei: optional(StrictHexStruct),
32
- });
33
- const EvmQuoteResponseSchema = intersection([
34
- CommonQuoteResponseSchema,
35
- type({
36
- namespace: literal(KnownCaipNamespace.Eip155),
37
- chainId: CaipChainIdStruct,
38
- trade: TxDataSchema,
39
- approval: optional(TxDataSchema),
40
- resetApproval: optional(TxDataSchema),
41
- }),
42
- ]);
43
- const TronQuoteResponseSchema = intersection([
44
- CommonQuoteResponseSchema,
45
- type({
46
- namespace: literal(KnownCaipNamespace.Tron),
47
- chainId: CaipChainIdStruct,
48
- trade: TronTradeDataSchema,
49
- approval: optional(TronTradeDataSchema),
50
- }),
51
- ]);
52
- const SolanaQuoteResponseSchema = intersection([
53
- CommonQuoteResponseSchema,
54
- type({
55
- namespace: literal(KnownCaipNamespace.Solana),
56
- chainId: CaipChainIdStruct,
57
- trade: string(),
58
- approval: optional(TxDataSchema),
59
- }),
60
- ]);
61
- const BitcoinQuoteResponseSchema = intersection([
62
- CommonQuoteResponseSchema,
63
- type({
64
- namespace: literal(KnownCaipNamespace.Bip122),
65
- chainId: CaipChainIdStruct,
66
- trade: BitcoinTradeDataSchema,
67
- approval: optional(TxDataSchema),
68
- }),
69
- ]);
70
- const StellarQuoteResponseSchema = intersection([
71
- CommonQuoteResponseSchema,
72
- type({
73
- namespace: literal(KnownCaipNamespace.Stellar),
74
- chainId: CaipChainIdStruct,
75
- trade: StellarTradeDataSchema,
76
- approval: optional(TxDataSchema),
77
- }),
78
- ]);
79
- export const QuoteResponseSchemaV2 = nullable(union([
80
- EvmQuoteResponseSchema,
81
- SolanaQuoteResponseSchema,
82
- TronQuoteResponseSchema,
83
- BitcoinQuoteResponseSchema,
84
- StellarQuoteResponseSchema,
85
- ]));
86
- // This ensures the QuoteResponse type is in sync with the QuoteResponseSchemaV2
87
- const QuoteResponse = QuoteResponseSchemaV2;
88
- const NAMESPACE_TO_TRADE_SCHEMA = {
89
- [KnownCaipNamespace.Eip155]: EvmQuoteResponseSchema,
90
- [KnownCaipNamespace.Tron]: TronQuoteResponseSchema,
91
- [KnownCaipNamespace.Solana]: SolanaQuoteResponseSchema,
92
- [KnownCaipNamespace.Bip122]: BitcoinQuoteResponseSchema,
93
- [KnownCaipNamespace.Stellar]: StellarQuoteResponseSchema,
94
- };
95
- export const validateQuoteResponse = (quoteResponse) => {
96
- // Validate common fields first
97
- assert(quoteResponse, CommonQuoteResponseSchema);
98
- // Extract the namespace and chainId from the src asset
99
- const { chain: { namespace: namespaceString }, chainId, } = parseCaipAssetType(quoteResponse.quote.src.asset.assetId);
100
- const namespace = namespaceString;
101
- if (!NAMESPACE_TO_TRADE_SCHEMA[namespace]) {
102
- return false;
103
- }
104
- // Validate the trade and approval fields based on the src chain's namespace
105
- assert({
106
- ...quoteResponse,
107
- namespace,
108
- chainId,
109
- }, NAMESPACE_TO_TRADE_SCHEMA[namespace]);
110
- return true;
111
- };
112
- //# sourceMappingURL=quote-response.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quote-response.mjs","sourceRoot":"","sources":["../../src/validators/quote-response.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assert,\n Infer,\n number,\n optional,\n string,\n type,\n union,\n intersection,\n Describe,\n nullable,\n enums,\n literal,\n AnyStruct,\n} from '@metamask/superstruct';\nimport {\n CaipChainId,\n CaipChainIdStruct,\n KnownCaipNamespace,\n parseCaipAssetType,\n StrictHexStruct,\n} from '@metamask/utils';\n\nimport { FeatureId } from './feature-flags';\nimport { FloatStringSchema } from './number';\nimport { QuoteSchemaV2 } from './quote';\nimport {\n BitcoinTradeData,\n BitcoinTradeDataSchema,\n StellarTradeData,\n StellarTradeDataSchema,\n TronTradeData,\n TronTradeDataSchema,\n TxData,\n TxDataSchema,\n} from './trade';\n\nconst CommonQuoteResponseSchema = type({\n quoteId: optional(string()),\n quote: QuoteSchemaV2,\n estimatedProcessingTimeInSeconds: number(),\n /**\n * Appended to the quote if there are multiple quote requests in a batch. This\n * indicates which quoteRequest the quote is for\n */\n quoteRequestIndex: optional(number()),\n /**\n * Appended to the quote response based on the quote requested featureId\n */\n featureId: optional(enums(Object.values(FeatureId))),\n /**\n * Appended to the quote response based on the quote request nonEvmFeesInNative flag\n *\n * @deprecated Use network feeData\n */\n nonEvmFeesInNative: optional(FloatStringSchema),\n /**\n * Appended to the quote response based on the quote request l1GasFeesInHexWei flag\n *\n * @deprecated Use network feeData\n */\n l1GasFeesInHexWei: optional(StrictHexStruct),\n});\n\nconst EvmQuoteResponseSchema = intersection([\n CommonQuoteResponseSchema,\n type({\n namespace: literal(KnownCaipNamespace.Eip155),\n chainId: CaipChainIdStruct,\n trade: TxDataSchema,\n approval: optional(TxDataSchema),\n resetApproval: optional(TxDataSchema),\n }),\n]);\n\nconst TronQuoteResponseSchema = intersection([\n CommonQuoteResponseSchema,\n type({\n namespace: literal(KnownCaipNamespace.Tron),\n chainId: CaipChainIdStruct,\n trade: TronTradeDataSchema,\n approval: optional(TronTradeDataSchema),\n }),\n]);\n\nconst SolanaQuoteResponseSchema = intersection([\n CommonQuoteResponseSchema,\n type({\n namespace: literal(KnownCaipNamespace.Solana),\n chainId: CaipChainIdStruct,\n trade: string(),\n approval: optional(TxDataSchema),\n }),\n]);\n\nconst BitcoinQuoteResponseSchema = intersection([\n CommonQuoteResponseSchema,\n type({\n namespace: literal(KnownCaipNamespace.Bip122),\n chainId: CaipChainIdStruct,\n trade: BitcoinTradeDataSchema,\n approval: optional(TxDataSchema),\n }),\n]);\n\nconst StellarQuoteResponseSchema = intersection([\n CommonQuoteResponseSchema,\n type({\n namespace: literal(KnownCaipNamespace.Stellar),\n chainId: CaipChainIdStruct,\n trade: StellarTradeDataSchema,\n approval: optional(TxDataSchema),\n }),\n]);\n\nexport const QuoteResponseSchemaV2 = nullable(\n union([\n EvmQuoteResponseSchema,\n SolanaQuoteResponseSchema,\n TronQuoteResponseSchema,\n BitcoinQuoteResponseSchema,\n StellarQuoteResponseSchema,\n ]),\n);\n\n/**\n * This is the V2 QuoteResponse type, including metadata calculated after quote fetch\n */\nexport type QuoteResponse = Omit<\n NonNullable<Infer<typeof QuoteResponseSchemaV2>>,\n 'trade' | 'approval' | 'resetApproval'\n> &\n (\n | {\n namespace: KnownCaipNamespace.Eip155;\n chainId: CaipChainId;\n trade: TxData & {\n data: string;\n };\n approval?: TxData;\n /**\n * Appended to the quote response based on the quote request resetApproval flag\n * If defined, the quote's total network fee will include the reset approval's gas limit.\n */\n resetApproval?: TxData;\n }\n | {\n namespace: KnownCaipNamespace.Solana;\n chainId: CaipChainId;\n trade: string;\n approval?: TxData;\n }\n | {\n namespace: KnownCaipNamespace.Tron;\n chainId: CaipChainId;\n trade: TronTradeData & {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n raw_data_hex: string;\n };\n approval?: TronTradeData;\n }\n | {\n namespace: KnownCaipNamespace.Bip122;\n chainId: CaipChainId;\n trade: BitcoinTradeData;\n approval?: TxData;\n }\n | {\n namespace: KnownCaipNamespace.Stellar;\n chainId: CaipChainId;\n trade: StellarTradeData;\n approval?: TxData;\n }\n );\n// This ensures the QuoteResponse type is in sync with the QuoteResponseSchemaV2\nconst QuoteResponse: Describe<QuoteResponse | null> = QuoteResponseSchemaV2;\n\nconst NAMESPACE_TO_TRADE_SCHEMA: Record<QuoteResponse['namespace'], AnyStruct> =\n {\n [KnownCaipNamespace.Eip155]: EvmQuoteResponseSchema,\n [KnownCaipNamespace.Tron]: TronQuoteResponseSchema,\n [KnownCaipNamespace.Solana]: SolanaQuoteResponseSchema,\n [KnownCaipNamespace.Bip122]: BitcoinQuoteResponseSchema,\n [KnownCaipNamespace.Stellar]: StellarQuoteResponseSchema,\n };\n\nexport const validateQuoteResponse = (\n quoteResponse: unknown,\n): quoteResponse is QuoteResponse => {\n // Validate common fields first\n assert(quoteResponse, CommonQuoteResponseSchema);\n\n // Extract the namespace and chainId from the src asset\n const {\n chain: { namespace: namespaceString },\n chainId,\n } = parseCaipAssetType(quoteResponse.quote.src.asset.assetId);\n const namespace = namespaceString as QuoteResponse['namespace'];\n\n if (!NAMESPACE_TO_TRADE_SCHEMA[namespace]) {\n return false;\n }\n\n // Validate the trade and approval fields based on the src chain's namespace\n assert(\n {\n ...quoteResponse,\n namespace,\n chainId,\n },\n NAMESPACE_TO_TRADE_SCHEMA[namespace],\n );\n return true;\n};\n"]}