@metamask-previews/bridge-controller 79.3.0-preview-364dd6413 → 79.3.0-preview-a3cea003b
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.
- package/CHANGELOG.md +0 -13
- package/dist/coercers/quote-response-v1-to-v2.cjs +4 -4
- package/dist/coercers/quote-response-v1-to-v2.cjs.map +1 -1
- package/dist/coercers/quote-response-v1-to-v2.mjs +4 -4
- package/dist/coercers/quote-response-v1-to-v2.mjs.map +1 -1
- package/dist/index.cjs +9 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/index.mjs.map +1 -1
- package/dist/selectors.cjs +4 -48
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +114 -1209
- package/dist/selectors.d.cts.map +1 -1
- package/dist/selectors.d.mts +114 -1209
- package/dist/selectors.d.mts.map +1 -1
- package/dist/selectors.mjs +4 -48
- package/dist/selectors.mjs.map +1 -1
- package/dist/utils/quote-metadata/calculators.cjs +12 -7
- package/dist/utils/quote-metadata/calculators.cjs.map +1 -1
- package/dist/utils/quote-metadata/calculators.d.cts.map +1 -1
- package/dist/utils/quote-metadata/calculators.d.mts.map +1 -1
- package/dist/utils/quote-metadata/calculators.mjs +13 -8
- package/dist/utils/quote-metadata/calculators.mjs.map +1 -1
- package/dist/utils/quote-metadata/merge.cjs +10 -43
- package/dist/utils/quote-metadata/merge.cjs.map +1 -1
- package/dist/utils/quote-metadata/merge.d.cts +3 -6
- package/dist/utils/quote-metadata/merge.d.cts.map +1 -1
- package/dist/utils/quote-metadata/merge.d.mts +3 -6
- package/dist/utils/quote-metadata/merge.d.mts.map +1 -1
- package/dist/utils/quote-metadata/merge.mjs +10 -43
- package/dist/utils/quote-metadata/merge.mjs.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v1.cjs +16 -67
- package/dist/utils/quote-metadata/to-quote-metadata-v1.cjs.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v1.d.cts +1 -3
- package/dist/utils/quote-metadata/to-quote-metadata-v1.d.cts.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v1.d.mts +1 -3
- package/dist/utils/quote-metadata/to-quote-metadata-v1.d.mts.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v1.mjs +16 -67
- package/dist/utils/quote-metadata/to-quote-metadata-v1.mjs.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v2.cjs +45 -26
- package/dist/utils/quote-metadata/to-quote-metadata-v2.cjs.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v2.d.cts.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v2.d.mts.map +1 -1
- package/dist/utils/quote-metadata/to-quote-metadata-v2.mjs +45 -26
- package/dist/utils/quote-metadata/to-quote-metadata-v2.mjs.map +1 -1
- package/dist/utils/quote-metadata/types.cjs +0 -16
- package/dist/utils/quote-metadata/types.cjs.map +1 -1
- package/dist/utils/quote-metadata/types.d.cts +0 -21
- package/dist/utils/quote-metadata/types.d.cts.map +1 -1
- package/dist/utils/quote-metadata/types.d.mts +0 -21
- package/dist/utils/quote-metadata/types.d.mts.map +1 -1
- package/dist/utils/quote-metadata/types.mjs +1 -15
- package/dist/utils/quote-metadata/types.mjs.map +1 -1
- package/dist/validators/quote-response.cjs +1 -14
- package/dist/validators/quote-response.cjs.map +1 -1
- package/dist/validators/quote-response.d.cts +0 -9
- package/dist/validators/quote-response.d.cts.map +1 -1
- package/dist/validators/quote-response.d.mts +0 -9
- package/dist/validators/quote-response.d.mts.map +1 -1
- package/dist/validators/quote-response.mjs +0 -12
- package/dist/validators/quote-response.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/utils/quote-metadata/include-if-truthy.cjs +0 -21
- package/dist/utils/quote-metadata/include-if-truthy.cjs.map +0 -1
- package/dist/utils/quote-metadata/include-if-truthy.d.cts +0 -9
- package/dist/utils/quote-metadata/include-if-truthy.d.cts.map +0 -1
- package/dist/utils/quote-metadata/include-if-truthy.d.mts +0 -9
- package/dist/utils/quote-metadata/include-if-truthy.d.mts.map +0 -1
- package/dist/utils/quote-metadata/include-if-truthy.mjs +0 -17
- package/dist/utils/quote-metadata/include-if-truthy.mjs.map +0 -1
- package/dist/utils/quote-metadata/to-currency-values.cjs +0 -60
- package/dist/utils/quote-metadata/to-currency-values.cjs.map +0 -1
- package/dist/utils/quote-metadata/to-currency-values.d.cts +0 -12
- package/dist/utils/quote-metadata/to-currency-values.d.cts.map +0 -1
- package/dist/utils/quote-metadata/to-currency-values.d.mts +0 -12
- package/dist/utils/quote-metadata/to-currency-values.d.mts.map +0 -1
- package/dist/utils/quote-metadata/to-currency-values.mjs +0 -56
- package/dist/utils/quote-metadata/to-currency-values.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote-response.cjs","sourceRoot":"","sources":["../../src/validators/quote-response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"quote-response.cjs","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.js';\nimport { FloatStringSchema } from './number.js';\nimport { QuoteSchemaV2 } from './quote.js';\nimport {\n BitcoinTradeData,\n BitcoinTradeDataSchema,\n StellarTradeData,\n StellarTradeDataSchema,\n TronTradeData,\n TronTradeDataSchema,\n TxData,\n TxDataSchema,\n} from './trade.js';\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"]}
|
|
@@ -1961,13 +1961,4 @@ export type QuoteResponse = Omit<NonNullable<Infer<typeof QuoteResponseSchemaV2>
|
|
|
1961
1961
|
approval?: TxData;
|
|
1962
1962
|
});
|
|
1963
1963
|
export declare const validateQuoteResponse: (quoteResponse: unknown) => quoteResponse is QuoteResponse;
|
|
1964
|
-
/**
|
|
1965
|
-
* Shallow check for the presence of the `src` property
|
|
1966
|
-
*
|
|
1967
|
-
* @param quote - The quote to check
|
|
1968
|
-
* @returns True if the quote is a V2 quote, false otherwise
|
|
1969
|
-
*/
|
|
1970
|
-
export declare const isQuoteResponseV2: (quote: {
|
|
1971
|
-
quote?: object | undefined;
|
|
1972
|
-
} | null | undefined) => quote is QuoteResponse;
|
|
1973
1964
|
//# sourceMappingURL=quote-response.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote-response.d.cts","sourceRoot":"","sources":["../../src/validators/quote-response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"quote-response.d.cts","sourceRoot":"","sources":["../../src/validators/quote-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -1961,13 +1961,4 @@ export type QuoteResponse = Omit<NonNullable<Infer<typeof QuoteResponseSchemaV2>
|
|
|
1961
1961
|
approval?: TxData;
|
|
1962
1962
|
});
|
|
1963
1963
|
export declare const validateQuoteResponse: (quoteResponse: unknown) => quoteResponse is QuoteResponse;
|
|
1964
|
-
/**
|
|
1965
|
-
* Shallow check for the presence of the `src` property
|
|
1966
|
-
*
|
|
1967
|
-
* @param quote - The quote to check
|
|
1968
|
-
* @returns True if the quote is a V2 quote, false otherwise
|
|
1969
|
-
*/
|
|
1970
|
-
export declare const isQuoteResponseV2: (quote: {
|
|
1971
|
-
quote?: object | undefined;
|
|
1972
|
-
} | null | undefined) => quote is QuoteResponse;
|
|
1973
1964
|
//# sourceMappingURL=quote-response.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote-response.d.mts","sourceRoot":"","sources":["../../src/validators/quote-response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"quote-response.d.mts","sourceRoot":"","sources":["../../src/validators/quote-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,16 +109,4 @@ export const validateQuoteResponse = (quoteResponse) => {
|
|
|
109
109
|
}, NAMESPACE_TO_TRADE_SCHEMA[namespace]);
|
|
110
110
|
return true;
|
|
111
111
|
};
|
|
112
|
-
/**
|
|
113
|
-
* Shallow check for the presence of the `src` property
|
|
114
|
-
*
|
|
115
|
-
* @param quote - The quote to check
|
|
116
|
-
* @returns True if the quote is a V2 quote, false otherwise
|
|
117
|
-
*/
|
|
118
|
-
export const isQuoteResponseV2 = (quote) => {
|
|
119
|
-
if (!quote?.quote) {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
return Object.prototype.hasOwnProperty.call(quote.quote, 'src');
|
|
123
|
-
};
|
|
124
112
|
//# sourceMappingURL=quote-response.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quote-response.mjs","sourceRoot":"","sources":["../../src/validators/quote-response.ts"],"names":[],"mappings":"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
|
|
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.js';\nimport { FloatStringSchema } from './number.js';\nimport { QuoteSchemaV2 } from './quote.js';\nimport {\n BitcoinTradeData,\n BitcoinTradeDataSchema,\n StellarTradeData,\n StellarTradeDataSchema,\n TronTradeData,\n TronTradeDataSchema,\n TxData,\n TxDataSchema,\n} from './trade.js';\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"]}
|
package/package.json
CHANGED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.includeIfTruthy = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Includes the `result` if any of `value`'s properties are truthy
|
|
6
|
-
*
|
|
7
|
-
* @param value - The value object
|
|
8
|
-
* @param result - The result to include
|
|
9
|
-
* @returns The result if any of the values in the value object are truthy, otherwise undefined
|
|
10
|
-
*/
|
|
11
|
-
const includeIfTruthy = (value, result) => {
|
|
12
|
-
if (!value) {
|
|
13
|
-
return undefined;
|
|
14
|
-
}
|
|
15
|
-
if (Object.values(value).some(Boolean)) {
|
|
16
|
-
return result;
|
|
17
|
-
}
|
|
18
|
-
return undefined;
|
|
19
|
-
};
|
|
20
|
-
exports.includeIfTruthy = includeIfTruthy;
|
|
21
|
-
//# sourceMappingURL=include-if-truthy.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"include-if-truthy.cjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/include-if-truthy.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACI,MAAM,eAAe,GAAG,CAC7B,KAA0C,EAC1C,MAAkB,EACM,EAAE;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B","sourcesContent":["/**\n * Includes the `result` if any of `value`'s properties are truthy\n *\n * @param value - The value object\n * @param result - The result to include\n * @returns The result if any of the values in the value object are truthy, otherwise undefined\n */\nexport const includeIfTruthy = <ResultType extends Record<string, unknown>>(\n value: Record<string, unknown> | undefined,\n result: ResultType,\n): ResultType | undefined => {\n if (!value) {\n return undefined;\n }\n\n if (Object.values(value).some(Boolean)) {\n return result;\n }\n\n return undefined;\n};\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Includes the `result` if any of `value`'s properties are truthy
|
|
3
|
-
*
|
|
4
|
-
* @param value - The value object
|
|
5
|
-
* @param result - The result to include
|
|
6
|
-
* @returns The result if any of the values in the value object are truthy, otherwise undefined
|
|
7
|
-
*/
|
|
8
|
-
export declare const includeIfTruthy: <ResultType extends Record<string, unknown>>(value: Record<string, unknown> | undefined, result: ResultType) => ResultType | undefined;
|
|
9
|
-
//# sourceMappingURL=include-if-truthy.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"include-if-truthy.d.cts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/include-if-truthy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sDACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,+CAY3C,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Includes the `result` if any of `value`'s properties are truthy
|
|
3
|
-
*
|
|
4
|
-
* @param value - The value object
|
|
5
|
-
* @param result - The result to include
|
|
6
|
-
* @returns The result if any of the values in the value object are truthy, otherwise undefined
|
|
7
|
-
*/
|
|
8
|
-
export declare const includeIfTruthy: <ResultType extends Record<string, unknown>>(value: Record<string, unknown> | undefined, result: ResultType) => ResultType | undefined;
|
|
9
|
-
//# sourceMappingURL=include-if-truthy.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"include-if-truthy.d.mts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/include-if-truthy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sDACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,+CAY3C,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Includes the `result` if any of `value`'s properties are truthy
|
|
3
|
-
*
|
|
4
|
-
* @param value - The value object
|
|
5
|
-
* @param result - The result to include
|
|
6
|
-
* @returns The result if any of the values in the value object are truthy, otherwise undefined
|
|
7
|
-
*/
|
|
8
|
-
export const includeIfTruthy = (value, result) => {
|
|
9
|
-
if (!value) {
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
if (Object.values(value).some(Boolean)) {
|
|
13
|
-
return result;
|
|
14
|
-
}
|
|
15
|
-
return undefined;
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=include-if-truthy.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"include-if-truthy.mjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/include-if-truthy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAA0C,EAC1C,MAAkB,EACM,EAAE;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["/**\n * Includes the `result` if any of `value`'s properties are truthy\n *\n * @param value - The value object\n * @param result - The result to include\n * @returns The result if any of the values in the value object are truthy, otherwise undefined\n */\nexport const includeIfTruthy = <ResultType extends Record<string, unknown>>(\n value: Record<string, unknown> | undefined,\n result: ResultType,\n): ResultType | undefined => {\n if (!value) {\n return undefined;\n }\n\n if (Object.values(value).some(Boolean)) {\n return result;\n }\n\n return undefined;\n};\n"]}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toCurrencyValues = void 0;
|
|
4
|
-
const bignumber_js_1 = require("bignumber.js");
|
|
5
|
-
const quote_js_1 = require("../../validators/quote.cjs");
|
|
6
|
-
/**
|
|
7
|
-
* Builds a partial {@link QuoteResponse} object with fiat values derived from the usd values provided by the bridge-api
|
|
8
|
-
*
|
|
9
|
-
* @param quote - The quote response to calculate the metadata for
|
|
10
|
-
* @param usdToFiatExchangeRate - The usd to fiat exchange rate
|
|
11
|
-
* @returns The partial {@link QuoteResponse} object with fiat values
|
|
12
|
-
*/
|
|
13
|
-
const toCurrencyValues = (quote, usdToFiatExchangeRate) => {
|
|
14
|
-
const { quote: { src, dest, feeData, priceData }, } = quote;
|
|
15
|
-
const { adjustedReturn, priceImpact } = priceData ?? {};
|
|
16
|
-
const toFiat = ({ usd, valueInCurrency, }) => {
|
|
17
|
-
if (usd && usdToFiatExchangeRate) {
|
|
18
|
-
return { valueInCurrency: usdToFiatExchangeRate.times(usd).toFixed() };
|
|
19
|
-
}
|
|
20
|
-
if (valueInCurrency) {
|
|
21
|
-
return { valueInCurrency };
|
|
22
|
-
}
|
|
23
|
-
return undefined;
|
|
24
|
-
};
|
|
25
|
-
const priceImpactFiat = priceImpact ? toFiat(priceImpact) : undefined;
|
|
26
|
-
const adjustedReturnFiat = adjustedReturn
|
|
27
|
-
? toFiat(adjustedReturn)
|
|
28
|
-
: undefined;
|
|
29
|
-
const minAmountValueInCurrency = toFiat({
|
|
30
|
-
usd: dest.minAmountUsd,
|
|
31
|
-
valueInCurrency: dest.minAmountValueInCurrency,
|
|
32
|
-
})?.valueInCurrency;
|
|
33
|
-
return {
|
|
34
|
-
quote: {
|
|
35
|
-
src: toFiat(src),
|
|
36
|
-
dest: {
|
|
37
|
-
...toFiat(dest),
|
|
38
|
-
...(minAmountValueInCurrency && {
|
|
39
|
-
minAmountValueInCurrency,
|
|
40
|
-
}),
|
|
41
|
-
},
|
|
42
|
-
feeData: feeData &&
|
|
43
|
-
Object.fromEntries(Object.values(quote_js_1.FeeType)
|
|
44
|
-
.filter((feeType) => feeData[feeType])
|
|
45
|
-
.map((feeType) => [feeType, feeData[feeType]?.map(toFiat)])),
|
|
46
|
-
...((priceImpactFiat ?? adjustedReturnFiat) && {
|
|
47
|
-
priceData: {
|
|
48
|
-
...(priceImpactFiat && {
|
|
49
|
-
priceImpact: priceImpactFiat,
|
|
50
|
-
}),
|
|
51
|
-
...(adjustedReturnFiat && {
|
|
52
|
-
adjustedReturn: adjustedReturnFiat,
|
|
53
|
-
}),
|
|
54
|
-
},
|
|
55
|
-
}),
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
exports.toCurrencyValues = toCurrencyValues;
|
|
60
|
-
//# sourceMappingURL=to-currency-values.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-currency-values.cjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-currency-values.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAKzC,yDAAoD;AAEpD;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,CAC9B,KAAoB,EACpB,qBAAiC,EACL,EAAE;IAC9B,MAAM,EACJ,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GACzC,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;IAExD,MAAM,MAAM,GAAG,CAAC,EACd,GAAG,EACH,eAAe,GACkC,EAErC,EAAE;QACd,IAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACjC,OAAO,EAAE,eAAe,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACzE,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,kBAAkB,GAAG,cAAc;QACvC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,wBAAwB,GAAG,MAAM,CAAC;QACtC,GAAG,EAAE,IAAI,CAAC,YAAY;QACtB,eAAe,EAAE,IAAI,CAAC,wBAAwB;KAC/C,CAAC,EAAE,eAAe,CAAC;IAEpB,OAAO;QACL,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;YAChB,IAAI,EAAE;gBACJ,GAAG,MAAM,CAAC,IAAI,CAAC;gBACf,GAAG,CAAC,wBAAwB,IAAI;oBAC9B,wBAAwB;iBACzB,CAAC;aACH;YACD,OAAO,EACL,OAAO;gBACP,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,kBAAO,CAAC;qBACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBACrC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAC9D;YACH,GAAG,CAAC,CAAC,eAAe,IAAI,kBAAkB,CAAC,IAAI;gBAC7C,SAAS,EAAE;oBACT,GAAG,CAAC,eAAe,IAAI;wBACrB,WAAW,EAAE,eAAe;qBAC7B,CAAC;oBACF,GAAG,CAAC,kBAAkB,IAAI;wBACxB,cAAc,EAAE,kBAAkB;qBACnC,CAAC;iBACH;aACF,CAAC;SACH;KACF,CAAC;AACJ,CAAC,CAAC;AA/DW,QAAA,gBAAgB,oBA+D3B","sourcesContent":["import { BigNumber } from 'bignumber.js';\n\nimport type { DeepPartial } from '../../types.js';\nimport type { AmountsAndAsset } from '../../validators/amount-and-asset.js';\nimport type { QuoteResponse } from '../../validators/quote-response.js';\nimport { FeeType } from '../../validators/quote.js';\n\n/**\n * Builds a partial {@link QuoteResponse} object with fiat values derived from the usd values provided by the bridge-api\n *\n * @param quote - The quote response to calculate the metadata for\n * @param usdToFiatExchangeRate - The usd to fiat exchange rate\n * @returns The partial {@link QuoteResponse} object with fiat values\n */\nexport const toCurrencyValues = (\n quote: QuoteResponse,\n usdToFiatExchangeRate?: BigNumber,\n): DeepPartial<QuoteResponse> => {\n const {\n quote: { src, dest, feeData, priceData },\n } = quote;\n\n const { adjustedReturn, priceImpact } = priceData ?? {};\n\n const toFiat = ({\n usd,\n valueInCurrency,\n }: Pick<AmountsAndAsset, 'usd' | 'valueInCurrency'>):\n | Pick<AmountsAndAsset, 'valueInCurrency'>\n | undefined => {\n if (usd && usdToFiatExchangeRate) {\n return { valueInCurrency: usdToFiatExchangeRate.times(usd).toFixed() };\n }\n if (valueInCurrency) {\n return { valueInCurrency };\n }\n return undefined;\n };\n\n const priceImpactFiat = priceImpact ? toFiat(priceImpact) : undefined;\n const adjustedReturnFiat = adjustedReturn\n ? toFiat(adjustedReturn)\n : undefined;\n\n const minAmountValueInCurrency = toFiat({\n usd: dest.minAmountUsd,\n valueInCurrency: dest.minAmountValueInCurrency,\n })?.valueInCurrency;\n\n return {\n quote: {\n src: toFiat(src),\n dest: {\n ...toFiat(dest),\n ...(minAmountValueInCurrency && {\n minAmountValueInCurrency,\n }),\n },\n feeData:\n feeData &&\n Object.fromEntries(\n Object.values(FeeType)\n .filter((feeType) => feeData[feeType])\n .map((feeType) => [feeType, feeData[feeType]?.map(toFiat)]),\n ),\n ...((priceImpactFiat ?? adjustedReturnFiat) && {\n priceData: {\n ...(priceImpactFiat && {\n priceImpact: priceImpactFiat,\n }),\n ...(adjustedReturnFiat && {\n adjustedReturn: adjustedReturnFiat,\n }),\n },\n }),\n },\n };\n};\n"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import type { DeepPartial } from "../../types.cjs";
|
|
3
|
-
import type { QuoteResponse } from "../../validators/quote-response.cjs";
|
|
4
|
-
/**
|
|
5
|
-
* Builds a partial {@link QuoteResponse} object with fiat values derived from the usd values provided by the bridge-api
|
|
6
|
-
*
|
|
7
|
-
* @param quote - The quote response to calculate the metadata for
|
|
8
|
-
* @param usdToFiatExchangeRate - The usd to fiat exchange rate
|
|
9
|
-
* @returns The partial {@link QuoteResponse} object with fiat values
|
|
10
|
-
*/
|
|
11
|
-
export declare const toCurrencyValues: (quote: QuoteResponse, usdToFiatExchangeRate?: BigNumber) => DeepPartial<QuoteResponse>;
|
|
12
|
-
//# sourceMappingURL=to-currency-values.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-currency-values.d.cts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-currency-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,4CAA2C;AAGxE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,UACpB,aAAa,0BACI,SAAS,KAChC,YAAY,aAAa,CA4D3B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import type { DeepPartial } from "../../types.mjs";
|
|
3
|
-
import type { QuoteResponse } from "../../validators/quote-response.mjs";
|
|
4
|
-
/**
|
|
5
|
-
* Builds a partial {@link QuoteResponse} object with fiat values derived from the usd values provided by the bridge-api
|
|
6
|
-
*
|
|
7
|
-
* @param quote - The quote response to calculate the metadata for
|
|
8
|
-
* @param usdToFiatExchangeRate - The usd to fiat exchange rate
|
|
9
|
-
* @returns The partial {@link QuoteResponse} object with fiat values
|
|
10
|
-
*/
|
|
11
|
-
export declare const toCurrencyValues: (quote: QuoteResponse, usdToFiatExchangeRate?: BigNumber) => DeepPartial<QuoteResponse>;
|
|
12
|
-
//# sourceMappingURL=to-currency-values.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-currency-values.d.mts","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-currency-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAuB;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,4CAA2C;AAGxE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,UACpB,aAAa,0BACI,SAAS,KAChC,YAAY,aAAa,CA4D3B,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import { FeeType } from "../../validators/quote.mjs";
|
|
3
|
-
/**
|
|
4
|
-
* Builds a partial {@link QuoteResponse} object with fiat values derived from the usd values provided by the bridge-api
|
|
5
|
-
*
|
|
6
|
-
* @param quote - The quote response to calculate the metadata for
|
|
7
|
-
* @param usdToFiatExchangeRate - The usd to fiat exchange rate
|
|
8
|
-
* @returns The partial {@link QuoteResponse} object with fiat values
|
|
9
|
-
*/
|
|
10
|
-
export const toCurrencyValues = (quote, usdToFiatExchangeRate) => {
|
|
11
|
-
const { quote: { src, dest, feeData, priceData }, } = quote;
|
|
12
|
-
const { adjustedReturn, priceImpact } = priceData ?? {};
|
|
13
|
-
const toFiat = ({ usd, valueInCurrency, }) => {
|
|
14
|
-
if (usd && usdToFiatExchangeRate) {
|
|
15
|
-
return { valueInCurrency: usdToFiatExchangeRate.times(usd).toFixed() };
|
|
16
|
-
}
|
|
17
|
-
if (valueInCurrency) {
|
|
18
|
-
return { valueInCurrency };
|
|
19
|
-
}
|
|
20
|
-
return undefined;
|
|
21
|
-
};
|
|
22
|
-
const priceImpactFiat = priceImpact ? toFiat(priceImpact) : undefined;
|
|
23
|
-
const adjustedReturnFiat = adjustedReturn
|
|
24
|
-
? toFiat(adjustedReturn)
|
|
25
|
-
: undefined;
|
|
26
|
-
const minAmountValueInCurrency = toFiat({
|
|
27
|
-
usd: dest.minAmountUsd,
|
|
28
|
-
valueInCurrency: dest.minAmountValueInCurrency,
|
|
29
|
-
})?.valueInCurrency;
|
|
30
|
-
return {
|
|
31
|
-
quote: {
|
|
32
|
-
src: toFiat(src),
|
|
33
|
-
dest: {
|
|
34
|
-
...toFiat(dest),
|
|
35
|
-
...(minAmountValueInCurrency && {
|
|
36
|
-
minAmountValueInCurrency,
|
|
37
|
-
}),
|
|
38
|
-
},
|
|
39
|
-
feeData: feeData &&
|
|
40
|
-
Object.fromEntries(Object.values(FeeType)
|
|
41
|
-
.filter((feeType) => feeData[feeType])
|
|
42
|
-
.map((feeType) => [feeType, feeData[feeType]?.map(toFiat)])),
|
|
43
|
-
...((priceImpactFiat ?? adjustedReturnFiat) && {
|
|
44
|
-
priceData: {
|
|
45
|
-
...(priceImpactFiat && {
|
|
46
|
-
priceImpact: priceImpactFiat,
|
|
47
|
-
}),
|
|
48
|
-
...(adjustedReturnFiat && {
|
|
49
|
-
adjustedReturn: adjustedReturnFiat,
|
|
50
|
-
}),
|
|
51
|
-
},
|
|
52
|
-
}),
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=to-currency-values.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-currency-values.mjs","sourceRoot":"","sources":["../../../src/utils/quote-metadata/to-currency-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB;AAKzC,OAAO,EAAE,OAAO,EAAE,mCAAkC;AAEpD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAoB,EACpB,qBAAiC,EACL,EAAE;IAC9B,MAAM,EACJ,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GACzC,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;IAExD,MAAM,MAAM,GAAG,CAAC,EACd,GAAG,EACH,eAAe,GACkC,EAErC,EAAE;QACd,IAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACjC,OAAO,EAAE,eAAe,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACzE,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,kBAAkB,GAAG,cAAc;QACvC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,wBAAwB,GAAG,MAAM,CAAC;QACtC,GAAG,EAAE,IAAI,CAAC,YAAY;QACtB,eAAe,EAAE,IAAI,CAAC,wBAAwB;KAC/C,CAAC,EAAE,eAAe,CAAC;IAEpB,OAAO;QACL,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;YAChB,IAAI,EAAE;gBACJ,GAAG,MAAM,CAAC,IAAI,CAAC;gBACf,GAAG,CAAC,wBAAwB,IAAI;oBAC9B,wBAAwB;iBACzB,CAAC;aACH;YACD,OAAO,EACL,OAAO;gBACP,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;qBACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;qBACrC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAC9D;YACH,GAAG,CAAC,CAAC,eAAe,IAAI,kBAAkB,CAAC,IAAI;gBAC7C,SAAS,EAAE;oBACT,GAAG,CAAC,eAAe,IAAI;wBACrB,WAAW,EAAE,eAAe;qBAC7B,CAAC;oBACF,GAAG,CAAC,kBAAkB,IAAI;wBACxB,cAAc,EAAE,kBAAkB;qBACnC,CAAC;iBACH;aACF,CAAC;SACH;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { BigNumber } from 'bignumber.js';\n\nimport type { DeepPartial } from '../../types.js';\nimport type { AmountsAndAsset } from '../../validators/amount-and-asset.js';\nimport type { QuoteResponse } from '../../validators/quote-response.js';\nimport { FeeType } from '../../validators/quote.js';\n\n/**\n * Builds a partial {@link QuoteResponse} object with fiat values derived from the usd values provided by the bridge-api\n *\n * @param quote - The quote response to calculate the metadata for\n * @param usdToFiatExchangeRate - The usd to fiat exchange rate\n * @returns The partial {@link QuoteResponse} object with fiat values\n */\nexport const toCurrencyValues = (\n quote: QuoteResponse,\n usdToFiatExchangeRate?: BigNumber,\n): DeepPartial<QuoteResponse> => {\n const {\n quote: { src, dest, feeData, priceData },\n } = quote;\n\n const { adjustedReturn, priceImpact } = priceData ?? {};\n\n const toFiat = ({\n usd,\n valueInCurrency,\n }: Pick<AmountsAndAsset, 'usd' | 'valueInCurrency'>):\n | Pick<AmountsAndAsset, 'valueInCurrency'>\n | undefined => {\n if (usd && usdToFiatExchangeRate) {\n return { valueInCurrency: usdToFiatExchangeRate.times(usd).toFixed() };\n }\n if (valueInCurrency) {\n return { valueInCurrency };\n }\n return undefined;\n };\n\n const priceImpactFiat = priceImpact ? toFiat(priceImpact) : undefined;\n const adjustedReturnFiat = adjustedReturn\n ? toFiat(adjustedReturn)\n : undefined;\n\n const minAmountValueInCurrency = toFiat({\n usd: dest.minAmountUsd,\n valueInCurrency: dest.minAmountValueInCurrency,\n })?.valueInCurrency;\n\n return {\n quote: {\n src: toFiat(src),\n dest: {\n ...toFiat(dest),\n ...(minAmountValueInCurrency && {\n minAmountValueInCurrency,\n }),\n },\n feeData:\n feeData &&\n Object.fromEntries(\n Object.values(FeeType)\n .filter((feeType) => feeData[feeType])\n .map((feeType) => [feeType, feeData[feeType]?.map(toFiat)]),\n ),\n ...((priceImpactFiat ?? adjustedReturnFiat) && {\n priceData: {\n ...(priceImpactFiat && {\n priceImpact: priceImpactFiat,\n }),\n ...(adjustedReturnFiat && {\n adjustedReturn: adjustedReturnFiat,\n }),\n },\n }),\n },\n };\n};\n"]}
|